明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1274|回复: 5

region如何转化为polyline

[复制链接]
发表于 2015-5-28 10:17:53 | 显示全部楼层 |阅读模式
region里面有多个独立封闭小区域,如何转化为polyline?

大侠们,如何实现?
给个思路和关键代码


发表于 2015-5-28 10:50:08 | 显示全部楼层
Cad2008以上,引用Brep库
以下只能炸开,然后自己写程序合并线段?
 楼主| 发表于 2015-5-28 10:57:33 | 显示全部楼层
Brep库没有用过 该如何使用啊?
给段简单代码可以吗?
发表于 2015-5-28 11:35:20 | 显示全部楼层
writeby xdcad csharp
  1.         [CommandMethod("Test13")]
  2.         public void Test13()
  3.         {
  4.             Document doc = Application.DocumentManager.MdiActiveDocument;
  5.             Editor ed = doc.Editor;
  6.             Database database = doc.Database;

  7.             PromptEntityOptions peo = new PromptEntityOptions("\nSelect Region");
  8.             peo.SetRejectMessage("\nOnly Region");
  9.             peo.AddAllowedClass(typeof(Region), true);

  10.             PromptEntityResult per = ed.GetEntity(peo);

  11.             if (per.Status != PromptStatus.OK) return;

  12.             using (Transaction tr = database.TransactionManager.StartTransaction())
  13.             {
  14.                 ObjectId id = per.ObjectId;
  15.                 Entity ent = (Entity)id.GetObject(OpenMode.ForRead);
  16.                 Brep brep = new Brep(ent);
  17.                 BrepEdgeCollection elp = brep.Edges;
  18.                 BlockTableRecord btr = (BlockTableRecord) tr.GetObject(database.CurrentSpaceId, OpenMode.ForWrite);
  19.                 int i = 1;
  20.                 foreach (Edge edge in elp)
  21.                 {
  22.                     NurbCurve3d c3d = edge.GetCurveAsNurb();
  23.                     Curve cv = Curve.CreateFromGeCurve(c3d);
  24.                     cv.ColorIndex = i;
  25.                     btr.AppendEntity(cv);
  26.                     tr.AddNewlyCreatedDBObject(cv, true);
  27.                     i++;
  28.                 }
  29.                 tr.Commit();
  30.             }
  31.         }
 楼主| 发表于 2015-5-28 11:55:13 | 显示全部楼层
谢谢大师,我用region先做切割运算 后把结果分解成polyline
 楼主| 发表于 2015-5-28 13:52:44 | 显示全部楼层
Brep 和BrepEdgeCollection 在哪个类库里面,我找了半天没有找到
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 11:59 , Processed in 0.186547 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表