• 3

Przesunięcie warstwy "na spód" [Rozwiązany]


Bartek1977

Pytanie

21 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Funkcja w sumie ciekawa.

Reasumując wybieramy warstwę i określamy, czy obiekty na tej warstwie mają być na samej górze, czy na samym dole.

Nie wiem czy dobrze zrozumiałem

Dnia 3.02.2017 o 11:01, Bartek1977 napisał:

pomocnicze linie wymiarowe zasłaniają obiekt

czy nie na odwrót.

Jeśli obiekt zasłania tekst, wymiary, odnośniki to można użyć funkcji TEXTTOFRONT, która za jednym zamachem przeniesie wszystkie teksty do przodu.

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Tak, pomocnicze linie wymiarowe zasłaniają obiekt :) ,a muszą mieć odsunięcie od początku "0". Jeśli zwymiaruję najpierw odległość "280", to "145" już nie zwymiaruję podwójnym kliknięciem, tylko muszę zaznaczać punkty końcowe. Gdyby warstwa wymiarów od razu była na spodzie, nie miałbym takiego problemu :)

pod.jpg.1e6a47b12bd2d2c05206b3866eb259c5.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Dnia 7.02.2017 o 06:25, Bartek1977 napisał:

Jeśli zwymiaruję najpierw odległość "280", to "145" już nie zwymiaruję podwójnym kliknięciem

Wydaje mi się, że chodzi tutaj bardziej o pojedyncze kliknięcie na obiekcie.

Po naradzie wydaje się, że możemy utworzyć skrypt, który po narysowaniu wybranego elementu w tym przypadku wymiaru przesunie go na spód rysunku.

Czy to by wystarczyło?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Moje rozwiązanie które kiedyś tam dawno spłodziłem:

Z kodu wynika, że domyślnie wrzuca hasze pod spód lub do wyboru na wierz lub pod spód całą warstwę z wskazanym obiektem. 

(princ "\nSetORDER Copyright (c)2003 by perlon")
(princ "\nŁadowanie funkcji SetORDER............")

(defun c:sorder	(/ wybor s)
  (initget "Wierzch Spod Hatche")
  (setq	var1  (getvar "CMDECHO")
	wybor (getkword "\nWarstwa na Wierzch/Spod/<Hatche>:")
  )
  (if (= wybor nil)
    (setq wybor "Hatche")
  )
  (setvar "CMDECHO" 0)
  (cond
    ((= wybor "Wierzch")
     (progn
       (setq ent
	      (entsel
		"\nZaznacz obiekt na warstwie, ktorej elementy chcesz przeniesc na wierzch: "
	      )
       )
       (if (= ent nil)
	 (princ "\nNie wskazano obiektu")
	 (progn
	   (setq s (ssget "X" (list (cons 8 (cdr (assoc 8 (entget (car ent))))))))
	   (if (/= s nil)
	     (command "_.DRAWORDER"
		      s
		      ""
		      "_front"
	     )
	   )
	 )
       )
     )
    )
    ((= wybor "Spod")
     (progn
       (setq ent
	      (entsel
		"\nZaznacz obiekt na warstwie, ktorej elementy chcesz przeniesc pod spód: "
	      )
       )
       (if (= ent nil)
	 (princ "\nNie wskazano obiektu")
	 (progn
	   (setq s (ssget "X" (list (cons 8 (cdr (assoc 8 (entget (car ent))))))))
	   (if (/= s nil)
	     (command "_.DRAWORDER"
		      s
		      ""
		      "_back"
	     )
	   )
	 )
       )
     )
    )
    ((= wybor "Hatche")
     (progn
       (setq s (ssget "X" '((0 . "HATCH"))))
       (if (/= s nil)
	 (command "_DRAWORDER" s "" "_B")
	 (princ "\nNa rysunku nie ma kreskowań.")
       )
     )
    )
  )
  (setvar "CMDECHO" var1)
  (princ)
)

(princ " Załadowane.")
(princ "\nWywołanie z linii komend C:SORDER")
(princ)

 

Edytowane przez perlon
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Chodzi o to, żeby od razu w momencie rysowania  warstwa lub wymiar były na spodzie, a nie zwymiarować i "Send to back", zwymiarować i "Send to back" itd. Wiem że jest szybki i inteligentny wybór, polecenie FILTER, gdzie mogę sobie zaznaczyć warstwę, czy też wymiary i przesunąć je na spód. Jeśli dobrze pamiętam to coś takiego było w Photoshopie, wybierało się warstwę, zaznaczało, czy ma być na wierzchu, czy na spodzie i można było rysować. 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Rozumiem.

Jednak w przypadku przedstawionym na rysunku nie rozumiem czemu wymiarujesz do punktów wewnątrz wgłębienia, a nie  do punktów zewnętrznych. Gdybym miał wymiarować to co narysowałeś wymiar odnosiłby się do narożników. Gdyby tych wgłębień było więcej użyłbym dimcontinue. Problem sam sobie tworzysz.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

To był akurat prosty przykład, żeby pokazać o co chodzi, a chodzi o szybkość :wink: Codziennie wymiaruję wiele takich obiektów, przeważnie dużo bardziej skomplikowanych i z doświadczenia wiem, że wymiar szeregowy w mojej pracy się nie sprawdza. Z drugiej strony chodzi też o dokładność, klikając na linię jestem pewny, że jest dobrze zwymiarowana, a wybierając narożniki łatwiej o błąd. Dlatego funkcja, o której piszę znacznie by mi ułatwiła i przyspieszyła pracę. :-)

Edytowane przez Bartek1977
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

zdecydowanie głosuję za ustawianiem priorytetu warstw

takie rozwiązanie stosowane jest w bentleyu dla rys 2D. Pozycjonowanie warstw to wielce przydatna rzecz. Mam często takie rysowanie, że mam kreskowania na różnych "poziomach", jedne pod spodem jedne na wierzchu. Ułatwiło i przyspieszyło by to b. rysowanie zwłaszcza że zw czasem gubi poziomy np dla hatchów, a ciągłe zmienianie poziomów poszczególnych elementów zabiera czas. W mikrostacji wygląda panel warstw tak:

2 - priorytet warstwy - przy czym w obrębie warstw również działa kolejność wyświetlania. Ale priorytet warstwy jest nadrzędny, tak że nie da się przenieść używając narzędzia analogicznego do draworder elementy z warstwy i niższym priorytecie

1 - przezroczystość

Przy czym przezroczystość i priorytet można też definiować dla xrefów. Na takiej samej zasadzie tylko że cały odnośnik jest ustawiony na przezroczystość czy poziom

bentleyJPG.thumb.JPG.1760fd9f1a6b686cf5714d2a58045396.JPG

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Utworzyliśmy mały skrypt, który pozwoli na przeniesienie wymiarów na spód.

Działa on w taki sposób, jak pokazano na filmie poniżej.

Skrypt jest tutaj DimToBack.lsp

EDIT. Skrypt działa tylko w ZWCAD 2017.

Po załadowaniu dostępne są 2 polecenia:

  • dimtoback:on - włączamy funkcje,
  • dimtoback:off - wiadomo.

 

PS. Dziękuję wszystkim za odpowiedzi i różne alternatywne metody rozwiązania problemu.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.