[AutoLisp] Zmiana widoczności warstwy.


Recommended Posts

Dobry wieczór,

Mam takie szybkie pytanko. Myślę, że sprawa jest banalna, ale nie mogę tego nigdzie znaleźć.

No więc:  jaką komendą da się zmienić widoczność danej warstwy w tablicy?

    (setq LAY (tblsearch "layer" "zbrojenie_linie" ))
    (setq LAY (subst (cons 62 -8 )(assoc 62 LAY) LAY))
    (entmod LAY )

Chciałem w ten sposób, ale program [ZW-Cad 2020] nie współpracuje. Pozdrawiam 😉

 

 

Link to comment
Share on other sites

6 godzin temu, swazy napisał:

Dobry wieczór,

Mam takie szybkie pytanko. Myślę, że sprawa jest banalna, ale nie mogę tego nigdzie znaleźć.

No więc:  jaką komendą da się zmienić widoczność danej warstwy w tablicy?

    (setq LAY (tblsearch "layer" "zbrojenie_linie" ))
    (setq LAY (subst (cons 62 -8 )(assoc 62 LAY) LAY))
    (entmod LAY )

Chciałem w ten sposób, ale program [ZW-Cad 2020] nie współpracuje. Pozdrawiam 😉

 

 

Byłoby dziwne gdyby wpółpracował. Lista z tblsearch nie jest poprawną listą dla entmod. Użyj tu formy entget + tblobjname. Zobacz:

(setq e (tblobjname "layer" "zbrojenie_linie" ))
(setq d (entget e))
(entmod (subst (cons 62 -8)(assoc 62 d) d))

a to prowadzić może do bardziej ogólnej funkcji:

(defun LayOnOff (Lay / e d)
  (if
    (setq e (tblobjname "LAYER" Lay))
    (progn
      (setq d (entget e))
      (setq d
        (subst
          (cons 62
            (* -1 (cdr (assoc 62 d)))
          )
          (assoc 62 d)
        d)
      )
      (entmod d)
    )
  )
)

Funkcja steruje widocznością warstwy podanej jako jej argument tak jak przełącznik, wywołaj kolejno:

(LayOnOff "zbrojenie_linie")

 

Edited by kojacek
Link to comment
Share on other sites

  • 2 years later...

Join the conversation

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

Guest
Reply to this topic...

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