三维动态模拟施工方案过程中实现碰撞检测的方法与流程

文档序号:17628455发布日期:2019-05-10 23:54阅读:770来源:国知局
三维动态模拟施工方案过程中实现碰撞检测的方法与流程

本发明涉及一种三维动态施工方案模拟的方法,更具体的涉及一种三维动态模拟施工方案过程中实现碰撞检测的方法。



背景技术:

施工方案设计是工程建造过程中重要的一环,通过对施工方案可行性的验证,可以及早地发现施工中可能存在的风险和缺陷,从而优化工艺达到减少风险、缩短工期、减少成本、提高安全防范意识等目的。随着bim等技术在工程建造业的普及和推广使用,通过三维可视化的方式来模拟演示施工方案,可以更加直观的观察整个施工工艺流程。在目前的施工方案模拟过程中,现有的碰撞检测并不包含对安全范围因素的考虑,在特定的施工方案中,某两个或多个模型之间的碰撞检测需要产生一定的碰撞值(安全范围值),这时在进行碰撞检测时就会出现检测精确不够理想的问题。



技术实现要素:

发明目的:本发明目的在于针对现有技术的不足,提供一种提高碰撞检测精度的三维动态模拟施工方案过程中实现碰撞检测的方法。

技术方案:本发明所述三维动态模拟施工方案过程中实现碰撞检测的方法,在unity中引入revit制作的结构物模型,在进行施工方案模拟时,结构物模型按设定顺序依次按照行进轨迹进入场景并进入预设的位置,

首先,在施工方案模拟过程中,通过碰撞检测中的计算模型进行数据采集:两个结构物模型中心点与分离轴的位移向量t,两个结构物模型中心点距离l,模型a在分离轴上的投影半径ra,模型b在分离轴上的投影半径rb,模型a的偏离值ma,模型b的偏离值mb;其中,t*l表示两个模型中心点在该分离轴上的真实投影距离;ra+rb表示两个模型在该分离轴上的理论碰撞极限值;当真实投影距离大于极限值时,表明两个模型在该分离轴上还有一段距离;反之,表明两个模型在该分离轴上的产生相交(即发生碰撞)。

然后,自动检测碰撞:

当两个结构物模型之间不允许发生碰撞时,即两个模型间均不存在偏离值,依据运算表达|t*l|>ra+rb来判定所有轴的检测结果,如果结果为真,则证明两个模型之间未发生碰撞,否则发出警报;

当两个结构物模型之间允许发生碰撞时,即模型存在偏离值,首先依据运算表达|t*l|>ra+rb判定所有未受偏离值影响轴的检测结果,如果结果为真,继续依据运算表达式|t*l|>ra+rb+ma+mb来判定偏离值相关轴的检测结果,如果结果为真,则两个模型之间未产生碰撞或发生碰撞但属于合理碰撞;否则,发出警报;

当两个结构物模型之间必须发生碰撞或必须保持在一个偏离值时,首先依据运算表达|t*l|>ra+rb判定所有未受偏离值影响轴的检测结果,如果结果为真,继续依据运算表达式|t*l|=ra+rb+ma+mb来判定偏离值相关轴的检测结果,两次结果均为真,则证明模型发生合理碰撞或模型保持合理距离;否则,发出警报。

本发明技术方案的进一步限定为,发出警报时,在异常的结构物模型上通过变色的方式给出直观的展示。

进一步地,发出警报时,预警信息包括发生碰撞的模型信息、碰撞所产生的位置和预警数值。

进一步地,所述模型信息包括:如模型名称、模型编号、模型类型、模型位置。

进一步地,所述碰撞所产生的位置,通过碰撞检测算法计算,在计算模型中可以得出两个模型中心点在该分离轴上的真实投影距离(t*l),及两个模型在该分离轴上的理论碰撞极限值(ra+rb),当两个模型发生碰撞,计算模型的运算表达式为|t*l|<ra+rb,即在两个模型在某一轴上发生碰撞,两个模型在该分离轴上的投影碰撞值通过p=|t*l|-(ra+rb)得出。

有益效果:本发明提供一种三维动态模拟施工方案过程中实现碰撞检测的方法,能够提高三维模型的碰撞检测精度,解决无法将安全范围因素纳入施工方案影响因子的问题,解决无法在动态模拟施工工序步骤中实现碰撞检测的问题。

附图说明

图1为本实施例中两个结构物模型之间不允许发生碰撞时进行判定的流程图

图2为本实施例中两个结构物模型之间允许发生碰撞时进行判定的流程图;

