• 0

Polecenie cofnij podczas wyłączania warstw


cajmer

Question

Witam.

Przydatną funkcją jest cofnięcie podczas wyłączania warstw.

Wyłączam - gaszę kolejne warstwy na rysunku i jeśli się pomylę muszę włączyć wszystkie warstwy i  od nowa zaczynam gasić.

Nie można użyć ctrl+z aby cofnąć zgaszenie jednej warstwy.

Pozdrawiam

Link to comment
Share on other sites

17 answers to this question

Recommended Posts

  • 0

Zapewne chodzi, że przy wyłączaniu warstw funkcją _LAYOFF po wyłączeniu kilku warstw pod rząd trafi się na warstwę, której nie zamierzało się wyłączyć, to nie można cofnąć tylko ostatnio wyłączonej warstwy. Cofnięcie ostatniej operacji (_UNDO) powoduje, że zostaną włączone wszystkie warstwy kliknięte podczas ostatniej funkcji _LAYOFF.

Ogólnie przydałoby się, aby przy włączonej funkcji _LAYOFF, _LAYFRZ można było użyć _UNDO po kliknięciu na niezamierzoną warstwę i przywrócona zostałaby tylko ostatnio kliknięta warstwa.

Ja ten problem obchodzę w taki sposób, że po kliknięciu w niepożądaną warstwę zakańczam funkcję _LAYOFF Enterem a następnie z CommandLine kopiuję nazwę ostatnio wyłączonej warstwy i włączam ją np. bezpośrednio w menedżerze warstw poprzez wyszukiwarkę filtrem  w postaci:

Cytuj

*nazwa_wyłączonej_warstwy*

Teraz myślę, że problem autora jest bardziej zrozumiały.

Link to comment
Share on other sites

  • 0

a nie wystarczyło by przytrzymując klawisz SHIFT w trakcie zaznaczania poszczególnych warstw od A do Z ...pomyłkowo wcisnąwszy warstwę N można z  SHIFTEM "odcisnąć" niepożądany wybór na warstwie N.... działa w trakcie wykonywania komendy ..po uruchomieniu już nie da się cofnąć..undo cofa z automatu całą komendę 😕

Link to comment
Share on other sites

  • 0

SHIFT ani CTRL tu nie pomaga, bo zaznaczenie obiektów przed uruchomieniem funkcji _LAYOFF powoduje ich odznaczenie po jej uruchomieniu.

SHIFT i CTRL przytrzymywany przy aktywnej funkcji _LAYOFF niczego nie zmienia, warstwy wyłączają się na bieżąco i nie ma możliwości cofnięcia zaznaczenia.

Link to comment
Share on other sites

  • 0

Heh, szkoda, że ZWCAD tak intensywnie nie pracuje nad funkcjonalnością swojego programu jak Wy. Wasz starający się support mocno podnosi wartość tego oprogramowania z Chin :) Dzięki za Wasz trud, łatwiej mi będzie namówić kierownictwo do odświeżenia licencji ZWCAD jak już wyjdzie porządna wersja alfa np. ZWCAD 2021. 😉 

Póki co ZWCAD 2015+ jest naszym podstawowym narzędziem pracy.

Edited by Marek-M
Poprawki stylistyczne.
Link to comment
Share on other sites

  • 0

Tak już bywa, że jak w jednym miejscu spotykają się użytkownicy tej samej aplikacji, to zawsze ktoś ma podobne problemy. Takiej funkcji też mi brakuje ale nauczyłem się z tym żyć znajdując obejście problemu. Ale jak ktoś oprócz mnie odczuwa brak tej funkcjonalności, to uznałem, że to jest dobra pora aby problem nagłośnić :)

Link to comment
Share on other sites

  • 0

Jest to jakieś alternatywne rozwiązanie, które jednak ma takie minusy, że musisz znać nazwy warstw, które zamierzasz zablokować. Doskonale wiemy, że nie wszystkie rysunki są uporządkowane i dla takich przypadków _LAYOFF, _LAYFRZ są wybawieniem :)

Link to comment
Share on other sites

  • 0

Napisaliśmy nowe polecenie, które umożliwia włączenie ostatnio wygaszonej warstwy.

Za załadowaniu skryptu będzie dostępne nowe polecenie loff . Opcja "c" włącza ostatnio wygaszoną warstwę.

Działa ona w taki sposób:

loff-wylaczenie-warstw.gif

 

Skrypt lisp do pobrania loff_wylaczanie_warstw.lsp

Kod źródłowy skryptu

;;
;; Skrypt do wygaszania warstw. forum.cad.info.pl
;;

(defun c:loff (/ ans flag layername)

(setq flag t)
	(while flag
	(initget "Cofnij Wyjdz")
	(setq ans (entsel "\nWybierz obiekty na wartwach do wyłączenia lub [Cofnij/Wyjdź]:"))
	(cond ((= 'list (type ans))
		
	(setq entity (car ans))
	(setq name (entget entity))
	
	(setq layername (cdr (assoc 8 name)))
	(command "_-layer" "off" layername "")
	)
	((and ans (wcmatch ans "Cofnij"))
	(princ "\nMogę cofnąć tylko ostatnią operacje")
	(command "_-layer" "on" layername "")
	)

	((and ans (wcmatch ans "Wyjdz"))
	(setq flag nil)
	)
	((not ans)
	(princ "\nProszę wybrać obiekt, lub wpisać opcje")
	)
	)
	)
	(princ)
)

 

Link to comment
Share on other sites

  • 0

Super. Funkcja działa idealnie.

Jesteście wspaniali.

Dobrze by było udoskonalić funkcje żeby można było cofnąć więcej niż jedną (ostatnią)  warstwę i żeby działało ctrl+z. 

Ctrl+z jest jakoś bardziej intuicyjny niż "c".

Jednakowoż jestem bardzo wdzięczny za pomoc.

Link to comment
Share on other sites

  • 0

Dziękuję za informacje.

Obawiam się, że skrótu klawiaturowego (Ctrl+z) nie można użyć w lispie, ale edytując nieco kod źródłowy można zmienić literę do cofnięcia wygaszenia warstwy.

Cofnięcie wygaszenia większej ilości warstw jest możliwe, ale wymaga znacznego przebudowania skryptu.
Jeśli jednak będzie więcej osób chętnych to przerobimy skrypt w tym kierunku :)

Link to comment
Share on other sites

  • 0

powinna  funkcja layoff być podobnie działająca jak LAYISO/LAYUNISO, z której b. często korzystam.. Izoluję warstwę/grupę warstw a potem wracam do stanu sprzed izolacji. W tej funkcji (LAYISO/LAYUNISO) natomiast brakuje mi działania cofającego "zagnieżdżone" działanie izolowania, tj kiedy dwu i więcej-krotnie izoluję jedno po drugim. Powinna funkcja LAYUNISO także przywracać, w odwrotnej kolejności kolejne kroki zmiany wyświetlania. Dodatkow pomysł z izolowaniem również warstw xrefa uważam za b dobry.. byle działała funkcja odwrotna..

to samo z oops, kasowanie wielokrotne i cofanie też wielokrotne wg kolejności od ostatniej kasowania... to mi się marzy..

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...