明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6361|回复: 15

(grread)拖动多义线顶点动态显示面积

  [复制链接]
发表于 2011-12-9 13:43:06 | 显示全部楼层 |阅读模式


  1. (defun c:KK ()
  2. (setq loop T)
  3. (setvar "osmode" 37)
  4. (setq p0 (getpoint "pick point:"))
  5. (setq e (ssget "c" (polar p0 (/ pi 4) 0.001)
  6. (polar p0 (* 1.25 pi) 0.001)))
  7. (setq ent (ssname e 0))
  8. (setq obj (vlax-ename->vla-object ent)
  9. pp (vlax-curve-getclosestpointto obj (trans p0 1 0))
  10. n (fix (vlax-curve-getparamatpoint obj pp)))
  11. (setq pts (variant-value (vla-get-coordinates obj)))
  12. (while loop
  13. (setq p (grread T))
  14. (setq k (car p)
  15. p (cadr p))
  16. (if (= k 3)(setq loop nil))
  17. (vlax-safearray-put-element pts (* n 2) (car p))
  18. (vlax-safearray-put-element pts (1+ (* n 2))(cadr p))
  19. (vla-put-coordinates obj pts)
  20. (princ "\n")
  21. (princ (vlax-curve-getarea obj))
  22. )
  23. )







该贴已经同步到 【KAIXIN】的微博

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2025-2-23 00:19:21 | 显示全部楼层
非常好,感谢大大无私分享
回复 支持 反对

使用道具 举报

发表于 2019-11-23 21:23:15 | 显示全部楼层
好东西,看看学学
发表于 2011-12-10 15:23:36 | 显示全部楼层
程序不错,因工作需要能否加个通过输入固定面积的数值,点击某个点后,程序能自动计算使该点沿指定方向移动一定距离,使得面积刚好为输入的面积数据。谢谢。
发表于 2011-12-10 16:42:03 | 显示全部楼层
zbwei120 发表于 2011-12-10 15:23
程序不错,因工作需要能否加个通过输入固定面积的数值,点击某个点后,程序能自动计算使该点沿指定方向移动 ...

楼主的程序仅仅是演示动态。如果要按你的要求,没必要动态。
发表于 2011-12-10 17:03:55 | 显示全部楼层
那倒是,楼上能否帮个忙?谢谢。
发表于 2011-12-12 10:19:35 | 显示全部楼层
真是厉害啊
发表于 2011-12-12 11:21:57 | 显示全部楼层
本帖最后由 byghbcx 于 2011-12-12 11:34 编辑

17.(vlax-safearray-put-element pts  (car p))
18.(vlax-safearray-put-element pts (1+ (* n 2))(cadr p))
程序有问题,没有针对二维多段线
(cond ((= (vla-get-objectname obj) "AcDbPolyline")
         (vlax-safearray-put-element pts (* n 2) (car p))
         (vlax-safearray-put-element pts (1+ (* n 2))(cadr p)))
((= (vla-get-objectname obj) "AcDb2dPolyline")
         (vlax-safearray-put-element pts (* n 3) (car p))
         (vlax-safearray-put-element pts (1+ (* n 3))(cadr p)))
)
 楼主| 发表于 2011-12-12 11:32:13 | 显示全部楼层
byghbcx 发表于 2011-12-12 11:21
17.(vlax-safearray-put-element pts  (car p))
18.(vlax-safearray-put-element pts (1+ (* n 2))(cadr  ...

2006测试通过,GIF图片就是演习,不过谢谢朋友的提醒,我看看
发表于 2012-7-26 11:00:43 | 显示全部楼层
面积值显示在屏幕上就好了
发表于 2012-9-15 14:21:09 | 显示全部楼层
可以实现面积直接显示在屏幕上吗?

点评

怎么个显示法?写入?  发表于 2012-9-15 14:43
发表于 2012-9-15 15:04:34 | 显示全部楼层
wgl4810 发表于 2012-9-15 14:21
可以实现面积直接显示在屏幕上吗?

动态显示在拖动点的边上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-12 09:03 , Processed in 0.216343 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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