CAD的DXF解析中LWPOLYLINE多线段凸度的相关概念和弧度转换 |
您所在的位置:网站首页 › cad文字转实体 › CAD的DXF解析中LWPOLYLINE多线段凸度的相关概念和弧度转换 |
最近解析CAD的DXF文件时需要对合并后的多线段LWPOLYLINE组码进行解析,网上搜集了些相关资料,借鉴并摘录,同时记录下链接,以防重新搜索。 1.“已知圆弧的起点、端点和凸度,计算圆心”-- 起点(x1,y1),端点(x2,y2); b= 0.5*(1/bulge-bulge); --bulge为凸度 圆心x = 0.5*((x1+x2)-(y2-y1)*b); 圆心y = 0.5*((y1+y2)+(x2-x1)*b); (由起点或端点,和圆心可计算出圆半径) 结论:http://blog.sina.com.cn/s/blog_66349acf0102vivw.html 推导过程:https://blog.csdn.net/jiangyb999/article/details/89366912 解析CAD,通过凸度值绘制弧线:https://zhuanlan.zhihu.com/p/348798153 凸度--CAD多段线中的弧定义:https://blog.csdn.net/codedecipher/article/details/103014471 AutoCAD 凸度(bulge)的概念及使用WPF函数画图https://www.cnblogs.com/yuanchenhui/p/autocad_bulge.html 2.凸度定义: ①凸度是圆弧圆心角的四分之一的正切 bulge=h/s=tan(2α/4) --(h为弧的弓高,s为弦长的一半,2α表示圆心角) ②凸度等于圆弧的弓高和圆弧的前进距离的比,即凸度=2H/L,H为弓高,L为前进的长度,也即弦长。bulge=2H/L=tan(β)=tan(α/2) ③凸度为0或无,表示直线; ④凸度的正负表示圆弧的方向, bulge > 0 时:代表起始点沿逆时针转到终止点,角度是逐渐变大的; bulge < 0 时:代表起始点沿顺时针转到终止点,角度是逐渐变小的。 3.DXF中对LWPOLYLINE的解析参考: 优化多段线组码 组码 说明 100 子类标记 (AcDbPolyline) 90 顶点数 70 多段线标志(按位编码);默认值为 0: 1 = 关闭;128 = Plinegen 43 固定宽度(可选;默认值 = 0)。如果设置为可变宽度(代码 40 和/或 41),则不使用 38 标高(可选;默认值 = 0) 39 厚度(可选;默认值 = 0) 10 顶点坐标(在 OCS 中),多个条目;每个顶点一个条目 DXF:X 值;APP:二维点 20 DXF:顶点坐标的 Y 值(在 OCS 中),多个条目;每个顶点一个条目 40 起点宽度(多个条目;每个顶点一个条目)(可选;默认值 = 0;多个条目)。如果设置为固定宽度(代码 43),则不使用 41 端点宽度(多个条目;每个顶点一个条目)(可选;默认值 = 0;多个条目)。如果设置为固定宽度(代码 43),则不使用 42 凸度(多个条目;每个顶点一个条目)(可选;默认值 = 0) 210 拉伸方向(可选;默认值 = 0, 0, 1) DXF:X 值;APP:三维矢量 220, 230 DXF:拉伸方向的 Y 值和 Z 值(可选) 4.附一段弧和直线合并形成的多段线组码实例: LWPOLYLINE 5 2E0B0 330 1F 100 AcDbEntity 8 0 100 AcDbPolyline 90 4 70 1 43 0.0 10 411.0409991769569 20 533.2047196659034 42 -0.1846606338755925 10 911.0409991769484 20 533.2047196659033 10 911.0409991769484 20 233.2047196659017 10 411.0409991769522 20 233.2047196659019 42 -0.2679491924311228 0 VIEWPORT
感谢万能的百度和无私贡献的大佬们! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |