我同意达加德的评论。但是,尽管如此,这应该是可行的:
- (defun c:Test ( / doc ovr ss)
- (setq doc (vla-get-activedocument (vlax-get-acad-object)))
- (vla-endundomark doc)
- (vla-startundomark doc)
- (if (setq ss (ssget "_X" '((0 . "DIMENSION") (-4 . "<NOT") (1 . "") (-4 . "NOT>"))))
- (vlax-for obj (setq ss (vla-get-activeselectionset doc))
- (setq ovr (vla-get-textoverride obj))
- (if
- (and
- (wcmatch ovr "*"")
- (not (wcmatch ovr "*[~"0-9]*,*"*?"))
- (< 18 (atoi ovr))
- )
- (vla-put-textoverride
- obj
- (strcat
- (itoa (/ (atoi ovr) 12))
- "'-"
- (itoa (rem (atoi ovr) 12))
- """
- )
- )
- )
- )
- (vla-delete ss)
- )
- (vla-endundomark doc)
- (princ)
- )
|