Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD Strona Główna Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD
Forum CAD.

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj

Poprzedni temat «» Następny temat
SETBYLAYER i Ctrl+0
Autor Wiadomość
Harry 
Gaszenie gazem ;)

Dołączył: 18 Sty 2012
Posty: 4
Skąd: Wrocław
Wysłany: Sro Sty 18, 12 14:27   SETBYLAYER i Ctrl+0

Witam
Po 10 latach pracy na autocadach przesiadłem się na ZwCAD'a.
Ogólnie programik bardzo fajny, mało zasobożerny a przede wszystkim tani.
Jednak w trakcie użytkowania zauważyłem brak 2 dosyć fajnych funkcji:
1) SETBYLAYER (po PL - ustjakwar) - polecenie sprawia, ze wszystkie zaznaczone obiekty zmieniają kolor, rodzaj linii, grubość na parametr jak warstwa. (przydatne, przy tzw. wyszarzeniu rysunków.
2) Ctrl+0 - skrót klawiszowy, który powodował przejście aplikacji w tryb pełnoekranowy z wyłączeniem paska menu (oraz opcjonalnie paska poleceń). Bardzo przydatna funkcja, szczególnie przy mniejszych monitorach (chociaż stosowałem ją często przy 27 calach).
Jeśli ktoś ma rozwiązanie zastępcze na ww. funkcje, będę bardzo wdzięczny za pomoc.

P.s. wersja 2012 PL - 2011.10.30(17176)
 
     
KBR 

Dołączył: 12 Maj 2008
Posty: 156
Wysłany: Sro Sty 18, 12 18:46   

Można w ikonach zrobić sobie ikonę "ustaw jak warstwa" wpisując w wierszu polecenie

^C^Cchange \P C ByLayer;LT ByLayer;LW ByLayer;;

I będzie zmieniało wszystkie Kolor, rodzaj i grubość linii na ByLayer
 
     
Pablo

Dołączył: 31 Sty 2010
Posty: 32
Wysłany: Sro Sty 18, 12 20:56   

ad 1) Może nie do końca rozumiem o co chodzi, ale czy opisanego zadania nie spełnia polecenie:
Narzędzia dodatkowe -> Warstwy -> Uzgodnienie warstw (LAYMCH) ?
 
     
gruzin 
sanitarnik

Pomógł: 5 razy
Dołączył: 16 Lip 2009
Posty: 232
Skąd: Białystok
Wysłany: Sro Sty 18, 12 22:49   

Żadna z tych metod nie jest tak dobra jak oryginalne SETBYLAYER

W oryginale działa to tak że możemy zmienic na "jakwarstwa" w wybranych elementach określone cechy np kolor, grubość itp. Najlepsze jest to że wewnątrz bloków również wszystkie elementy zmieniają się na JAKWARSTWA.
Jest to konieczne jeżeli podczytujemy sobie plik dwg jako Xref i chcemy nadać warstwom tego pliku określone cechy np szary kolor podkładu od architekta. Jeżeli architekt nadał ścianom kolor np czerwony (ścianom a nie warstwie) to u nas w pliku nie da się tego zmienić bez poprawy pliku np poleceniem SETBYLAYER.

Zwcad 2012 ma kilka pochodnych funkcji SETBYLAYER w narzędziach "Express" -> "Block"
_________________
www.instalacjesanitarne.com
www.profilek.net
 
     
Harry 
Gaszenie gazem ;)

Dołączył: 18 Sty 2012
Posty: 4
Skąd: Wrocław
Wysłany: Czw Sty 19, 12 08:06   

gruzin napisał/a:
Żadna z tych metod nie jest tak dobra jak oryginalne SETBYLAYER

