alf

Lista osobista dotycząca pracy na odnośnikach (xref)

Recommended Posts

Poniżej lista osobista problemów , uwag i pomysłów racjonalizatorskich zebranych podczas nerwowej pracy z odnośnikami.

Zaznaczam że w 2018 jest duuużo lepiej niż w poprzednikach, szybciej, mniej zacinania ale jednak nie wszystko jest ok

VERNUM = "2017.12.19(25174)_x64" (read only)

1. Problem zapominania po nadpisaniu pliku zewnętrznego i reloadzie, ustawień indywidualnych warstw moim zdaniem nadal występuje, co jakiś czas, żmudne ustawienia  lecą w kosmos i robota niestety jest od nowa

vide temat:

2. Kiedyś tam była zgłaszana uciążliwość dotycząca reload-owania odnośników. Jak nadpiszemy xrefa pojawia się okienko:

image.png.0abe7d9b59c4f6d2409169d2357a9466.png

klikniecie w link xrefa nie przeładowuje go od razu, co było by pożądane ale przekierowuje do okienka managera xrefów. I teraz walka od nowa, z listy tysiąca xrefów trzeba znaleźć ten właściwy, ale zanim to się zrobi trzeba ręcznie poszerzyć kolumnę z nazwami bo zw nie zapamiętuje zmian w ustawieniach okien managerów (z managerem warstw też tak jest)

3. Kiedyś tam była zgłaszana uwaga dotycząca możliwości "wejścia w edycję" odnośnika z poziomu managera. Po prostu podwójny klik i wyskakuje okienko z właściwościami xrefa, jaka warstwa skala pkt wstawienia, czy ścieżka ma być zapamiętana względna czy bezwzględna, ścieżki alternatywne i inne takie tam. Teraz jak się wstawi odnośnik trzeba go "wyspecjalizowanymi narzędziami do wyszukiwania" wyszukać, gdzie się wstawił i z jaką skalą. Zabawa przednia ale nie zawsze jest na to czas..

4. Marzeniem było by "nadpisywanie" globalnego współczynnika skali linii dla danego xrefa (najlepiej rzecz jasna osobno dla każdego odnośnika), takie "ltscaleXR", niezależne od globalnego ltscale

 

 

Edited by alf

Share this post


Link to post
Share on other sites

Dziękuję za wiadomość, natomiast żadna osoba do tej pory ani na forum, ani w kontakcie z nami, nie informowała już o problemie z przeładowywaniem xref'ów. Według mnie również nie ma problemu z zapamiętywaniem okna menadżera warstw włącznie z ustawioną szerokością kolumn. Nikt do tej pory tego nie zgłaszał i u mnie też to działa właściwie.

Odnośnie menadżera xref'ów, to faktycznie rozmiar tego okna nie jest zapamiętywany, ale podczas wstawiania odnośnika, użytkownik ma wpływ na to, gdzie go wstawia i w jakiej skali.
Jeśli jednak pójdzie coś nie tak, to w zasadzie dwukrotne kliknięcie środkowym przyciskiem myszy (rolką) w obszarze roboczym, można wyświetlić wszystko na ekranie.

Idealnie byłoby, aby LTSCALE był spójny w każdym z plików w projekcie, ale nie sądzę, aby to był dobry pomysł z nadpisywaniem globalnego współczynnika skali, dlatego, że mogłoby to wprowadzić jeszcze większy chaos.

Share this post


Link to post
Share on other sites

ad1. u  mnie niestety tak się xrefy zachowują, jak dostaję nowe od branżystów, do wymiany po reloadzie ustawienia warstw się "przepisują" zgodnie z xrefem a nie zgodnie z moimi ustawieniami. Być może to znowu jakieś blokady na plikach zewnętrznych, ae jako że powstają w innym biurze i w innym oprogramowaniu (acad-owskim) nie wiem gdzie szukać np. ew niewłaściwych zmiennych w plikach. Może jakaś sugestia?

