早教吧 育儿知识 作业答案 考试题库 百科 知识分享

如何快速选择与一条多段线相交的线?我想选择出某一图层中与一条多段线相交的多段线或二维多段线,该怎么写选择条件呢?我现在的方法是:Databasedb=HostApplicationServices.WorkingDatabase;Editor

题目详情
如何快速选择与一条多段线相交的线?
我想选择出某一图层中与一条多段线相交的多段线或二维多段线,该怎么写选择条件呢? 我现在的方法是: Database db = HostApplicationServices.WorkingDatabase; Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; TypedValue value1 = new TypedValue((int)DxfCode.Start, "*PolyLine"); TypedValue value2 = new TypedValue((int)DxfCode.LayerName, Layername); TypedValue[] values = { value1, value2 }; SelectionFilter sfilter = new SelectionFilter(values); PromptSelectionResult resSel = ed.SelectAll(sfilter); SelectionSet sSet = resSel.Value; ObjectId[] ids = sSet.GetObjectIds(); Polyline polylineTemp = new Polyline(2); polylineTemp.AddVertexAt(0, p1, 0, 0, 0); polylineTemp.AddVertexAt(1, p2, 0, 0, 0); using (Transaction trans = db.TransactionManager.StartTransaction()) { foreach(ObjectId sSetEntId in ids) { Entity myEntity = (Entity)trans.GetObject(sSetEntId, OpenMode.ForRead); if ((myEntity is Polyline) || (myEntity is Polyline2d)) { //这里做myEntity 与polylineTemp 是否有交点的判断 } } trans.commit(); }
▼优质解答
答案和解析
Database db = HostApplicationServices.WorkingDatabase; Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; Entity entity = null; DBObjectCollection dbCollection = new DBObjectCollection(); TypedValue [] type=new TypedValue[2]; type[0] = new TypedValue((int)DxfCode.Start, "*PolyLine"); type[1] = new TypedValue((int)DxfCode.LayerName, layerName); // 表示得到所有与多边形相交的对象,并且该对象所在layerName层的曲线 PromptSelectionResult ents = ed.SelectFence(pts,filter); //pts要相交的多段线的合 if (ents.Status == PromptStatus.OK) { SelectionSet ss = ents.Value; using (Transaction tran = db.TransactionManager.StartOpenCloseTransaction()) { foreach (ObjectId id in ss.GetObjectIds()) { entity = tran.GetObject(id, OpenMode.ForWrite, true) as Entity; if (entity != null) { dbCollection.Add(entity); //得到的对象放入集合中 } tran.Commit(); } } }希望能帮到你. 查看原帖>>
看了 如何快速选择与一条多段线相交...的网友还看了以下:

秦岭淮河一线,大致与我国多少毫米的年降水量和一月平均气温多少度的等温线相吻合()A.800毫米和0  2020-05-13 …

英语翻译西方进餐的习惯与我们多有不同,特别是正式的西餐宴会,规矩颇多.参加西餐宴会时应注意下列事项  2020-05-16 …

我国季风区与非季风区的界限大致与我国多少毫米年降水量线基本吻合()A.200毫米B.400毫米C.  2020-07-15 …

英语翻译工厂对于每个产品的MOQ(最少订购量)为60000pcs,鉴于贵司与我司多年的良好合作,我  2020-07-30 …

秦岭—淮河一线,大致与我国多少毫米的年降水量线与一月平均气温多少度的等温线相吻合()A.800毫米年  2020-11-02 …

秦岭-淮河一线,大致与我国多少毫米的年降水量线与一月平均气温多少度的等温线相吻合()A.800毫米年  2020-11-02 …

秦岭-淮河一线,大致与我国多少毫米的年降水量线与一月平均气温多少度的等温线相吻合()A.800毫米年  2020-11-02 …

带有华丽辞藻的感谢信我要给我的销售部门经理写的他对我十分照顾我而且给与我许多帮助请给我一篇范文但是要  2020-11-21 …

帮我看看这段英文有什么错误吧原文:x和她的朋友看起来都非常开心在校友会上.我很羡慕他们,同时也怀念自  2020-11-30 …

秦岭-淮河一线,大致与我国多少毫米的年降水量线与一月平均气温多少度的等温线相吻合()A.800毫米年  2020-12-05 …