三维线和C中的扫描对象
Greendamo在3D建模论坛上发布了一条题为“扫描并行”的帖子。作为这篇文章的后续,我希望在本节中发布我的autolisp以供审阅,我认为这可能会很有用。
该autolisp将在三维或二维直线和曲线中创建实体/曲面。然而,也有一些限制和需要满足的条件。
有关详细信息,请参阅autolisp中的标题。
autolisp生成以下内容:
SECT3D Autolisp
第3D节。lsp 你好,CW Hew
有趣的工作。我测试了你的代码,它对复杂的锯齿形3D线条效果很好。
在附加文件的前四个部分上使用时,我遇到了某种类型的错误。例行程序在所示点停止。请参阅下面的命令序列。
推测:
假设所有直线都是正交的,则问题可能与AutoCAD的任意轴翻转有关。
Command:
Create Objects in 3D or 2D lines and Arcs-Draft Version. Type:
SECT3D to run.
Copyright(c) Hew Choon Ming at minhew@brunet.bn,
February 2012
Command:
Command: SECT3d
Select Objects for the Sweep:
Select object:
Select Base Point
for Section: mid
of
Pick start Point:
Pick the location of next
vertex:
Radius of bend at vertex or (Hit ENTER to create): 6
Pick the location of next vertex:
Radius of bend at vertex or (Hit
ENTER to create): 6
Pick the location of next vertex:
Radius of bend at vertex or (Hit
ENTER to create): 6
Pick the location of next vertex:
Radius of bend at vertex or (Hit
ENTER to create):
Current positive angle:ANGDIR=counterclockwiseANGBASE=0
Current positive angle:ANGDIR=counterclockwiseANGBASE=0
正交。图纸 嗨,肖特,
谢谢你试用Lisp程序。
问题在于lisp标题中提到的为垂直构件创建实体/曲面的问题。
解释
垂直构件是全方位的,因此存在局限性
lisp中的计算基于使截面垂直于路线并使截面顶部朝上。
因此,您将无法按照您的意愿进行创建。
我有一个lisp,我称之为PIPE3D,用于创建可以通过任何类型对齐的杆或管管道。
对称的圆没有上述约束。我会把它整理好,然后很快把它贴在这个帖子上。 啊,是的,我错过了标题中的评论。我可以同意,垂直线本身并不能提供一个明确的指示器来指示如何定位轮廓。
然而,为了进一步说明,似乎可以从之前和/或后续向量推断出正确的方向。这当然会增加日常工作的复杂性,但考虑到垂直部分确实经常发生,这一努力可能是值得的。 嗨,肖特,
正如您恰当地指出的那样,包含垂直成员的扫描将使lisp更好。
我在起草lisp时研究了这个选项,然后我决定不将其包括在内。
原因是,在某些条件下,垂直构件之间的圆形构件中的变形或扭曲会使扫掠对齐在视觉上出错。
请看随附图片中的插图
红色圆形构件必须扭转180度,以达到Y方向方向轮廓朝上的原始要求,无论我们从前面或后面的向量中获得何种提示
但是,如果仍希望包括垂直杆件,可以使用AutoCAD命令在垂直杆件和扫掠垂直杆件之前手动打断扫掠管路。 我不得不同意,在这种特殊的设置下,这个过程会变得很糟糕。请参阅随附的手册。
考虑到用户通常为需要构建的东西建模,这种情况可能不太可能发生。
在我继续之前,让我声明我理解根据特定需求开发例程的概念。我自己的很多例程只在我个人需要的时候开发,并且有用户界面或其他限制,这会使它们对其他人失去吸引力。
然而,我时不时地会想到一个可能适用于更广泛用户群的想法,这证明需要额外的开发时间。
你在这里发布的例程看起来有更广泛的吸引力。如果解决了垂直扫描问题(至少考虑到我第一个附件中描述的运行),那么我建议将其发布到存储库(即Autodesk Exchange)。
也许,如果用户尝试更模糊的几何图形-正如您在上面发布的那样-那么例程可能会出错,并显示一条解释性消息。
Ugly2.dwg 谢谢你的评论。
当我有时间时,我会研究为垂直构件插入代码。我知道这将是一个挑战,因为有很多相关的条件语句,尤其是在3D中。
同时,请查看随附的PIPE3D。lsp。这是SECT3D的妹妹。lsp,由于圆的对称特性,它更容易编码,其中扭曲不是一个需要考虑的因素。
我使用PIPE3D在您的图形上运行了一个管道,结果如下:
请阅读lisp中的标题了解更多信息。
让我听听你的意见。
谢谢 做得好。
三维多边形、圆角和实体拉伸组合仍然是Autodesk拒绝在AutoCAD中处理的项目。我说“拒绝”是因为它看起来几乎是有目的的。即使AutoCAD 2012的“连接”命令也无法生成可扫描的几何图形(请参见附件)。我想知道即将到来的2013年版本是否提供了其他选择。
我看到了一些外部程序员绕过3DPoly/NoFillet限制的聪明方法。这些方法通常采用某种分段处理或多面圆角。我自己也调查过这个问题。请参阅此帖子(您可能需要注册,但沼泽会员资格非常值得一试):
http://www.theswamp.org/index.php?topic=30499.msg361666
也许这些挥之不去的AutoCAD缺陷是Autodesk让我们在程序员之外工作的方式。
与样条正交。图纸 很高兴知道你喜欢Pipe3d。lsp。如果你有任何其他意见,请告诉我。
我试图在AutoCAD 2011中打开绘图,我的笔记本电脑挂了(两次)。也许你的绘图版本是2012年?
AutoCAD 2012、2011和2010均另存为2010。
对我来说,它在AutoCAD 2011上打开得很好。
页:
[1]
2