* Detection

* Detection

eryar@163.com

Abstract. * detection is used for the model collision check. The paper introduce the * detection in PDMS, and also about how to set the piping component for the operation space * check.

Key Word. * Detection, Collision Detection

1. Introduction

碰撞检查是PDMS中一个用于模型检查的辅助功能。三维模型已经很直观,但是仅凭直观并不能保证模型完全没有干涉。通过碰撞检查,可以实现模型完全无碰撞,优化设计。

精确碰撞检查算法的实现较为复杂,简单的碰撞检查实现起来较为简单。即将待检查的模型的层次包围盒(BVH)生成,直接将包围盒进行碰撞检查。如果包围盒都没有碰撞,则模型就没有碰撞。如果包围盒之间存在碰撞,则需要再进一步分析了。精确的算法会根据模型的几何参数表示来计算,粗略的处理是将模型离散后的网格数据进行分析,两种处理方法各有利弊。如下图所示两个几何体的包围盒是碰撞了,但是实际上因为有个开孔是没有碰撞的。

* Detection

Figure 1.1 * Detection demo

Open CASCADE也提供了碰撞检测的功能模块Collision Detection,不过不是开源免费的。没有用过,不知道性能如何。关于Collision Detection模块更多介绍,可参考:http://www.opencascade.com/content/collision-detection

本文对PDMS中的* Detection进行介绍,并说明如何定义管件Piping Component,使其能够进行操作空间的碰撞检查。

2. Obstruction Levels

PDMS的Design模块中的碰撞检查* 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,硬占有,表示碰撞检查;

* Detection* Detection

Figure 2.1 Obstruction Levels in Design and Paragon module

2.2 Touch and Clearance

除了Obstruction Level以外,还有这些精度设置直接影响碰撞检查的结果,他们是Touch Gap, Overlap, Clearnace ,如下图所示:

* Detection

Figure 2.2 Tolerances for the *er

当Overlap设值为5, Touch为2,Clearance为8时,碰撞检查时的意义如下图所示:

* Detection

Figure 2.3 Physical *, Touches and Clearances

v 当两个几何体之间的重叠部分超过5mm时,就会报告一个物理的碰撞*;

v 当两个几何体之间的重叠部分小于5mm,就会报告一个接触Touch;

v 当两个几何体之间没有重叠,但是接触间隙小于2mm,也会报告一个接触;

v 当两个几何体之间没有重叠,但是间距大于2小于8mm,会报告一个Clearance;

v 当两个几何体之间间距大于8mm,即没有干涉发生。

3.Operating Space Check

对于一些管件如阀门或温度计之类,有个操作空间Operating Space。不满足这个操作空间,管件的安装或操作都有些不便之处。所以需要对管件的操作空间进行检测。管件的外形都是在部件库中使用多个基本几何体进行定义的。每个基本几何体都可以指定Obstruction Level,即None, Soft和Hard。假设一个阀门的操作空间如下图所示:

* Detection

Figuer 3.1 Operating Space for a Valve

将部件定义中的几何体的Represent指定为Piping Reserved时,会自动设置此几何体的Obstruction Level为Soft(1),即将此几何体做为操作空间进行碰撞检测。当将几何体指定为Piping Reserved时,在模型空间中并不会显示,但是在碰撞检查时会报告与其碰撞的模型。

如下图所示:

* Detection

Figure 3.2 Operating Space *

虽然阀门和设备并没有接触,但是设备与阀门的操作空间碰撞了,依然做为一种碰撞进行报告。

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

PDF Version: * Detection

上一篇:Python核心编程课后习题-第六章


下一篇:Shell 读取用户输入