Sundar 发表于 2022-7-6 22:36:34

在矩形内修剪线

大家好,
我刚刚在这个论坛注册,这是我的第一个帖子。希望我能从各位大师那里得到我想要的。。
我只想在用户选择的边界内修剪多边形线。要在直线和矩形的交点处精确修剪的直线。。。。

Dadgad 发表于 2022-7-6 22:40:44

使用TRIM命令,如下所示。
 
修剪>输入>输入>使用交叉框进行选择(从右侧开始,向左移动)。
 
我不确定您是否想知道如何做到这一点,或正在寻找编码帮助。

Sundar 发表于 2022-7-6 22:44:16

我需要通过VBA编码来实现这一点。应删除选定边界之外的所有线。

Dadgad 发表于 2022-7-6 22:47:58

 
那没关系,因为这是你的第一篇帖子,我想你可能放错论坛了。对不起,我不能帮你学习VBA。

Sundar 发表于 2022-7-6 22:50:28

我想我已经把正确的论坛,因为它在VBA下。如果没有,你能告诉我正确的论坛吗?

Dadgad 发表于 2022-7-6 22:53:10

 
不,你没有犯错误,我犯了。你的帖子就在它应该在的地方。
 
我以前在哪里听说过?

SEANT 发表于 2022-7-6 22:56:25

从编程角度来看,修剪直线/多段线是一项相当复杂的任务。
 
首先必须确定哪些图元与矩形相交(IntersectWith方法)。
 
确定交叉口的数量。如果多段线具有圆弧/凸起,则甚至可能有两个以上的交点。
 
使用该外部点和矩形上的正确交点,重新创建所有不在矩形内的起点或终点的权限。如果存在任何线型问题,起点方向可能至关重要。
 
将原始图元的所有特性传递给这些新的重新创建。
 
删除原始实体。
 
或者,您可以使用TRIM命令,也可以通过此图形使用围栏选项。send命令。
 
然而,另一种选择可能是使用擦除。

SEANT 发表于 2022-7-6 22:59:49

我还应该提到ExpressTool的EXTRIM命令。这就是你描述的过程。

Sundar 发表于 2022-7-6 23:03:20

谢谢SEANT。。当我在谷歌上搜索这个时,我遇到了EXTRIM命令,我做了“thisdrawing.sendcommand(“EXTRIM”)的事情。它工作得很好,但是如果我希望结果在一个单独的层中呢。据我所知,我无法处理修剪过的对象。。。

SEANT 发表于 2022-7-6 23:07:40

如果是这样,那么单独迭代和处理每个实体可能是有益的。不过,由于SendCommand选项的异步特性,该迭代可能会消除它。
 
 
 
在我看来,VBA对于这项任务来说是一个糟糕的编程工具。它没有用于处理AutoCAD所有可用曲线功能的本机API。VBA也是一种不推荐使用的编程语言。因此,即使所有必要的功能都是使用VBA自定义构建的,它对AutoCAD的未来版本也没有用处。
 
 
 
使用托管/非托管ARX(例如VB.NET)或AutoLisp,该项目更加可行。
页: [1] 2
查看完整版本: 在矩形内修剪线