我正在尝试删除特定图层中所有未闭合的线。 但我的代码不起作用。
我在
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
问题是您已将
LWobj
定义为 AcadLWPolyline
,但并非模型空间容器中的所有对象都是 AcadLWPolyline
类型。
相反,您应该使用选择集过滤器来获取一组仅 LWPolyline 对象,或者将
LWobj
定义为 AcadEntity
,然后检查对象类型以及其他条件。