本发明涉及一种三维设计平台设备打断方法。
背景技术
现阶段线性轨道的深化设计及后期手工打断操作比较复杂,耗人耗时,但由于设计规范、施工规范等约束,在设计期不得不将过长的线性轨道按照特定步长打断。目前个别三维平台对线性具有直线轨道打断的功能,但是没有开发出任何完整的适应于线性圆弧轨道的打断方法。具体来说:
通常普通铁路的铁轨一般都是25米,在站内的铁轨长度减半。设计期建模的过程中,创建的直线轨道或圆弧轨道,其长度均为建模时的最大长度(最大长度远远大于25米),直线轨道或圆弧轨道创建完毕后,需要对生成好的模型按照设计规范中的长度进行分割。现有技术方案及其存在的问题:(1)个别三维平台提供了打断线性的直线构件,支持打断线性的直线轨道,但操作比较繁琐,无法快速、精确的进行打断;(2)为了在建模时方便,通常会将圆弧轨道按照直线构件处理,放置时控制起点、终点和角度,该线性打断并不能将属于直线构件的圆弧轨道合理的打断。自身打断方法只能手动操作、效率低、精确度不够且不能打断自定义的直线构件的圆弧轨道。
现有打断构件方法中,主要的打断方式有以下两种:
1、支持线性直线设备(如图1所示,外观为直线,中心线为直线)打断。
2、支持圆曲线圆弧设备(如图2所示,外观为圆弧,中心线为圆曲线)打断。
以上方法仅适用于线性直线设备和圆曲线圆弧设备,而设计期线性圆弧设备(如图3所示,外观为圆弧,中心线为直线)随处可见,显然此法不适用。鉴于此,现急需设计一种打断线性的圆弧设备的方法,以克服现有打断的上述缺陷。
技术实现要素:
本发明提出一种三维设计平台设备打断方法,能够满足设计期对线性圆弧设备快速、精准打断的需求。
线性圆弧轨道:
本发明中圆弧轨道的中心线段为圆弧轨道两个端点连成的直线段而非圆弧曲线段,圆弧轨道内部有核心参数:圆弧轨道名称,ifd编码,圆弧轨道半径;根据ifd编码可以识别是否为圆弧轨道,利用圆弧轨道的中心线段和圆弧轨道半径可以确定该圆弧轨道准确的弯曲程度。
本发明的解决方案如下:
三维设计平台圆弧设备打断方法,包括以下步骤:
1)在项目文档已创建的三维场景中,选择三维场景中要打断的已有的圆弧设备,即目标圆弧设备;
2)提取目标圆弧设备的中心线段及圆弧设备半径,通过中心线段和圆弧设备半径计算虚拟圆圆心,利用虚拟圆圆心、圆弧设备半径及中心线段的两个端点构造虚拟圆弧;
3)将虚拟圆弧按指定步长进行分割,设虚拟圆弧的两个端点分别为a1、a2,虚拟圆弧的分割点依次为p1、p2、p3……、pn-1、pn,使a1p1、p1p2、p2p3……、pn-1pn的弧长均等于步长,pna2的弧长等于或小于步长;
4)在三维场景中的当前位置复制目标圆弧设备的实例,记为临时圆弧设备,设临时圆弧设备的两个端点分别为
5)将步骤4)得到的临时圆弧设备记为新的目标圆弧设备,相应虚拟圆弧的两个端点分别为
6)最终获得共计n+1段分割后的圆弧设备,并对每一段圆弧设备的名称进行重命名。
进一步的,所述三维设计平台进行了二次开发,添加有“打断”按钮及输入打断步长的文本框,限制文本框只能输入浮点数。
进一步的,步骤6)对各段圆弧设备的命名规则为:[第一段圆弧设备的名称]-[打断次数-1],即假设第一段圆弧设备的名称为:name,则命名依次为name-0、name-1、name-2……、name-(n-1)、name-(n)。
按照同样的原理,本发明具体还提出一种三维设计平台直线设备打断方法,包括以下步骤:
1)在项目文档已创建的三维场景中,选择三维场景中要打断的已有的直线设备,即目标直线设备;
2)提取目标直线设备的起点a1、终点a2及长度l,构造虚拟直线段;
3)将虚拟直线段按指定步长进行分割,设虚拟直线段的两个端点分别为a1、a2,虚拟直线段的分割点依次为p1、p2、p3……、pn-1、pn,使a1p1、p1p2、p2p3……、pn-1pn的长度均等于步长,pna2的长度等于或小于步长;
4)在三维场景中的当前位置复制目标直线设备的实例,记为临时直线设备,设临时直线设备的两个端点分别为
5)将步骤4)得到的临时直线设备记为新的目标直线设备,相应虚拟直线段的两个端点分别为
6)最终终获得共计n+1段分割后的直线设备,并对每一段直线设备的名称进行重命名。
相应的软件产品形式可以是:
一种存储设备,其中存储有多条指令,所述指令适用于由处理器加载并依次执行以上方法中的步骤2)至步骤6)。
一种终端,包括处理器以及存储设备,所述存储设备存储有多条指令,所述指令适用于由处理器加载并依次执行以上方法中的步骤2)至步骤6)。
相比现有技术,本发明具有以下有益效果:
本发明能够对设计期的轨道根据设计规范、施工规范等进行快速、精准打断。
基于本发明,可延伸为参数化设计直线轨道、圆弧轨道。其原理兼容打断线性的直线设备、圆曲线圆弧设备,对于直线轨道的打断,效率高于现有技术。直线轨道、圆弧轨道参数化设计的参数要素:打断长度、中心线起点、中心线终点。
附图说明
图1为直线轨道的示意图。
图2为圆曲线圆弧轨道的示意图。
图3为线性圆弧轨道的示意图。
图4为构造虚拟圆弧(线性圆弧轨道)所涉及的三角计算关系的示意图。
图5为构造的虚拟圆弧的示意图。
图6为某次修改端点后的目标圆弧设备以及临时圆弧设备的示意图。
具体实施方式
以下以线性圆弧轨道的打断为例,结合附图详述本发明的方案。
计算机内部实现:
步骤1:在三维设计平台中二次开发,添加打断按钮及输入打断步长的文本框,限制文本框只能输入浮点数;
步骤2:在项目文档已创建的三维场景中,取得三维场景中的已有的圆弧轨道作为打断目标(根据参数ifd编码判断是否允许打断);
步骤3:如图4所示,提取当前选择的圆弧轨道的中心线段及圆弧轨道半径,通过中心线段和圆弧轨道半径计算虚拟圆圆心,利用虚拟圆圆心、圆弧轨道半径及中心线段两个端点构造虚拟圆弧(劣弧);图中:
1=2*θ*r
步骤4:如图5所示,将虚拟圆弧按指定步长进行分割,设虚拟圆弧的两个端点分别为a1、a2,虚拟圆弧的分割点依次为p1、p2、p3……、pn-1、pn;其中a1p1、p1p2、p2p3……、pn-1pn的弧线长度均等于步长,pna2的弧线长等于或小于步长;
步骤5:在三维场景中的当前位置复制目标圆弧轨道的实例,记为临时圆弧轨道,设临时圆弧设备的两个端点分别为
步骤6:将步骤5得到的临时圆弧轨道记为新的目标圆弧轨道,相应虚拟圆弧的两个端点分别为
步骤7:获取所有分割后的圆弧轨道,共计n+1段圆弧轨道;依次对每一段圆弧轨道的名称进行重命名,命名规则为:[第一个圆弧轨道的名称]-[打断次数-1];假设第一个圆弧轨道的名称为:name,命名依次为name-0、name-1、name-2……、name-(n-1)、name-(n);
ui操作步骤:
步骤1:在三维设计平台的ui中选择打断功能,系统提示输入打断步长,输入相应的打断步长;
步骤2:在项目文档已创建的三维场景中,用鼠标拾取选择需要打断的圆弧轨道,即自动打断。
api操作步骤:
步骤1:获取需要打断的圆弧轨道实例以及打断步长;
步骤2:调用打断api,传入圆弧轨道实例及打断步长,即自动打断。
直线轨道、圆曲线圆弧轨道的打断方法与上述线性圆弧轨道的打断方法基本原理相同,主要是构造虚拟直线/圆弧的计算方式(步骤3)有相应的区别,故在此不再赘述。