怎样实现TEXT与几何图形关联
请问班主,怎样实现那TEXT与图形关联,不是用那字段的功能,主要是标面积和长度<!--++ plugin_code qcomic begin--> <!--++ plugin_code qcomic end--> 使用反应器!(defun c:test (/ *Acad* *AcDocument* *Model-Space* en obj obj1 obj2 hand1 hand2 Height area Len pt pt1)
(defun obj-Change (Object Reactor-Object Parameter-list / area Len data obj1 obj2)
(setq area (strcat"面积:" (rtos (vla-get-area Object) 2))
Len (strcat "长度:" (rtos (vla-get-Length Object) 2))
)
(setq data (vlr-data Reactor-Object))
(setq obj1 (vlax-ename->vla-object(handent (car data)))
obj2 (vlax-ename->vla-object(handent (cadr data)))
)
(vla-put-TextString obj1 area)
(vla-put-TextString obj2 Len)
)
(setq *Acad* (vlax-get-acad-object)
*AcDocument* (vla-get-activedocument *Acad*)
*Model-Space* (vla-get-modelspace *AcDocument*)
)
(princ "\n选择多段线:")
(setq en (car (entsel)))
(setqobj (vlax-ename->vla-object en))
(setq area (rtos (vla-get-area obj) 2)
Len (rtos (vla-get-Length obj) 2)
)
(initget 7)
(setq pt (getpoint "\n选择注记位置:"))
(initget 7)
(setq Height (getreal "\n注记字高:"))
(setq pt1 (polar pt (/ pi 2) (* Height -1.2)))
(setq obj1 (vla-addtext *Model-Space* (strcat "面积:" area)(vlax-3d-point pt)Height))
(setq Hand1 (vla-get-Handle obj1))
(setq obj2 (vla-addtext *Model-Space* (strcat "长度:" Len)(vlax-3d-point pt1)Height))
(setq Hand2 (vla-get-Handle obj2))
(vlr-pers (VLR-Object-Reactor (list obj) (list Hand1 Hand2) '((:VLR-modified . obj-Change))))
(princ)
)
可以用,但是提个想法,关联时能框选多个,字高能记住上次输入的,最好是有默认的高度。面积能设小数位。那面积能根据单位设置,4舍5入。实际面积小数点位置前移6位 <p>只是给你提供个思路,剩下具体细节你可以根据自己需要进行定制啦!主要程序都有了,剩下的就很简单了。。。</p> 不晓得怎样搞,请帮忙搞下行不? <p>对于我们初学者太难了~</p> 能否只标注保留3位小数的面积值啊,并且不需要标注文字“面积”,
页:
[1]