Clash Detection
eryar@163.com
Abstract. Clash detection is used for the model collision check. The paper introduce the clash detection in PDMS, and also about how to set the piping component for the operation space clash check.
Key Word. Clash Detection, Collision Detection
1. Introduction
碰撞检查是PDMS中一个用于模型检查的辅助功能。三维模型已经很直观,但是仅凭直观并不能保证模型完全没有干涉。通过碰撞检查,可以实现模型完全无碰撞,优化设计。
精确碰撞检查算法的实现较为复杂,简单的碰撞检查实现起来较为简单。即将待检查的模型的层次包围盒(BVH)生成,直接将包围盒进行碰撞检查。如果包围盒都没有碰撞,则模型就没有碰撞。如果包围盒之间存在碰撞,则需要再进一步分析了。精确的算法会根据模型的几何参数表示来计算,粗略的处理是将模型离散后的网格数据进行分析,两种处理方法各有利弊。如下图所示两个几何体的包围盒是碰撞了,但是实际上因为有个开孔是没有碰撞的。
Figure 1.1 Clash Detection demo
Open CASCADE也提供了碰撞检测的功能模块Collision Detection,不过不是开源免费的。没有用过,不知道性能如何。关于Collision Detection模块更多介绍,可参考:http://www.opencascade.com/content/collision-detection
本文对PDMS中的Clash Detection进行介绍,并说明如何定义管件Piping Component,使其能够进行操作空间的碰撞检查。
2. Obstruction Levels
PDMS的Design模块中的碰撞检查Clash Detection功能可以用来检查模型中指定部分的模型的干涉Interferences情况。碰撞检查的结果取决于以下两个因素:
v Obstruction Levels
v Touch and Clearance
2.1 Obstruction Level
PDMS所有设计数据库(Design Database)和部件库数据库(Catalogue Database)中的基本几何体都有个属性:Obstruction,其取值范围是0到2,意义如下:
v OBST 0 :None,不占空间,即不参考碰撞检查;
v OBST 1 :Soft,软占有,用来对操作空间等作碰撞检查;
v OBST 2 :Hard,硬占有,表示碰撞检查;
Figure 2.1 Obstruction Levels in Design and Paragon module
2.2 Touch and Clearance
除了Obstruction Level以外,还有这些精度设置直接影响碰撞检查的结果,他们是Touch Gap, Overlap, Clearnace ,如下图所示:
Figure 2.2 Tolerances for the Clasher
当Overlap设值为5, Touch为2,Clearance为8时,碰撞检查时的意义如下图所示:
Figure 2.3 Physical Clash, Touches and Clearances
v 当两个几何体之间的重叠部分超过5mm时,就会报告一个物理的碰撞Clash;
v 当两个几何体之间的重叠部分小于5mm,就会报告一个接触Touch;
v 当两个几何体之间没有重叠,但是接触间隙小于2mm,也会报告一个接触;
v 当两个几何体之间没有重叠,但是间距大于2小于8mm,会报告一个Clearance;
v 当两个几何体之间间距大于8mm,即没有干涉发生。
3.Operating Space Check
对于一些管件如阀门或温度计之类,有个操作空间Operating Space。不满足这个操作空间,管件的安装或操作都有些不便之处。所以需要对管件的操作空间进行检测。管件的外形都是在部件库中使用多个基本几何体进行定义的。每个基本几何体都可以指定Obstruction Level,即None, Soft和Hard。假设一个阀门的操作空间如下图所示:
Figuer 3.1 Operating Space for a Valve
将部件定义中的几何体的Represent指定为Piping Reserved时,会自动设置此几何体的Obstruction Level为Soft(1),即将此几何体做为操作空间进行碰撞检测。当将几何体指定为Piping Reserved时,在模型空间中并不会显示,但是在碰撞检查时会报告与其碰撞的模型。
如下图所示:
Figure 3.2 Operating Space Clash
虽然阀门和设备并没有接触,但是设备与阀门的操作空间碰撞了,依然做为一种碰撞进行报告。
4.Conclusion
PDMS设计模块中的碰撞检查是进行优化设计的一种辅助功能。通过使用碰撞检查,可以做到零干涉,使设计更合理。
通过指定Obstruction Level不仅可以用来检测直接的物理碰撞,还可以用来进行操作空间的检查。
通过在软件中使用碰撞检查功能,可以理解此功能的意义。对于想深究此功能实现算法的读者,可以更有的放矢。OPEN CASCADE中也提供了碰撞检查的功能模块Collision Detection,只不过要收费。由此可见,此功能有实际应用价值。
5. References
1. AVEVA. DEISGN Reference Manual Utilities.
2. OPEN CASCADE. Collision Detection. http://www.opencascade.com/content/collision-detection