CAD精简多段线顶点、优化、删除多余、重复顶点——CAD c#二次开发
附部分代码如下:
public static void Pl精简(){Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;Editor ed = doc.Editor;var plOrigon = db.SelectCurve("\n选择多段线:");if (plOrigon == null) return;else if (plOrigon is Polyline2d){Polyline pl = new Polyline();var pl2d = plOrigon.Clone() as Polyline2d;if (pl2d.PolyType != Poly2dType.SimplePoly) pl2d.PolyType = Poly2dType.SimplePoly; //将二维多段线转换为简单多段线pl.ConvertFrom(pl2d, false);pl.ColorIndex = 1;var plid = db.AddEntityToModeSpace(pl);var resultId = Simplify(plid, 0.1);//0.01List<ObjectId> 选中亮显s = new List<ObjectId>();if (resultId != null){选中亮显s.Add(resultId); }ed.SetImpliedSelection(选中亮显s.ToArray());db.Erase(pl);}else if (plOrigon is Polyline pl){ObjectId plid = pl.ObjectId;using (var tr = db.TransactionManager.StartTransaction()){ plid = pl.ObjectId; }var resultId = Simplify(plid, 0.1);//0.01List<ObjectId> 选中亮显s = new List<ObjectId>();if (resultId != null){ 选中亮显s.Add(resultId); }ed.SetImpliedSelection(选中亮显s.ToArray());}else{ed.WriteMessage("\n仅支持多段线或二维多段线");return;}}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/214163.html
如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!