CAD/CAM软件 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
注塑模CAD/CAE中自由曲面的裁剪 |
|
newmaker |
|
1、概述
在注塑模CAD/CAE中,自由曲面的设计与描述始终占有十分重要的地位.塑料制品种类繁多、形状各异,而且注塑成形是一次成形,所以要求注塑模CAD/CAE软件的几何造型系统具有较强的曲面处理能力,能够快速、方便地生成塑料制品图和模具型腔图.在实际工程中有许多产品的某些外表面不能或不便于用一张曲面表示,而用多张曲面构造一个产品的曲面模型时,某些曲面又有多余部分.因此,利用曲面裁剪技术把单张曲面不需要的部分裁剪掉或将多张曲面拼接后的多余部分裁剪掉,便可以得到所需的曲面模型.曲面裁剪不仅是构造产品曲面模型的重要手段,也是采用缝合技术构造曲面实体模型必备的操作.
由于注塑模CAE分析要求尽可能方便、高效地构造出产品的几何模型,并且对裁剪曲面或曲面裁剪后拼接成的曲面进行网格划分时,要求能够处理公共边界的信息,即2个曲面在拼接处具有相同的离散边界,便于注塑模CAE后续的流动、保压和翘曲等有限元模拟分析,而对于曲面的精度允许有一定的误差,因此本文介绍一种基于离散曲面的裁剪方法.所谓离散曲面,是一类采用组成曲面多边形网的点、线、面及其拓扑信息完整的描述曲面.
根据作者的研究和实践,认为基于注塑模CAD/CAE的曲面裁剪主要涉及以下问题:(1)曲面分割;(2)曲面求交;(3)曲面片的裁剪;(4)生成裁剪曲面的自动搜索算法.
2、曲面分割和离散曲面
曲面分割是将任意一自由曲面,按照某一给定的分割算法进行不断的分割加密而成,每一次分割均生成一个比原来的多边形网更加致密的多边形网,其极限曲面是一张光滑曲面.在本文中采用文献[1,2]的分割算法,其中提出了平面度的概念,以平面度作为控制精度,当分割的次数使得多边形网与极限曲面之离差小于控制精度后,就不再细分,这时的多边形网便是一张离散曲面.
3、离散曲面求交
离散曲面的求交实质可归于一些小的平面多边形求交,对于控制精度高的曲面,相应的离散网格便很致密,小的平面片就很多,因此提高求交效率对整个曲面裁剪的效率非常重要.
3.1 曲面数据的存储
曲面的数据存储如图1所示,分别用3个链表形成的网状结构存储曲面(Surface)、网格平面片(Patch)和顶点(Vertex)的数据,这种结构便于数据的查找,并且存储冗余小.如图2所示,一张曲面由n个Patch组成,如果分别存储每一个Patch的顶点信息,则曲面中间的一个结点就会被存储4次,边界上的点也会被存储2次(除角点外).而采用图1所示的存储结构,Vertex链表的结点与图2所示的网格结点一一对应,即只存储一次,而每个Vertex表中的结点与Patch表中的结点则形成一对多的关系。
图1 曲面的数据存储方式
图 2 离散曲面 3.2 求交算法
步骤1. 遍历2个曲面的数据链,获取几何信息,如平面方程、直线方程等.记录每个曲面中Patch之间的相邻关系,供裁剪后自动搜索时用.
步骤2. 由空间坐标信息排除根本不可能相交的Patch对,避免不必要的求交运算,求取有可能相交的Patch的交点.
步骤3. 交点的有效性判断.如图3所示,交点必须同时在Patch1所表示的多边形区域内和 Patch2的一条边界所在的线段内.后者判断很简单,对前者处理本文采用射线法[3].
图3 两平面片相交 步骤4. 交点排序.前面的Patch对相交时,记录下相交线段,便可通过线段顶点比较法将每个Patch内随机求出的交线排序,如图4所示。
图4 平面片求交后交点排序 步骤5. 处理交线通过Patch的顶点或边的特殊情况.
步骤6. 循环处理完2个曲面链表中的每个Patch.
4、曲面裁剪
为了使曲面裁剪具有自动化的能力,即在求交结束后就能自动分为要保留和要裁剪掉的2个部分,然后由用户交互取舍,而且要满足注塑模CAE中网格划分对公共边界的要求,作者设计了一种及时分片法,算法如下:
步骤1. 对裁剪曲面中每个Patch在求交完毕后随即将其分割成2个或多个Patch,不论是2个或多个Patch,必须按一定规则将其分为2类,一类保留,另一类裁剪掉,因而称为及时分片法.如图5所示,一般情况下一个Patch被一分为二,则这2个新生成的Patch自然分为上述2类.但在某些情况下,也可能被分为多个Patch,如图6所示.用逐次二分法将其分解为多个Patch后,本文采用交线包容法,同样可将这多个Patch分为2类,如图7所示.所谓交线包容法是将包含原Patch内所有交线的多边形作为一类,如图7(a)所示,其它的作为另一类,如图7(b)所示。
图 5 1个平面片裁剪后生成2个平面片
图 6 逐次二分法分解平面片
图 7 交线包容法分类 步骤2. 将新生成的Patch加入到Patch链表中,去掉原Patch.
步骤3. 处理如图8所示的特殊情况.一个Patch中出现内环,无法用2个多边形来描述分割后的图形,对这种情况本文采取加密离散网格的方法,避免出现内环。
图 8 平面片内环情况 5、生成裁剪曲面的自动搜索算法
图9为求交后的结果,被裁剪曲面中有一部分Patch是将原Patch裁剪生成的,称为新Patch,如Patch1,2,3,而有一部分是没被裁剪到的,称为原Patch,如Patch4,5,下面分别讨论这2种Patch的搜索算法。
图 9 曲面求交后的搜索 5.1 新Patch的搜索算法
步骤1. 由一个新Patch找到与之具有相邻公共边的新Patch,如图9中由Patch3可找到Patch1,2.
步骤2. 排除不同类的Patch.这里的分类仍按照是裁剪部分或是保留部分来区分,如图9中Patch1和Patch3是由同一个原Patch裁剪后得到的,显然它们是不同类.从步骤1搜索结果中排除Patch1,即由Patch3搜索到Patch2,这样可保证搜索到的Patch为同类,即同为需保留或同为需裁剪掉的部分.
步骤3. 遍历Patch链表中新生成的Patch就能找出全部的同类新Patch.
步骤4. 处理特殊情况.
如图10所示交线经过Patch1,2,3,4的公共顶点,由Patch3按相邻边关系不能直接找到Patch5,对于这种情况,本文在求交过程记录Patch1,4为新Patch,则可用步骤1中统一的相邻边搜索算法,由Patch3→Patch4→Patch5.对交线经过Patch某一边的特殊情况也可作类似处理。
图10 交线通过公共顶点 5.2 原Patch的搜索
由5.1节中已找到的一个新Patch搜索与其有相邻边的原Patch,然后由该Patch的相邻关系即可高效地搜索出所有同类的原Patch,如图9中由Patch3→Patch4→Patch5→….相邻关系在求交过程中获得,由相邻关系搜索避免了循环遍历整个Patch链表,大大提高了搜索效率.
将以上2个搜索过程的结果合并就得到了一类裁剪曲面,相应的另一类裁剪曲面则由剩余的Patch构成,裁剪过程完毕.以上算法对封闭交线仍然适用,如图11所示。
图 11 交线封闭情况的裁剪结果 6、算法评价和图形实例
本算法是以离散曲面为基础,针对两串离散网格链表进行的,因此对于任何曲面,只要经过曲面分割得到离散曲面就可以用本算法进行裁剪.裁剪的准确度依赖于曲面分割的精度和密度.考虑到曲面裁剪的自动性要求,本算法适合于两曲面仅有一条交线的情况,如果交线多于一条,可先把曲面分为几块后再裁剪,如球面开通孔即为这种情况.
该算法应用于注塑模CAD/CAE中的一个显著的优点是便于后续的有限元分析,裁剪后的拼合曲面直接满足公共边界处理的要求,可生成连通的有限元网格,该算法同样也适合于其它产品设计和应用有限元分析的领域.如图12所示的鼠标模型为两曲面经几次裁剪后拼接而成的曲面,图13为鼠标模型的网格划分结果,图14为鼠标模型的流动分析结果(流动前沿的等值线图)。
图 12 曲面裁剪后的鼠标造型
图 13 鼠标模型的网格划分结果 图 14 鼠标模型的流动模拟结果 应用上述算法作者开发出的软件已应用于本实验室的注塑模CAD/CAM/CAE集成系统中,实践证明该算法自动化程度高、速度快,并且稳定可靠。(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(2/24/2005) |
对 CAD/CAM软件 有何见解?请到 CAD/CAM软件论坛 畅所欲言吧!
|