试图重用此代码将块名称字段插入dwg屏幕
程序要求选择block并再次选择block,但什么也没有发生。
我做错了什么?
- (defun c:blf ( / dc en pt )
- (while
- (progn
- (while
- (progn (setvar 'ERRNO 0) (setq en (car (entsel "\nSelect block: ")))
- (cond
- ( (= 7 (getvar 'ERRNO)) (princ "\nMissed, try again."))
- ( (eq 'ENAME (type en))
- (if (not (eq "block" (cdr (assoc 0 (entget en)))))
- (princ "\nPlease Select an block.")
- )
- )
- )
- )
- )
- (if (and en (setq pt (getpoint "\nSpecify Point for Field: ")))
- (vla-addtext
- ( (if (= 1 (getvar 'CVPORT)) vla-get-paperspace vla-get-modelspace)
- (setq dc (vla-get-activedocument (vlax-get-acad-object)))
- )
- (strcat "%<\\AcObjProp Object(%<\\_ObjId "
- (if
- (and
- (vl-string-search "64" (getenv "PROCESSOR_ARCHITECTURE"))
- (vlax-method-applicable-p (vla-get-utility dc) 'getobjectidstring)
- )
- (vla-getobjectidstring (vla-get-utility dc) (vlax-ename->vla-object en) :vlax-false)
- (itoa (vla-get-objectid (vlax-ename->vla-object en)))
- )
- ">%)._EffectiveName \\f "%tc4"
- )
- (vlax-3D-point (trans pt 1 0)) (getvar 'TEXTSIZE)
- )
- )
- )
- )
- (princ)
- )
- (vl-load-com) (princ)
|