Ðề: Phần mềm trợ giúp trong Autocad
Lâu nay ít người quan tâm đến Lisp nên không thấy có tiện ích nào được Post lên đây. Hôm nay tôi Up một lệnh nhỏ dùng để tách toàn bộ đối tượng DIM trong bản vẽ lên 1 lớp mới tên là "_Dim". Cái này khá hiệu quả khi ta muốn lọc lấy phần bản vẽ mà không muốn có dim (để vẽ điện, nước, kết cấu...). Lệnh này đã có trong bản TKXD30.
- Tạo 1 files Lisp có nội dung như dưới đây.
- Load vào Acad rồi dùng lệnh Dimlay
;;; Dimension filter:
(defun M_Lay (layr_name / tbl t1 t2 key)
(setq tbl (tblnext "LAYER" 1))
(while tbl
(setq t1 (strcase layr_name)
t2 (cdr (car (cdr tbl)))
)
(if (equal t1 t2)
(setq key 1)
)
(setq tbl (tblnext "LAYER"))
)
(if (/= key 1)
(progn (setq tbl NIL)
(command "_.LAYER" "N" layr_name "")
(princ (strcat "\nLayer " layr_name ".... Da duoc tao."))
)
)
(setq layr_name NIL)
(princ)
)
(defun C:Dimlay (/ dim_app)
(setvar "Cmdecho" 0)
(setq dim_app (ssget "X" '((0 . "DIMENSION"))))
(if dim_app
(progn
(M_lay "_Dim") ;Tao Layer Dim neu chua co
(command "_.Chprop" dim_app "" "LA" "_Dim" "")
)
(prompt "\nHien tai, khong co Dim.")
)
(princ)
) ;End Function.
--------------------
Hoặc Download file này về, đổi đuôi thành lsp, load vào Acad
Lâu nay ít người quan tâm đến Lisp nên không thấy có tiện ích nào được Post lên đây. Hôm nay tôi Up một lệnh nhỏ dùng để tách toàn bộ đối tượng DIM trong bản vẽ lên 1 lớp mới tên là "_Dim". Cái này khá hiệu quả khi ta muốn lọc lấy phần bản vẽ mà không muốn có dim (để vẽ điện, nước, kết cấu...). Lệnh này đã có trong bản TKXD30.
- Tạo 1 files Lisp có nội dung như dưới đây.
- Load vào Acad rồi dùng lệnh Dimlay
;;; Dimension filter:
(defun M_Lay (layr_name / tbl t1 t2 key)
(setq tbl (tblnext "LAYER" 1))
(while tbl
(setq t1 (strcase layr_name)
t2 (cdr (car (cdr tbl)))
)
(if (equal t1 t2)
(setq key 1)
)
(setq tbl (tblnext "LAYER"))
)
(if (/= key 1)
(progn (setq tbl NIL)
(command "_.LAYER" "N" layr_name "")
(princ (strcat "\nLayer " layr_name ".... Da duoc tao."))
)
)
(setq layr_name NIL)
(princ)
)
(defun C:Dimlay (/ dim_app)
(setvar "Cmdecho" 0)
(setq dim_app (ssget "X" '((0 . "DIMENSION"))))
(if dim_app
(progn
(M_lay "_Dim") ;Tao Layer Dim neu chua co
(command "_.Chprop" dim_app "" "LA" "_Dim" "")
)
(prompt "\nHien tai, khong co Dim.")
)
(princ)
) ;End Function.
--------------------
Hoặc Download file này về, đổi đuôi thành lsp, load vào Acad
Ghi chú