一种CAD弧段坐标转换方法、设备及存储设备技术

技术编号:39423506 阅读:13 留言:0更新日期:2023-11-19 16:11
本发明专利技术公开了一种CAD弧段坐标转换方法、设备及存储设备,方法包括:步骤1、通过对象内存类型判断读取的CAD图形实体是否为弧段对象;若是,进入步骤2,否则读取下一个CAD图形实体;2、检测实体是否为弧段画圆,若是,则对实体进行弧段画圆坐标转换处理,进入步骤5,否则进入步骤3;3、检测实体是否为弧段画短线,若是,则对实体进行弧段画短线坐标转换处理,进入步骤5,否则进入步骤4;4、将图形实体按照普通圆弧,进行普通圆弧坐标转换处理,得到转换后的弧段;5、保存转换后的弧段。本发明专利技术能解决作业员作业不规范的问题,确保地理图形实体坐标转换后结果显示正常、弧线与邻线连接正常。弧线与邻线连接正常。弧线与邻线连接正常。

【技术实现步骤摘要】
一种CAD弧段坐标转换方法、设备及存储设备


[0001]本专利技术涉及图纸坐标空间转换领域,尤其涉及一种CAD弧段坐标转换方法、设备及存储设备。

技术介绍

[0002]目前测绘和规划历史数据使用的平面坐标系统多采用1980西安坐标系,高程系统是1985国家高程基准,采用地方的投影带进行高斯

克吕格坐标系。在进行历史数据整理时,需要对测绘基础地形图,以及历史规划成果数据进行空间坐标转换。转换模型,一般选择七参数模型或平面四参数模型确定转换参数,特别是2000国家大地坐标系与1980西安坐标系布尔沙七参数的确定。
[0003]由于地形图和规划图纸,一般采用CAD格式数据进行保存。CAD时图形表达存储数据库,与常规的GIS基本元图形不同的是,CAD包含圆、弧段、样条线等复杂的函数模拟图元类型,而弧段是地形在绘制时重要的绘图元素,常用来表达道路、河流、回廊等转弯区域,弧段的处理,给一般的空间投影坐标转换带来了技术挑战。
[0004]另外,数据生产作业员的作业习惯,例如弧段画圆、弧段画短线等,虽然在图形可视化和精度检查方面不会有问题。但是,进行弧段坐标转换时,如果不进行特别处理,将会由于浮点精度问题,导致原始图形转换后圆弧方向反转、弧段点与连接线放大后断开等问题。

技术实现思路

