[求助]如何使用database的选择集?
<p>operDb = new Database(false, true);//新建操作数据库<br/> if (fileType == "DWG")//分为DWG,DXF分类打开图形数据库<br/> {<br/> operDb.ReadDwgFile(operFilePath, FileOpenMode.OpenForReadAndAllShare, false, "");<br/> }<br/> else<br/> {<br/> operDb.DxfIn(operFilePath, null);<br/> }</p><p>现在想过滤出operDb 中所有的块参照,不知如何过滤出来?</p><p>帮助说Editor acDocEd = Application.DocumentManager.MdiActiveDocument.Editor;</p><p>acSSPrompt = acDocEd.GetSelection(acSelFtr);</p><p>这个Editor属性只有Document才有,不知道怎样获得database的Editor用来过滤?</p> <p>选择集必须是打开的文档才可以用</p><p>滤出operDb 中所有的块参照:</p><p>过滤器:0,“Insert”</p> <p>不会这么差劲吧。必须打开文档才可以用。过滤出某个名称的快参照是</p><p>acTypValAr.SetValue(New TypedValue(DxfCode.Start, "INSERT"), 0)</p><pre class="codeLine">acTypValAr.SetValue(New TypedValue(2, "相应的块名"), 1)</pre><pre class="codeLine">那我还是循环modelspace里的每一个objectID吧,在判断他是否属于blockreference,因为其他功能都是使用database来完成的。</pre> 我还是循环modelspace里的每一个objectID,速度也很快!
页:
[1]