Lệnh [CB0]
Cho phép đổi layer cho các đối tượng nằm bên trong block được chọn.
1 Thêm CB0.lsp
Lưu mã sau dưới dạng tệp tin CB0.lsp
Code:
; Changes all block entities to layer "0" with color, linetype & lineweight ByBlock (defun C:CB0 (/ SSET intCount ENAM ELST BNAM FLST FIX1) (defun FIX1 (BNAM / BENAM BONAM) (if (not (member BNAM FLST)) (progn (setq FLST (cons BNAM FLST) BENAM (tblobjname "block" BNAM) ) (while (setq BENAM (entnext BENAM)) (if (= (cdr (assoc 0 (entget BENAM))) "INSERT") (fix1 (cdr (assoc 2 (entget BENAM)))) (progn (setq BONAM(vlax-ename->vla-object BENAM)) (vl-catch-all-apply 'vla-put-layer (list BONAM "0")) (vl-catch-all-apply 'vla-put-color (list BONAM 0)) (vl-catch-all-apply 'vla-put-linetype (list BONAM "Byblock")) (vl-catch-all-apply 'vla-put-Lineweight (list BONAM -2)) ; (vl-catch-all-apply 'vla-put-PlotStyleName (list BONAM "Byblock")) ) ) ) ) ) ) (setq SSET (ssget (list (cons 0 "INSERT")))) (vl-cmdf "undo" "BEgin") (repeat (setq intCount (sslength SSET)) (setq intCount (1- intCount) ENAM (ssname SSET intCOunt) ELST (entget ENAM) BNAM (cdr (assoc 2 ELST)) FLST nil ) (fix1 BNAM) ) (vl-cmdf "undo" "End") (vl-cmdf "regen") (princ "Collected by lisp.vn") (princ) )
Link tải (MediaFire)
---------------------------------------------------------------------------------------------
Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!
Không có nhận xét nào:
Đăng nhận xét