求助,求内部带孔不规则封闭图形的质心
如何点选不规则封闭图形(内部有孔)内部(不在内部孔上)取得质心,并在质心标注出来,vla-get-centroid求带孔不规则封闭图形结果不对 楼主怎么知道是错的呢?我试了一下,应该是对的。 (setq pt (getpoint
"\n选择内部点(不能选择在内部孔上)<右键退出> : "
)
)
(command "-boundary" "a" "o" "r" "" pt "")
(setq newentlast (entlast))
(setq ptzx (vlax-safearray->list
(vlax-variant-value
(vla-get-centroid
(vlax-ename->vla-object newentlast)
)
)
;)
) ;_取得质心
对带孔的ptzx不对 (setq pt (getpoint
"\n选择内部点(不能选择在内部孔上)<右键退出> : "
)
)
(command "-boundary" "a" "o" "r" "" pt "")
(setq newentlast (entlast))
(setq ptzx (vlax-safearray->list
(vlax-variant-value
(vla-get-centroid
(vlax-ename->vla-object newentlast)
)
)
)
) ;_取得质心
对带孔的ptzx不对 原因是_boundary命令不能像_bhatch命令把内部孔去除 (setq newentlast (entlast))取得的面域对象是外部不规则封闭图形和内部孔生成的面域中的一个,不是想要的外部不规则封闭图形生成的面域减去内部孔生成的面域差。
vla-get-centroid本身没错 rln007 发表于 2013-9-7 19:37 static/image/common/back.gif
(setq newentlast (entlast))取得的面域对象是外部不规则封闭图形和内部孔生成的面域中的一个,不是想要的外 ...
这个你可以先用差集 多个内部孔不怎么好处理 不用选择集,如何获取_boundary生成的面域差集,只想多边形内部点选一下,如何实现?
页:
[1]
2