你的帖子已经发了好长时间了,相信你问题也已经解决了。但是还是忍不住要回复一下。 由于本人也是刚刚学到的,就现学现买了 嘿嘿。 想要找到Block的块,不必要每个图元都要循环。使用CAD的过滤器就可以搞定的。 给你一段代码,这个代码可以将所有的Block和Text全部提出来。然后你再循环就快很多喽。 filename:=RzListView1.Items.Caption; ACadApp.Documents.Open(filename,emptyparam,emptyparam); CadDoc:=ACadApp.ActiveDocument; CadSs:=CadDoc.SelectionSets.Add('s1'); fltrType:=VarArrayCreate([0,0], varSmallint); //2 fltrData:=VarArrayCreate([0,0], Varvariant); fltrType[0]:=100; //fltrType[1]:=1; fltrData[0]:='AcDbMText,AcadBlockReference'; //fltrData[1]:='*'; CadSs.Select(5,emptyparam,emptyparam,fltrType,fltrData); |