马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛
您需要 登录 才可以下载或查看,没有账号?注册会员
×
5、生成裁剪曲面的自动搜索算法
; ^' H O$ l, z1 Z9 P9 e' j 图9为求交后的结果,被裁剪曲面中有一部分Patch是将原Patch裁剪生成的,称为新Patch,如Patch1,2,3,而有一部分是没被裁剪到的,称为原Patch,如Patch4,5,下面分别讨论这2种Patch的搜索算法.
9 H/ f4 g' v+ L/ l! @( u 2 u0 w7 i* g) u. U# a4 u9 Y
图 9 曲面求交后的搜索 4 T- z1 q9 P) R4 t4 `, [
5.1 新Patch的搜索算法
; ]& q9 G& J+ |0 C8 v5 ?. q( l 步骤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某一边的特殊情况也可作类似处理. ) u" @, _+ @ k& u y% L$ v3 t

7 C( [& y# Q3 P/ p) h$ a% l图10 交线通过公共顶点 ' q& w* r, L- F! ^
5.2 原Patch的搜索
P. q9 t: Z9 @ 由5.1节中已找到的一个新Patch搜索与其有相邻边的原Patch,然后由该Patch的相邻关系即可高效地搜索出所有同类的原Patch,如图9中由Patch3→Patch4→Patch5→….相邻关系在求交过程中获得,由相邻关系搜索避免了循环遍历整个Patch链表,大大提高了搜索效率. 将以上2个搜索过程的结果合并就得到了一类裁剪曲面,相应的另一类裁剪曲面则由剩余的Patch构成,裁剪过程完毕.以上算法对封闭交线仍然适用,如图11所示.
& G1 h2 {/ u. U( }# Y : \, f- }2 e. [, W5 I/ E* o6 Y1 i
图 11 交线封闭情况的裁剪结果
$ [! e" ?& b) z. m6 V6、算法评价和图形实例 8 P, q2 E+ c- f2 I& K0 ~- z
本算法是以离散曲面为基础,针对两串离散网格链表进行的,因此对于任何曲面,只要经过曲面分割得到离散曲面就可以用本算法进行裁剪.裁剪的准确度依赖于曲面分割的精度和密度.考虑到曲面裁剪的自动性要求,本算法适合于两曲面仅有一条交线的情况,如果交线多于一条,可先把曲面分为几块后再裁剪,如球面开通孔即为这种情况. 该算法应用于注塑模CAD/CAE中的一个显著的优点是便于后续的有限元分析,裁剪后的拼合曲面直接满足公共边界处理的要求,可生成连通的有限元网格,该算法同样也适合于其它产品设计和应用有限元分析的领域.如图12所示的鼠标模型为两曲面经几次裁剪后拼接而成的曲面,图13为鼠标模型的网格划分结果,图14为鼠标模型的流动分析结果(流动前沿的等值线图).
" w" F* s( e5 c
7 z: T( J$ |: V. }9 k
! P6 o& O3 {* C$ @* K
. v$ Y; K7 x; L \* y' g$ q, b7 U. B4 g$ U5 N7 ]. w9 K- w/ v0 ?: V" \( ]: I& H9 S3 w( W- @0 T% R* O/ r- A: j2 Y! h8 ~3 E
; B; f- @0 z$ B& j. x( X5 J' ~# v
5 @. ~6 B/ m( l% T! O, _
图 12 曲面裁剪后的鼠标造型 |
% A- ?! {' b6 _; s+ r7 U( T' k- [
5 ^# Q( F% ~% ?( K$ s% ~5 V6 N2 u
图 13 鼠标模型的网格划分结果 |
0 Q3 M4 G$ m* Z- f, Q8 d, V Z 0 ]: ^" V! A$ s! O
图 14 鼠标模型的流动模拟结果 Q. w% L6 u5 O! T. @) n
应用上述算法作者开发出的软件已应用于本实验室的注塑模具CAD/CAM/CAE集成系统中,实践证明该算法自动化程度高、速度快,并且稳定可靠。 ( p, T' B5 E T( U/ P( \
|