[0005]为了解决常规地形图CAD进行投影坐标椭球变换坐标处理时,单纯利用弧段端点与中心点变换,并重新构建弧段的方式,无法满足坐标转换结果精度要求,并且无法很好处理弧段画圆、弧段画短线带来的转换结果弧段开口转向、弧段连线断开等数据计算结果异常的问题,本专利技术提出一种CAD弧段坐标转换方法、设备及存储设备,方法包括:
[0006]S1、通过对象内存类型判断读取的CAD图形实体是否为弧段对象;若是,则记为图形实体E
arc
,进入步骤S2,否则读取下一个CAD图形实体,再重复步骤S1;
[0007]S2、检测图形实体E
arc
是否为弧段画圆,若是,则对图形实体E
arc
进行弧段画圆坐标转换处理,处理完成后进入步骤S5,否则进入步骤S3;
[0008]S3、检测图形实体E
arc
是否为弧段画短线,若是,则对图形实体E
arc
进行弧段画短线坐标转换处理,处理完成后进入步骤S5,否则进入步骤S4;
[0009]S4、将图形实体按照普通圆弧,进行普通圆弧坐标转换处理,得到转换后的弧段;
[0010]S5、保存转换后的弧段。
[0011]一种存储设备,所述存储设备存储指令及数据用于实现一种CAD弧段坐标转换方法。
[0012]一种CAD弧段坐标转换设备,包括:处理器及所述存储设备;所述处理器加载并执行所述存储设备中的指令及数据用于实现一种CAD弧段坐标转换方法。
[0013]本专利技术提供的有益效果是:能有效的处理常规CAD图纸的弧段数据中,因作业员作业不规范,而存在的用弧线画圆、用弧线画短线段、弧度值极小弧段等图形实体,在地理投影空间坐标椭球转换中,因浮点计算精度不足,导致转换结果弧段显示异常、弧段方向反转、弧段与邻接线段断开连接等问题,确保转换后的结果显示正常、弧线与邻线连接正常。
附图说明
[0014]图1是本专利技术方法流程示意图;
[0015]图2是实施用1:1000基础地形图;
[0016]图3是基础地形图坐标转换,弧段处理结果异常;
[0017]图4是基础地形图中绘图者用弧段绘制圆形符号对象;
[0018]图5是弧段绘制圆形符号对象实际放大后的有缺口;
[0019]图6是用连接道路边线转弯的小弧段;
[0020]图7是用本专利技术转换后的基础地形图结果;
[0021]图8是本专利技术实施例中硬件设备工作的示意图。
具体实施方式
[0022]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地描述。
[0023]首先,对本专利技术所用到的相关函数(从软件中获取)统一阐述如下:
[0024](1)坐标转换函数为F
transcoord
,输入输出均为坐标点;
[0025](2)平面点距离计算函数为F
distance
,输入为两个坐标点,输出为距离数值;
[0026](3)CAD图形实体的矩形范围计算函F
boundsCalculator
数,输入为CAD图形对象,输出为范围矩形;
[0027](4)圆弧/圆上点坐标计算函数F
calcArcPtByAngle
,输入为圆弧圆心、半径,和待求点所在的角度,返回值为点的坐标值。
[0028](5)两相交圆的交点计算函数F
calcCircleInsectPt
,输入为两圆的圆心点和半径,输出为两圆的两个交点坐标。
[0029](6)圆弧点的圆弧角度计算函数F
calcAnglebyArcPt
,输入为圆弧的圆心、半径,以及圆弧上点坐标,输出为弧段上点的角度,范围[0,2π]。
[0030](7)圆弧弧段中点坐标计算函数F
calcArcCenterPt
,输入为圆弧的圆心、半径,以及圆弧起始角度和结束角度,输出为圆弧中点坐标。
[0031](8)圆弧圆心计算函数F
calcCenterByArc3Pt
,输入为圆弧的三个弧上点,输出为圆弧的中心点坐标。
[0032]下面阐述本
技术实现思路

[0033]请参考图1,图1是本专利技术方法流程示意图。
[0034]本专利技术提供了一种CAD弧段坐标转换方法、设备及存储设备,方法包括:
[0035]S1、通过对象内存类型判断读取的CAD图形实体是否为弧段对象;若是,则记为图形实体E
arc
,进入步骤S2,否则读取下一个CAD图形实体,再重复步骤S1;
[0036]需要说明的是,一般编程中,通过对象的内存类型比较,判断读取的CAD图形实体
对象E是否为弧段对象。当图形实体对象为弧段对象,记为E
arc
,弧段的中心点C,坐标值为(C
x
,C
y
),半径记为R,弧段的起始角记为A
start
,范围[0,2π],单位为弧度,弧段的结束角记为A
end
,范围[0,2π],单位为弧度。继续执行步骤S2;当图形实体对象不为弧段对象,结束E图形实体处理,进入下一个图形实体处理。
[0037]S2、检测图形实体E
arc
是否为弧段画圆,若是,则对图形实体E
arc
进行弧段画圆坐标转换处理,处理完成后进入步骤S5,否则进入步骤S3;
[0038]步骤S2中,检测图形实体E
arc
是否为弧段画圆的具体过程如下:起始角A<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CAD弧段坐标转换方法,其特征在于:包括以下步骤:S1、通过对象内存类型判断读取的CAD图形实体是否为弧段对象;若是,则记为图形实体E
arc
,进入步骤S2,否则读取下一个CAD图形实体,再重复步骤S1;S2、检测图形实体E
arc
是否为弧段画圆,若是,则对图形实体E
arc
进行弧段画圆坐标转换处理,处理完成后进入步骤S5,否则进入步骤S3;S3、检测图形实体E
arc
是否为弧段画短线,若是,则对图形实体E
arc
进行弧段画短线坐标转换处理,处理完成后进入步骤S5,否则进入步骤S4;S4、将图形实体按照普通圆弧,进行普通圆弧坐标转换处理,得到转换后的弧段;S5、保存转换后的弧段。2.如权利要求q所述的一种CAD弧段坐标转换方法,其特征在于:步骤S2中,检测图形实体E
arc
是否为弧段画圆的具体过程如下:起始角A
start
与结束角A
end
的差值绝对值A
delta
,即:A
delta
=abs(A
start

A
end
),A
delta
>0,A
delta
的单位为弧度;根据A
delta
的阈值大小A
threshold
进行比较,当A
delta
>A
threshold
,即表示E
arc
不是弧段画圆。3.如权利要求1所述的一种CAD弧段坐标转换方法,其特征在于:步骤S2中,对图形实体E
arc
进行弧段画圆坐标转换处理的具体过程如下:S21、计算弧段画圆坐标转换后的实体E

