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)
。
我想做的是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)
。