- (defun C:test ( / e o p d )
- (setvar 'errno 0)
- (and
- vlax-get-acad-object
- (while (/= 52 (getvar 'errno))
- (setq e (car (nentsel "\nSelect text to fill: ")))
- (cond
- ((= 7 (getvar 'errno))
- (princ "\nMissed, try again.") (setvar 'errno 0)
- )
- ((and e (not (vlax-property-available-p (setq o (vlax-ename->vla-object e)) 'TextString)))
- (princ "\nThis is not a text object.") (setq e nil)
- )
- ((and o (eq (vla-get-Lock (vla-item (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) (vla-get-Layer o))) :vlax-true))
- (princ "\nThis object is on a locked layer.") (setq e nil)
- )
- (e
- (if
- (and
- (setq p (getpoint "\nSpecify first point: "))
- (cadr (setq p (cons p (list (getpoint "\nSpecify second point: " p)))))
- (setq d (rtos (abs (apply '- (mapcar 'last (mapcar '(lambda (x) (trans x 1 0)) p))))))
- )
- (cond
- ( (= "ATTDEF" (cdr (assoc 0 (entget e)))) (vla-put-TagString o d) )
- ( T (vla-put-TextString o d) )
- )
- )
- (setvar 'errno 52)
- )
- (T nil)
- )
- )
- )
- (princ)
- );| defun |; (or vlax-get-acad-object (vl-load-com)) (princ)
编辑:该死的,我没有注意到Tharwat的代码,你想在填充该属性之前插入块。 |