明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2467|回复: 6

怎样实现TEXT与几何图形关联

[复制链接]
发表于 2010-7-18 20:44:00 | 显示全部楼层 |阅读模式
请问班主,怎样实现那TEXT与图形关联,不是用那字段的功能,主要是标面积和长度
发表于 2010-7-22 12:33:00 | 显示全部楼层
使用反应器!
  1. (defun c:test (/ *Acad* *AcDocument* *Model-Space* en obj obj1 obj2 hand1 hand2 Height area Len pt pt1)
  2.   (defun obj-Change (Object Reactor-Object Parameter-list / area Len data obj1 obj2)
  3.     (setq area (strcat  "面积:" (rtos (vla-get-area Object) 2))
  4. Len (strcat "长度:" (rtos (vla-get-Length Object) 2))
  5. )
  6.     (setq data (vlr-data Reactor-Object))
  7.     (setq obj1 (vlax-ename->vla-object(handent (car data)))
  8.    obj2 (vlax-ename->vla-object(handent (cadr data)))
  9.    )
  10.     (vla-put-TextString obj1 area)
  11.     (vla-put-TextString obj2 Len)
  12.     )
  13.   (setq *Acad*    (vlax-get-acad-object)
  14.       *AcDocument* (vla-get-activedocument *Acad*)
  15.       *Model-Space* (vla-get-modelspace *AcDocument*)
  16. )
  17.   (princ "\n选择多段线:")
  18.   (setq en (car (entsel)))
  19.   (setq  obj (vlax-ename->vla-object en))
  20.   (setq area (rtos (vla-get-area obj) 2)
  21. Len (rtos (vla-get-Length obj) 2)
  22. )
  23.   (initget 7)
  24.   (setq pt (getpoint "\n选择注记位置:"))
  25.   (initget 7)
  26.   (setq Height (getreal "\n注记字高:"))
  27.   (setq pt1 (polar pt (/ pi 2) (* Height -1.2)))
  28.   (setq obj1 (vla-addtext *Model-Space* (strcat "面积:" area)  (vlax-3d-point pt)  Height))
  29.   (setq Hand1 (vla-get-Handle obj1))
  30.   (setq obj2 (vla-addtext *Model-Space* (strcat "长度:" Len)  (vlax-3d-point pt1)  Height))
  31.   (setq Hand2 (vla-get-Handle obj2))
  32.   (vlr-pers (VLR-Object-Reactor (list obj) (list Hand1 Hand2) '((:VLR-modified . obj-Change))))
  33.   (princ)
  34.   )

 楼主| 发表于 2010-7-22 17:08:00 | 显示全部楼层
可以用,但是提个想法,关联时能框选多个,字高能记住上次输入的,最好是有默认的高度。面积能设小数位。那面积能根据单位设置,4舍5入。实际面积小数点位置前移6位
发表于 2010-7-22 18:26:00 | 显示全部楼层

只是给你提供个思路,剩下具体细节你可以根据自己需要进行定制啦!主要程序都有了,剩下的就很简单了。。。

 楼主| 发表于 2010-7-22 19:45:00 | 显示全部楼层
不晓得怎样搞,请帮忙搞下行不?
发表于 2010-8-15 11:00:00 | 显示全部楼层

对于我们初学者太难了~

发表于 2010-9-29 16:23:00 | 显示全部楼层
能否只标注保留3位小数的面积值啊,并且不需要标注文字“面积”,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-27 17:26 , Processed in 0.179860 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表