ad2. To miał być pomysł zaprojektowania rozszerzenia działania managera (lub nakładki) w celu ułatwienia dostępu do obsługi xrefów, który w wersji dotychczasowej uważam nadal za nieco średniowieczny - vide np microstation bentleya. z podwójnym klikiem kółka się nie spotkałam, rozumiem, że to taki "zoomall" . Nie załatwia to jednak sprawy w bajzlu xrefowym, tj pokazuje obszar, w którym nie wiadomo gdzie i w jakiej skali znajduje się np 30 xrefów (szukaj dziadu wiatru w polu, bo każdy branżysta uparcie nie trzyma się "procedur" przy tworzeniu xrefów ;-) )

natomiast próba podwójnego kliku skończyła się niestety tak:

image.png.0e137253ed5dc338b7a0251dbee1a0df.png

 

ad3. takie "nadpisywanie" od góry różnych cech działa świetnie w microstation. Nadpisywanie powoduje, że nie ingerujemy w cechy plików zewnętrznych, tylko nadpisujemy "nakładkowo" pewne parametry, może być to kolor rodzaj, grubość linii czy skalowanie. Powoduje to że microstation wydaje się nie zastąpiony przy pracy i obróbce plików z odnośnikami, w szczególności planów. Niestety ze względy na coraz większą niekompatybilność MS i ZW/AC (coraz większe problemy z otwieraniem w MS plików dwg, ich exportem dwg/dgn ) muszę stopniowo odchodzić od obróbki planów wielkoformatowych z odnośnikami w MS na rzecz ZW. Stąd z kolei ww moja lista osobista

 

Share this post


Link to post
Share on other sites

Jeśli chodzi o przeładowywanie xref'ów to proszę sprawdzić jak jest ustawiona zmienna VISREATAIN w pliku głównym.

Jeśli jest ustawiona wartość na 0, to przeładowuje warstwy z xref'a podczas otwierania pliku, a jeśli jest na 1, to warstwy powinny być takie same jak w pliku głównym.

Share this post


Link to post
Share on other sites

Podłączę się do tematu z moimi pytaniami. Dlaczego w menadżerze zniknął przycisk zapisu ścieżki dla xrefów? Często z tej funkcji  korzystałem np. ręcznie zmieniając pełną ścieżkę na względną. Teraz chyba się nie da, albo ja nie wiem jak? 

Czy jest możliwość wyłączenia tego irytującego okienka, które wyskakuje gdy brakuje podpiętego odnośnika i zmusza do kliknięcia TAK/NIE. Co bym nie wybrał to program zachowuje się jakbym wybrał NIE :). Zamiast okienka wymuszającego aktywność użytkownika, lepsze byłoby powiadomienie w chmurce, jak przy zmianie odnośnika.

Widok drzewa nadal nie działa, jak i wiele innych niedoróbek programu zgłaszanych ponad rok temu :(

zwcad.png

Share this post


Link to post
Share on other sites

Rozumiem, że chodzi Panu o ten przycisk (ZWCAD 2015)

xref-menager.png

Usuwał Pan część ścieżki przed nazwą pliku, a następnie zapisywał. W wyniku tego w "Saved path" pojawiał się ścieżka względna.

W 2018 nie ma jeszcze tego przycisku do zapisywania ścieżek (zapisują się automatycznie po wyjściu z okna) ale ciężko jest ustawić ścieżkę względną. Postaramy się sprawdzić czy jest taka możliwość.

Obawiam się, że okna nie da się łatwo wyłączyć natomiast różnicy w reakcji na przyciski tak/nie wynika z faktu, że tak wywołuje polecenie XREF zamiast _XREF. Myślę, że tutaj alias mógłby pomóc.

Postaramy się dowiedzieć czegoś więcej, ale jak skończą się święta.

 

 

 

Share this post


Link to post
Share on other sites

d

20 godzin temu, kruk napisał:

Podłączę się do tematu z moimi pytaniami. Dlaczego w menadżerze zniknął przycisk zapisu ścieżki dla xrefów? Często z tej funkcji  korzystałem np. ręcznie zmieniając pełną ścieżkę na względną. Teraz chyba się nie da, albo ja nie wiem jak? 

Czy jest możliwość wyłączenia tego irytującego okienka, które wyskakuje gdy brakuje podpiętego odnośnika i zmusza do kliknięcia TAK/NIE. Co bym nie wybrał to program zachowuje się jakbym wybrał NIE :). Zamiast okienka wymuszającego aktywność użytkownika, lepsze byłoby powiadomienie w chmurce, jak przy zmianie odnośnika.

