Trim VLA-OBJECTS 不选择任何内容自动圈外

Trim VLA-OBJECTS Outside Circles automatically without selecting anything

我想做的是trim一些保存为VLA-OBJECTS的折线,转换成Entities没有问题,但是我想要的图形是trim 我的图片是这样的:

正如您所看到的,我想要 trim 角落上红色圆圈外的所有蓝线,并且我想要自动完成而不选择任何东西。为此,我将圆存储为 VLA-OBJECT,蓝色折线为独立的 VLA-OBJECTS,圆心,实际上第一张图像上的所有内容都存储为 [=14] =].所以我想知道您是否可以建议任何 lisp 例程自动执行此操作?我正在考虑使用 Break 命令或 Extend 命令,但我找不到真正的解决方案。提前谢谢了。

我没有足够的时间准备工作示例代码,但我可以为您指明方向。我会尝试这样做:

您可以找到圆和线的交点。

( vlax-invoke-method circle 'IntersectWith BlueLine acExtendNone )

以此打破每条蓝线

(foreach line BlueLines 
    (command "_break" line pt pt ) ; where pt is point returned by IntersectWith 
)

最后一步是检查 _break 创建的所有实体是否在圈内或圈外。

您无法轻松访问 _break 创建的实体。要获得它们,您可以在命令 _break 之前使用 (entlast)。然后 (entnext)