Nick_101 发表于 2022-7-6 15:17:10

再试一次!

这是我的lisp文件和绘图文件。任何一个想看看它们的人都会发现,当例程无法创建区域时,它就会停止,所以任何克服这一点的帮助都会非常好。
 
谢谢大家!
地区。拉链

ASMI 发表于 2022-7-6 15:58:14

你好
 
我建议您不要使用该区域来计算质心。一般来说,要遵循黄金法则——你使用的函数越少越好。可以使用GetBoundingBox方法获取多段线边界的左下角和右上角连接。在命令行中尝试:
 
Command: (setq cPl(vlax-ename->vla-object(car(entsel))))

Select object: #<VLA-OBJECT IAcadLWPolyline 094731c4>

Command: (vla-GetBoundingBox cPl 'blPt 'trPt)
nil

Command: (setq lPt(vlax-safearray->list blPt))
(64537.3 -10895.7 0.0)

Command: (setq tPt(vlax-safearray->list trPt))
(70109.8 -6366.18 0.0)
 
现在可以轻松计算边界框的中心。
 
还可以提取多段线顶点并计算实际重心(质心)。
 
祝你好运

Nick_101 发表于 2022-7-6 16:37:41

嗨,阿斯米,
 
非常感谢你的建议,我一定会试试看,让你知道我是怎么做的!
 
祝你一切顺利
页: [1]
查看完整版本: 再试一次!