032集——圆转多段线(Circle to Polyline)(CAD—C#二次开发入门)

CAD中圆可转为带有凸度的多段线以方便后期数据计算、处理,效果如下:

白色为圆,红色为转换后的多段线(为区分,已手工偏移多段线)

cs 复制代码
  public static  void XX()
  {
      var curves = Z.db.SelectEntities<Entity>();
      foreach (var item in curves)
      {
          if (item is Circle)
          {
              Circle temp = (Circle)item;
              Point3d pt = temp.Center;
              double leftx = pt.X - temp.Radius;
              double rightx = pt.X + temp.Radius;
              double topx = pt.X;
              double bottomx = pt.X;
              double lefty = pt.Y;
              double righty = pt.Y;
              double topy = pt.Y + temp.Radius;
              double bottomy = pt.Y - temp.Radius;
              Point2d left = new Point2d(leftx, lefty);
              Point2d right = new Point2d(rightx, righty);
              Point2d top = new Point2d(topx, topy);
              Point2d bottom = new Point2d(bottomx, bottomy);
              Polyline pl = new Polyline();
              pl.AddVertexAt(0, bottom, 1, 0, 0);
              pl.AddVertexAt(1, top, 1, 0, 0);
              pl.AddVertexAt(2, bottom, 0, 0, 0);
              pl.ColorIndex = 1;
              Z.db.AddEntityToModeSpace(pl);
              pl.Highlight();
              // Debugger.Break();
          }
          //else
          //{
          //    Z.db.Erase(item);
          //}
      }
     

   

  }
相关推荐
yi碗汤园1 小时前
【一文了解】八大排序-插入排序、希尔排序
开发语言·算法·unity·c#·1024程序员节
Magnum Lehar2 小时前
网络安全端口安全映射工具编写代码1
windows·1024程序员节
小朩2 小时前
数据结构C语言
数据结构·c#·1024程序员节
CN.LG3 小时前
C# 企业微信机器人消息推送
c#·企业微信·1024程序员节·机器人推送
唐青枫3 小时前
C#.NET ArrayPool 深入解析:高性能内存池的实现与应用
c#·.net
张人玉3 小时前
WPF 核心概念笔记(补充示例)
c#·wpf·1024程序员节·布局控件
foundbug9994 小时前
C# 实现 Modbus TCP 通信
开发语言·tcp/ip·c#
JuicyActiveGilbert4 小时前
【Python进阶】第2篇:单元测试
开发语言·windows·python·单元测试
hoiii1875 小时前
C#实现摄像头视频录制与保存
开发语言·c#·音视频
YuanlongWang5 小时前
C# 设计模式——观察者
windows·设计模式·c#