Sử dụng một đoạn lisp do AJS sửu tầm. Nguồn: AutoDesk forum
Sử dụng lệnh APPLOAD để tải lisp, nhớ gắp và thả cho vào thư mục Contents để tự động load nhé.
Đoạn lisp có tác dụng vẽ các CenterLine theo trục chính của các Hình chữ nhật được chọn.
Lưu tệp tin [CLREC].lsp
(Copy nội dung sau)
Code:
(defun c:clrec ( / *error* ss i pts d1 d2)
(vl-load-com)
(setq acobj (vlax-get-acad-object)
acdoc (vla-get-activedocument acobj))
(if
(= 8 (logand (getvar 'undoctl) 8))
(vla-endundomark acdoc)
)
(vla-startundomark acdoc)
(defun *error* (msg)
(and msg
(not (wcmatch (strcase msg) "*CANCEL*,*QUIT*,*BREAK*,*EXIT*"))
(princ (strcat "\nError: " msg))
)
(if
(= 8 (logand (getvar 'undoctl) 8))
(vla-endundomark acdoc)
)
(princ)
)
(if
(setq ss (ssget '((0 . "LWPOLYLINE") (90 . 4) (-4 . "&") (70 . 1))))
(repeat (setq i (sslength ss))
(setq e (ssname ss (setq i (1- i)))
pts (mapcar '(lambda (x) (vlax-curve-getpointatparam e x)) '(0.5 2.5 1.5 3.5))
d1 (distance (car pts) (cadr pts))
d2 (distance (caddr pts) (cadddr pts))
)
(entmakex
(list
'(0 . "LINE")
(cons 10 (if (< d1 d2) (caddr pts) (car pts)))
(cons 11 (if (< d1 d2) (cadddr pts) (cadr pts)))
)
)
)
)
(*error* nil)
(princ "www.lisp.vn")
(princ)
)
Link tải
Nguồn
---------------------------------------------------------------------------------------------
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