W oryginale działa to tak że możemy zmienic na "jakwarstwa" w wybranych elementach określone cechy np kolor, grubość itp. Najlepsze jest to że wewnątrz bloków również wszystkie elementy zmieniają się na JAKWARSTWA.
Jest to konieczne jeżeli podczytujemy sobie plik dwg jako Xref i chcemy nadać warstwom tego pliku określone cechy np szary kolor podkładu od architekta. Jeżeli architekt nadał ścianom kolor np czerwony (ścianom a nie warstwie) to u nas w pliku nie da się tego zmienić bez poprawy pliku np poleceniem SETBYLAYER.

Zwcad 2012 ma kilka pochodnych funkcji SETBYLAYER w narzędziach "Express" -> "Block"


Dokładnie.
Jest to bardzo pomocne przy podkładach od architektów, gdyż wielu z nich rysując w programach typu archicad eksportuje do dwg i bardzo dużo elementów jest np. na warstwie "0" a kolory są ustalane dla poszczególnych obiektów a nie dla warstw.
_________________
Pozdrawiam
Rafał Ł.
 
     
Assgarth 
programista

Pomógł: 2 razy
Dołączył: 26 Sty 2009
Posty: 136
Skąd: Poznań
  Wysłany: Czw Sty 19, 12 10:11   

