首页 / 专利库 / 建筑物 / 自动建模 / B-REP皮肤的3D设计

B-REP皮肤的3D设计

阅读:795发布:2020-05-08

专利汇可以提供B-REP皮肤的3D设计专利检索,专利查询,专利分析的服务。并且本 发明 尤其涉及一种用于设计表示机械部件的3D建模对象的方法。所述方法包括在CAD系统处提供表示机械部件的B-Rep 皮肤 。所述B-rep皮肤具有包括边界面的B-rep部分。所述方法还包括通过与所述CAD系统的图形用户交互来定义曲面,以及由所述CAD系统自动构造B-rep替换。所述方法还包括通过所述B-rep替换来在B-Rep皮肤中替换所述B-rep部分。在设计B-Rep皮肤时,这提供了“替换面”功能。,下面是B-REP皮肤的3D设计专利的具体信息内容。

1.一种用于设计表示机械部件的3D建模对象的计算机实现方法,所述方法包括:
-在CAD系统处提供(S10,S30)表示所述机械部件的B-Rep皮肤,所述B-rep皮肤具有B-rep部分,其包括:
■由所述B-rep皮肤的一个或多个边界边定界的边界面,以及
■在所述B-rep皮肤的相应内部边处,每个都所述边界面相邻的一个或多个第一面;
-通过与所述CAD系统的图形用户交互来定义(S20)曲面;
-由所述CAD系统自动构造(S40)B-rep替换,所述构造(S40)包括:
○创建(S410)每个都所述边界面相邻并且由所述B-rep皮肤的相应边界边定界的一个或多个第二面;
○生成(S420)B-rep组件,其包括:
■每个都所述曲面共点的一个或多个第三面,每一个第三面都具有一个或多个边,每一个第三面的每一个边都在所述B-rep组件的内部,
■每个都相应第一面共点并且与相应第三面相邻的一个或多个第四面,以及■每个都相应第二面共点并且与相应第三面相邻的一个或多个第五面;并且○从所述B-rep组件中移除(S430)每一个第五面;以及
-通过所述B-rep替换,在所述B-Rep皮肤中替换(S50)所述B-rep部分。
2.根据权利要求1所述的方法,其中,所述创建(S410)包括加厚所述B-rep部分。
3.根据权利要求2所述的方法,其中,所述加厚包括:
-确定(S4110)所述B-rep部分的B-rep偏移;
-构建(S4120)将所述B-rep偏移连接到所述B-rep部分的一个或多个侧面;以及-根据所述一个或多个侧面确定(S4130)所述一个或多个第二面。
4.根据权利要求3所述的方法,其中,所述一个或多个侧面包括一个或多个侧面带状面,每一个侧面带状面都由所述B-rep部分的相应边界边和所述B-rep偏移的相对应的边界边定界,每一个侧面带状面都与所述边界面相邻并且由所述B-rep皮肤的形成相应第二面的相应边界边定界。
5.根据权利要求4所述的方法,其中,形成相应第二面的每一个侧面带状面由直纹面支撑
6.根据权利要求5所述的方法,其中,所述直纹面具有类型 其中,L
(w,t)=S(u(w),v(w))+tδN(u(w),v(w)),其中:
-S是针对参数u和v定义的F的支撑曲面,其中,F是由所述相应边界边定界的B-rep部分的面,
-δ是偏移值,
-N(u,v)是针对所述参数u和v定义的S的法向向量,其中,是通过
针对所述参数u和v定义的 的支撑曲面,其中, 是由所
述相对应的边界边定界的B-rep偏移的面,
-w是使得 是支撑所述相应边界边的3D曲线的参数,并且
-t是参数t∈[0,1]。
7.根据权利要求6所述的方法,其中,所述机械部件包括弯曲和/或冲压的平面片材。
8.根据权利要求2至7中的任一项所述的方法,其中,所述边界面完全位于所述曲面的相应侧上,所述加厚在与所述曲面相反的方向上执行。
9.根据权利要求8所述的方法,其中:
-所述方法还包括在提供(S30)所述B-Rep皮肤之前,提供(S10)表示所述机械部件的初始B-Rep皮肤,所述初始B-Rep皮肤具有初始边界面;
-所述曲面将所述初始边界面划分为若干边界子面,相应边界子面形成所述B-Rep部分的边界面;
-提供(S30)所述B-Rep皮肤包括将所述初始B-Rep皮肤划分(S320)成若干B-Rep子皮肤,相应B-Rep子皮肤形成所述B-Rep皮肤,
-每一个其它B-Rep子皮肤都具有相应B-Rep部分,所述B-Rep部分包括由所述其它B-Rep子皮肤的一个或多个边界边定界的相应边界子面,并且
-针对每一个其它B-Rep子皮肤,相对于其相应B-Rep部分执行所述构造(S40)和所述替换(S50)。
10.根据权利要求1至9中的任一项所述的方法,其中,所述生成(S420)包括:
-分别通过外推和/或修整所述曲面来产生一个或多个第三面,
-分别通过外推和/或修整所述相应第一面的支撑曲面来产生一个或多个第四面,和/或
-分别通过外推和/或修整所述相应第二面的支撑曲面来产生一个或多个第五面。
11.根据权利要求10所述的方法,其中,外推曲面包括:
-当所述曲面是具有2D参数域的规范曲面时,扩展所述2D参数域;
-当所述曲面是具有定义用于扫掠平面轮廓的3D运动的输入元素的过程曲面时,外推所述输入元素;和/或
-当所述曲面是自由形式曲面时,连续地扩展曲面曲率
12.根据权利要求1至11中的任一项所述的方法,其中,所述机械部件是:
-汽车部件、航空部件、消费品部件、防御部件、建筑部件、造船部件、采矿工业部件、海洋和近海部件、或工业装备部件,
-薄的部件,和/或
-复合部件、塑料模型化部件、或冲压部件。
13.一种包括用于执行根据权利要求1-12中的任一项所述的方法的指令的计算机程序
14.一种在其上记录有根据权利要求13所述的计算机程序的非暂时性数据存储介质。
15.一种CAD系统,其包括耦合到存储器的处理器和图形用户界面,所述存储器在其上记录有根据权利要求1所述的计算机程序。

说明书全文

B-REP皮肤的3D设计

技术领域

[0001] 本发明涉及计算机程序和系统的领域,并且更具体而言,涉及用于设计表示机械部件的3D建模对象的方法、系统和程序。

背景技术

