• 3

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


Question

Posted (edited)

Chciałbym, aby była możliwość ustawienia warstwy, żeby podczas rysowania, od razu była wyświetlana na spodzie rysunku, a nie na wierzchu. Głównie chodzi mi o wymiarowanie, bo czasami pomocnicze linie wymiarowe zasłaniają obiekt.

Edited by Bartek1977

21 answers to this question

Recommended Posts

  • 0
Posted

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.

 

  • 0
Posted

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

  • 0
Posted
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?

  • 0
Posted

Pomyslałem o takiej procedurze: narzedzia express: odfiltrowanie warstwy z wymiarami, CTRL-A (zaznacza wszystko). polecenie umiesc pod spód.
Efekt koncowy warstwa z wymiarami pod wszystkimi obiektami

  • 0
Posted (edited)

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)

 

Edited by perlon
  • 0
Posted (edited)

Skorzystałbym z gotowych funkcji. Wystarczy wybrać "Send to back" i wymiar wyląduje po linią.

large.draworder.png.634b9a81c594a7ea54da5262d7e5e702.png

Wcześniej możemy wyodrębnić warstwe z wymiarami.

large.589e2fb874271_wyodrbnij.png.c4c09473a9a1313388724e228eeb2397.png

Edited by Parikon
  • 0
Posted

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

  • 0
Posted

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.

  • 0
Posted (edited)

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

Edited by Bartek1977
  • 0
Posted
18 godzin temu, dmatusz3 napisał:

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?

Tak :biggrin:

  • 0
Posted

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

  • 0
Posted (edited)

poziom przeźroczystości byłby lepszy 0%-100% ...ta zmienna wyjściowa może być wstępnie użyta przez programy renderujące w przyszłości

Edited by Martin_S
  • 0
Posted

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.

 

Guest
This topic is now closed to further replies.