基于注塑模CAD/CAE的自由曲面的裁剪(下)
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt"><STRONG><FONT size=2><FONT face="Times New Roman">5</FONT>、生成裁剪曲面的自动搜索算法</FONT></STRONG></P><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=left><FONT size=2> 图<FONT face="Times New Roman">9</FONT>为求交后的结果,被裁剪曲面中有一部分<FONT face="Times New Roman" size=2>Patch</FONT>是将原<FONT face="Times New Roman" size=2>Patch</FONT>裁剪生成的,称为新<FONT face="Times New Roman" size=2>Patch</FONT>,如<FONT face="Times New Roman" size=2>Patch1</FONT>,<FONT face="Times New Roman" size=2>2</FONT>,<FONT face="Times New Roman" size=2>3</FONT>,而有一部分是没被裁剪到的,称为原<FONT face="Times New Roman" size=2>Patch</FONT>,如<FONT face="Times New Roman" size=2>Patch4</FONT>,<FONT face="Times New Roman" size=2>5</FONT>,下面分别讨论这<FONT face="Times New Roman" size=2>2</FONT>种<FONT face="Times New Roman" size=2>Patch</FONT>的搜索算法<FONT face="Times New Roman" size=2>.</FONT></FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=center><FONT size=2><IMG height=171 alt="t106-4.gif (3349 bytes)" src="http://www.chmcw.com/upload/news/RCL/13220_6loggj1110t106-4.gif" width=158></FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=center><FONT size=2>图 <FONT face="Times New Roman" size=2>9</FONT> 曲面求交后的搜索</FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=left><STRONG><FONT size=2><FONT face="Times New Roman">5.1</FONT> 新<FONT face="Times New Roman" size=2>Patch</FONT>的搜索算法</FONT></STRONG></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=left><FONT size=2> 步骤<FONT face="Times New Roman">1.</FONT> 由一个新<FONT face="Times New Roman" size=2>Patch</FONT>找到与之具有相邻公共边的新<FONT face="Times New Roman" size=2>Patch</FONT>,如图<FONT face="Times New Roman" size=2>9</FONT>中由<FONT face="Times New Roman" size=2>Patch3</FONT>可找到<FONT face="Times New Roman" size=2>Patch1</FONT>,<FONT face="Times New Roman" size=2>2.<BR></FONT> 步骤<FONT face="Times New Roman" size=2>2. </FONT>排除不同类的<FONT face="Times New Roman" size=2>Patch.</FONT>这里的分类仍按照是裁剪部分或是保留部分来区分,如图<FONT face="Times New Roman" size=2>9</FONT>中<FONT face="Times New Roman" size=2>Patch1</FONT>和<FONT face="Times New Roman" size=2>Patch3</FONT>是由同一个原<FONT face="Times New Roman" size=2>Patch</FONT>裁剪后得到的,显然它们是不同类<FONT face="Times New Roman" size=2>.</FONT>从步骤<FONT face="Times New Roman" size=2>1</FONT>搜索结果中排除<FONT face="Times New Roman" size=2>Patch1</FONT>,即由<FONT face="Times New Roman" size=2>Patch3</FONT>搜索到<FONT face="Times New Roman" size=2>Patch2</FONT>,这样可保证搜索到的<FONT face="Times New Roman" size=2>Patch</FONT>为同类,即同为需保留或同为需裁剪掉的部分<FONT face="Times New Roman" size=2>.<BR></FONT> 步骤<FONT face="Times New Roman" size=2>3. </FONT>遍历<FONT face="Times New Roman" size=2>Patch</FONT>链表中新生成的<FONT face="Times New Roman" size=2>Patch</FONT>就能找出全部的同类新<FONT face="Times New Roman" size=2>Patch.<BR></FONT> 步骤<FONT face="Times New Roman" size=2>4. </FONT>处理特殊情况<FONT face="Times New Roman" size=2>.<BR></FONT> 如图<FONT face="Times New Roman" size=2>10</FONT>所示交线经过<FONT face="Times New Roman" size=2>Patch1</FONT>,<FONT face="Times New Roman" size=2>2</FONT>,<FONT face="Times New Roman" size=2>3</FONT>,<FONT face="Times New Roman" size=2>4</FONT>的公共顶点,由<FONT face="Times New Roman" size=2>Patch3</FONT>按相邻边关系不能直接找到<FONT face="Times New Roman" size=2>Patch5</FONT>,对于这种情况,本文在求交过程记录<FONT face="Times New Roman" size=2>Patch1</FONT>,<FONT face="Times New Roman" size=2>4</FONT>为新<FONT face="Times New Roman" size=2>Patch</FONT>,则可用步骤<FONT face="Times New Roman" size=2>1</FONT>中统一的相邻边搜索算法,由<FONT face="Times New Roman" size=2>Patch3</FONT>→<FONT face="Times New Roman" size=2>Patch4</FONT>→<FONT face="Times New Roman" size=2>Patch5.</FONT>对交线经过<FONT face="Times New Roman" size=2>Patch</FONT>某一边的特殊情况也可作类似处理<FONT face="Times New Roman" size=2>.</FONT></FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=center><FONT size=2><IMG height=81 alt="t106-5.gif (685 bytes)" src="http://www.chmcw.com/upload/news/RCL/13220_va6ple1110t106-5.gif" width=87></FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=center><FONT size=2>图10 交线通过公共顶点</FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=left><STRONG><FONT size=2><FONT face="Times New Roman">5.2</FONT> 原<FONT face="Times New Roman" size=2>Patch</FONT>的搜索</FONT></STRONG></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=left><FONT size=2> 由<FONT face="Times New Roman">5.1</FONT>节中已找到的一个新<FONT face="Times New Roman" size=2>Patch</FONT>搜索与其有相邻边的原<FONT face="Times New Roman" size=2>Patch</FONT>,然后由该<FONT face="Times New Roman" size=2>Patch</FONT>的相邻关系即可高效地搜索出所有同类的原<FONT face="Times New Roman" size=2>Patch</FONT>,如图<FONT face="Times New Roman" size=2>9</FONT>中由<FONT face="Times New Roman" size=2>Patch3</FONT>→<FONT face="Times New Roman" size=2>Patch4</FONT>→<FONT face="Times New Roman" size=2>Patch5</FONT>→…<FONT face="Times New Roman" size=2>.</FONT>相邻关系在求交过程中获得,由相邻关系搜索避免了循环遍历整个<FONT face="Times New Roman" size=2>Patch</FONT>链表,大大提高了搜索效率<FONT face="Times New Roman" size=2>.<BR></FONT> 将以上<FONT face="Times New Roman" size=2>2</FONT>个搜索过程的结果合并就得到了一类裁剪曲面,相应的另一类裁剪曲面则由剩余的<FONT face="Times New Roman" size=2>Patch</FONT>构成,裁剪过程完毕<FONT face="Times New Roman" size=2>.</FONT>以上算法对封闭交线仍然适用,如图<FONT face="Times New Roman" size=2>11</FONT>所示<FONT face="Times New Roman" size=2>.</FONT></FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=center><FONT size=2><IMG height=151 alt="t106-6.gif (4280 bytes)" src="http://www.chmcw.com/upload/news/RCL/13220_nqiqxp1110t106-6.gif" width=120></FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=center><FONT size=2>图 <FONT face="Times New Roman" size=2>11</FONT> 交线封闭情况的裁剪结果</FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=left><STRONG><FONT size=2><FONT face="Times New Roman">6</FONT>、算法评价和图形实例</FONT></STRONG></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=left><FONT size=2> 本算法是以离散曲面为基础,针对两串离散网格链表进行的,因此对于任何曲面,只要经过曲面分割得到离散曲面就可以用本算法进行裁剪<FONT face="Times New Roman">.</FONT>裁剪的准确度依赖于曲面分割的精度和密度<FONT face="Times New Roman" size=2>.</FONT>考虑到曲面裁剪的自动性要求,本算法适合于两曲面仅有一条交线的情况,如果交线多于一条,可先把曲面分为几块后再裁剪,如球面开通孔即为这种情况<FONT face="Times New Roman" size=2>.<BR></FONT> 该算法应用于注塑模<FONT face="Times New Roman" size=2>CAD/CAE</FONT>中的一个显著的优点是便于后续的有限元分析,裁剪后的拼合曲面直接满足公共边界处理的要求,可生成连通的有限元网格,该算法同样也适合于其它产品设计和应用有限元分析的领域<FONT face="Times New Roman" size=2>.</FONT>如图<FONT face="Times New Roman" size=2>12</FONT>所示的鼠标模型为两曲面经几次裁剪后拼接而成的曲面,图<FONT face="Times New Roman">13</FONT>为鼠标模型的网格划分结果,图<FONT face="Times New Roman" size=2>14</FONT>为鼠标模型的流动分析结果(流动前沿的等值线图)<FONT face="Times New Roman" size=2>.</FONT></FONT> </P>
<P></P>
<DIV align=center>
<CENTER>
<TABLE cellSpacing=0 cellPadding=5 width="90%" border=0>
<TBODY>
<TR>
<TD align=middle width="50%">
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt"><FONT size=2><IMG height=198 alt="t107-1.gif (5259 bytes)" src="http://www.chmcw.com/upload/news/RCL/13220_qwqaj41110t107-1.gif" width=246> </FONT>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt"><FONT size=2>图 <FONT face="Times New Roman" size=2>12</FONT> 曲面裁剪后的鼠标造型</FONT></P></TD>
<TD align=middle width="50%">
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt"><FONT size=2><IMG height=141 alt="t107-2.gif (6655 bytes)" src="http://www.chmcw.com/upload/news/RCL/13220_nuvpdr1110t107-2.gif" width=200> </FONT>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt"><FONT size=2>图 <FONT face="Times New Roman">13</FONT> 鼠标模型的网格划分结果</FONT></P></TD></TR></TBODY></TABLE></CENTER></DIV>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=center><FONT size=2><IMG height=160 alt="t107-3.gif (7343 bytes)" src="http://www.chmcw.com/upload/news/RCL/13220_nw1ron1110t107-3.gif" width=200></FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt" align=center><FONT size=2>图 <FONT face="Times New Roman">14</FONT> 鼠标模型的流动模拟结果</FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 17pt"><FONT size=2> 应用上述算法作者开发出的软件已应用于本实验室的注塑模具<FONT face="Times New Roman">CAD/CAM/CAE</FONT>集成系统中,实践证明该算法自动化程度高、速度快,并且稳定可靠。</FONT></P></FONT>
页:
[1]