Cytat:
1) SETBYLAYER (po PL - ustjakwar) - polecenie sprawia, ze wszystkie zaznaczone obiekty zmieniają kolor, rodzaj linii, grubość na parametr jak warstwa. (przydatne, przy tzw. wyszarzeniu rysunków.


Możesz skorzystać z LISP'a.
Drobna modyfikacja pod kątem ZwCADa (źródło jest na cad.pl):
Kod:
;;; ======================================================================================= ;;;
;;; CADPL-Pack-v1.lsp                                                                       ;;;
;;;                                                                                         ;;;
;;; ======================================================================================= ;;;

; =========================================================================================== ;
; Zmienia cechy obiektu VLA / Sets the property of VLA-Object                                 ;
;  Obj [VLA-Object] - obiekt / object                                                         ;
;  Lst [LIST] - lista cech par kropkowych / list of dotted pairs properties                   ;
; ------------------------------------------------------------------------------------------- ;
; (cd:ACX_SetProp                                                                             ;
;   (vlax-ename->vla-object (entlast))                                                        ;
;    '(("LineType" . "BLA")("Color" . 1)("Layer" . "0"))                                      ;
; )                                                                                           ;
; =========================================================================================== ;
(defun cd:ACX_SetProp (Obj Lst / a)
  (if (vlax-write-enabled-p Obj)
    (mapcar
      (function
        (lambda (% / %1)
          (cons
            (car %)
             (if (vlax-property-available-p Obj (car %))    ; iCAD
             ;(if (vlax-property-available-p Obj (car a) (cdr a)) ; AutoCAD
              (if
                (setq %1
                  (vl-catch-all-apply
                    (quote vlax-put-property)
                    (list Obj (car %) (cdr %))
                  )
                )
                %1
                :vlax-true
              )
              :vlax-null
            )
          )
        )
      )
      Lst
    )
  )
)
;przykładowe wywołanie (zmiana typu linii, kolor i warstwa) dla jednego wskazanego obiektu:
;(cd:ACX_SetProp (vlax-ename->vla-object (entlast)) '(("LineType" . "Continuous")("Color" . 256)("Layer" . "0")))

; =========================================================================================== ;
(princ "\n------- CADPL-Pack-v1.lsp - http://forum.cad.pl -------")
(princ "\n--------------- Open Source 2011 - 2012 ---------------")
(princ)


Dalej, aby zadziałać na wszystkich wskazanych obiektach:
Kod:
;;--------------------------------=={ zk:SSZbr->List }==-----------------------------------;;
;;  Zamienia ss-grupę na listę z entity name                                               ;;
;;-----------------------------------------------------------------------------------------;;
;; ssZbr   [SSGET] - SS-group                                                              ;;
;;-----------------------------------------------------------------------------------------;;
(defun zk:SSZbr->List (ssZbr / % lista)
    (repeat
        (setq % (sslength ssZbr))
        (setq % (1- %) lista (cons (ssname ssZbr %) lista))
    )
)

(defun c:Test ()
(foreach % (zk:SSZbr->List (ssget))
    (cd:ACX_SetProp (vlax-ename->vla-object %) '(("LineType" . "Continuous")("Color" . 256)("Layer" . "0")("Lineweight" . "50")))
))


W przypadku ZwCAD może być konieczność regeneracji widoku obiektów - funkcja "REGEN".

pozdrawiam
_________________
Obecnie używam ZwCAD:
_VERNUM = "2011.10.30(17176)"
 
     
Harry 
Gaszenie gazem ;)

Dołączył: 18 Sty 2012
Posty: 4
Skąd: Wrocław
Wysłany: Czw Sty 19, 12 11:16   

Dziękuje
Lisp powinien poradzić sobie z tym "problemem"
_________________
Pozdrawiam
Rafał Ł.
 
     
Stefan

Dołączył: 24 Lis 2011
Posty: 6
Wysłany: Pią Sty 20, 12 09:11   

Nie rozumiem za bardzo autora tematu a nie można po prostu zmienić parametru "Kolor" na ByLayer na pasku "warstwy", jedno klikniecie i wszystkie zaznaczone obiekty zmieniają kolor ??.
 
     
Pablo

Dołączył: 31 Sty 2010
Posty: 32
Wysłany: Pią Sty 20, 12 09:22   

Też nie do końca rozumiem wszyskie wyjaśnienia w tym wątku. Pewne jednak jest, że prosta zmiana koloru nie zmieni nam koloru bloków, które nie zostały stworzone z elementami na warstwie JakBlok. Bloki można rozbić, ale wtedy mamy sieczkę na rysunku.
 
     
Assgarth 
programista

Pomógł: 2 razy
Dołączył: 26 Sty 2009
Posty: 136
Skąd: Poznań
Wysłany: Pią Sty 20, 12 09:37   

Zmiana samego koloru nie stanowi problemu, lecz gdy chcemy zmienić również inne parametry jak typ linii, szerokość, kolor, materiał, transparentność, styl wydruku (czyli wszystko to co ma w sobie funkcja SETBYLAYER), to już nie jest jedno kliknięcie. A jak chcemy się szybko przełączać między różnymi cechami obiektów, to Lisp umożliwi coś takiego właśnie prostym kliknięciem.
Wszystko można oczywiście ręcznie sobie ustawiać itp. lecz po co, skoro można szybciej? :)
_________________
Obecnie używam ZwCAD:
_VERNUM = "2011.10.30(17176)"
 
     
gruzin 
sanitarnik

Pomógł: 5 razy
Dołączył: 16 Lip 2009
Posty: 232
Skąd: Białystok
Wysłany: Pią Sty 20, 12 10:08   

Assgarth a dużo to roboty żeby hurtowo lispem pozmieniac definicie blokow na jak warstwa? Jak dla mnie to kolor i grubośc linii wystarczy. stylu linii nigdy nie poprawiam bo wole żeby był taki jak u architekta, nawet jak jest narzucony recznie?
_________________
www.instalacjesanitarne.com
www.profilek.net
 
     
Stefan

Dołączył: 24 Lis 2011
Posty: 6
Wysłany: Pią Sty 20, 12 10:21   

Assgarth napisał/a:
Zmiana samego koloru nie stanowi problemu, lecz gdy chcemy zmienić również inne parametry jak typ linii, szerokość, kolor, materiał, transparentność, styl wydruku (czyli wszystko to co ma w sobie funkcja SETBYLAYER), to już nie jest jedno kliknięcie. A jak chcemy się szybko przełączać między różnymi cechami obiektów, to Lisp umożliwi coś takiego właśnie prostym kliknięciem.
Wszystko można oczywiście ręcznie sobie ustawiać itp. lecz po co, skoro można szybciej? :)

No to tak jak napisałem wyżej wszystko się wybiera z paska, nie wiem czy się dobrze zrozumieliśmy dlatego wklejam screena:


Uploaded with ImageShack.us

Pablo napisał/a:
Też nie do końca rozumiem wszyskie wyjaśnienia w tym wątku. Pewne jednak jest, że prosta zmiana koloru nie zmieni nam koloru bloków, które nie zostały stworzone z elementami na warstwie JakBlok. Bloki można rozbić, ale wtedy mamy sieczkę na rysunku.
Jezeli chodzi o bloki to sytuacja wygląda identycznie jak w AC, prawym przyciskiem na blik i "Edytuj blok"
 
     
Assgarth 
programista

Pomógł: 2 razy
Dołączył: 26 Sty 2009
Posty: 136
Skąd: Poznań
Wysłany: Pią Sty 20, 12 10:30   

Nie wiem jakie kto ma zapotrzebowania. Osobiście nic nie projektuję, nie rysuję, ani też nie tworzę obiektów na potrzeby ich prezentacji. Działam tylko w zakresie tworzenia kodu według wytycznych, poprawiania istniejącego itp. To czy ktoś potrzebuje wrzucić wszystko na jedną warstwę, kolor itd. to jedno, a do czego tego użyje, to już nie moja sprawa :)
_________________
Obecnie używam ZwCAD:
_VERNUM = "2011.10.30(17176)"
 
     
Assgarth 
programista