arcq
的中心位置C1

,其中C1

=F
transcoord
(C);C为图形实体E
arc
的中心位置;F
transcoord
为坐标转换函数;S22、转换弧段结果半径计算,转换后的E

arc1
半径R1

,取样E
arc
上的临时点P
temp1
,P
temp1
的坐标P
temp1
(x,y)=(C
x
+R,C
y
),R为图形实体E
arc
的半径;C
x
、C
y
为C的坐标值;则坐标转换后的点P

temp1
=F
transcoord
(P
temp1
),R1

=F
distance
(C1

,P

temp1
);其中F
distance
为平面点距离计算函数;S23、更新转换后E

arc1
的圆弧参数,圆心为C1

,半径为R1

,起始角A

startq
与结束角A

endq
保留原来数值,即A

startq
=A
start
且A

endq
=A
end
。4.如权利要求q所述的一种CAD弧段坐标转换方法,其特征在于:步骤S3中检测图形实体E
arc
是否为弧段画短线的具体过程如下:计算图形实体E
arc
的外包矩形范围B
extent
,其中B
extent
=F
boundsCalculator
(E
arc
),其中,F
boundsCalculator
表示CAD图形实体的矩形范围计算函数;B
extent
的宽度值为L
width
和高度值L
height
;判断E
arc
是否为短线,将L
width
和L
height
与阈值L
threshold
进行比较,若L
width
>L
threshold
且L
width
>L
threshold
,即表示图形实体E
arc
不是弧段画短线,否则表示图形实体E
arc
是弧段画短线。5.如权利要求2所述的一种CAD弧段坐标转换方法,其特征在于:步骤S3中,对图形实体E
arc
进行弧段画短线坐标转换处理的具体过程如下:S31、弧段画短线坐标转换处理后的图形实体为E

arc2
;计算在弧段画短线类型下,图形实体E
arc
弧段起始点P
start2
坐标和结束点P
end2
,其中P
start2
=F
calcArcPtByAngle
(C,R,A
start
),P
end2
=F
calcArcPtByAngle
(C,R,A
end
);F
calcArcPtByAngle
为圆弧/圆上点坐标计算函数;S32、对E
arc
的圆心点C,弧段起点P
start
,和弧段结束点P
end
,进行坐标转换,转换后分别为C

temp2
,P

start2
,P

end2
;其中C

temp2
=F
transcoord
(C),P

start2
=F
transcoord
(P
start2
),P

endq
=F
transcoord

【专利技术属性】
技术研发人员:曹威郭明强赵保睿李兵朱建军张敏匡明星彭雨芬
申请(专利权)人:湖北地信科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1