请问如何删除图层中的所有实体?
例如当前图层中有直线,圆、多段线等,该如何将所有的都删除?不需要用户交互? 回复 chpmould 的帖子你把GetSelection()方法传递一个过滤器啊 以前用LISP的时候,我是先获取实体的图层进行判断再删除,至于C#我也想学习一下,希望高手写个事例作为练习... 回复 chpmould 的帖子
已搞定,主要是我被C#给影响了,C#中foreach是不能修改被遍历的对象的,但是这里居然可以!下面是代码:
public void test()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
ed.CurrentUserCoordinateSystem = Matrix3d.Identity;
Transaction trans = db.TransactionManager.StartTransaction();
PromptSelectionResult psr = ed.SelectAll();
SelectionSet ss = psr.Value;
foreach (SelectedObject so in ss)
{
Entity ent = trans.GetObject(so.ObjectId, OpenMode.ForWrite) as Entity;
ent.Erase(true);
}
trans.Commit();
trans.Dispose();
} 这是删除所有对象啊...
如何实现删除选择实体进行图层过滤的对象...比喻只删除选择中的TXT层 增加过滤器selectfilter foreach是不能给被遍历的对象赋值,而不是不能修改
你这里涉及的也没有对被遍历的对象即Id,而是Id对应的Entity 如果不用选择过滤器, 能否按选则对象进行遍历的对象Id获取啊...
页:
[1]