Lệnh DimUPD
Tác giả LeeMac
1 Thêm class AJS_.lsp
Lưu mã sau dưới dạng tệp tin AJS_.lsp
Code:
(defun c:DimUpd ( / *error* _StartUndo _EndUndo acdoc acsel vp ds )
(defun *error* ( msg )
(if acdoc (_EndUndo acdoc))
(if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*"))
(princ (strcat "\nError: " msg))
)
(princ)
)
(defun _StartUndo ( doc )
(_EndUndo doc)
(vla-StartUndoMark doc)
)
(defun _EndUndo ( doc )
(if (= 8 (logand 8 (getvar 'UNDOCTL)))
(vla-EndUndoMark doc)
)
)
(setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)))
(if
(and
(ssget "_X" '((0 . "*DIMENSION")))
(progn
(initget 2)
(setq vp (getdist "\nGet length of top edge of title block:"))
)
)
(progn
(setq ds (* 0.034 VP))
(_StartUndo acdoc)
(vlax-for obj (setq acsel (vla-get-ActiveSelectionSet acdoc))
(foreach prop '(LinearScaleFactor ScaleFactor)
(if (vlax-property-available-p obj prop t)
(vlax-put-property obj prop ds)
)
)
)
(vla-delete acsel)
(setvar 'DIMSCALE ds)
(_EndUndo acdoc)
)
)
(princ "\nby LeeMac")
(princ "\nhttps://www.cadtutor.net/forum/topic/25553-selec-dims-and-change-linear-dim-scale/")
(princ "\nRe-Share on lisp.vn")
(princ)
)
(vl-load-com)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