Bernie 发表于 2022-7-6 08:17:22

如何获得SWE的长度

我创建了许多具有圆形和单线路径的简单扫描对象。稍后,我想计算所有这些“管道”并列出它们的长度。
但我不知道如何在Lisp中的变量中获得“扫描长度:128.98”信息(如list命令中所示)。
有人能帮我一下,告诉我为了得到这个扫描长度,我必须包含哪些[视觉]Lisp函数吗?
 
我知道挤出和高度也足够了,但我也不知道如何获得这些信息。然而,在这种情况下,我不使用挤出。

nestly 发表于 2022-7-6 08:29:32

我将扫描路径保留在“中心线”层上,并使用tlen。lsp测量管路。你留着路吗?

Bernie 发表于 2022-7-6 08:34:49

谢谢Nestly,我知道如何获得线条的长度。这可能是一种选择,但并非“傻瓜式”,因为可以(手动)更改扫描长度,但忘记更改“中心线”即路径。我需要一份可靠的管道清单。因此,我的问题就是这样。
在直线对象中,您可以简单地通过(距离“p10”“p11”)确定长度,但获得扫描对象的长度有什么技巧?

SEANT 发表于 2022-7-6 08:38:54

Autodesk尚未将3dSolid属性直接公开给其中一个与Lisp兼容的API。
 
是否有任何关于轮廓的前期知识,即长度是否可以通过将体积除以轮廓面积来找到?如果实体(直线或曲线)仍作为扫掠存在,则这可能适用于实体。如果实体经历了布尔运算,则该过程将更加困难。
 
此处讨论了类似主题(最初与VBA相关,但适用于VisualLisp):
http://www.cadtutor.net/forum/showthread.php?37494
 
ObjectARX可以使用更多3DSolid特性。如果上面描述的技术不符合任务要求,也许您可以测试此处发布的代码(可能需要注册才能查看页面)。
http://www.theswamp.org/index.php?topic=39278.msg445148

Bernie 发表于 2022-7-6 08:50:39

谢谢你,肖特,
很抱歉,我对VBA几乎一无所知,阅读代码对解决这个问题没有多大帮助。
沼泽链接很有用,(我现在是一只蚊子),链接中提供的程序看起来很好,但没有在Autocad中加载,我回答[在沼泽]看看可能是什么情况。
所以我仍然坚持我的问题。

SEANT 发表于 2022-7-6 08:51:28

我的建议可能太唐突了;我假设的设置比预期的更随意。
 
 
 
发布一些示例几何体。这应该更清楚地说明这个问题,也许可以简化解决方案。

Bernie 发表于 2022-7-6 08:59:57

使用扫描对象采样。图纸
这是图纸的一小部分。我需要计算不同的扫描集和块,并将它们放在一个列表中,一个表中。对于块,这没有问题,但我希望以相同的方式呈现管道(扫描)。直径和长度。
 
现在,我开始了一种不同的方法,正如我昨天了解到的那样,Autodesk可能会慎重地“阻止”信息检索。
所以我每次扫描,开始一个撤销组,分解扫描,直到我有两个面对的圆,从这些得到距离和半径,撤销1,我得到了我的信息,而绘图是不变的。
这不是一个整洁的方式,但它有点有效。
然而,我更喜欢找到一个更好的方法,是这种问题更经常出现,我以前从来没有找到一个出路。(我缺乏知识)

SEANT 发表于 2022-7-6 09:07:59

 
最近对ARX API的API增强平息了这种怀疑。
 
 
 
 
层WL5421上的每个扫描是否使用相同的6.35外径?

Bernie 发表于 2022-7-6 09:15:44

 
没有,有一个尺寸清单,我匹配的直径。。。(构件e2_直径(列表6.35 9.53 12.7 19.05 25.4 38.1 50.8 63.5 76.2 101.6))这些是英寸的毫米转换。从1/4“到4”。
有很多很多层。。。但那是
但刚才我注意到“沼泽”示例中的“gc-brep”函数起作用了,我需要解锁dll,他们(Gile)告诉我。
我会去看看这个“gc brep”能为我做些什么。我会发布结果。

SLW210 发表于 2022-7-6 09:22:21

线程移动到AutoLISP、Visual LISP和DCL论坛。
页: [1]
查看完整版本: 如何获得SWE的长度