马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛
您需要 登录 才可以下载或查看,没有账号?注册会员
×
5、生成裁剪曲面的自动搜索算法 ( h7 I" [9 _1 K+ ]2 c& |9 ?" y. _
图9为求交后的结果,被裁剪曲面中有一部分Patch是将原Patch裁剪生成的,称为新Patch,如Patch1,2,3,而有一部分是没被裁剪到的,称为原Patch,如Patch4,5,下面分别讨论这2种Patch的搜索算法. 0 I1 Z0 \0 L: d' s% X" M& F' V: o% T' w! m
 ( S; z# w& [* Q* l; E
图 9 曲面求交后的搜索 7 C$ A, ?9 t5 z- o
5.1 新Patch的搜索算法 # z" B: e8 i4 F7 H, g& R+ p
步骤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某一边的特殊情况也可作类似处理.
$ B' X# M8 o3 @; n, Q
/ Y0 Q4 k2 P5 M! [' w* I7 ~2 y9 x图10 交线通过公共顶点 ) F4 C9 { E( E3 Z
5.2 原Patch的搜索
" t$ J" K5 Y- i& n* n 由5.1节中已找到的一个新Patch搜索与其有相邻边的原Patch,然后由该Patch的相邻关系即可高效地搜索出所有同类的原Patch,如图9中由Patch3→Patch4→Patch5→….相邻关系在求交过程中获得,由相邻关系搜索避免了循环遍历整个Patch链表,大大提高了搜索效率. 将以上2个搜索过程的结果合并就得到了一类裁剪曲面,相应的另一类裁剪曲面则由剩余的Patch构成,裁剪过程完毕.以上算法对封闭交线仍然适用,如图11所示.
0 i& m; x2 l: D9 d. F+ f% g. r " o# ~$ D( R9 w& ?: r
图 11 交线封闭情况的裁剪结果 ( g+ B, x# v F# K7 d
6、算法评价和图形实例
, z5 K+ x6 f8 `% V4 p 本算法是以离散曲面为基础,针对两串离散网格链表进行的,因此对于任何曲面,只要经过曲面分割得到离散曲面就可以用本算法进行裁剪.裁剪的准确度依赖于曲面分割的精度和密度.考虑到曲面裁剪的自动性要求,本算法适合于两曲面仅有一条交线的情况,如果交线多于一条,可先把曲面分为几块后再裁剪,如球面开通孔即为这种情况. 该算法应用于注塑模CAD/CAE中的一个显著的优点是便于后续的有限元分析,裁剪后的拼合曲面直接满足公共边界处理的要求,可生成连通的有限元网格,该算法同样也适合于其它产品设计和应用有限元分析的领域.如图12所示的鼠标模型为两曲面经几次裁剪后拼接而成的曲面,图13为鼠标模型的网格划分结果,图14为鼠标模型的流动分析结果(流动前沿的等值线图).
1 q& I8 ? _0 A6 z- L
' S2 C' ~ N6 f1 p( u, k" r$ [' H$ |/ U$ e/ v) |
: q& K1 E5 i: F; X
2 @: J' H+ J& B, |6 c/ ~9 e) [; I; X' E8 T1 F1 ]( A% @5 j# e$ Y! ~* ~) j( G1 [1 P" W
7 n- @+ N' {) ?# I' x
/ F- B: `. Z9 I5 ?: g! i" }5 x
图 12 曲面裁剪后的鼠标造型 |
0 m7 y1 P1 d: `( K! C/ P' i5 |4 Y * R4 Q/ u# n; `+ w. p# b( I k
图 13 鼠标模型的网格划分结果 | $ L" L! Y5 r8 b3 J

* D6 B, z: J; x5 x6 C图 14 鼠标模型的流动模拟结果
5 F$ U0 r: K T* j% L 应用上述算法作者开发出的软件已应用于本实验室的注塑模具CAD/CAM/CAE集成系统中,实践证明该算法自动化程度高、速度快,并且稳定可靠。
; p3 o8 x" o" E+ I |