Pomógł: 2 razy
Dołączył: 26 Sty 2009
Posty: 136
Skąd: Poznań
Wysłany: Pią Sty 20, 12 10:35   

Cytat:
No to tak jak napisałem wyżej wszystko się wybiera z paska, nie wiem czy się dobrze zrozumieliśmy dlatego wklejam screena (...)

Nie przeczę, że nie da się tego zrobić, co już wcześniej napisałem, ale musisz po pierwsze kliknąć kilka razy, a nie raz, jeśli chcesz zmienić więcej niż jedną cechę (w lisp masz jedno kliknięcie plus ewentualne wskazanie obiektów, choć i to nie jest konieczne).

I tak jak napisałem w ostatnim moim poście - nie interesuje mnie do czego ktoś potrzebuje narzędzie, jeśli tylko jest ono do wykonania w miarę prosty sposób.

Niemniej jednak, autor postu powinien sam zapoznać się z przedstawionymi propozycjami i wybrać najbardziej mu odpowiadającą ;)

pozdrawiam
_________________
Obecnie używam ZwCAD:
_VERNUM = "2011.10.30(17176)"
 
     
Assgarth 
programista

Pomógł: 2 razy
Dołączył: 26 Sty 2009
Posty: 136
Skąd: Poznań
Wysłany: Pią Sty 20, 12 10:40   

gruzin napisał/a:
Assgarth a dużo to roboty żeby hurtowo lispem pozmieniac definicie blokow na jak warstwa?


Dla jednego bloku:
Kod:
(cd:ACX_SetProp (vlax-ename->vla-object (car(entsel))) '(("Color" . 256)))


Dla wielu wskazanych bloków:
Kod:
(defun zk:SSZbr->List (ssZbr / % lista)
    (repeat
        (setq % (sslength ssZbr))
        (setq % (1- %) lista (cons (ssname ssZbr %) lista))
    )
)

(foreach % (zk:SSZbr->List (ssget))
    (cd:ACX_SetProp (vlax-ename->vla-object %) '(("Color" . 256)))
)


Dla wszystkich bloków:
Kod:
(foreach % (zk:SSZbr->List (ssget "_x" (list (cons 0 "INSERT"))))
    (cd:ACX_SetProp (vlax-ename->vla-object %) '(("Color" . 256)))
)


pozdrawiam
_________________
Obecnie używam ZwCAD:
_VERNUM = "2011.10.30(17176)"
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,26 sekundy. Zapytań do SQL: 10