图3为本实施例中两个结构物模型之间必须发生碰撞或必须保持在一个偏离值时进行判定的流程图。

具体实施方式

下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。

实施例1:本实施例提供一种三维动态模拟施工方案过程中实现碰撞检测的方法,在unity中引入revit制作的结构物模型,在进行施工方案模拟时,结构物模型按设定顺序依次按照行进轨迹进入场景并进入预设的位置,在所述结构物模型进入过程,自动检测碰撞。在所述结构物模型进入过程中,碰撞检测的计算模型会一直处于运算当中,直至施工方案模拟结束。

首先,在施工方案模拟过程中,通过碰撞检测中的计算模型进行数据采集:两个结构物模型中心点与分离轴的位移向量t,两个结构物模型中心点距离l,模型a在分离轴上的投影半径ra,模型b在分离轴上的投影半径rb,模型a的偏离值ma,模型b的偏离值mb;其中,t*l表示两个模型中心点在该分离轴上的真实投影距离;ra+rb表示两个模型在该分离轴上的理论碰撞极限值;当真实投影距离大于极限值时,表明两个模型在该分离轴上还有一段距离;反之,表明两个模型在该分离轴上的产生相交(即发生碰撞)。

然后,自动检测碰撞:

当两个结构物模型之间不允许发生碰撞时,即两个模型间均不存在偏离值,判定流程图如图1所示,依据运算表达|t*l|>ra+rb来判定所有轴的检测结果,如果结果为真,则证明两个模型之间未发生碰撞,否则发出警报。

当两个结构物模型之间允许发生碰撞时,即模型存在偏离值,判定流程图如图2所示,首先依据运算表达|t*l|>ra+rb判定所有未受偏离值影响轴的检测结果,如果结果为真,继续依据运算表达式|t*l|>ra+rb+ma+mb来判定偏离值相关轴的检测结果,如果结果为真,则两个模型之间未产生碰撞或发生碰撞但属于合理碰撞;否则,发出警报。

当两个结构物模型之间必须发生碰撞或必须保持在一个偏离值时,判定流程图如图3所述,首先依据运算表达|t*l|>ra+rb判定所有未受偏离值影响轴的检测结果,如果结果为真,继续依据运算表达式|t*l|=ra+rb+ma+mb来判定偏离值相关轴的检测结果,两次结果均为真,则证明模型发生合理碰撞或模型保持合理距离;否则,发出警报。

发出警报时,在异常的结构物模型上通过变色的方式给出直观的展示,预警信息包括发生碰撞的模型信息、碰撞所产生的位置和预警数值。

所述模型信息包括:如模型名称、模型编号、模型类型、模型位置。

所述碰撞所产生的位置,通过碰撞检测算法计算,在碰撞检测过程中,只需要记录模型哪些分离轴发生了碰撞,每一条分离轴的选取设定都是依照模型的三维方向坐标x轴,y轴,z轴,通过在两个模型上同一方向轴的某一边矢量做叉积得出分离轴,通过分离轴可以得到两个模型发生碰撞的各自位置轴,即可判断出模型碰撞的位置。由上所述,在计算模型中可以得出两个模型中心点在该分离轴上的真实投影距离(t*l),及两个模型在该分离轴上的理论碰撞极限值(ra+rb),当两个模型发生碰撞,此时计算模型的运算表达式为|t*l|<ra+rb,即在两个模型在某一轴上发生碰撞,两个模型在该分离轴上的投影碰撞值可以通过p=|t*l|-(ra+rb)得出;

预警信息示例:

上部结构桥梁部件a与上部结构桥梁部件b发生碰撞,a碰撞部位坐标为:x:30.814,y:-6.023,z:11.430,碰撞距离为:-0.017,b碰撞部位坐标为:x:29.455,y:-7.456,z:11.309,碰撞距离为:-0.017,碰撞时间:2018-12-0107:35:45

当两个结构物模型之间不允许发生碰撞时,即两个模型间均不存在偏离值,依据运算表达|t*l|>ra+rb来判定所有轴的检测结果,如果结果为真,则证明两个模型之间未发生碰撞,否则发出警报。

最后,发出警报时,在异常的结构物模型上通过变色的方式给出直观的展示,并且,预警信息包括发生碰撞的模型信息、碰撞所产生的位置和预警数值。

本发明提供一种三维动态模拟施工方案过程中实现碰撞检测的方法,能够提高三维模型的碰撞检测精度,解决无法将安全范围因素纳入施工方案影响因子的问题,解决无法在动态模拟施工工序步骤中实现碰撞检测的问题。

如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1