reecho 发表于 2009-4-13 19:47:00

[求助]AcadSelectionSet如何使用?

<p>代码如下:</p><p>private AcadApplication a;//声明AutoCAD对象</p><p>&nbsp;a = new AcadApplicationClass();//创建AutoCAD对象</p><p>&nbsp; short[] filterType=new short;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; object&nbsp; [] filterData = new object;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filterType=0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filterData="circle";<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filterType = 8;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filterData = "layer1";<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AutoCAD.AcadSelectionSet set = a.ActiveDocument.SelectionSets.Add("test");//执行这句后,跟踪set的count是0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set.Select(AcSelect.acSelectionSetAll, null, null, filterType, filterType);//执行这句后,提示对com的调用返回HRESULT-FAIL<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set.Highlight(true);//高亮显示<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception ex)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessageBox.Show(ex.Message);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;</p><p>请问这个方法该如何调用,是程序哪里出了问题?我使用的是cad2004,.net2005,arxforcad2004.请各位多多指教!谢谢!</p>

松竹 发表于 2009-4-13 21:31:00

<p>出错在这句:AutoCAD.AcadSelectionSet set = a.ActiveDocument.SelectionSets.Add("test");</p><p>“test”是不能加入到选择集中的,选择集中存储的应该是对象句柄之类的东西,而不是一个任意的字符串。<br/></p>

reecho 发表于 2009-4-14 12:23:00

<p>谢谢!请问应该加什么才对呢?我试了一些方法都不行。</p>

reecho 发表于 2009-4-14 23:29:00

<p>已经可以了,set的数目是为1了。</p><p>不过始终选择不到图层layer1里的圆,返回的选择count总是0.</p>
页: [1]
查看完整版本: [求助]AcadSelectionSet如何使用?