我不明白你为什么要做这样的事?
这将完成任务。。。
- (defun c:test ( / ss i e )
- (if (setq ss (ssget "_:L" '((0 . "*DIMENSION"))))
- (repeat (setq i (sslength ss))
- (entupd
- (cdr
- (assoc -1
- (entmod
- (subst
- (cons 1
- (LM:GetDimensionString (setq e (ssname ss (setq i (1- i)))))
- )
- (assoc 1 (setq e (entget e))) e
- )
- )
- )
- )
- )
- )
- )
- (princ)
- )
- (defun LM:GetDimensionString ( dim / dl db ds )
- (if
- (and
- (wcmatch (cdr (assoc 0 (setq dl (entget dim)))) "*DIMENSION")
- (setq db (tblobjname "BLOCK" (cdr (assoc 2 dl))))
- )
- (while (and (setq db (entnext db)) (not ds))
- (if (eq "MTEXT" (cdr (assoc 0 (setq dl (entget db)))))
- (setq ds (cdr (assoc 1 dl)))
- )
- )
- )
- ds
- )
|