Widok drzewa nadal nie działa, jak i wiele innych niedoróbek programu zgłaszanych ponad rok temu :(

zwcad.png

dodam coś o co pytałam jakiś czas temu, do czego ma służyć ścieżka dodatkowa, bo dla mnie nie służy do niczego. po wpisani jakieś ścieżki akurat pasującej do danego tematu, wyświetla się ona wszędzie niezależnie skąd jest i gdzie zapisywany jest plik.

Ponad to nie zauważyłam by działało to na problem gubienia ścieżek, np w związku ze zmianą litery dysku.

image.png.bb9c4fe3624ec000d096d6beb0114b1d.png

 

Share this post


Link to post
Share on other sites

Trochę myśleliśmy nad ścieżkami względnymi.

Stworzyliśmy małego LISPa, który po wskazaniu Xrefa, zamienia ścieżkę z bezwzględnej na względną.

Pokazałem to na filmie.

 

Po przeciągnięciu LISPa w obszar rysunku pojawi się nowe polecenie  WZGLEDNYXREF

wzgledny_xref.png

 

Bardzo proszę o ostrożność, nie testowaliśmy zbyt długo tego LISPa  WzglednyXRef.lsp

Oto kod źródłowy

;----------------------------------------------------------
; Usługi Informatyczne SZANSA Sp. z o.o.
; Zamiana ścieżek bezwzględnych w XRefach na względne
; 
;		 
; ----------------------------------------------------------


(defun C:wzglednyXRef (  / xrefs %  *error*)
	(defun *error* ( msg / ) 
		(if (not (null msg ) )	(progn (princ "\nC:wzglednyXRef:*error*: " ) (princ msg ) (princ "\n")	) )
	)
	( setq xrefs (SelSet:Get "Wybierz XRefy" (list "INSERT" ) ))
	(foreach % xrefs
		( makeRelative %)
	)
	(princ )
)

;(vlax-dump-object (car xrefs) t )
;(entget ( vlax-vla-object->ename (cadr xrefs) ) )


(defun makeRelative ( block / oldPath newPath ans  *error*)
	(defun *error* ( msg / ) 
		(if (not (null msg ) )	(progn (princ "\nmakeRelative:*error*: " ) (princ msg ) (princ "\n")	) )
	)
	(if (vlax-property-available-p block 'path ) (progn
		(setq oldPath (vlax-get-property block 'path ) )
		(print oldPath )
		(print "zmieniam na: " )
		(setq newPath (strcat "./" (vl-filename-base oldPath) (vl-filename-extension oldPath) ) )
		(print newPath )
		(setq ans(vl-catch-all-apply 'vlax-put-property (list block 'path newPath ) ) )
		)
	)
	nil
)


(defun SelSet:ToList (selset / Wynik ileelementow i  *error* ) 
	(defun *error* ( msg / ) 
		(if (not (null msg ) )	(progn (princ "\nSelSet:ToList:*error*: " ) (princ msg ) (princ "\n")	) )
	)      
 (if selset (progn
 (setq ileelementow(sslength selset) )
 (setq i 0 )
 (repeat ileelementow
	(setq Wynik (append Wynik (list (vlax-ename->vla-object(ssname selset i) ) )))
	(setq i (1+ i ))
 )
 ))
 Wynik
)

(defun SelSet:FilterByType ( elementy typy / sl i %  *error* ) 
	(defun *error* ( msg / ) 
		(if (not (null msg ) )	(progn (princ "\nSelSet:FilterByType:*error*: " ) (princ msg ) (princ "\n")	) )
	)      
; (setq elementy (ssget ) )
  (setq sl (sslength elementy))
  (setq i (1- sl ))
    (repeat sl
	  (setq % (ssname elementy i))
	  
	  (if (not (member (cdr(assoc 0 (entget %) )) typy))
		(setq elementy(ssdel % elementy))
	  )
      (setq i (1- i) )
    )
)


(defun SelSet:Get (tresc typy / selElems elementy Filter % OldNoMutt   *error* ) 
	(defun *error* ( msg / ) 
		(if (not (null msg ) )	(progn (princ "\n SelSet:Get:*error*: " ) (princ msg ) (princ "\n")	) )
	)      		
;----------------------------------------------------------
; funkcja sprawdza, czy jakieś elementy zostały zaznaczone, jeśli nie, prosi użytkownika o wskazanie obiektów
; Argumenty: tresc - komunikat wyświetlany w pasku poleceń zachęta do wskazanie obiektów
; Wynik: lista wybranych obiektów jeśli coś zostało wybranie
;		 nil jeśli nic nie zostało wybrane.
; ----------------------------------------------------------
; versja 2.0
; dodane filtrowanie typów
; ----------------------------------------------------------
; test:
;(sslength (ssget (list (cons 0  "3DSOLID") )))
; ----------------------------------------------------------


(if typy (progn
	(if (listp (car typy) ) 
		(setq Filter typy )
	(progn
		(setq Filter (list (cons -4 "<or" )))
		(foreach % typy
			(setq Filter (append Filter  (list (cons 0 % ) )))
		)
		(setq Filter (append Filter  (list (cons -4 "or>" ) )))	
	)
	)
))
 

  (setq selElems(ssgetfirst ))
  (if (car selElems)
	(progn
		(setq elementy (SelSet:ToList(SelSet:FilterByType selElems typy)))
	)
	(progn
	   (setq tresc (strcat "\n" tresc ": ") )
	   (princ tresc )
	   (setq OldNoMutt (getvar 'NOMUTT))	
	   (setvar 'NOMUTT 1)
	   (setq elementy
				(if (null Filter)
					(vl-catch-all-apply 'ssget )
					(vl-catch-all-apply 'ssget (list Filter ))
				)
		)
		(setvar 'NOMUTT OldNoMutt )
	   
	   (if (not(vl-catch-all-error-p elementy))
		  (progn
		    (setq elementy (SelSet:ToList elementy ))
		  )
		  (progn 
			(setq elementy nil)
		  )
		)
	)  
  )
  elementy
)

 

 

Share this post


Link to post
Share on other sites
Dnia ‎16‎.‎02‎.‎2018 o 11:59, dmatusz3 napisał:

Rozumiem, że chodzi Panu o ten przycisk (ZWCAD 2015)

xref-menager.png

Usuwał Pan część ścieżki przed nazwą pliku, a następnie zapisywał. W wyniku tego w "Saved path" pojawiał się ścieżka względna.

W 2018 nie ma jeszcze tego przycisku do zapisywania ścieżek (zapisują się automatycznie po wyjściu z okna) ale ciężko jest ustawić ścieżkę względną. Postaramy się sprawdzić czy jest taka możliwość.

Obawiam się, że okna nie da się łatwo wyłączyć natomiast różnicy w reakcji na przyciski tak/nie wynika z faktu, że tak wywołuje polecenie XREF zamiast _XREF. Myślę, że tutaj alias mógłby pomóc.

Postaramy się dowiedzieć czegoś więcej, ale jak skończą się święta.

 

 

 

Tak o ten przycisk mi chodziło.

W sprawie okienka może byłoby możliwe dodanie w przyszłości do tego okna opcji "Pamiętaj mój wybór"?  Trudno o porządek w odnośnikach jak się pracuje na plikach od kooperantów, a przy odnośnikach zagnieżdżonych z kolei trudno w zwcadzie zlokalizować i odłączyć brakujący odnośnik ;P

Share this post


Link to post
Share on other sites
Dnia 26.01.2018 o 16:54, alf napisał:

Kiedyś tam była zgłaszana uciążliwość dotycząca reload-owania odnośników. Jak nadpiszemy xrefa pojawia się okienko:

image.png.0abe7d9b59c4f6d2409169d2357a9466.png

klikniecie w link xrefa nie przeładowuje go od razu, co było by pożądane ale przekierowuje do okienka managera xrefów. I teraz walka od nowa, z listy tysiąca xrefów trzeba znaleźć ten właściwy, ale zanim to się zrobi trzeba ręcznie poszerzyć kolumnę z nazwami bo zw nie zapamiętuje zmian w ustawieniach okien managerów (z managerem warstw też tak jest)

Ad2 prim:

Mozna tez przywrócić "ptaszkowanie" statusu odnosnika.a dokładnie wyswietlanie ptaszka , jako xrefa "ok",  wykrzyknik gdy jest do reload-owania a gdy zgubi sciezke lub nie znajduje xrefa to figa z makiem 

Share this post


Link to post
Share on other sites

Dziękuję za wszystkie sugestie. Zrobiliśmy listę i tworzymy dokładne opisy wedle informacji.

W tak zwanym międzyczasie zrobiliśmy mały LISP, który powala na podanie względnej ścieżki do zaznaczonych xrefów.

 

Załóżmy, że mamy projekt, w którym xrefy były zapisane w katalogu, jak poniżej.

2018-02-20 13_48_25-Menadżer xrefów.png

 

Plik nadrzędny z projektem został przeniesiony do katalogu

2018-02-20 13_51_29-Projekt 1.png

 

A same xrefy znajdują się nieco niżej w strukturze katalogów

2018-02-20 13_51_57-xrefy.png

 

Uruchamiamy skrypt, zaznaczamy xrefy, których ścieżki potrzebujemy zmienić, i wskazujemy katalog, gdzie znajdują się xrefy.

I tutaj uwaga, ścieżka w oknie xrefów będzie ustawiona względnie, względem pliku nadrzędnego. Tak więc można pliki przenieść do innego katalogu, inny dysk lub inny komputer (należy tylko zachować względną strukturę).

Po ustawieniu ścieżek okno xrefów wygląda tak:

2018-02-20 13_56_18-Menadżer xrefów.png

 

Skrypt jeszcze testujemy, jeśli ktoś jest zainteresowany to proszę o info.

Działanie tego LISPa wygląda tak:

 

 

 

Share this post


Link to post
Share on other sites

czy dobrze widzę na filmie, żeby zmienić ścieżkę na względną trzeba odznaczyć na modelu dane xrefy, a czy nie dało by się dołożyć do tego odznaczenie z listy, np managera xrefów i "all"?

zazwyczaj aktualne odnośniki trzymam w jednym lub czasem dwóch katalogach (np projektowe osobno, mapy osobno) więc stąd pytanie o listę i "all"

Share this post


Link to post
Share on other sites

Oto prosty skrypt do XREFów  WzglednyXRef_v1.2.zelx Jest napisany w LISPie.

Do jego uruchomienia potrzebne jest polecenie XMAN

Okno wygląda w taki sposób

xman.png

 

Legenda:

  1. Ścieżka względna - zamienia ścieżkę z bezwzględnej na względną - pliki będą ładowane z tego katalogu, gdzie jest plik główny.
  2. Zamień (po uprzednim wpisaniu lub wybraniu ścieżki) - zamienia ścieżkę na względną, ale względem pliku głównego.

 

 

Share this post


Link to post
Share on other sites

Spróbowałam tego pispa uruchomić i coś się on nie tak zachowuje. Na jednym z plików, nie zawierjącym odniesień nie dało się tego okienka wyłączyć, ale nie jestem w stanie tego powtórzyć, wiele było okien wtedy jednocześnie otworzonych. Druga próba na pliku z podpiętymi odnośnikami z przeładowaniem była udana, ale proba powrotu do ścieżki bezezględnej spowodowała jakiś błąd. Robiłam to tym okienkiem na dole zaznaczając całą grupę odniesień z wyszukaniem innego, własciwego katalogu. Błąd polega na tym że w tym pliku nie uruchamia się już okienko xmen-a..

 

image.png.83312db9e4f389170b25aae208739d2b.png

 

image.png.0a33ab74e6f8f4f1182a3f23c7103295.png

image.png

Share this post


Link to post
Share on other sites

Skrypt umieszczony powyżej służy do zamiany bezwzględnych ścieżek xrefów na ścieżki względne. Zamiana odwrotna nie jest możliwa. Na marginesie, jeśli xrefy znajdują się w tym samym katalogu, co plik główny, to są wczytywane automatycznie.

Share this post


Link to post
Share on other sites

wielka szkoda, bo powrót "grupowy" do bezwzgl ściezki tj  konkretnego  katalogu byłby wielce pożyteczną sprawą..

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now