0. 引言
在了解了如何进行封装后,我们需要将CAD中涉及的一些常用图形都封装好,比如:直线、圆弧、圆、多段线、椭圆等,以后需要就直接拿出来用就好了。
在这之前还是再次回顾一下CAD中类的继承关系是怎样的:
可以看到Line(直线)、Arc(圆弧)、Circle(圆)、Polyline(多段线)、Ellipse(椭圆)这些类都是继承于Curve(曲线)类,而曲线类又继承于Entity类。
捋清楚这个关系后就容易多了!
1. 圆弧封装
首先是Arc(圆弧)类,我们F12跟踪一下它:
跟直线一样,可以看到Arc类也是存在于命名空间Autodesk.AutoCAD.DatabaseServices中
Arc类存在三个构造函数,里面的参数就是字面意思了,就不再详细解释
public Arc();
public Arc(Point3d center, double radius, double startAngle, double endAngle);
public Arc(Point3d center, Vector3d normal, double radius, double startAngle, double endAngle);
下面的一些属性如Center,StartAngle,EndAngle等都是字面意思,绘制圆弧的时候需要的一些属性,在CAD里面画一下就明白了。
public double TotalAngle { get; }
public double Length { get; }
public Vector3d Normal { get; set; }
public double Thickness { get; set; }
public double EndAngle { get; set; }
public double StartAngle { get; set; } // 起始角度
public double Radius { get; set; } // 半径
public Point3d Center { get; set; } // 中心
之后的图形都大同小异,