C#CAD二次开发图案填充对象边界提取
2016-11-01 09:07
501 查看
/// 填充边界提取转化方法 /// </summary> /// <param name="hat">需要转化的Hatch对象</param> /// <param name="trans">声明的事务对象</param> /// <param name="btr">数据库中的模型空间</param> /// <param name="numSample">提取单位曲线中样本点的数目</param> public static void DrawBorder(Hatch hat, Transaction trans, BlockTableRecord btr, int numSample) { //取得边界数 int loopNum = hat.NumberOfLoops; Point2dCollection col_point2d = new Point2dCollection(); BulgeVertexCollection col_ver = new BulgeVertexCollection(); Curve2dCollection col_cur2d = new Curve2dCollection(); for (int i = 0; i < loopNum; i++) { col_point2d.Clear(); HatchLoop hatLoop = null; try { hatLoop = hat.GetLoopAt(i); } catch (System.Exception) { continue; } //如果HatchLoop为PolyLine if (hatLoop.IsPolyline) { col_ver = hatLoop.Polyline; foreach (BulgeVertex vertex in col_ver) { col_point2d.Add(vertex.Vertex); } } //如果HatchLoop为Curves else { col_cur2d = hatLoop.Curves; foreach (Curve2d item in col_cur2d) { Point2d[] M_point2d = item.GetSamplePoints(numSample); foreach (Point2d point in M_point2d) { if (!col_point2d.Contains(point)) col_point2d.Add(point); } } } //根据获得的Point2d点集创建闭合Polyline Polyline pl = new Polyline(); pl.Closed = true; pl.Color = hat.Color; PolylineTools.CreatePolyline(pl, col_point2d); btr.AppendEntity(pl); trans.AddNewlyCreatedDBObject(pl, true); } }
相关文章推荐
- CAD二次开发(C#)之Document 对象
- C# CAD二次开发(三) 绘制多段线
- (c#)AutoCAD二次开发,运行时,出现“对象的当前状态使该操作无效”
- C# 开发BHO IE浏览器辅助对象注册安装小结
- C# CAD二次开发 扩展数据的几个重要方法
- C#开发ArcGIS Engine根据坐标提取对应区的属性(点选查询)
- AutoCAD 二次开发:获取填充边界
- C# revit 二次开发 创建线图案
- 复习:C#3.0面向对象测试开发包
- 使用C#进行基于PI的开发(二)--常用对象的学习
- C#开发Unity游戏教程之游戏对象的行为逻辑方法
- CAD二次开发(C#)第二个例子
- C# revit 二次开发 为线样式设置线型图案
- MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求
- 直接操作游戏对象C#游戏开发
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十五)制作精美的可任意拖放对象的物品栏及装备栏
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十五)制作精美的可任意拖放对象的物品栏及装备栏
- C#.net 地图控件开发(十) 地图对象Map
- 解决C#,CAD二次开发实例化AcadApplicationClass失败
- C# CAD二次开发入门(VS2005+CAD2008)