在 AutoCAD 中删除闭合多段线

问题描述 投票:0回答:1

我正在尝试删除特定图层中所有未闭合的线。 但我的代码不起作用。

我在

 If LWobj.Closed = False And LWobj.Layer = "0_String" Then

收到错误类型错误

图层“0_String”存在于绘图中并且正确导出LWobj关闭状态。

Sub clean()

Dim LWobj As AcadLWPolyline

For Each LWobj In ThisDrawing.ModelSpace
    If LWobj.Closed = False And LWobj.Layer = "0_String" Then
        LWobj.Delete
        ThisDrawing.Regen acActiveViewport
    End If
Next

End Sub
vba autocad
1个回答
0
投票

问题是您已将

LWobj
定义为
AcadLWPolyline
,但并非模型空间容器中的所有对象都是
AcadLWPolyline
类型。

相反,您应该使用选择集过滤器来获取一组仅 LWPolyline 对象,或者将

LWobj
定义为
AcadEntity
,然后检查对象类型以及其他条件。

© www.soinside.com 2019 - 2024. All rights reserved.