大家好,我是前端西瓜哥。
我整理了一下 AutoCAD 实体的常用几何属性。
属性基于实体的特性面板,并做一定调整尽量贴合数据层(接近 dwg 图纸),但不保证完全一致。
这是系列文章的第一篇,算是开一个新的系列,后续会陆续补完。
关于角度
极轴坐标系,默认起始角度为向右方向,为 0 度,角方向为逆时针。
绕一圈,经过 90 180 270,最终又变成了 0。
可以通过 “图形单位(Drawing Units)” 修改起始角和角方向。
角度在数据层都是存的弧度,只是 UI 默认显示为角度,且 UI 上的角的格式可以通过 “图形单位” 修改,比如换成百分度。
直线 Line
-
startX / startY / startZ:起点位置;
-
endX / endY / endZ:终点位置;
计算属性:
-
deltaX / deltaY / deltaZ:终点减起点的差值;
-
length:直线长度;
-
angle:起点到终点形成的向量对应的角。
圆 Circle
-
centerX / centerY / centerZ:圆心;
-
radius:半径;
计算属性:
-
diameter:直径;
-
circumference:周长;
-
area:面积;
-
normalX / normalY / normalZ:法向量;
圆弧 Arc
圆弧的三种表达可以先了解一下,有助于了解圆弧、多段线这些图形。
-
centerX / centerY / centerZ:圆心;
-
radius:半径;
-
startAngle:起始角;
-
endAngle:结束角;
计算属性:
-
startX / startY / startZ:起点;
-
endX / endY / endZ:终点;
-
arcLength:圆弧长度;
-
area:圆弧面积;
-
normalX / normalY / normalZ:法向量;
椭圆 Ellipse
虽然叫做椭圆,但它同时也可以表达椭圆弧。通常 startAngle 为 0,且 endAngle 为 360,就是一个椭圆。
-
centerX / centerY / centerZ:圆心;
-
semiMajorAxisVector:半长轴向量(等价知道主轴长度和旋转角度);
-
axisRatio:短轴 / 长轴长度 的比例值;
-
startAngle:起始角(相对 semiMajorAxisVector,方向为逆时针);
-
endAngle:结束角。
计算属性:
-
startX / startY / startZ:起点位置;
-
endX / endY / endZ:终点位置;
-
majorRadius:长轴半径;
-
minorRadius:短轴半径;
-
minorAxisVector:短轴向量(长轴逆时针 90 度);
多段线 Polyline
多条线段顺序连接表达的实体。
矩形、多边形类型并不存在,它们只是特殊的多段线。
-
startWidth:默认给顶点的起始宽度;
-
endWidth:默认给顶点的结束宽度;
-
closed:是否闭合(即首尾是否要相连);
多段线会指向一组顶点 Vertex,它们依次相连,得到多段线。
顶点 Vertex 的属性有:
-
point:点位置;
-
startWidth:起始宽度;
-
endWidth:结束宽度;
-
bulge:直线的凸度,这个值不为 0 就是曲线。这个东西我在之前的 圆弧文章 也有讲过;
计算属性:
-
globalWidth:全局宽度,如果所有顶点的起始宽度和结束宽度都相同,则为这个值,否则为空;
-
area:面积;
-
length:线总长度;
射线 Ray
-
point:射线的起点;
-
vector:射线的方向向量;
计算属性:
- secondPoint:第二个点。基于 point 的 vector 得到;
构造线 XLine
两边无限延长的真正的直线。
同射线。
相关阅读,