单一求面域形心,,并做标志
<p>第一次发这样的贴,还望支持。</p><p>由于是第一次做,所对步骤比较烦琐,但是方式监视参数。呵呵。</p><p>(defun C:qxx()<br/> (setq en (entsel)) <br/> (setq tma (car en))<br/> (setq tmb (vlax-ename->vla-object tma))<br/> (setq tmc (vla-get-centroid tmb))<br/> (setq tmd (vlax-variant-value tmc))<br/> (setq tme (vlax-safearray->list tmd))<br/> (command "point" tme)<br/> (princ "\n形心坐标为:")(princ tme))</p> 假如需要批量,在前面写个循环,对于每一个多段线,进行后续操作,应该可以吗? 真好用,謝謝! 出错,用不成 真不错,好用,谢谢 不会lisp跟少了根腿似的 出错,“选择对象: Error: ActiveX 服务器返回错误: 未知名称: Centroid” 改为如下:(defun C:qxx()(vl-load-com)
(while (setq en (entsel))
(setq tma (car en))
(setq tmb (vlax-ename->vla-object tma))
(if (vlax-property-available-p tmb 'centroid)
(progn
(setq tmc (vla-get-centroid tmb))
(setq tmd (vlax-variant-value tmc))
(setq tme (vlax-safearray->list tmd))
(command "point" tme)
(princ "\n形心坐标为:")(princ tme)
)
(princ "\n所选图元没有形心属性!")
)
)
(princ)
)
修改后,非常好用!能否把质心标志用十字交叉线标在图形上,谢谢 十字交叉线?变一下点样式就行了!
在(vl-load-com)这一行后面加一句(setvar "pdmode" 3)就行了! 惭愧,谢谢! 能求多个多边形,共同的形心吗
页:
[1]
2