【KAIXIN】 发表于 2011-12-9 13:43:06

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



(defun c:KK ()
(setq loop T)
(setvar "osmode" 37)
(setq p0 (getpoint "pick point:"))
(setq e (ssget "c" (polar p0 (/ pi 4) 0.001)
(polar p0 (* 1.25 pi) 0.001)))
(setq ent (ssname e 0))
(setq obj (vlax-ename->vla-object ent)
pp (vlax-curve-getclosestpointto obj (trans p0 1 0))
n (fix (vlax-curve-getparamatpoint obj pp)))
(setq pts (variant-value (vla-get-coordinates obj)))
(while loop
(setq p (grread T))
(setq k (car p)
p (cadr p))
(if (= k 3)(setq loop nil))
(vlax-safearray-put-element pts (* n 2) (car p))
(vlax-safearray-put-element pts (1+ (* n 2))(cadr p))
(vla-put-coordinates obj pts)
(princ "\n")
(princ (vlax-curve-getarea obj))
)
)






http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 【KAIXIN】的微博

xxxooo 发表于 2025-2-23 00:19:21

非常好,感谢大大无私分享

tianbeiyuan 发表于 2019-11-23 21:23:15

好东西,看看学学

zbwei120 发表于 2011-12-10 15:23:36

程序不错,因工作需要能否加个通过输入固定面积的数值,点击某个点后,程序能自动计算使该点沿指定方向移动一定距离,使得面积刚好为输入的面积数据。谢谢。

cabinsummer 发表于 2011-12-10 16:42:03

zbwei120 发表于 2011-12-10 15:23 static/image/common/back.gif
程序不错,因工作需要能否加个通过输入固定面积的数值,点击某个点后,程序能自动计算使该点沿指定方向移动 ...

楼主的程序仅仅是演示动态。如果要按你的要求,没必要动态。

zbwei120 发表于 2011-12-10 17:03:55

那倒是,楼上能否帮个忙?谢谢。

梦与现实交替 发表于 2011-12-12 10:19:35

真是厉害啊

byghbcx 发表于 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)))
)

【KAIXIN】 发表于 2011-12-12 11:32:13

byghbcx 发表于 2011-12-12 11:21 static/image/common/back.gif
17.(vlax-safearray-put-element pts(car p))
18.(vlax-safearray-put-element pts (1+ (* n 2))(cadr...

2006测试通过,GIF图片就是演习,不过谢谢朋友的提醒,我看看

jack093 发表于 2012-7-26 11:00:43

面积值显示在屏幕上就好了

wgl4810 发表于 2012-9-15 14:21:09

可以实现面积直接显示在屏幕上吗?

wgl4810 发表于 2012-9-15 15:04:34

wgl4810 发表于 2012-9-15 14:21 static/image/common/back.gif
可以实现面积直接显示在屏幕上吗?

动态显示在拖动点的边上。
页: [1] 2
查看完整版本: (grread)拖动多义线顶点动态显示面积