huangbinlq 发表于 2007-8-17 18:17:00

请版主大人亲自指导用vc如何对autocad作过滤选择

我用vc操作的类型库,本来是正常的函数却得不到预期的结果,比如下面一段关于过滤选择的代码,在vba中完全没问题:
Sub DeleteBlock()
    Dim ObjBlockRef As AcadBlockReference
    Dim FilterType(0) As Integer, FilterData(0) As Variant
    Dim sset As AcadSelectionSet
   
    '选中名为"椅子"的块参照并删除
    Set sset = ThisDrawing.SelectionSets.Add("test")
    FilterType(0) = 2
    FilterData(0) = "椅子"
    sset.Select acSelectionSetAll, , , FilterType, FilterData
    For Each ObjBlockRef In sset
      ObjBlockRef.Delete
    Next
    sset.Delete
   
    '删除块定义
    ThisDrawing.Blocks.Item("椅子").Delete
End Sub
上面的代码将名为"椅子"的块参照全部选择和删除了,但是我在vc中用同样的selcet函数,而且使用同样的参数,执行后却将文件中所有的对象全部删除了,也就是说,没有起到过滤的作用,我请教了不少vba高手朋友,都没能解决这个问题,只好恭请版主大人出面指导了!

huangbinlq 发表于 2007-8-19 13:25:00

连管理员也不知道吗
页: [1]
查看完整版本: 请版主大人亲自指导用vc如何对autocad作过滤选择