wilda napisał(a): Moim skromnym zdaniem to niczego nie poprawi. Na pewno usprawni proces tworzenia nowych standaryzowanych warstw, ale
kto po wykonaniu rysunku będzie siedział nad rysunkiem i przenosił kilka (-naście, -dziesiąt) np tysięcy linii, łuków, tekstów na odpowiednie warstwy.
Kto? Tylko skończony idiota. Albowiem tylko on bedzie zmieniał cechy wszystkim elementom po wykonaniu całego rysunku. Nie zakładam że ktoś pracuje w tak bezsensowny sposób. Choć może się mylę. Dla małych dupereli, może to być też metoda. Warto tez zauważyć, że nie jest problemem (tu omawianym) przenoszenie, (mniej lub bardziej ręczne) obiektów na jakieś warstwy, tylko zarządzanie schematem warstw. W czym mieści się na samym poczatku ich tworzenie, w określony (przez ten schemat) sposób.
wilda napisał(a):Dla chcącego to i teraz bez specjalnego lispa można to w podobny sposób zrobić czy to za pomocą ET czy ręcznie przenosząc na istniejące warstwy.
Może się mylę, ale nie rozmawiamy tutaj o problemie przenoszenia na istniejące warstwy? Bo od początku o czymś innym mówię.
Może ale nie musi. Oraz nie zawsze może. Do tej pory przedstawiłem sposób na przeniesienie obiektów na nieistniejące warstwy docelowe w chwili podjęcia tego działania. Po jego skończeniu, skutek jest (chyba) widoczny?wilda napisał(a): Wg mnie proces tworzenia i umieszczania na odpowiednich warstwach rysowanych obiektów musi odbywać w czasie rysowania danego obiektu.
Teraz przykład - również uproszczony. Polecenie LN, rysuje dowolną linię określoną w standarcie warstw. Oczywiście jest to rozwinięcie, poprzedniego lisp-a, zatem wszystkie pliki muszą być załadwane. Kodzik:
- Kod: Zaznacz cały
; =========================================================================================== ;
(defun jk:LayerStd_Cmd (Cmd Pt Lay / el ne)
(setq el (entlast))
(command (strcat "_." Cmd) Pt)
(while
(= 1 (logand (getvar "CMDACTIVE") 1))
(command "\\")
(if
(not (eq el (entlast)))
(cd:ENT_SetDXF (entlast) 8 Lay)
)
)
)
; =========================================================================================== ;
(defun C:LN (/ p la d dl dr)
(initget "Warstwa")
(if
(setq p (getpoint "\nWskaz punkt poczatkowy lub [Warstwa]: "))
(if
(= p "Warstwa")
(progn
(setq la (acet-ini-get (findfile "LayerStd.ini") "Layers"))
(if
(cd:DCL_StdListDialog la 0
"Lista warstw funkcjonalnych" "Wybierz:" 40 15 2 13 (list "&Ok" "&Anuluj")
nil T T '(setq d (nth (atoi res) la))
)
(progn
(setq dl (jk:LayerStd_GetLayData d))
(if
(setq p (getpoint "\nWskaz punk poczatkowy: "))
(progn
(jk:LayerStd_MakeLay dl)
(jk:LayerStd_Cmd "LINE" p (car dl))
)
(princ "\nAnulowano. ")
)
)
(princ "\nAnulowano. ")
)
)
(jk:LayerStd_Cmd "LINE" p nil)
)
nil
)
(princ)
)
; =========================================================================================== ;
To przykład, oczywiście.
wilda napisał(a):Tak jak np w lispie który przenosi wstawiane bloki na zdefiniowane warstwy w zależności od nazwy bloku.
Może analogicznie w zależności od nazwy linii, nazwy textu itp...
Moim skromym zdaniem to nie ma najmniejszego sensu. Zmieniać nazwę linii, aby zmieniła się warstwa? Choć to możliwe, wydaje mi się że to całkowicie bezużyteczny pomysł. To dlaczego nie od razu warstwa docelowa? Na marginesie - nie rozumiem co oznacza określenie "nazwa tekstu".
wilda napisał(a):Osobiście żeby zachować porządek w swoim rysunku podstawowe elementy które rysuję mam podpięte do przycisków/poleceń w których tworzona/zdefiniowana jest warstwa na jakiej ma być element wstawiony, rodzaj linii, kolor itd.
Dla jasności. Mówię o standardach warstw. Wymiennych. Elastycznych. Przenośnych. Pokaż (działajace) te mityczne podpięte "osobiste przyciski" - porównamy i podyskutujemy.
Zagadnienie które poruszam nie wyklucza żadnych przycisków, niemniej ich obecność, (lub nie) nie ma żadnego wpływu na główny nurt rozważań.
kojacek