删除图形中指定的東西
本人想删除图中半径为0.01的面域出错(两种方法都不行),请指教法一:
Public Sub mc()
Dim ssetobj1 As AcadSelectionSet, ftyp(1) As Integer, fdat(1) As Variant, selobj As AcadEntity
ThisDrawing.SelectionSets("mc").Delete
Set ssetobj1 = ThisDrawing.SelectionSets.Add("mc")
ftyp(0) = 0: fdat(0) = "*"
ftyp(1) = 40: fdat(1) = 0.01
ssetobj1.Select acSelectionSetAll, , , ftyp, fdat
For I = 0 To ssetobj1.Count - 1
Set selobj = ssetobj1.Item(I)
selobj.Delete
Next
End Sub
法二:
Public Sub mc()
Dim mic As AcadRegion
For Each mic In ThisDrawing.ModelSpace
If mic.Radius = 0.01 Then
mic.Delete
End If
Next
End Sub
ftyp(1) = 40: fdat(1) = 0.01这句话是过滤半径的条件,DXF码40表示半径。。。?
法一中如果把这句过滤条件去掉,选择后再判断半径是不是更妥?在我这,加上这个条件后就选不上面域了
法二中除非你模型空间所有的块都是面域,要不然会报错吧。。。
不知道你要的半径是0.01的面域是什么做成的,要是圆的画为什么不用周长作为检索条件呢?
面域没有半径属性,用面积
周长和面积都是和3.1415926.................................有关系,找不到一样的
删除实体的命令是 .erase 在此先谢谢大家了 你可以判断面积大于0.01 X2X 3.1415926 并且小于 0.01 X 2 X 3.1415927,灵活一下
页:
[1]