IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

如何在AutoCAD中‧使用AutoLISP‧將選擇物件‧轉到與目標物件相同Layer

在AutoCAD中,要把物件轉換成其他Layer是一個常見的工作。只要把物件選好,再選擇Menu上面對應的Layer便可。

問題是,知道要轉到那一個Layer當然沒有問題,如果只想轉到同某一個物件相同的Layer,便要先看那一個物件的Layer,才可轉過去。

今次這一個Lisp程式目的,只需選擇目標物件,便會自動將選擇物件,轉到與目標物件相同Layer。

;Main program.
(DEFUN C:CL (/ E1 E2 E4 E5 I)
(PROMPT "\\nChange layer of object(s) to selected object.")
(GRAPHSCR)
(SETVAR "CMDECHO" 0)
(PROMPT "\\nSelect object(s): ")
(SETQ
E1 (SSGET)
E2 (ENTSEL "\\nTarget Layer: ")
)
(IF (AND E1 E2)
(PROGN
(SETQ E2 (ASSOC 8 (ENTGET (CAR E2))))
(SETQ I 0)
(REPEAT (SSLENGTH E1)
(SETQ E4 (ENTGET (SSNAME E1 I)))
(SETQ E5 (ASSOC 8 E4))
(SETQ E4 (SUBST E2 E5 E4))
(ENTMOD E4)
(SETQ I (1+ I))
)
)
)
(SETVAR "CMDECHO" 1)
(PRINC)
)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *