马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
字段是在DWG生命期中,可以随着DWG保存,可以附着对象,跟随对象某个属性动态变化的”文本“。
下面代码是把一个多边形的面积用字段标注,以后随着多边形的面积变化,可以更新面积值。
 - (defun c:somefunc (/ mtobject prec)
- (if (null *somefuncmtprec*)
- (setq *somefuncmtprec* 2)
- )
- (initget 4)
- (setq prec (getint (strcat "\nEnter mText decimal Precision <"
- (itoa *somefuncmtprec*)
- ">: "
- )
- )
- mtobject (vla-addmtext
- (vla-get-modelspace
- (vla-get-activedocument (vlax-get-acad-object))
- )
- (vlax-3d-point
- (trans (getpoint "\nInsert mText Insertion Point :")
- 1
- 0
- )
- )
- 0
- (strcat "%<\\AcObjProp Object(%<\\_ObjId "
- (itoa (vla-get-objectid
- (vlax-ename->vla-object
- (car (entsel "\nSelect Polyline: "))
- )
- )
- )
- ">%).Area \\f \"%lu2%pr"
- (if (> prec 8)
- (progn (setq *somefuncmtprec* 8) "8")
- (if (null prec)
- (itoa *somefuncmtprec*)
- (progn (setq *somefuncmtprec* prec)
- (itoa *somefuncmtprec*)
- )
- )
- )
- "%th44\">%"
- " m{\\H0.7x;\\S2^;}"
- )
- )
- )
- (vla-put-height mtobject (getvar 'textsize))
- (mapcar '(lambda (x y) (setpropertyvalue (entlast) x y))
- '("Direction/X" "Direction/Y")
- (list (car (getvar 'ucsxdir)) (cadr (getvar 'ucsxdir)))
- )
- (princ)
- )
|