关于DXF文件读取的小结---4

    上文对于DXF文件的基础图元做了详细的解释,我认为的小白级的描述。对上文的图元定义为基础图元,是因为这些都能直接套用数学公式,拿到DXF中的数据就能使用。并且在显示的时候只用调用基础的系统API就能实现。其他几种解析的图元,会需要一些小小的转换。

先说下多线段。


这里有个特别的属性,凸度。这个是圆弧的一种描述方式。

设圆弧所包含的圆心角为A(弧度表示),则凸度=四分之一圆心角之正切值

凸度=sin(A/4)/cos(A/4)

凸度值的范围即sin(A/4)/cos(A/4)的取值范围,A=0~2*PI,0到正无穷,当A=360时,cos90=0,所以值无效

凸度的正负表明弧的方向。正表示逆时针,负值表示顺时针。0表示直线,1表示半圆。

没有凸度的多线段就是字面上的多线段,这时候表示一组连续线段的集合。如下实例

0
LWPOLYLINE
  5
26B
330
1F
100
AcDbEntity
  8                        //图元层信息
测试1

100
AcDbPolyline
 90
        6
 70
     0
 43
0.0
 10                        //多线段折点坐标 X
2325.515427482149
 20                        //多线段折点坐标 Y
1434.813515288826
 10                        //多线段折点坐标 X
2334.765848179141
 20                        //多线段折点坐标 Y
1440.911301575535
 10                        //多线段折点坐标 X
2346.051348490464
 20                        //多线段折点坐标 Y
1426.498357444138
 10                        //多线段折点坐标 X
2360.481998308269
 20                        //多线段折点坐标 Y
1439.617834296261
 10                        //多线段折点坐标 X
2375.65267854708
 20                        //多线段折点坐标 Y
1433.15048500898
 10                        //多线段折点坐标 X
2391.933412504283
 20                        //多线段折点坐标 Y

1439.433056018702

这些信息提取出来就能使用,和线类似。我这里要提的是带凸度属性的多线段。如下

0
LWPOLYLINE
  5
2DA
330
1F
100
AcDbEntity
  8                         //图元层信息
测试1

100
A

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值