[0002] 市场上提供了许多用于对象设计、工程和制造的系统和程序。CAD是计算机辅助设计的首字母缩写,例如它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写,例如,它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是用于计算机辅助制造的首字母缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在技术效率方面起着重要作用。这些技术可以嵌入在产品生命周期管理(PLM)系统中。PLM指的是一种业务战略,它可以帮助公司分享产品数据,应用通用流程,并利用企业知识从概念到生命结束,在扩展企业的概念上开发产品。Dassault Systèmes(商标为CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心以及实现企业集成和连接到工程中心和制造中心的企业中心。所有这些系统一起交付了一个开放对象模型,将产品、流程和资源联系起来,以实现动态的、基于知识的产品创建和决策支持,其推动优化的产品定义、制造准备、生产和服务。
[0003] 许多现有的CAD系统允许设计者经由图形用户交互以用边界表示(B-Rep)格式对机械部件进行建模。在该框架中,用户交互的人体工程学尤为重要。由于这个原因,一些CAD系统提供其中用户可以定义用于替换B-Rep体的给定面(即闭合的B-Rep)的曲面,然后系统自动更新B-Rep体,使得将给定面替换为根据定义的曲面创建的新的面。特别是分布在旗下商标Onshape、SolidEdge和ProEngineer中的软件解决方案。
[0004] 然而,仍然存在对在设计B-Rep皮肤(即,开放的B-Rep)时提供这种功能的CAD系统的需要。

发明内容

[0005] 因此,提供了一种用于设计表示机械部件的3D建模对象的计算机实现方法。所述方法包括在CAD系统处提供B-Rep皮肤。所述B-Rep皮肤表示机械部件。所述B-rep皮肤具有B-rep部分。所述B-Rep部分包括由所述B-rep皮肤的一个或多个边界边定界的边界面,以及在所述B-rep皮肤的相应内部边处每个都所述边界面相邻的一个或多个第一面。所述方法还包括通过与所述CAD系统的图形用户交互来定义曲面。所述方法还包括由所述CAD系统自动构造B-rep替换。所述构造包括创建一个或多个第二面,所述一个或多个第二面每个都所述边界面相邻并由所述B-rep皮肤的相应边界边定界。所述构造还包括生成B-rep组件。所述B-rep组件包括每个都所述曲面共点的一个或多个第三面。每一个第三面都具有一个或多个边。每一个第三面的每一个边都在所述B-rep组件的内部。所述B-rep组件还包括每个都相应第一面共点并且与相应第三面相邻的一个或多个第四面。所述B-rep组件还包括每个都相应第二面共点并且与相应第三面相邻的一个或多个第五面。所述构造还包括从B-rep组件中移除每一个第五个面。所述方法还包括通过用B-rep替换,来在B-Rep皮肤中替换B-rep部分。
[0006] 当通过与CAD系统的图形用户交互来设计表示机械部件的B-Rep皮肤时,这种方法改善了人体工程学。
[0007] 值得注意的是,所述方法允许用户交互,其中用户以图形方式定义曲面,并且CAD系统自动构造针对B-Rep皮肤的B-rep部分的B-Rep替换。由于一个或多个第三面每个都该曲面共点,因此所述方法直观且符合人体工程学,因为用户在定义曲面时直接定义最终是结果的一部分的几何形状。并且由于一个或多个第四面每个都相应第一面共点并且与相应第三面相邻,因此该方法构造了B-Rep替换,该B-Rep替换与B-Rep皮肤的初始几何形状一致,换句话说具有初始几何形状最小的变化。
[0008] 另外,所述方法特别适用于B-Rep皮肤情况的这种构造,因为即使B-rep部分包括边界面,换句话说,由B-rep皮肤的一个或多个边界边定界的面,所述方法也可以执行。为此,所述方法创建每个都边界面相邻并由B-rep皮肤的相应边界边定界的一个或多个第二面。然后,在生成期间,一个或多个第二面与一个或多个第一面类似地处理,即,以便产生每个都相应第二面共点并且与相应第三面相邻的一个或多个第五面。这为所述方法提供了鲁棒性。并且当要替换的面被相邻的面(第一面和第二面)围绕时,可以根据用户的意图以鲁棒的方式执行第三面、第四面和第五面的生成。
[0009] 此外,第一面和第二面的这种类似处理使得该功能易于编程以在要替换的面是B-Rep皮肤的边界面的方法的情况下以及在要替换的面是B-Rep皮肤或B-Rep体的内曲面的情况下均有效。实际上,该程序可以简单地包括测试用于运行一个或多个第二面的创建和/或不创建一个或多个第二面以及生成和移除一个或多个第五面的条件,当要替换的面是由一个或多个边界边形成的边界面时,该条件为肯定,否则为否定。该程序可以以相同的方式运行其它模,而不管条件是肯定还是否定。这样的程序可以适于所有情况,因为可以像在方法中那样作为输入替换B-Rep皮肤的边界面或B-Rep皮肤的内曲面或B-Rep体的内曲面。
[0010] 所述方法可以包括以下中的一项或多项:
[0011] -创建包括加厚B-rep部分;
[0012] -加厚包括确定B-rep部分的B-rep偏移,构建将B-rep偏移连接到B-rep部分的一个或多个侧面,以及根据一个或多个侧面确定一个或多个第二面;
[0013] -一个或多个侧面包括一个或多个侧面带状面,每一个侧面带状面都由B-rep部分的相应边界边和B-rep偏移的相对应的边界边定界,每一个侧面带状面都与边界面相邻并由形成相应第二面的B-rep部分的相应边界边定界;
[0014] -形成相应第二面的每一个侧面带状面由直纹面支撑
[0015] -所述直纹面具有类型 其中,L(w,t)=S(u(w),v(w))+tδN(u(w),v(w)),其中:S是针对参数u和v定义的F的支撑曲面,其中,F是由相应边界边定界的B-rep部分的面,δ是偏移值,
[0016] -N(u,v)是针对参数u和v定义的S的法向向量,其中,是通过针对参数u和v定义的 的支撑曲面,其中, 是由相对应的边界边定
界的B-rep偏移的面,w是使得 是支持相应边界边的3D曲线的参数,
并且t是参数t∈[0,1]。
[0017] -所述机械部件包括弯曲和/或冲压的平面片材;
[0018] -所述边界面完全位于所述曲面的相应侧上,所述加厚在与所述曲面相反的方向上执行;
[0019] -所述方法还包括在提供(S30)B-Rep皮肤之前,提供(S10)表示所述机械部件的初始B-Rep皮肤,所述初始B-Rep皮肤具有初始边界面,所述曲面将所述初始边界面划分为若干边界子面,相应边界子面形成所述B-Rep部分的边界面,对所述B-Rep皮肤的提供包括将所述初始B-Rep皮肤划分成若干B-Rep子皮肤,相应B-Rep子皮肤形成所述B-Rep皮肤,每一个其它B-Rep子皮肤都具有相应B-Rep部分,所述B-Rep部分包括由所述其它B-Rep子皮肤的一个或多个边界边定界的相应边界子面,并且针对每一个其它B-Rep子皮肤,相对于其相应B-Rep部分执行构造和替换;
[0020] -所述生成包括:分别通过外推和/或修整所述曲面来产生一个或多个第三面,分别通过外推和/或修整所述相应第一面的支撑曲面来产生一个或多个第四面,和/或分别通过外推和/或修整所述相应第二面的支撑曲面来产生一个或多个第五面。
[0021] -外推曲面包括:当所述曲面是具有2D参数域的规范曲面时,扩展所述2D参数域;当所述曲面是具有定义用于扫掠平面轮廓的3D运动的输入元素的过程曲面时,外推所述输入元素;和/或当所述曲面是自由形式曲面时,连续地扩展曲面曲率;和/或
[0022] -所述机械部件是:汽车部件、航空部件、消费品部件、防御部件、建筑部件、造船部件、采矿工业部件、海洋和近海部件、或工业装备部件,薄的部件,和/或复合部件、塑料模型化部件、或冲压部件。
[0023] 还提供了一种包括用于执行所述方法的计算机程序。
[0024] 还提供了一种在其上记录有所述计算机程序的非暂时性数据存储介质。
[0025] 还提供了一种CAD系统,其包括耦合到存储器的处理器和图形用户界面,所述存储器在其上记录有所述计算机程序。附图说明
[0026] 现在将通过非限制性示例的方式并参考附图来描述本发明的实施例,其中:
[0027] -图1-7显示了可以通过该方法设计的机械部件的示例;
[0028] -图8显示了系统的图形用户界面的示例;
[0029] -图9显示了系统的示例;
[0030] -图10-16示出了B-Rep格式;
[0031] -图17-19示出了在B-Rep体上的“替换面”操作;
[0032] -图20-22示出了利用通过所述方法解决的B-Rep皮肤“替换面”的操作的问题;
[0033] -图23显示了所述方法的示例的流程图;以及
[0034] -图24-47示出了所述方法。

具体实施方式

[0035] 该方法是计算机实现的。这意味着该方法的步骤(或基本上所有步骤)由形成CAD系统的至少一台计算机执行。因此,该方法的每一个步骤都可能由CAD系统的处理器完全自动执行,或者经由用户-交互执行。在示例中,可以通过用户-交互来执行该方法的步骤中的至少一些步骤的触发。
[0036] CAD系统可以包括耦合到存储器的处理器和图形用户界面(GUI),该存储器在其上记录了包括用于执行该方法的指令的计算机程序。存储器还可以存储数据库。存储器是适于这种存储的任何硬件,可能包括若干物理上不同的部分(例如,一个用于程序,而可能一个用于数据库)。CAD系统可以包括用于图形用户界面的显示单元,以向例如该方法的用户显示任何信息。
[0037] 例如,可以经由用户交互来执行对B-Rep皮肤的提供。用户可以通过与CAD系统的图形用户交互从草图(scratch)开始设计初始B-Rep皮肤,和/或取回已经设计的初始B-Rep皮肤,还可以选择性地通过与CAD系统的图形用户交互来编辑取回的初始B-Rep皮肤。然后,用户可以通过与CAD系统的图形用户交互来定义曲面。这可以在用户启动系统的相应功能之后执行,例如通过菜单选择和/或图形和/或键盘输入来专执行该方法(例如“替换面”功能)。输入到该方法的B-Rep可以是这样的初始B-Rep(可选地被编辑),或者如稍后所讨论的,由所述初始B-Rep的划分而产生的B-Rep子皮肤,其可以被自动执行。在两种情况下,B-rep替换的构造都是由CAD系统自动执行的,使得用户无需干预。通过B-rep替换来替换B-rep部分可以自动执行。所述替换可以自动地遵循构造,或者例如在自动向用户显示显示结果的预览并且用户验证所述结果之后由用户触发。
[0038] 在定义几何对象的上下文中通过“图形用户-交互”仅是指CAD系统的通用图形设计能。因此,这意味着在设计者采用触觉系统(例如,鼠标或触摸设备,诸如敏感/触摸屏或敏感/触摸板)来激活在显示单元上所表示的设计场景以及要放置几何对象的一个或多个位置的任何用户-交互。激活场景的位置可以包括在其上定位鼠标的光标或在其上执行触摸。在激活之后基本上实时地显示几何对象的至少一部分。具体地,曲面的定义可以包括在显示B-Rep皮肤的同时用户与显示B-Rep皮肤的场景进行图形交互,以便相对于B-Rep皮肤定位和可视化该曲面。因此,CAD系统向定义曲面的用户提供视觉反馈
[0039] 该方法通常操纵建模对象。建模对象是由存储在例如数据库中的数据定义的任何对象。通过扩展,表达式“建模对象”代表数据本身。根据系统的类型,可以通过不同种类的数据来定义建模对象。该系统实际上可以是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任何组合。在那些不同的系统中,建模对象由相对应的数据定义。因此,可以说CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统并不是彼此排斥的,因为可以由与这些系统的任何组合相对应的数据来定义建模对象。因此,系统很可能既是CAD又是PLM系统。
[0040] CAD系统另外意味着至少适于基于建模对象的图形表示来设计建模对象的任何系统,诸如CATIA。在这种情况下,定义建模对象的数据包括允许表示建模对象的数据。CAD系统可以例如使用边或线(在某些情况下利用面或曲面)来提供CAD建模对象的表示。线、边或曲面可以以各种方式表示,例如,非均匀有理B样条(NURBS)。具体地,CAD文件包含可以从其中生成几何图形的规范,又允许生成表示的规范。建模对象的规范可以存储在单个CAD文件或多个CAD文件中。表示CAD系统中建模对象的文件的典型大小在每部件1MB的范围内。并且建模对象通常可以是数千个部件的组合。
[0041] 在CAD的上下文中,建模对象通常可以是3D建模对象。“3D建模对象”是指由允许其3D表示的数据进行建模的任何对象。3D表示允许从所有度查看部件。例如,当3D建模对象被表示3D时,可以处理3D建模对象并围绕其轴线中的任一轴线或围绕其上显示表示的屏幕中的任何轴来旋转该3D建模对象。这特别不包括2D图标,2D图标不是3D建模的。3D表示的显示有助于设计(即,提高设计者统计完成任务的速度)。由于产品的设计是制造过程的一部分,因此可以加快工业中制造过程的速度。
[0042] “机械部件”意味着在其虚拟设计(例如,利用CAD软件解决方案或CAD系统)完成后,在现实世界中要制造的任何产品或产品的一部分。机械部件可以是部件(例如,移动机构)的组件、单个刚性部件、或刚性部件的一部分。针对模型对象“表示机械部件”在此意味着模型对象的几何形状表示机械部件的一个或多个A类曲面的材料的空间分布,所定义的A类曲面是最终用户可见的虚拟产品的外部曲面。具体地,B-Rep皮肤可以至少部分地(例如,完全地)表示机械部件的材料包络线(即,机械部件的外部皮肤的至少一部分)。
[0043] CAD软件解决方案允许在各种无限的工业领域中设计产品,包括:航空航天、建筑、建造、消费品、高科技设备、工业装备、运输、船舶和/或海上油/气生产或运输。因此,由该方法设计的3D建模对象可以表示可以是任何机械部件的工业产品,诸如陆地车辆的一部分(包括汽车和轻型卡车装备、赛车、摩托车、卡车和汽车装备、卡车和公共汽车、火车)、空中飞行器的一部分(包括例如机身装备、航空航天装备、推进装备、国防产品、航空装备、太空装备)、海军交通工具(naval vehicle)的一部分(包括例如海军装备、商业船舶、海上装备、游艇和工作船、船舶设备)、通用机械部件(包括例如工业制造机械、重型移动机械或装备、安装的装备、工业装备产品、金属制品、轮胎制造产品)、机电或电子部件(包括例如消费类电子产品、安全和/或控制和/或仪表产品、计算和通信装备、半导体、医疗设备和装备)、消费品(包括例如家具、家庭和花园产品、休闲用品、时尚产品、硬商品零售商的产品、软商品零售商的产品)、包装(包括食品和饮料和烟草、美容和个人护理、家用产品包装)。
[0044] 机械部件可以特别地是汽车部件(即,机动车(automotive)/汽车的机械部件)、航空部件(即,诸如卫星之类的航空航天器的机械部件)、消费品部件(即,可以设置在架子上和/或包装和购买的产品或者产品的一部分)、防御部件(即,用于防御的车辆或实际物体的机械部件)、建筑部件(即,诸如建筑的墙壁或整个建筑之类的建筑对象的一部分)、造船部件、海洋和近海部件(例如,在海上石油平台上使用)、采矿工业部件(即,用于采矿的装备的机械部件)、或工业装备部件(诸如制造机械部件)。这样的机械部件确实很好,通常以B-Rep皮肤为表示。附加地或替代地,机械部件可以是薄部件。薄部件是可以通过形成初始的钣金材料而获得的机械部件。金属板厚度的大小可以大于0.1mm和/或小于10mm,例如1mm的量级,和/或尺寸可以大于0.1m×0.1m和/或小于10m×10m,例如1m×1m的量级。B-Rep皮肤很好地表示了这种机械部件,因为其厚度可以忽略不计。附加地或替代地,机械部件可以是复合部件、塑料建模部件或冲压部件。这样的机械部件确实很好,通常以B-Rep皮肤为表示,而且它们通常是薄部件。此外,许多汽车部件、航空部件或消费品以这种方式进行制造。
[0045] 图1-7示出了表示可以由该方法进行设计的机械部件的B-Rep皮肤。图1-2显示了表示消费品产品(即洗发瓶)一半的B-Rep皮肤。包括该方法在内,用户可以设计一半,然后启动对称操作器以获得最终的瓶子。图3-4显示了表示汽车部件的B-Rep皮肤。图5-7显示了分别表示复合部件、塑料建模部件和冲压部件的B-Rep皮肤。
[0046] 图8显示了CAD系统的GUI的示例。GUI 2100可以是典型的类似于CAD的界面,具有标准菜单栏2110、2120,以及底部工具栏2140和侧面工具栏2150。如本领域中已知的,此类菜单和工具栏包含用户可选图标集合,每一个图标都与一种或多种操作或功能相关联。这些图标中的一些与软件工具相关联,适于编辑和/或工作在GUI 2100中显示的3D建模对象2000上。软件工具可以被分组为工作台。每一个工作台都包含软件工具的子集。具体地,工作台中的一个是适用于编辑建模产品2000的几何特征的编辑工作台。在操作中,设计者可以例如预先选择对象2000的一部分,然后启动操作(例如,改变维度、颜色等)或者通过选择适合的图标来编辑几何约束。例如,典型的CAD操作是在屏幕上显示的3D建模对象的冲孔或折叠的建模。GUI例如可以显示与显示的产品2000相关的显示数据2500。在附图的示例中,显示为“特征树”的数据2500及其3D表示2000涉及包括制动钳和盘的制动组件。GUI可以进一步显示各种类型的图形工具2130、2070、2080,例如,用于促进对象的3D定向、用于触发对编辑产品的操作的模拟或呈现所显示产品2000的各种属性。光标2060可以由触觉设备控制以允许用户与图形工具进行交互。
[0047] 图9显示了该系统的示例,其中该系统是客户端计算机系统,例如用户的工作站。该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、还连接到总线(BUS)的随机存取存储器(RAM)1070。客户端计算机还被提供有图形处理单元(GPU)
1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM 1100在本领域中也称为缓冲器大容量存储设备控制器1020管理对大容量存储设备(诸如硬盘驱动器1030)的访问。适于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备(诸如EPROM、EEPROM和闪存设备);磁盘(诸如内部硬盘和可移动磁盘);磁光盘;和CD-ROM盘1040。上述内容中的任何内容都可以通过专门设计的ASIC(专用集成电路)进行补充或合并。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,诸如光标控制设备、键盘等。在客户端计算机中使用光标控制设备以允许用户将光标选择性地定位在显示器1080上的任何期望位置。此外,光标控制设备允许用户选择各种命令并输入控制信号。光标控制设备包括多个信号生成设备,用于将控制信号输入到系统。通常,光标控制设备可以是鼠标,该鼠标的按钮用于生成信号。替代地或附加地,客户端计算机系统可以包括敏感垫和/或敏感屏幕。
[0048] 该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行该方法的单元。该程序能够记录在任何数据存储介质上,包括系统的存储器。该程序可以例如以数字电子电路或计算机硬件、固件、软件或它们的组合来实现。该程序可以被实现为有形地体现在机器可读存储设备中以由可编程处理器执行的装置(例如产品)。方法步骤可以通过执行指令程序的可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。因此,处理器可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向数据存储系统、至少一个输入设备和至少一个输出设备传输数据和指令。如果需要,可以以高级过程或面向对象的编程语言或汇编或机器语言来实现应用程序。在任何情况下,该语言都可以是编译语言或解释语言。该程序可以是完整的安装程序或更新程序。在任何情况下,程序在系统结构上的应用都会生成执行该方法的指令。
[0049] “设计3D建模对象”指定任何动作或一系列动作,其是拟定3D建模对象的过程的至少一部分。因此,该方法可以包括根据草图创建3D建模对象。替代地,该方法可以包括提供先前创建的3D建模对象,然后修改3D建模对象。
[0050] 该方法可以包括在制造过程中,该制造过程可以包括,在执行该方法之后,制造形状与建模对象相对应的物理产品。在任何情况下,通过该方法设计的建模对象都可以表示制造对象。因此,建模对象可以是模型化实体(即,表示实体的建模对象)。制造对象可以是产品,诸如部件或部件组合。因为该方法改善了建模对象的设计,所以该方法还改善了产品的制造,从而提高了制造过程的生产率。在示例中,可以将通过该方法设计的3D建模对象输入到可以自动3D打印制造对象的3D打印机
[0051] 尽管边界表示(B-Rep)格式及其方法使用的概念是众所周知的,但现在将对其进行讨论。
[0052] B-Rep模型包括拓扑实体和几何实体。拓扑实体是:面、边和顶点。几何实体是3D对象:曲面、平面、曲线、线、点。
[0053] 根据定义,面是曲面的定界部分,称为支撑曲面。边是曲线的定界部分,称为支撑曲线。顶点是3D空间中的点。它们之间的关系如下。曲线的边界部分由位于曲线上的两个点(顶点)定义。曲面的定界的部分由其边界定义,该边界是位于曲面上的边集合。面的边界的边通过共享顶点连接在一起。通过共享边将面连接在一起。根据定义,如果两个面共享边,则它们在所述边上相邻。同样,如果两个边共享顶点,则它们是相邻的。
[0054] 图10-11示出了由三个面组成的圆柱槽的B-Rep模型:顶部平面和两个侧面圆柱面。图10是槽的立体视图。可见的面、边和顶点均已编号。图11是所有面的分解视图。重复的数字示出边和顶点共享。面1是平面的边界部分。面一的边界包括边4和5,边4和5中的每一个都由顶点10和11形成。它们都具有相同的支撑圆。面2由全部位于无限圆柱曲面上的边6、8、5和13形成。面1和面2相邻,因为它们共享边5。面2和面3相邻,因为它们共享边8和边13。
面1和面3相邻,因为它们共享边4。
[0055] 图12示出了B-Rep模型的“由其定界”拓扑关系。较高层的节点是面,中间层的节点是边,并且较低层的节点是顶点。
[0056] 图13-14示出了拓扑实体(面、边、顶点)与支撑几何图形(无限圆柱、无限平面、无限线、点)之间的关系。
[0057] 在CAD系统中,B-Rep模型在适当的数据结构中收集“由其定界”关系、拓扑实体与支持几何形状之间的关系、以及支撑几何形状的数学描述。
[0058] 现在讨论建模体积和皮肤。
[0059] 根据定义,B-Rep的内部边恰好由两个面共享。根据定义,边界边不共享,它仅对一个面定界。根据定义,边界面入射到至少一个边界边。
[0060] 如果B-Rep的所有边均是内部边,则称其为闭合的。可以说B-Rep是开放的,因为它包括至少一个边界边。图10-14的示例性B-Rep是开放的,因为边6和7是边界边。相反,边4、5、8和13是内部边。如图15-16所示,通过添加由边6和7定界的盘形面14,从该示例获得闭合的B-Rep。
[0061] 闭合的B-Rep用于建模3D体积,因为它定义了空间闭合材料的内部部分。开放的B-Rep用于对3D皮肤进行建模,其是其厚度足够小而可以忽略的3D对象。
[0062] 现在讨论在B-Rep体上的程序的应用(以下也称为“替换面”操作)。
[0063] 在CAD行业中,虚拟3D对象是通过B-Rep模型实现的。非常有用的设计操作是由另一个面替换给定B-Rep的面。这是用于局部更改3D对象形状的有效方法。更准确地,它涉及要设计的对象的B-Rep、该B-Rep的要替换的面以及替换面。该替换面不属于3D对象的B-Rep。如图17所示,CAD系统的目标是将替换面合并到B-Rep。
[0064] 从算法的角度来看,在第一步中,系统可以从B-Rep中移除要替换的面,因此创建如图18中的左图所示的空间。在第二步骤中,可以根据需要外推替换(移除的)面的相邻面,如图18中的中间图所示。如果需要,也可以外推替换面,从而可以进行修整,如图18中的右图所示。在最后一步中,可以修整替换面并将其合并到B-Rep,这将生成3D对象的更新形状。
[0065] 该“替换面”操作的关键步骤是合并步骤。当3D对象是体积时,它由闭合的B-Rep建模,这意味着没有边界边。具体地,被替换的面在任何地方都被相邻面围绕。当用于修整时,这些(外推的)相邻面提供了明确的结果,如图18中的右图所示。这是因为外推面与替换面之间的交叉具有闭环,该闭环定义了要保留的部分和要丢弃的部分,如图19所示。
[0066] 当3D对象是皮肤时,它由具有边界边特征的B-Rep建模。如果被替换的面是边界面,则其边界边中的一些边界便不被任何相邻面共享,如图20中的左图所示。在从B-Rep中移除被替换的面(图20中的中心图),并外推处相邻面(图20中的右图)之后,可用于修整替换面的几何形状不令人满意。
[0067] 这是因为外推面与替换面之间的交叉是开放曲线,该开放曲线未定义任何要保留的部分,如图21-22所示。
[0068] 这使得针对体积设计的“替换面”算法无法更改皮肤边界面的形状(如果不适于此特定情况)。该方法提供了这样的适应并恢复了将替换面合并在皮肤中的闭合的B-Rep情况。这是通过创建一个或多个第二面来完成的,每一个第二面均与边界面相邻并由B-rep皮肤的相应边界边形成。在随后讨论的示例中,可以通过计算通过初始皮肤的偏移的中间体积来执行这样的创建。可以在中间体积上执行“替换面”操作,并且所得体积包括预期形状,可以从中提取所得皮肤。
[0069] 因此,该方法通过提供与体积和皮肤无差别地工作的“替换面”操作,扩展了CAD系统的设计能力。通过避免繁琐的手动解决方案,缩短了设计时间。此外,值得注意的是,在示例中,该方法利用了高级算法:使皮肤和体积上“替换面”变厚。由于这些算法可以独立存在于CAD系统的几何建模库中,因此为这些示例的方法提供了简单可靠的编程方法。
[0070] 工业测试表明,该方法提供的几何形状特别适合于建模对象的进一步设计:修整、与其它皮肤模型合并。
[0071] 现在参考图23讨论该方法的示例。
[0072] 该方法开始于提供S10表示机械部件的一部分或全部的初始B-Rep皮肤。在该示例中,经由用户交互,例如通过用户设计B-Rep来执行提供S10。在其它示例中,初始B-Rep可以被提供为已经-设计的、例如在存储器中取回或从远程计算机接收的。
[0073] 然后,该方法包括例如在用户发起“替换面”操作之后,通过与CAD系统的图形用户交互来定义S20曲面。该曲面可能被限制。例如,该曲面可以由用户定义为B-Rep格式下的一个或多个连接面。该曲面可以选择性地不被限制。例如,用户可以定义曲面而无需指定边界,诸如规范曲面、过程曲面或NURBS,或者用户可以定义面,但是系统可以出于运行算法的目的仅考虑支撑曲面。
[0074] 在示例中,用户可以进一步基于在“替换面”操作内的曲面来指定要替换的初始B-Rep皮肤的至少一个面,例如,在定义S20之前或之后。在替代示例中,CAD系统可以自动地识别打算被替换的B-Rep的至少一个面,例如作为具有距离定义的曲面的最小距离和/或满足任何其它标准的至少一个面。
[0075] 至少一个面可以由一个单面组成,或者替代地包括若干相邻面(例如形成“上述-面”,即,连接面的组件)。以下讨论集中于至少一个面由初始B-rep皮肤的初始边界面组成至少一个面(即,由初始B-rep皮肤的一个或多个初始边界边定界的面)的情况。但是应当注意的是,该算法可以应用于任何其它输入面或面的组。
[0076] 初始边界面是形成初始B-Rep部分的面,其中该初始B-Rep部分具有在初始B-rep皮肤的相应初始内部边处每个都初始边界面相邻的一个或多个第一面。“B-Rep部分”仅意味着表示B-Rep格式的B-Rep皮肤的一部分。第一面可以由CAD系统自动识别,例如,如果需要的话(即,取决于S310的结果)。换句话说,该方法可以自动确定B-Rep部分。
[0077] 然后,该示例的方法包括由系统自动执行的方案S30,用于为一个或多个B-Rep(子)皮肤分别提供相应B-Rep部分,以由后续步骤S40和S50算法独立处理。方案S30允许在S40和S50处替换处理面,该处理面总是完全位于曲面的相应一侧上(即,不与曲面相交)。这为该方法提供了鲁棒性。然而,方案S30是可选的。该方法确实可以在S20之后直接进入S40,或者替代可以禁止方案S30设想并在S310测试的情况。
[0078] 方案S30包括测试S310,在S20处定义的曲面是否将所述初始边界面划分成若干子面(称为“边界”子面)。“划分”意味着曲面与初始边界面相交,并且交叉将初始边界面分成若干部分,每一个部分完全位于曲面的相应侧面上。
[0079] 测试S310可以产生否定结果,这意味着曲面不与初始边界面相交,使得算法可以使用初始B-Rep皮肤的未触摸(即,未划分的)初始B-Rep部分作为单个输入来进行到S40。
[0080] 然而,测试S310可以替代地产生肯定结果,在这种情况下,该方法根据曲面对初始边界面进行划分的方式(即,使用在S310处测试的划分的相同划分位置),将初始B-Rep皮肤划分S320成若干B-Rep子皮肤(即,仅是形成初始B-Rep皮肤的部分的B-Rep皮肤)。然后,该方法针对每一个这样的B-Rep子皮肤确定S330相应B-Rep部分,该B-Rep部分包括由所述B-Rep子皮肤的一个或多个边界边定界的相应边界子面(即,初始边界面的一部分、完全位于曲面的相应侧面上的边界子面。在这种情况下,针对每一个B-Rep子皮肤相对于其各自的B-Rep部分执行构造S40和替换S50。换句话说,每一个B-Rep子皮肤、其相应B-Rep部分和B-Rep部分的相应边界面(初始边界面的子面)都输入到S40和S50,以独立(例如并行)处理。在独立执行S40和S50之后,可以将生成的/更新的/修改的B-Rep子皮肤连接或缝合在一起(例如自动)。
[0081] 该方法在S30之后执行(自动)构造S40和(自动和/或在用户验证之后)(取决于测试S310的结果)替换S50每一个B-Rep子皮肤的B-Rep部分或初始的B-Rep皮肤的B-Rep部分。在示例的方法的以下描述中,讨论了构造S40和替换S50的单次运行,并且在提及B-Rep子皮肤、子-部分和边界子面时,移除了术语“子”。
[0082] 针对输入B-Rep皮肤的输入B-Rep部分的B-rep替换的构造S40包括创建S410每个都边界面相邻并且由B-rep皮肤的相应边界边定界的一个或多个第二面。在示例中,对于B-rep皮肤的每一个边界边(其中边界面不与第一面相邻),创建一个或多个第二面,使得边界面被(第一面和第二面)包围,即,没有自由边的边界面。
[0083] 创建S410可以包括例如在与曲面相反的方向上加厚B-rep部分(由于面完全位于曲面的一侧面上,因此可以在从曲面朝向面的方向上执行加厚,使得无论在哪种情况下加厚产生不与曲面相交的体积)。这提供了从机械的观点来看并以鲁棒的方式最终一致的结果。
[0084] 加厚包括在示例中确定S4110 B-rep部分的B-rep偏移(这仅仅是表示B-Rep格式的B-rep部分的偏移),构建S4120连接B-rep偏移到B-rep部分的一个或多个侧面。可以根据一个或多个侧面将一个或多个第二侧面确定S4130为使得边界面不存在自由边所需的最小侧面集合。在示例中,可以在S4120处构建一个或多个侧面,使得本身形成开放的B-Rep皮肤的B-Rep部分现在形成具有B-Rep偏移和一个或多个侧面的闭合的B-Rep体。在其它示例中,加厚确定了整个B-Rep皮肤的偏移,使得闭合体积由B-Rep皮肤、其偏移以及一个或多个侧面形成。
[0085] 在加厚之后,该方法包括生成S420将替换B-Rep部分的B-rep组件。B-Rep组件仅仅是呈现B-Rep皮肤格式的补丁,其呈现与曲面相同的几何形状,并且当它替换其中的B-Rep部分时可以平滑地缝制到B-Rep皮肤,以使得根据用户意图产生机械上一致的结果。
[0086] B-Rep组件包括一个或多个第三面(例如,一个单个第三面),每一个面与该曲面共点(即,每一个第三面的至少一部分在几何上位于该曲面上),其中每一个第三面都具有一个或多个边,并且每一个第三面的每一个边最终都位于B-rep组件的内部。B-Rep组件还包括一个或多个第四面,每一个都与相应第一面共点(即,每一个第四面的至少一部分在几何上位于相应第一面的支撑曲面上)并与相应第三面相邻,以及一个或多个第五面,每一个第五面都与相应第二面共点(即,每一个第五面的至少一部分在几何上位于相应第二面的支撑曲面上)并与相应第三面相邻。换句话说,B-Rep组件呈现与一个或多个第二面所扩大的B-Rep部分相同的拓扑结构或通用形状,但是B-Rep组件的一部分与曲面在几何上共点,而其一部分与围绕要替换的输入面(最初是边界面)布置的第一面和第二面的环在几何上共点。
[0087] 在示例中,生成S420包括通过外推和/或修整曲面来分别产生一个或多个第三面,通过外推和/或修整相应第一面的支撑曲面来分别产生一个或多个第四面,和/或通过外推和/或修整相应第二曲面的支撑曲面来分别产生一个或多个第五曲面。如果将曲面定义为有限的且不够大,无法通过第四和第五面进行修整,则可以对该曲面进行外推以使修整成为可能。类似地,如果第一面和第二面不够大以使曲面修整它们,则可以外推它们。生成S420因此执行第一面、第二面和第三面的内插,如先前参考图17-19所示。
[0088] 在示例中,从用户体验的角度来看,该曲面由用户定义为新的面,以替代B-Rep皮肤的现有面。就总体尺寸而言,新的面通常与现有面相似,并且新的面被定位与现有面完全分离且大致平行,或者沿单条曲线与现有面相交(因此仅将现有面划分为两个子面)。实际上,如从CAD设计的技术领域已知的,“替换面”操作可以用于对通常可接受的拓扑结构执行轻微调整。新的面的尺寸和位置可以以(多次)外推和(多次)修整产生(一旦执行替换)与要替换的面周围的B-Rep皮肤的初始拓扑相同的拓扑方式进行设计。前文已参考图17-21对此进行了示出。
[0089] 然后,该方法包括从B-rep组件移除S430每一个第五面,以使得B-Rep组件呈现与B-Rep部分相同的拓扑或总体形状,而无需一个或多个第二面。这允许遵守初始拓扑。
[0090] 最终,该方法包括例如在用户验证时在B-Rep皮肤中由B-rep替换来替换S50 B-rep部分。
[0091] 在示例中,从用户交互的角度来看,“替换面”操作可能特别简单。在选定的实体或皮肤(2)上选择实体或皮肤(1),选择(多个)替换面(3),选择替换曲面(4)按OK按钮。没有这种操作的替代方案将是手动切割和组装多个曲面块,这不仅长且繁琐,而且在后验修改和更新的情况下很快变得不稳定。单个特征中的“替换面”操作的标题允许随后对其进行编辑并以明显更稳定的方式对其进行突出显示。
[0092] 现在讨论该方法的实施方式。
[0093] 讨论了皮肤上的“加厚”操作。
[0094] 该方法利用了在皮肤上的所谓“加厚”操作。从设计者的角度来看,该操作将由皮肤建模的零-厚度3D对象更改为由体积建模的厚(或薄)对象。厚度值是用户定义的。原理是计算输入皮肤的偏移。在该方法的上下文中,该偏移指向输入皮肤的一侧。加厚算法的主要步骤可以如图24所示。
[0095] 换句话说,一个或多个侧面可以包括一个或多个侧面带状面。每一个侧向带状面可以由B-rep部分的相应边界边和B-rep偏移的相对应的边界边定界。在这种情况下,与边界面相邻并由B-rep皮肤的相应边界边定界的每一个横向带状面可以形成相应第二面。
[0096] 在示例中,形成相应第二面的每一个横向带状面可以由直纹面支撑。这允许在S410处创建一个或多个第二面,这些第二面从机械的角度来看是相关的,最终导致因此从机械的角度来看是相关的结果(在替换S50之后)。现在讨论用于执行此操作的示例。
[0097] 偏移曲面定义
[0098] 从数学角度来看,给定输入皮肤的面F,给定S的支撑面以及给定δ偏移值,则偏移面的支撑面S被定义为 其中,是曲面S的法线向量。
[0099] 外推值
[0100] 第一步计算输入曲面的外推值,以防止间隙将偏移曲面分开。问题是输入相邻面的偏移曲面可能会分离或相交,取决于偏移值及其相对位置。图25示出了共享锐利边的三个相邻面F1、F2、F3。将它们各自的支撑曲面S1、S2、S3到曲面 偏移产生其中在曲面和 分开的同时曲面 和 相交,这使得进一步对相对应的偏置面 和 的修整成为问题。
[0101] 通过以相应偏移曲面相交的方式外推曲面S1和S2来解决该问题。外推值为αδ,其中α是沿着共享边测量的面F1和F2的法向矢量之间的最大角度。图26示出了曲面S1和S2的适当外推,从而产生相交的偏置曲面S1和S2。
[0102] 计算平行皮肤
[0103] 第二步用于通过使用输入皮肤的偏移(外推)曲面并修整偏移面来计算偏移皮肤。在该步骤之后,已知平行皮肤的几何形状和拓扑,如图27-28所示。
[0104] 边界顶点偏移
[0105] 皮肤的边界顶点通常仅由两个面共享。令F1和F2为入射到(incident to)边界顶点V的面。考虑支撑曲面S1和S2各自的偏移曲面S1和S2及其相交曲线C。从本质上讲,如图27-28所示,该曲线与面F1和F2的偏移边界曲线在点V1和V2处相交。
[0106] 侧面带状面由面F1的边界曲线构建的面L1、由面F2的边界曲线构建的面L2和由顶点V、V1和V2构建的三角形面T以及连接带状面L1和L2构成,如图29所示。
[0107] 侧面带状曲面的几何形状
[0108] 闭合带将输入皮肤的边界与其平行皮肤的边界连接。注意在其支撑曲面S上定义的输入皮肤的边界边 相对应的边界3D曲线是平行皮肤的相对应的边界曲线是
[0109]
[0110] 因此,连接这两个边界曲线的带状曲面是直纹面 其中t∈[0,1],并且
[0111] L(w,t)=S(u(w),v(w))+tδN(u(w),v(w))
[0112] 这种侧面带状曲面的几何形状符合例如在“K.D.Hjelmstad,Fundamentals of Structural Mechanics,Springer,2005”定义的板理论。实际上,通过使用该方法在CAD系统中设计的典型工业部件将通过弯曲或冲压初始的平面片材(通常是薄板)进行制造。根据板理论,垂直于初始板的平均曲面的线通过变形而变为垂直于变形板的参考曲面的线。在通过在带侧面曲面的先前定义中使用曲面法线N的方法的示例中,精确地捕获该特性,如图30所示。这是因为参考曲面的法线向量也是平行于参考曲面的任何曲面的法线向量。实际上,对于任何实数δ,平行曲面的切平面是由向量 和 生成的。它们都垂直于初始曲面S的法线向量N。首先,
然后,由于N和=0的定义=0,因为对于所有u,v都是‖N(u,v)‖2=1,所以与Sv相同。这意味着侧面带状曲面的几何形状是变形板
中的一个,如图30所示。
[0113] 因此,当机械部件包括弯曲和/或冲压的平面片材时,该方法的这样的示例提供了特别准确的结果。实际上,当B-Rep部分表示这种板材的一部分时,创建S410与机械部件的真实形状一致。但是该方法的这些示例在诸如塑料模型化部件或复合部件之类的模型化部件的情况下也提供了良好的近似。
[0114] 现在讨论可以在S420和/或S4110处实现的曲面外推的示例。在这些示例中,外推策略取决于输入曲面的性质:规范曲面、过程曲面或自由形式曲面。
[0115] 典型的曲面是:平面、球体、圆柱体、圆锥体、圆环面。只要正确定义法向矢量,就可以通过扩展[a,b]×[c,d]域来外推它们。例如,圆锥形曲面不应当外推到其顶点之外。
[0116] 通过根据3D运动扫掠平面轮廓来定义过程曲面,3D运动由引导元素定义。过程曲面是挤压曲面、旋转曲面、直纹面和复杂的扫掠曲面。挤压曲面是沿线段扫掠的轮廓。旋转曲面是围绕轴线旋转的轮廓。直纹面 是由两个曲线R(w,t)=C1(w)+t(C2(w)-C1(w))或通过曲面的法向场引导的线段的运动,就像先前定义的侧面带状曲面L(w,t)=S(u(w),v(w))+tδN(u(w),v(w))。
[0117] 如图31所示,通过扩展间隔[0,1],容易地在t方向上外推侧面带状曲面。
[0118] 复杂的扫掠曲面是脊柱曲线和其它元素(曲线或曲面)引导的运动轮廓。通过两个步骤来外推过程曲面。首先,外推输入元素(定义间隔、轮廓、挤出线、旋转角、脊柱曲线、引导元素),其次,从其新的输入中重新计算扫掠曲面。特别地,在其线性方向t上外推直纹面(根据先前的符号)用于扩展相应间隔定义。该过程确保直纹面的外推是另一个直纹面。
[0119] 典型的自由形式曲面是由控制点网格定义的NURBS曲面。可以通过添加控制点来进行外推,如L.Piegl,W.Tiller,The NURBS book,Springer 1996年中所定义的那样,以使输入曲面不变并且与初始NURBS曲面的匹配是连续的曲率的方式。
[0120] 面分类
[0121] 一旦完成加厚操作,所形成体积的B-Rep将包括三种类型的面:输入皮肤的面(称为输入面)、与输入面相邻的新的面(称为侧面(在加厚算法的步骤三中创建)),以及所有其它面,(称为内部面(在加厚算法的步骤二中创建))。图32举例说明了输入皮肤,所形成的厚体积和所有类型的面。
[0122] 侧面和内部面统称为额外面,因为它们由加厚操作所创建。
[0123] 现在呈现一种非相交情况的算法。
[0124] 该方法的原理用于使用适于皮肤区域中的体积的“替换面”操作。输入数据是皮肤,用户选择的皮肤的被替换面和用户选择的替换面,如图33-34所示。为了清楚起见,首先在替换面不与被替换面相交的情况下描述该算法。相交的情况在下一节中介绍。系统执行以下步骤。
[0125] 步骤1是分离输入皮肤的未更改部分。这是通过将被替换面及其所有相邻面保留在名为本地输入皮肤的数据结构中来完成的。该操作不更改其它面(如果有)。它们被命名为未更改皮肤,并在步骤5进行存储以备重复使用。这通过仅涉及相关面,就使步骤2的加厚操作更加安全。避免了在一些未更改的面上加厚失败的险。这由图35示出。
[0126] 步骤2用于通过加厚从步骤1得到的局部输入皮肤来创建体积。该厚度指向与替换面相反的皮肤的一侧。厚度值足够小,以使得操作成功。典型值大于0.1mm或0.2mm和/或小于2mm或1mm,例如0.5mm。为了清楚起见,图示以较大的厚度值为特征。由加厚产生的额外面被适当标记,以便于进一步管理。该步骤利用了加厚算法。这由图36示出。
[0127] 步骤3用于对先前步骤中计算出的体积执行“替换面”操作。该步骤利用了现有的“替换面”算法。这由图37示出。
[0128] 步骤4用于移除(在步骤2中)标记为通过加厚操作添加的额外面的面。所形成的皮肤是该结果的局部形状。这由图38示出。
[0129] 步骤5用于将未更改的皮肤(在步骤1中提取)与步骤4中提取的局部形成皮肤连接起来,从而生成所形成的皮肤。连接操作是使用“...被...定界”的拓扑关系进行逻辑重写的。不涉及几何计算。这由图39示出。
[0130] 算法的所有步骤(不相交的情况)都收集在图40中。
[0131] 现在呈现一种相交情况的算法。
[0132] 现在讨论复杂的情况。当替换面与被替换面相交时,步骤2的加厚方向不确定,因为替换面位于被替换面的两侧。在这种情况下,解决方案用于使用替换面来拆分在步骤1处获得的局部输入皮肤。这产生至少两个部分局部输入皮肤,其中的每一个局部皮肤都以部分被替换面为特征。根据设计,每一个部分被替换面都位于替换面的一侧。然后,在每一个部分局部输入皮肤上运行先前的算法,这产生与部分局部形成的皮肤一样多的部分。通过将所有部分局部形成的皮肤连接在一起来获得局部形成的皮肤。
[0133] 现在以相同的本地输入皮肤和与替换面相交的稍微不同的被替换面为例来说明该算法。这由图41示出。
[0134] 用替换面分割局部输入皮肤产生两个部分局部输入皮肤。这由图42示出。
[0135] 现在,在第一部分局部皮肤上执行非相交算法,这产生第一形成的部分局部皮肤。这些步骤在图43中示出。
[0136] 现在,在第二部分局部皮肤上执行非相交算法,这产生第二形成的部分局部皮肤。这些步骤在图44-45中示出。注意与先前步骤相反的加厚方向。
[0137] 现在将形成的部分局部皮肤连接起来,以获取形成的局部皮肤。修整后的替换面的相邻部分(图46的中心图)被合并,以便从拓扑中移除它们共享的平滑边(图46的右图)。
[0138] 图47的框图通过使用非相交情况的算法来描述相交情况下的算法。
[0139] 为了简洁起见,已经讨论了该方法来操作通过另一张单个面替换单个面。然而,该方法也可以在其它情况下使用,例如用相邻面的另一个集合替换输入皮肤的相邻面的集合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