在矩形内修剪线
大家好,我刚刚在这个论坛注册,这是我的第一个帖子。希望我能从各位大师那里得到我想要的。。
我只想在用户选择的边界内修剪多边形线。要在直线和矩形的交点处精确修剪的直线。。。。 使用TRIM命令,如下所示。
修剪>输入>输入>使用交叉框进行选择(从右侧开始,向左移动)。
我不确定您是否想知道如何做到这一点,或正在寻找编码帮助。
我需要通过VBA编码来实现这一点。应删除选定边界之外的所有线。
那没关系,因为这是你的第一篇帖子,我想你可能放错论坛了。对不起,我不能帮你学习VBA。 我想我已经把正确的论坛,因为它在VBA下。如果没有,你能告诉我正确的论坛吗?
不,你没有犯错误,我犯了。你的帖子就在它应该在的地方。
我以前在哪里听说过? 从编程角度来看,修剪直线/多段线是一项相当复杂的任务。
首先必须确定哪些图元与矩形相交(IntersectWith方法)。
确定交叉口的数量。如果多段线具有圆弧/凸起,则甚至可能有两个以上的交点。
使用该外部点和矩形上的正确交点,重新创建所有不在矩形内的起点或终点的权限。如果存在任何线型问题,起点方向可能至关重要。
将原始图元的所有特性传递给这些新的重新创建。
删除原始实体。
或者,您可以使用TRIM命令,也可以通过此图形使用围栏选项。send命令。
然而,另一种选择可能是使用擦除。 我还应该提到ExpressTool的EXTRIM命令。这就是你描述的过程。 谢谢SEANT。。当我在谷歌上搜索这个时,我遇到了EXTRIM命令,我做了“thisdrawing.sendcommand(“EXTRIM”)的事情。它工作得很好,但是如果我希望结果在一个单独的层中呢。据我所知,我无法处理修剪过的对象。。。 如果是这样,那么单独迭代和处理每个实体可能是有益的。不过,由于SendCommand选项的异步特性,该迭代可能会消除它。
在我看来,VBA对于这项任务来说是一个糟糕的编程工具。它没有用于处理AutoCAD所有可用曲线功能的本机API。VBA也是一种不推荐使用的编程语言。因此,即使所有必要的功能都是使用VBA自定义构建的,它对AutoCAD的未来版本也没有用处。
使用托管/非托管ARX(例如VB.NET)或AutoLisp,该项目更加可行。
页:
[1]
2