可能只有版主才能解决的问题
<p>我用vc操作autocad的类型库,本来是正常的函数却得不到预期的结果,比如下面一段关于过滤选择的代码,在vba中完全没问题:</p><p>Sub DeleteBlock()<br/> Dim ObjBlockRef As AcadBlockReference<br/> Dim FilterType(0) As Integer, FilterData(0) As Variant<br/> Dim sset As AcadSelectionSet<br/> <br/> '选中名为"椅子"的块参照并删除<br/> Set sset = ThisDrawing.SelectionSets.Add("test")<br/> FilterType(0) = 2<br/> FilterData(0) = "椅子"<br/> sset.Select acSelectionSetAll, , , FilterType, FilterData<br/> For Each ObjBlockRef In sset<br/> ObjBlockRef.Delete<br/> Next<br/> sset.Delete<br/> <br/> '删除块定义<br/> ThisDrawing.Blocks.Item("椅子").Delete<br/>End Sub</p><p>上面的代码将名为"椅子"的块参照全部选择和删除了,但是我在vc中用同样的selcet函数,而且使用同样的参数,执行后却将文件中所有的对象全部删除了,也就是说,没有起到过滤的作用,我请教了不少vba高手朋友,都没能解决这个问题,只好到这个非vba的版块中来请教vc高手:如何用vc操作autocad类型库,让选择具有过滤功能,请知道的朋友不吝赐教,尤其请版主大人亲自指导!</p> <p>连管理员也不知道吗</p> 概然是VC,为何不用AcedSsGget函数?
页:
[1]