• 0

Polecenie cofnij podczas wyłączania warstw


Pytanie

Opublikowano

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

17 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Opublikowano

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.

  • 0
Opublikowano

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ę 😕

  • 0
Opublikowano

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.

  • 0
Opublikowano

Nie można "odkliknąć" wskazane warstwy bo one nie jest już wyświetlana.

_layoff.gif

 

Po namyśle wydaje mi się, że można zrobić proste polecenie, które włączy ostatnio wyłączoną warstwę za pomocą polecenia _layoff
Spróbujemy coś pomyśleć w poniedziałek.

 

  • 0
Opublikowano (edytowane)

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.

Edytowane przez Marek-M
Poprawki stylistyczne.
  • 0
Opublikowano (edytowane)

Marek-M

dziękuję za piękne ujęcie w słowa mojego nieskładnego posta.

Dokładnie o to chodziło : )

Mam nadzieję że ta funkcja zostanie dodana. Znacząco usprawni mi pracę.

Edytowane przez cajmer
  • 0
Opublikowano

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ć :)

  • 0
Opublikowano (edytowane)

Na pewno czegoś takiego nie ma. Ale zamiast po kolei zamykać jakieś warstwy można utworzyć filtr grupy, dodać kilka warstw do tego filtra  i operować na utworzonych grupach warstw.

 

Edytowane przez Parikon
  • 0
Opublikowano

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 :)

  • 0
Opublikowano

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)
)

 

  • 0
Opublikowano

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.

  • 0
Opublikowano

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 :)

  • 0
Opublikowano

loff faktycznie działa super ale...

czy jest możliwość żeby działała również na warstwy w xrefie? Wiem wodotrysk ale  oryginalne _layoff działa na xrefach, więc może się uda.

  • 0
Opublikowano

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..

 

 

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie