CAD模型修复的保结构.doc
《CAD模型修复的保结构.doc》由会员分享,可在线阅读,更多相关《CAD模型修复的保结构.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 CAD 模型修复的结构维护摘要有两种主要方法转换镶嵌的 CAD 模型,它们所包含的不一致就像存在于流形封闭三角形网格中的缝隙或自交叉。面向表面算法通过扰乱部分输入尝试修复不一致,但他们往往不能处理特殊情况。另一方面体积算法产生有保证的流形网格,但由于全球重采样大多输入镶嵌结构被破坏。在本文中,我们将结合这两种方法的优点: 我们利用素网格拓扑的简洁性在自交叉和缝隙附近重建一个已清理的表面,但在远离这些不一致的区域保留了输入的镶嵌性。因此,我们能够保留可能存在于输入镶嵌结构的任何特征(即 iso 参数或曲率线)。我们的算法缩小缝隙至用户定义的最大直径,解决自交叉、处理不兼容的补丁取向并生成保持在
2、输入模型容错范围内功能敏感的流行输出。简介今天CAM生产环境的一个共同难题具有不同的几何表现,它一方面采用CAD系统,另一方面采用下游应用程序。 而CAD系统通常代表一个模型通过一套被整理的NURBS补丁或其他表面基元(可能是从CSG代表提取的),下游应用程序如计算流体或结构仿真,快速原型和依靠封闭一致的流形三角形网格作为输入流的数控加工。从一个到另一个表示的转换不仅要考虑时间是一个主要瓶颈,而且也要考虑输出的准确性和质量,这直接影响所有后续生产阶段。常见的镶嵌算法可以有效准确地将单一表面基元转换成三角形网格,但通常不能处理不同原语之间连续性限制或检测和解决交叉几何。这导致工件像缝隙、重叠、交
3、叉或方向不一致的镶嵌补丁一样,往往不得不进行手动修复和繁琐的后处理步骤。由于这个原因,已投入相当的努力使算法能够自动修复这种模型。有两种主要方法转换镶嵌的CAD模型,它们所包含的不一致就像存在于干净流形三角形网格中的缝隙或自交叉。面向表面算法设法明确地计算或识别(子-)补丁,它们是通过临时边界元素缝合在一起的。这些算法输入补丁变化很小,但由于数值问题不能保证输出网格的一致性,因此通常需要用户交互。另一方面体积算法使用一个标志距离网格作为中间表示,能够保证流形重建。不幸的是,由于全球重采样这些算法破坏了输入镶嵌结构。此外,该决议的基础网格限制了重建质量。 在本文中,我们结合这两种方法的优点:我们
4、利用素网格拓扑的简洁性在自交叉和缝隙附近重建一个已清理的表面,但在远离这些不一致的区域保留了输入的镶嵌性。因此,我们是能够保留可能存在于输入镶嵌结构的任何特征(即 iso 参数或曲率线)。我们的算法缩小缝隙至用户定义的最大直径,解决自交叉、处理不兼容的补丁取向并生成保持在输入模型容错范围内功能敏感的流行输出。 其基本思路是,首先确定包含像文物一样的缝隙和重叠的关键区域,然后有选择地在这些地区运用体积重建算法,最后将未修改外部元件加入重建。由于其选择性我们的算法一方面能达到较高的网格分辨率和文物附近的较高的重建质量,另一方面也不会引发全球重建算法的输入的性能开销。图1:我们的算法将镶嵌的 CAD
5、 模型转换成一个无交集和封闭三角形网格,它涵盖所有的差距达到一定规模。左:输入补丁被创建通过由385个修剪NURBS曲面组成的镶嵌CAD模型。中:一个标准体积重建算法在全球重新取样并销毁镶嵌结构。右:我们的算法仅在本地文物附近重新取样比如缺口和交叉点,因此保留了大部分输入镶嵌。2.前期工作基于表面算法直接在输入镶嵌上工作并使用大量技术来检测和解决文物。这些技术包括,例如:相互捕捉边界元素,投影和插入边界边成面,明确计算面之间的交叉,补丁之间正常领域的传播BW92,BS95,BDK98,GTLH01,MD93,小块补丁拼接缝隙TL94,Lie03,通过识别和切割处理GW01解决拓扑噪声等。 基于
6、表面的方法只能在文物附近小范围地区修改输入的几何形状。因此,尽可能保留输入镶嵌。然而,这些方法通常不能提供任何输出质量担保:有可能没有全球一致的定位输入补丁,一些文物比如重叠几何或“双墙”很难处理; 交叉点是很难发现和解决的; 这是由于一个健全和有效实施的数值问题是一项挑战。 面向体积的方法转换成输入体积的表示,即一个标志距离领域或定向网格的距离 NT03,Ju04,FPRJ00。从这个立方体表示提取表面使用类似移动立方体LC87,KBSS01或双轮廓Gib98,JLSW02,Ju04技术。体积技术生产保证流形输出。此外,拓扑文物和孔可以使用不同的过滤器操作轻松删除ABA02,DMGL02,N
7、T03。算法 我们算法的输入是一个镶嵌的CAD模型M0 = P1,Pn它由n个元素Pi组成。每个元素Pi是一个流形三角形网格,并通过元素的ID i唯一识别。此外,规定误差极限e0和最大直径误差g0。输出是一个无交集的封闭三角形网格 T,它接近M0达到最大误差e0并且所有缝隙的直径 = g0。我们的算法进行几个阶段 (见图 2):转换 M0 到封闭网格 M (第 3.1)确定一个关键点的集合封闭所有的交叉点和所有直径缝隙 (第 3.2)使C削减至一个最小的集合(第3.3)将 C0 转变为关键顶点集合 D ,它封闭所有缝隙和所有交叉 (第 3.4 )对D削减M(第3.4)在D 内几何模型的重建(第
8、3.5)7. 后处理,以减少输出的复杂性(第3.6) 1.输入修补程序 2关键点 3.关键的单元格 4.剪辑 5.初试. 重建 6.结果图 2:我们算法的阶段。 输入修补程序通常像展览文物的缝隙和交叉 (1)我们确定一 (较大)关键点,在附近围绕这些文物 (2)然后将这些顶点转换为一组(较小)的关键单元格(3) 输入被剪切的关键单元格的修补程序(4),单元格的内部重新构造使用变量行进的立方体算法 (5)初步重建,然后将之简化,获得最后的结果 (6)请注意,请注意几何模型远离文物不受我们的重建算法的影响,因此任何结构中,输入修补程序是完好的。3.1.安装程序 下面我们假定二不失一般性,对输入模型
9、进行缩放和翻译,这样的错误误差e0= 1,并且一个整数网格的范围使M0对于某些 k是封闭的。注意:格子的大小就等于误差差值e0。我们还假设给出最大差距直径g0 = 2g, g为正整数。我们经常通过网格顶点或网格单元格的小的集合将数据相关联。为提高内存效率,这些数据被存储为深度为k的八叉树的最优结点。八叉树是自适应改进需求的,例如当我们访问网格顶点或网格单元格时。对于每一个修补程序,通过复制Pi和扭转每个三角形的方向设定一个镜像修补程序。然后我们沿着三角形的交界的共同边Si合并Pi和。增量是一个新的封闭的修补程序Qi它通过共同边表示Pi。我们在新模型中集合新的修补程序。注意:M是封闭的,但对于
10、M0仍包含在的同一文物中。还要注意的是,以此构筑的算法输入的修补程序方向不变。如果事实证明,由此产生的“双墙“没有必要保证主结构的重建,他们将在后处理阶段被删除,见第3.6节。3.2.关键区域接着我们计算一个关键网格顶点的集合Cg。我们认为,这些关键点作为颗粒填充两个或多个修补程序M的空区域使之更接近2g。这些关键的地区包括所有直径=2g的缝隙,特别是所有不同修补程序的交点。该算法的后期将提取面之间的关键和非关键顶点来创建表面修补程序,实际上缩小了缝隙并解决了交叉。 如果是由两个或多个修补程序M 相交的我们认为网格顶点是模糊的。如果 v 是一个模糊顶点,我们设置所有关键顶点 即。图 3 显示了
11、M的一些配置和相应的模糊关键顶点。图 3: 示例配置。 一些修补程序的配置如上显示。请注意,每个修补程序是一个封闭的三角形网格。这些关键点作为颗粒填充两个或多个修补程序M的空区域使之更接近2g。切口有效提供附近子像素的准确性。模糊顶点利用一个深度为k的(临时)八叉树能够有效地定位。我们通过类似最优级八叉树节点的中心的整数坐标转移的八叉树的起点,即它们对应的网格顶点。如果n是八叉树的一个节点,我们通过表示八叉树的中点,表示八叉树的深度。因此,如果 n 是一个 最优级节点 (dn = k) 我们要检查是否通过两个或多个不同修补程序的相交。我们的想法是建立一个和八叉树层次结构相匹配的盒子嵌套层次结构
12、。因此,如果 n 是一个内部八叉树节点,那么包含所有子节点n的盒子Box(n)会被选定。一个简短的计算表明,通过让该属性是满足的。特别注意,一个三角形相交框中的一个最优级节点 n 也会和所有祖先 n 的框相交。我们现在以递归方式向每个三角形M插入八叉树用一个类似Ju Ju04的算法。从根节点开始,一个三角形被插入一个节点n如果它与Box(n)相交。这可以使用分离轴定理GLM96有效地进行测试。如果一个节点 n 包括的三角形属于不同的修补程序,n被拆分,三角形被分发给其子节点。最后,中心的每个属于两个或多个修补程序的三角形的最优级节点n表示一个模糊顶点。 为了提高附近关键区域的解决方案,我们还计
13、算出每个关键顶点从拍摄光线M沿着坐标轴的直线距离(图3)。幸运的是,我们建立了上面的临时八叉树已经提供了一个空间搜索结构来加快射线模型相交测试。如果我们发现一个单位距离内的交叉点,我们用顶点v组成三元组,以为方向,以为距离作为切口。这些切口将在以后用于几何结构体中所有点的重采样。数字显示,切口用小箭头附加到v并指向方向 d来举例说明,请参见图 3。3.3.侵蚀 在前一阶段我们计算一个集 的关键顶点,我们认为是填补所有缝隙的粒子。算法的后期将提取边界C 创建表面修补程序,实际上缩小这些缝隙并解决了交叉。由于这些填充应尽可能少的改变M,所以C应该尽可能的小。因此我们通过填充所有空隙的最小集 替换
14、C。我们通过对 C应用拓扑维护侵蚀算子得到 ,即我们从简单的 C开始先后删除关键顶点。(请注意我们只能删除关键顶点但不是切口)。直观地,一个顶点称为简单点,如果删除不会更改拓扑结构 C,即如果它不创建或处理新的连接组件。简单点的确切定义,以一种有效的方法确定一个顶点是否简单是从其 26 个邻居BK03 中确定的。然而,我们必须考虑,在我们的例子中切口代表物质,而在BK03切口代表空白区域。我们的过程如下:对于每个关键顶点V,我们计算它到边界的距离d(v)。如果v有一个非关键邻域,我们令d(v) = 0。其他关键点距离的计算是通过在代表切口的上距离变换实现的,即距离不会在一个切点上传送。然后,我
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAD 模型 修复 结构
限制150内