嗨,尼古拉斯,
这是我的一些非常古老的代码,你已经发现了!
下面是我今天如何重写函数:
- (defun c:dimupd ( / adm doc sel styles )
- (setq styles '("1" "2" "3") ;; Dimension Styles to Update
- styles (mapcar 'strcase styles)
- )
- (setq doc (vla-get-activedocument (vlax-get-acad-object))
- adm (vla-get-activedimstyle doc)
- )
- (vlax-for dim (vla-get-dimstyles doc)
- (if (member (strcase (vla-get-name dim)) styles)
- (progn
- (vla-put-activedimstyle doc dim)
- (setvar 'dimclre 52)
- (setvar 'dimclrd 52)
- (setvar 'dimclrt 52)
- (vla-copyfrom dim doc)
- )
- )
- )
- (if (ssget "_X" '((0 . "*DIMENSION")))
- (progn
- (vlax-for obj (setq sel (vla-get-activeselectionset doc))
- (vl-catch-all-apply 'vla-update (list obj))
- )
- (vla-delete sel)
- )
- )
- (vla-put-activedimstyle doc adm)
- (princ)
- )
- (vl-load-com) (princ)
|