双轴3D打印过程的结果的B-REP的制作方法

文档序号:14851234发布日期:2018-07-03 23:18阅读:409来源:国知局
双轴3D打印过程的结果的B-REP的制作方法
本发明涉及计算机程序和系统领域,具体而言,涉及用于确定双轴3d打印过程的结果的边界表示(b-rep)和/或用于将b-rep与参考(制造)产品(例如目标零件)的3d建模对象表示进行比较的方法、系统和程序。
背景技术
:市场上提供了用于设计、工程和对象制造的许多系统和程序。cad是计算机辅助设计的首字母缩略词,例如它涉及用于设计对象的软件解决方案。cae是计算机辅助工程的首字母缩略词,例如它涉及用于模拟未来产品的物理行为的软件解决方案。cam是计算机辅助制造的首字母缩略词,例如它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在技术效率方面起着重要的作用。这些技术可能嵌入在产品生命周期管理(plm)系统中。plm指的是一种商业战略,其跨越扩展企业的概念,帮助企业共享产品数据,应用通用过程,并利用企业知识从构想到寿命尽头开发产品。由dassaultsystèmes(以catia、enovia和delmia为商标)提供的plm解决方案提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心和实现企业集成并连接到工程中心和制造中心的企业中心。整个系统提供了开放的对象模型,其链接产品、过程和资源,以实现动态的、基于知识的产品创建和决策支持,其推动优化的产品定义、制造准备、生产和服务。三维(3d)打印可以利用这些系统和程序。3d打印也被称为增材制造,是指用于合成真实物体的各种过程。在3d打印中,在计算机控制下形成连续的材料层以创建所述真实物体。在这种情况下,需要改进3d打印。技术实现要素:因此提供了用于确定双轴3d打印过程的结果的b-rep的计算机实现的方法。该方法包括提供平面堆叠。每对连续的平面对应于3d打印过程的结果的相应切片。该方法还包括针对每一对连续的平面执行的方案。该方案包括提供一个或多个相应的工具轨迹。该方案还包括确定对应于一个或多个工具轨迹的相应2d轮廓。该方案还包括确定由该对的第二平面和该对的第一平面所界定的相应2d轮廓的相应挤出物(extrusion)。该方法还包括利用挤出物和平面的部分形成b-rep。该方法可以包括以下中的一个或多个:-对于作为第一对连续平面的第二平面和第二对连续平面的第一平面的每个平面,平面的形成b-rep的部分包括各自对应于平面的相应区域的面,所述平面的相应区域在相应于所述第一对的所述2d轮廓外且在相应于所述第二对的所述2d轮廓内,或者在相应于所述第一对的所述2d轮廓内且在相应于所述第二对的所述2d轮廓外;-与平面的在相应于所述第一对的所述2d轮廓内且在相应于所述第二对的所述2d轮廓外的相应区域相对应的每个面在平面堆叠的方向上设置有外向量,并且与平面的在相应于所述第一对的所述2d轮廓外且在相应于所述第二对的所述2d轮廓内的相应区域相对应的每个面在与平面堆叠的方向相反的方向上设置有外向量;-提供平面堆叠包括提供工具轨迹序列,并为每个工具轨迹提供相应的一对层界限,并根据工具轨迹序列和层界限确定平面堆叠;和/或-确定平面堆叠包括根据层界限确定所有平面界限的集合,将所有平面界限的集合排序为严格渐进的列表。进一步提供了包括可通过该方法获得的b-rep的数据结构。进一步提供了一种过程,包括例如通过执行该方法来提供该数据结构,并随后执行以下的任何一个或任何组合:-该方法还包括对利用挤出物和平面的部分形成的b-rep进行分析;-该方法包括在提供平面堆叠之前提供表示参考产品的3d建模对象,基于表示参考产品的3d建模对象提供与每对连续平面相应的平面堆叠和一个或多个工具轨迹,所述分析包括在利用所述挤出物与所述平面的部分形成的所述b-rep与表示所述参考产品的参考产品的b-rep之间的比较;-分析包括微裂纹和/或冲突检测和/或物理分析;-该方法进一步包括对利用挤出物和平面的部分形成的b-rep执行一个或多个b-rep设计操作;-该方法进一步包括对利用挤出物和平面的部分形成的b-rep的实时显示和/或流式传输;和/或-所述方法进一步包括向利用挤出物和平面的部分形成的b-rep添加与所述双轴3d打印过程相关的一个或多个属性。进一步提供了包括可由该过程获得的b-rep的数据结构。进一步提供了一种制造方法或流水线,包括例如通过执行该方法和/或该过程来提供通过该方法和/或该过程可获得的数据结构,然后应用双轴3d打印过程来制造由b-rep表示的产品。制造流水线可以包括该方法的多个实例,包括双轴3d打印过程实例的拒绝和/或确认,然后应用经确认的双轴3d打印过程实例。进一步提供了一种包括用于执行方法、过程和/或制造流水线的控制的指令的计算机程序。进一步提供了一种其上记录有计算机程序和/或数据结构的计算机可读存储介质。进一步提供了一种包括处理器的系统,所述处理器耦合到包括数据存储介质的存储器。附图说明现在将通过非限制性示例并参照附图来描述本发明的实施例,其中:-图1显示了该方法的一示例的流程图;-图2-3示出了传统布尔运算的问题;-图4-9显示了可以通过该方法形成的b-reps的示例;-图10显示了该系统的图形用户界面的示例;-图11显示了该系统的一示例;以及-图12-46示出了该方法。具体实施方式参照图1的流程图,提出了用于确定3d打印过程的结果的b-rep的计算机实现的方法。边界表示或b-rep是用于以3d对象的边界或包络或外皮(即,其外表面)来建模3d对象的广泛已知的格式。b-rep因此指定可以包括几何数据和拓扑数据的特定格式的数据。几何数据是提供几何实体的数据,几何实体是用3d位置描述的实体。拓扑数据是提供拓扑实体的数据,该拓扑实体是根据对几何实体的参考和/或与其他拓扑实体的关系(例如相对定位和相邻关系)而描述的实体。通常,关系可以包括“界定”关系,其将拓扑实体与拓扑界定它的其他拓扑实体关联起来。例如在文献ep2808810a1中更详细地描述了b-rep格式。图1的方法从而通过输出这个3d打印过程的结果的边界(即,包络)的表示来模拟3d打印过程。输出的边界可以被显示,例如,给用户或团队,其由此可以看见这个3d打印过程的结果的物理形状,和/或输入到基于固体的边界表示(可选地基于b-rep格式)的任何过程(手动、自动或半自动)以执行任何操作,包括分析、重做、确认和/或功能模拟。图1的方法也可以被包括在制造过程中,该制造过程可以包括在执行该方法(例如该方法的几个实例)之后生产物理产品。生产可以包括3d打印过程的执行(例如,该方法的一个底层实例,例如最后一个实例)。物理产品可以是(例如机械的)部件。通过图1的方法确定的b-rep表示特定的双轴3d打印过程的结果。众所周知的表述“双轴3d打印过程”是使用沿着双轴工具路径操作的3d打印工具来指定任何增材制造过程,例如,粉末床3d打印,其中工具是固化粉末的激光器,可选地使用反射镜,利用固化树脂的紫外线发射器的立体光刻,或者直接沉积3d打印,其中工具是输出材料的喷嘴。在激光的情况下,激光束可以是固定的方向并且与粉末床的表面正交(例如从顶部到底部垂直)。双轴3d打印过程可以沿着打印方向构建产品,该打印方向可以是笔直的并且例如是竖直方向(例如从底部到顶部)。该过程可以包括堆叠材料层。此处,材料层(或简称为层)被定义为沿着3d打印工具的连续路径(其中,工具保持开启)形成的恒定厚度的单块材料。在2d中,在与印刷方向正交的平面中定义用于形成给定层的路径,使得给定层也与打印方向正交。每个堆叠都沿着打印方向。在激光的情况下,打印方向与激光束方向相反。这些层可以具有不同的厚度。而且,不同的层可以位于相同的高度,但在不同的水平位置。双轴3d打印产品可以包括连接在一起的层堆叠的集合,例如通过跨不同的堆叠共享的层,使得产品形成单块固体。3d打印产品可以具有高于100、200、500或1000、10000的层数。双轴3d打印过程的规格可以包括工具轨迹的序列,以及针对每个工具轨迹的相应的一对层界限。工具轨迹是形成层或其子集的连续路径。工具轨迹因此可以被定义为2d轨迹。一对层界限对应于层的两个高度,因此两个层界限各自是对于给定层的恒定值。一对层界限可以对应于沿相应的轨迹的3d打印的参数,例如激光功率值,其又定义了熔融深度的值。轨迹可以在整个过程中对应于3d打印工具的最大基本直线路径,或者对应于与整个层的形成相对应的3d打印工具的整个路径。图1的方法包括在s5提供这样的规格。图1的方法然后在s8根据这些规格来确定平面堆叠。在s10提供的平面堆叠可以是表示材料堆叠的任何数据,例如,(例如关于与零高度关联的支撑/参考平面)的厚度列表或连续高度对的列表。因此平面堆叠是自然排序的,例如,从底部到顶部(或相反)。术语“连续”是指沿着平面堆叠的自然顺序的两个直接邻居。平面堆叠中的平面可以是平行的。每个平面可以是无限的(即,无界平面)。平面堆叠可以包括与零高度相关联的底部参考平面、与非零(例如正)高度相关联的其他平面。给定平面中的任何2d几何结构可以以参考平面和指向给定平面的指针定义。系统可以将这种定义解释为意味着2d几何结构将被垂直投影到所指的平面。类似地,两个给定平面之间的任何挤出物(或对应于材料形成的工具轨迹)可以被定义为参考平面中的2d几何结构、指向两个给定平面的指针以及考虑挤出物(或工具轨迹)的信息。该系统可以将这样的定义解释为意味着2d几何结构将在两个所指的平面之间被垂直地挤出(或沿着轨迹形成材料)。通过构建平面堆叠,每对(即,有序对)连续的平面对应于3d打印过程的结果的相应切片。表述“切片”是指材料切片,并且指定由两个连续平面界定并具有恒定厚度(例如至少基本上)的3d打印产品的所有材料构成的子集。换句话说,在切片的(严格)内部,产品不具有任何水平外表面的特征。因此,任何水平外表面都必须与提供的堆叠的平面匹配。切片中的子集不一定是单片的。而且,切片不一定匹配层,因为切片包含两个连续平面之间的所有材料,使得不同层(例如具有不同厚度)可以与相同切片相交。换句话说,切片可以包括不同层的材料并且水平地穿过层。切片的数量可以低于层数。这提高了效率。平面堆叠中的平面的数目可以例如等于不同的层界限值的数目。确定s8例如可以包括根据层界限确定所有平面界限的集合。例如,在s5提供的所有层界限都被视为一个集合,可以任选地删除重复,并且结果可以被解释为平面界限的集合。然后,确定s8可以包括将所有平面界限的集合排序为严格渐进的列表。词语“渐进”意味着界限在同一个方向上前进。“严格”意味着列表中不能有两个相同的界限。如果界限被提供为例如高度的值,则这意味着高度列表严格地增加(或严格地减小,取决于所选的参考,即,零高度)。这确保了最小数量的平面界限,从而提高了整个算法的效率。在示例中,该方法可以遵循提供表示参考产品的参考3d建模对象,例如作为b-rep。在s5处提供的规格可以基于参考3d建模对象,例如,由用户或团队或以任何已知的方式自动或半自动地来确定。例如通过诸如delmia(注册商标)的cam解决方案来提供基于参考3d建模对象确定这种规格的现有解决方案。层界限之间的距离可以取决于所执行的打印类型(阴影(hatching)或轮廓,下文讨论),其本身取决于激光功率并且因此取决于熔接材料的深度。例如,用户或团队或算法可以确定对应于b-rep的平面堆叠,然后第一算法可以计算参考3d建模对象与给定平面之间的相交。结果提供了称为“轮廓”的一个或多个圆。第二算法然后可以对每个轮廓“画阴影线”,以产生包括在轮廓中并且在它们之间具有恒定距离的平行段集合,这再次取决于激光功率。稍后将讨论“轮廓”和“阴影”概念。在pulakmohanpandey、n.venkatareddy和sanjayg.dhande的论文“slicingproceduresinlayeredmanufacturing:areview”中也提供了这个过程的示例。可替换地,可以在s10处如此提供平面堆叠,例如从另一用户接收。该方法然后包括针对每对连续的堆叠平面执行的方案s20。方案s20包括提供s210一个或多个相应的工具轨迹。工具轨迹可以直接来自s5提供的规格(如果有的话)。换句话说,对于包括给定切片的两个平面的每对给定的层界限,在210处也为给定切片提供在s5处为给定对提供的工具轨迹。在没有实施s5的替代方案中,这些工具轨迹可以如此提供,例如也可以从另一用户接收。在s10处提供的平面和在s210处提供的工具轨迹对应于如下事实,即当沿着为该给定对提供的工具轨迹时,产品在由工具遇到的所有位置处的给定对的两个连续平面之间具有材料特征。方案s20还包括确定s220对应于与连续平面对相对应的一个或多个工具轨迹(的并集)的相应2d轮廓。2d轮廓是2d几何结构的边界。在当前情况下,在s210处为所考虑的连续平面对提供的一个或多个轨迹的并集定义了与最终3d打印产品相交的切片的子集(由连续平面对定义)。为该切片确定的2d轮廓可以是相交轮廓的2d横截面。在s220确定的2d轮廓可以基于在s210提供的一个或多个轨迹、通过考虑轨迹的并集来确定。后面提供了一些示例。方案s20还包括确定s230相应2d轮廓的相应挤出物。相应挤出物由该对的第二平面和该对的第一平面界定。使用经典算法将挤出物确定为b-rep部分。该方法还包括利用挤出物和平面的部分形成s30b-rep。换句话说,在s230的所有迭代中确定的挤出物使用也被定义为b-rep部分的平面的适当部分被缝合在一起,结果因此形成b-rep(例如在所得的缝合挤出物集合的底部和/或顶部的最终封闭之后,以便b-rep正确地形成封闭的表面)。在s30中使用的平面的部分是将给定挤出物的顶部连接到下一挤出物(在上方)的底部的那些部分。稍后提供确定这样的部分的示例。形成s30可以在这样确定后包括拓扑图重写(例如由逻辑运算组成,例如排除任何几何运算)之后组成。后面提供了一些示例。这个方法改进了3d打印领域。值得注意的是,该方法在s30处输出表示双轴3d打印过程的结果的计算机化数据。然后可以以3d打印环境所需的任何方式来处理这种计算机化数据。由于b-rep格式,这样的后处理可以相对高效。b-rep格式实际上提供了相对较高的信息紧密度,同时也提供了相对较高的细节水平。此外,与诸如非结构化表示的其他类型的表示相比,b-rep格式提供了最相关的信息,即实体的边界。此外,b-rep在大多数工业设计软件解决方案中被标准化,使得在许多工业环境中已经成为输出b-rep模型的要求(在这种情况下,图1的方法允许快速和鲁棒的方式得到结果)。此外,在s30处通过图1的方法形成的b-rep由于2d轮廓的挤出物的确定s230而特别高效地获得。确定s230可以使用少量计算机资源来执行。值得注意的是,可以执行s230,不包括任何实体布尔操作。实体布尔运算是非常耗时的。另一方面,图1的方法以2d轮廓的挤出物建立3d,其可以特别快速地执行。而且,图1的方法可以排除任何冲突测试、配置诊断、表面/表面相交、拓扑求解和/或用户干预。图1的方法因此可以快速执行。由此图1的方法与用于通用设计的cad系统的布尔运算(并集、交集、差集)的传统算法不同。这种传统的布尔运算算法必须考虑任意位置上具有任意形状的特征的任意输入实体,特别是具有自由形式表面的特征的互相贯穿的固体。为此,这些算法执行冲突测试、昂贵的配置诊断、复杂的表面/表面相交和拓扑求解。另外,它们用于在用户控制下设计实体部分。用户依次执行每个设计操作并检查中间结果。这样,就可以即时管理不正确的结果或失败。现在参照图2-3讨论用于布尔运算的传统算法的这些问题。分别注意第一输入实体的面a和第二输入实体的面b,布尔运算算法的最舒适的配置是具有两个横向面,如图2所示。相反,最困难的配置如下。面a和b共面,面b的边界曲线包括在面a的支持平面中,面a的边界曲线的一部分与面b的边界曲线的一部分重合。图3分别从左到右示出了这种困难的配置。如果应用于3d打印模拟,通用3d算法将具有与用户期望不兼容的计算时间的特点。此外,由于要执行的布尔操作的数量非常大,可能会出现可靠性问题。这是因为,在这个非常特殊的环境下,只有困难的配置才会被给予3d算法。注意到层数n,至少n-1个并集是必需的,n的典型值是几千。在机械设计环境中,这个数量级远远超出了传统布尔运算的标准使用:几百个。最后,所有的操作都将在用户的视觉控制之外进行,使得这个过程更加脆弱。总之,用于布尔运算的传统算法不适用于确定双轴3d打印过程的结果的b-rep。另一方面,图1的方法实现了并集算法的一个版本,该并集算法专用于一个在另一个顶部地将材料的平面切片(由薄实体表示)组合起来,考虑到在没有相互穿透的情况下将切片粘合在一起。由于这种非常特殊的情况,通过图1的方法实现的2d算法获得的结果与通用3d算法可获得的结果相似(形状上),但速度更快。这特别是由于在图1的方法的示例中,几何和拓扑计算主要是在与所有切片平行的工作平面上用闭合曲线进行的。图1的方法的面向2d的技术使算法比通用3d算法简单得多。尽管3d打印模拟只具有困难配置的特点,但是可以随时预测它们,从而避免了昂贵的诊断。因此,该2d算法快得多并且足够强大,从而可以在符合用户期望的计算时间内处理工业案例。图1的方法可以在以下应用过程中的任何一个或任何组合中实现(例如,图1的方法的输出和/或图1的方法的任何一个或多个步骤的输出被提供为以下输入,或者可替换地,方法包括以下作为另外的步骤):1)在s30形成的b-rep可以由用户或团队分析。例如,用户或团队根据候选的双轴3d打印过程考虑制造一个或多个产品。于是可以执行图1的方法,以输出候选双轴3d打印过程的结果。然后可以分析结果,从而允许虚拟评估候选双轴3d打印过程。根据分析的结果,用户或系统可以采取任何行动。例如,在满足标准(或不满足)的情况下,可以确认(或拒绝)候选双轴3d打印过程。借助“确认”(或“拒绝”),这意味着候选双轴3d打印过程被认为是合适的(或不合适的)制造过程。图1的方法从而提供了朝向解决方案的步骤,以高效且虚拟地测试候选双轴3d打印过程,例如,从而为设计双轴3d打印过程提供了框架。分析可以例如包括以下示例中的任何一个或任何组合:a.分析可以包括与参考(制造)产品的3d建模对象表示的比较。例如,用户或团队考虑制造由提供的参考3d建模对象表示的参考产品。参考3d建模对象可以使用cad软件或者例如预先、例如由另一个用户或团队(但不一定)集成这种设计功能的任何软件来设计。用户或团队可以(例如通过推测或假设或任何适当的方法)确定假定的双轴3d打印过程(对应于稍后解释的工具轨迹),其是被认为导致参考产品的双轴3d打印过程。然后可以执行图1的方法,以输出假定的双轴3d打印过程的结果。然后可以将结果与参考3d建模对象进行比较,从而允许虚拟评估假定的双轴3d打印过程。比较可以以任何方式执行,例如通过算法自动地或由用户在视觉上执行。在示例中,比较可以包括距离分析或由其组成。两个3d模型之间的距离分析是对两个3d模型之间的几何偏差(例如,两个对象之间的几何偏差的映射)的评估。例如简单地通过应用例如对称布尔差异(例如(a\b)u(b\a),基于传统的布尔差集和并集)或者hausdorf距离的近似(例如以点采样b和为每个采样点计算到a的最小距离),可以执行自动距离分析比较以计算参考3d建模对象与输出b-rep之间的材料差异。视觉比较(距离分析或任何其他比较)可以诸如2015年10月25日提交的欧洲申请no.15306705.3中所描述的来执行,更一般地,通过同时显示两个对象,例如叠加在相同的场景中,以及基于操作控制两个对象的渲染的用户交互工具。目标产品的3d表示可以是b-rep本身。在这种情况下,可以特别快速地进行比较。例如,如果距离分析导致高于(或低于)预定阈值的几何偏差(在参考3d建模对象和图1的方法的输出之间),则可以拒绝(或确认)假定的双轴3d打印过程。b.分析可以包括在s30形成的b-rep中的任何默认搜索。例如,分析可以包括微裂纹检测和/或冲突检测。可以用b-rep特别有效地执行表示产品边界的3d模型的这种众所周知的分析。c.分析可以包括物理分析,例如在s30处形成的b-rep所代表的真实对象在物理现象下的行为分析。可以利用b-rep特别有效地执行表示产品边界的3d模型的这种众所周知的分析。d.分析可以包括计算待描绘的表面。可以利用b-rep特别有效地执行这种分析。e.分析可以包括使用b-rep是封闭表面的事实,例如用以识别图1的方法的输出的内部或外部。2)在s30形成的b-rep可由用户或团队重新制作。重新制作可以对应于在s30中形成的b-rep的简化和/或进一步的制造步骤,例如机加工和/或组装步骤作为示例。可以通过使用b-rep作为基于b-rep格式的任何算法或软件的输入来执行这种重新制作(因此被配置为执行b-rep设计操作)。这涉及与机加工环境相关的大多数解决方案,因为这些解决方案需要b-rep格式提供的产品的封闭表面表示。这可以包括材料去除模拟和/或模型简化。3)在s30形成的b-rep可以被实时(例如基本上)显示。换句话说,随着执行图1的算法,特别是随着每个挤出物确定s230,可以基本上实时地显示各自的挤出物和相应的平面部分。可选地,可以显示每个挤出过程,从而在形成挤出物时显示一片连续拉伸的实体表皮。在示例中,根据双轴3d打印过程遵循的顺序(即,从底部到顶部)对连续平面对进行排序。在这样的情况下,方案s20可以根据与该排序对应的顺序来执行。在这种情况下,实时显示实质上相当于印刷过程的视觉模拟。换句话说,图1的方法可以允许在3d打印过程期间向用户提供库存的实时可视化。4)在s30形成的b-rep可以被流式传输,例如作为流媒体发送到另一个系统,例如实时地(即,它形成时)或之后。b-rep的逐层格式允许根据上面参考应用3)所解释的显示特性,在b-rep被流式传输时进行实时显示,而不会丢失数据,并且无需任何重新计算。5)可以将与双轴3d打印过程有关的一个或多个属性添加到在s30形成的b-rep。属性可以包括由应用1)中执行的分析输出的任何数据,和/或在打印过程中使用的材料、激光功率和/或制造时间的描述符。这样的属性可以以逐层的方式与b-rep的面相关联(即,对应于同一层的面与相同的描述符值相关联)。属性可以包括在打印过程中使用的材料转换的描述符,例如,以逐层转换的方式与面分离边缘相关联(即,与同一层转换相对应的边缘与相同的描述符值相关联)。这些属性可以包括或者任何其他制造信息,例如切片编号,例如,与整个b-rep相关联。通过图1的方法实现的逐层框架允许以自然的方式描述由b-rep表示的产品的这种3d打印相关特性。这些属性然后可以允许用户使用涉及一个或多个这样的属性的一个或多个标准来查询b-reps的数据库。该方法是计算机实现的。这意味着该方法的步骤(或基本上所有的步骤)由至少一个计算机或任何相似系统来执行。因此,该方法的步骤由计算机执行,可能是全自动的,或半自动的。在示例中,可以通过用户-计算机交互来执行触发该方法的至少一些步骤。所要求的用户-计算机交互的程度可以取决于所预测的自动化水平,并与实现用户意愿的需求相平衡。在示例中,这个程度可以是用户定义的和/或预先定义的。一种方法的计算机实现方式的典型示例是使用适合于此目的的系统来执行该方法。该系统可以包括耦合到存储器和图形用户界面(gui)的处理器,所述存储器上记录有包括用于执行所述方法的指令的计算机程序。存储器也可以存储数据库。存储器是适用于这种存储的任何硬件,可能包括几个物理上不同部分(例如一个用于程序,可能还有一个用于数据库)。该方法通常操作建模对象(在s30形成的b-rep是一个这样的建模对象)。建模对象是由存储在例如数据库中的数据定义的任何对象。通过扩展,表述“建模对象”指定数据本身。根据系统的类型,建模对象可以由不同种类的数据定义。该系统实际上可以是cad系统、cae系统、cam系统、pdm系统和/或plm系统的任意组合。在这些不同的系统中,建模对象由对应的数据定义。可以相应地说成cad对象、plm对象、pdm对象、cae对象、cam对象、cad数据、plm数据、pdm数据、cam数据、cae数据。然而,这些系统彼此不是排他性的,因为建模对象可以由对应于这些系统的任何组合的数据来定义。因此,系统完全可以是cad和plm系统二者,从下面提供的这样的系统的定义中将会显而易见。通过cad系统,还意味着至少适用于基于建模对象的图形表示来设计建模对象的任何系统(例如catia)。在这种情况下,定义建模对象的数据包括允许建模对象的表示的数据。cad系统可以例如提供使用边或线,在某些情况下使用面或表面的cad建模对象的表示。线、边或表面可以以各种方式表示,例如,非均匀有理b样条(nurbs)。具体来说,cad文件包含规格,从中可以生成几何结构,从而允许生成表示。建模对象的规格可以存储在单个cad文件或多个文件中。在cad系统中表示建模对象的文件的典型大小在每个部件1兆字节的范围内。建模对象通常可以是数千个部件的组合。建模对象通常可以是3d建模对象,例如,表示诸如部件或部件组件的产品,或者可能是产品组件。“3d建模对象”是指通过允许其3d表示的数据建模的任何对象。3d表示允许从各个角度观看部件。例如,当3d表示时,3d建模对象可以被处理并围绕其任何轴转动,或围绕显示该表示的屏幕中的任何轴转动。这明显地排除了不是3d建模的2d图标。3d表示的显示有利于设计(即,增加设计者在统计上完成其任务的速度)。这加快了行业的制造过程,因为产品的设计是制造过程的一部分。在s30形成的b-rep可以表示在例如使用cad软件解决方案或者cad系统的其虚拟设计完成之后,例如(例如机械)部件,在现实世界中要被制造的产品的几何结构。图1的方法可以多次应用以设计各自由在s30的相应实例处形成的相应b-rep表示的多个部件的组件。cad软件解决方案允许在各种不受限制的工业领域设计产品,包括:航空航天、建筑、构造、消费品、高科技设备、工业设备、运输、船舶和/或海上石油/天然气生产或运输。由该方法设计的3d建模对象因此可以代表工业产品,其可以是任何机械部件,诸如陆地交通工具的部件、飞行器的部件、海军舰船的部件、通用机械部件、机电或电子部件、消费品、包装。可以在s30形成的b-reps的示例在图4-9中示出。应该注意的是,尽管所有的部件具有复杂的拓扑结构的特征,但它们都是由一块材料制成的。图4-6显示了典型的管道和水箱。图7显示了工业建筑的实体模型。图8-9示出了航空航天部件(实际上通过图1的方法的实施测试获得)。通过plm系统,还意味着适用于管理表示物理制造产品(或待制造产品)的建模对象的任何系统。在plm系统中,建模对象因此由适合于制造物理对象的数据来定义。这些通常可以是尺寸值和/或公差值。为了正确制造对象,具有这样的值确实会更好。通过cam解决方案,还意味着适用于管理产品的制造数据的任何解决方案、硬件的软件。制造数据通常包括与要制造的产品、制造过程和所需资源有关的数据。cam解决方案用于规划和优化产品的整个制造过程。例如,它可以向cam用户提供关于在制造过程的特定步骤中可能使用的制造过程的可行性、持续时间或诸如特定机器人的资源的数量的信息;并因此允许关于管理或所需的投资的决定。cam是cad过程和潜在的cae过程之后的后续过程。这种cam解决方案由dassaultsystèmes以商标提供。通过cae解决方案,还意味着适用于分析建模对象的物理行为的任何解决方案、硬件的软件。众所周知和广泛使用的cae技术是有限元法(fem),其通常涉及将建模对象划分为可以通过等式计算和模拟物理行为的元素。这种cae解决方案由dassaultsystèmes以商标提供。另一种增长的cae技术涉及对复杂系统进行建模和分析,这些复杂系统由不同的物理领域的多个组件组成,而无需cad几何数据。cae解决方案允许进行仿真,从而优化、改进和确认要生产的产品。这种cae解决方案由dassaultsystèmes以商标提供。pdm代表产品数据管理。通过pdm解决方案,意味着适用于管理与特定产品相关的所有类型的数据的任何解决方案、硬件的软件。pdm解决方案可以被涉及产品生命周期的所有参与者使用:主要是工程师,还包括项目经理、财务人员、销售人员和买家。pdm解决方案通常基于面向产品的数据库。它允许参与者分享关于他们的产品的一致性数据,从而防止参与者使用有分岐的数据。这种pdm解决方案由dassaultsystèmes以商标提供。图10示出了系统的gui的示例,其中该系统是cad系统。gui2100可以是典型的类似cad的界面,具有标准菜单栏2110、2120以及底部和侧面工具栏2140、2150。这样的菜单和工具栏包含一组用户可选择的图标,每个图标与一个或多个操作或功能相关联,如本领域已知的。这些图标中的一些与软件工具相关联,所述软件工具适用于在gui2100中显示的3d建模对象2000上进行编辑和/或工作,所述gui2100可以是或包括在s30形成的b-rep。软件工具可以分组到工作台中。每个工作台都包含软件工具的子集。特别地,工作台中的一个是编辑工作台,适用于编辑建模产品2000的几何特征。在操作中,设计者可以例如预先选择对象2000的部件,然后通过选择适当的图标来启动操作(例如,改变尺寸、颜色等)或编辑几何约束。例如,典型的cad操作是在屏幕上显示的3d建模对象的打孔或折叠的建模。gui可以例如显示与显示的产品2000相关的数据2500。在该图的示例中,显示为“特征树”的数据2500及其3d表示2000涉及包括制动钳和制动盘的制动器组件。gui还可以示出例如用于有利于对象的3d定向、用于触发对编辑的产品的操作的模拟或者呈现显示的产品2000的各种属性的各种类型的图形工具2130、2070、2080。光标2060可以由触觉设备控制以允许用户与图形工具交互。图11示出了系统的一示例,其中系统是客户端计算机系统,例如,用户的工作站。该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(cpu)1010,同样连接到总线的随机存取存储器(ram)1070。客户端计算机进一步提供有与连接到总线的视频随机存取存储器1100相关联的图形处理单元(gpu)1110。视频ram1100在本领域中也被称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(例如硬盘驱动器1030)的存取。适合于实体地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,例如包括半导体存储设备,诸如eprom、eeprom和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;和cd-rom盘1040。任何前述内容可以由专门设计的asic(专用集成电路)补充,或被并入专门设计的asic中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括诸如光标控制设备、键盘等的触觉设备1090。在客户端计算机中使用光标控制设备以允许用户选择性地将光标定位在显示器1080上的任何期望的位置。另外,光标控制设备允许用户选择各种命令和输入控制信号。光标控制装置包括用于向系统输入控制信号的多个信号发生设备。通常,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。可替换地或另外,客户端计算机系统可以包括敏感垫和/或敏感屏幕。该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行该方法的模块。程序可以记录在任何数据存储介质上,包括系统的存储器。该程序可以例如以数字电子电路或计算机硬件、固件、软件或其组合来实现。该程序可以被实现为装置,例如实体地体现在机器可读存储设备中以供可编程处理器执行的产品。方法步骤可以由执行指令程序的可编程处理器执行,用以通过操作输入数据并生成输出来执行该方法的功能。处理器因此可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且将数据和指令传送到数据存储系统、至少一个输入设备和至少一个输出设备。应用程序可以以高级程序或面向对象的编程语言来实现,或者如果需要的话可以以汇编或机器语言来实现。在任何情况下,该语言均可以是编译或解释的语言。该程序可以是完整的安装程序或更新程序。程序在系统上的应用导致执行该方法的指令中的任何情况。现在参考图12-15讨论可以通过图1的方法模拟的粉末床3d打印过程的示例。通过在平坦的粉末层的顶部从源和反射镜驱动激光来进行固体材料创建。在激光击中粉末的点处发生的熔化瞬间将粉末变成固体材料。熔融深度d和熔融半径r沿着每个轨迹是恒定的。然而,参数d和r由激光的强度来控制,可以从一个轨迹而改变到另一轨迹。粉末床是矩形体积,其深度通过向下移动活塞和通过粉末再填充而逐步增加。因此,整个过程是重复序列:1.根据距离d向下移动活塞。2.增加厚度d的新的薄粉末层。3.调整激光的强度,并在这个新层的顶部驱动激光的轨迹,这将固化厚度d或以上的粉末子体积。4.转到步骤1。图12的左图示出了前一层打印的结束。激光“关闭”。图12的右图示出了通过向下移动活塞而留在粉末床顶部的空体积,这是迭代的第一步。图13的左图示出了粉末床顶部的新鲜粉末层,其是迭代的第二步。图13的右图示出了当前粉末层的打印,这是迭代的第三步。虚线是激光轨迹,它是通过旋转反射镜由计算机驱动的。模拟cad系统中的过程(图1的方法与其不符)的自然方法将是通过薄固体来表示每一层材料并且使用几何建模器的传统布尔运算来组合这些固体:例如并集运算(联合、添加、合并是cad词汇中并集的同义词)。此运算输出两个输入固体的并集产生的固体。图14示出了通过使用cad系统设计的虚拟固体。图15示出了通过3d打印获得的相同固体的虚拟形状。为了清楚起见,夸大了切片的厚度。图1的方法允许以比自然方法快得多的方式获得图15的固体的b-rep。现在讨论图1的方法的示例性实施方式。几何预备在处理本发明的整个过程和核心之前,给出几何考虑。它们解释了通过几何结构建模制造对象和操作的方式,以便cad系统执行计算。激光轨迹的几何结构本部分描述了以简单的方式从目标固体中获得激光轨迹的示例。目标固体与平行等距平面相交。每个相交面都是平面。在这个平面内,专门的过程计算激光的适当轨迹。对于每个平面,轨迹由孤立点、线段、圆弧以及这些元素成为开放或闭合的复合曲线的组合组成。在同一平面内,允许断开的轨迹,意味着由单独的连续段构成的轨迹。图16示出了目标固体及其与平面的相交曲线。图17示出了相交曲线和激光轨迹(线段)。图18示出了激光轨迹的基本元素。图19-20示出了典型的轨迹。熔融材料的几何结构在激光击中粉末床的孤立点处的熔融材料的几何结构可以被同化为小圆柱体。其轴线垂直于粉末床的平面表面,并且其半径r和深度d取决于激光功率和粉末类型。典型的数量级是d≈0.05mm和r≈0.05mm至r≈0.5mm。当激光轨迹由线段和圆弧构成时,熔融材料的几何结构可以被同化为沿着所述线段和圆弧移动圆柱体中心所限定的扫掠体积。无论是否是连续的,轨迹均是使得扫掠体积频繁重叠。从制造的角度来看,这种重叠不会形成较厚的固体材料。图21-24示出了与各种轨迹相关联的扫掠体积。图1的方法不计算对应的扫掠体积,从而避免了扫掠固体的复杂性。它提供了符合以前考虑的形状,如下所述。用于从轨迹计算轮廓的算法(即,s220的示例)输入数据是平面激光轨迹t,如图25所示,以及熔融半径r。熔融深度d没有用处。在第一步中,通过沿着轨迹t扫过半径r的圆的来计算偏移轨迹。圆和轨迹都属于同一个平面。注意到s:=2dsweep(t,r),该操作产生自相交曲线s,如图26所示。在第二步中,为了获得扫掠圆的清洁边界c,去除曲线s的不相关片段,如图27所示。这个过程在现有技术中是公知的。s220例如可以根据文献“in-kwonlee,myung-sookim和gershonelber,planarcurveoffsetbasedoncircleapproximation,computer-aideddesign,vol.28,no.8,pp.617–630,august,1996”或文献“xu-zhengliu,jun-haiyong,guo-qinzheng,jia-guangsun.anoffsetalgorithmforpolylinecurves.computersinindustry,elsevier,2007,15p”的教导来执行。整个过程的示例由图28-29示出的图1的方法的示例相当于在前一个切片顶上迭代地添加当前切片。迭代地重复这个过程最终会产生3d打印的固体的形状。输入数据是所谓的阴影和轮廓平面轨迹ti,i=1,…,n,分别与熔融半径ri、底界限ai和顶界限bi相关联。轨迹ti的熔融深度是di=bi-ai。粗略地说,阴影切片专用于打印目标部分的内部,而轮廓切片专用于打印目标部分的边界。阴影和轮廓切片不是水平对准的,这意味着间隔[ai,bi]可以重叠,并且示例的方法的第一步可以是通过相互细分来提供对准的切片。在第二步中,该方法可以通过使用轨迹ti和熔融半径值ri来计算每个切片的边界轮廓。这输出与每个间隔[zi,zi+1]相关联的高度z1<z2<…<zm和轮廓ci的列表。现在,切片厚度指明为ti=zi+1-zi,它们代表几何信息而不是熔融深度。然后该方法可以计算当前切片的几何结构并将其组合在前一切片的顶上。输入数据是当前切片厚度t1,前一切片轮廓c0和当前切片轮廓c1。第一步是求解由前一切片顶部轮廓c0和当前切片轮廓c1定义的平面拓扑。这可以在水平的工作平面上进行,并产生相邻的区域,指明为ri,i=1,…,n,包括无边界的外部区域。第二步可以是创建边界面fj,j=1,…,m,以组合到当前的固体,以便合并当前的切片形状。第三步和最后一步可以是用面fj来代替固体的顶面,从而产生新的固体形状。对准阴影数据和轮廓数据的示例深度熔融参数d和半径熔融参数r都取决于激光强度。当打印目标部件的内部部分时,精度要求较低,该强度较高以便获得较厚的切片。这个过程被命名为阴影。相反,当打印切片靠近目标部分的边界时,要求更高的精度,强度降低以获得较薄的切片。这个过程被命名为轮廓。这一策略导致较短的制造时间,同时节省了精确的最终固体。从几何角度来看,阴影切片不是水平对准的。阴影切片可以重叠几个轮廓切片,如图30所示,其中,目标形状是虚线轮廓。该方法可以以所有切片水平对准的方式再加工阴影和轮廓数据。重叠切片可以相互细分,如图31所示。现在描述用于水平对准的示例性算法。所有的阴影和轮廓限制的列表(a1,b1,a2,b2,…,an,bn)可以被排序成列表(z1,z2,…,zm),以使得z1<z2<…<zm,其中,m<2n。然后,轨迹列表可以如下与每个间隔[zi,zi+1]相关联。对于每个间隔[zi,zi+1],开始做对于每个j∈{1,…,n},使得aj<q<bj,开始做将轨迹tj与间隔[zi,zi+1]相关联结束结束计算切片轮廓的示例现在,唯一的平面轮廓ci可以与每个间隔[zi,zi+1]相关联。在下面的示例性算法中,符号s:=2dsweep(t,r)和c:=clean(s)是前面所解释的。符号ci∪c是指由轮廓ci界定的面和轮廓c界定的面的2d布尔运算的边界轮廓。符号是空集。对于每个间隔[zi,zi+1],开始做对于与间隔[zi,zi+1]相关联的每个轨迹t,开始做r:=与t相关联的熔融半径s:=2dsweep(t,r)c:=clean(s)ci:=ci∪c结束结束现在,水平对准的切片由分别与间隔[zi,zi+1](i=1,…,m-1)相关联的轮廓ci定义。图32示出了目标固体,并且图33示出了对应的阴影和轮廓切片。阴影切片与轨迹t1、界限a1,b1和阴影半径rh相关联,两个轮廓切片分别与轨迹t2、界限a2,b2和t3、界限a3,b3及轮廓半径rc相关联。几何结构使得a1=a2、b2=a3且b1=b3。图34示出分别与阴影和轮廓切片相关联的轨迹。为了清楚起见,切片是分开的。排序产生z1=a1=a2<z2=b2=a3<z3=b1=b3,并且算法产生分别与间隔[z1,z2]和[z2,z3]相关联的两个对准的切片。轨迹t1和t2可以与间隔[z1,z2]相关联。轨迹t1和t3可以与间隔[z2,z3]相关联。这在图35中示出。然后,该算法可以产生与间隔[z1,z2]相关联的轮廓c1=clean(2dsweep(t2,rc))∪clean(2dsweep(t1,rh)),和与间隔[z2,z3]相关联的轮廓c2=clean(2dsweep(t3,rc))∪clean(2dsweep(t1,rh))。图36示出了如何从t1、t3、rh和rc得到轮廓c2。将两个切片轮廓组合成新切片的算法(即,s30的示例)在现在讨论的示例中,对于作为第一对连续平面([zi,zi+1])的第二平面和第二对连续平面([zi+1,zi+2])的第一平面的每个平面(zi+1),平面的形成b-rep的部分包括各自对应于平面(zi+1)的相应区域(rj)的面,该平面(zi+1)的相应区域(rj)在相应于第一对的2d轮廓(ci)外且在相应于第二对的2d轮廓(ci+1)内,或者在相应于第一对的2d轮廓(ci)内且在相应于第二对的2d轮廓(ci+1)外。此外,与平面(zi+1)的在相应于第一对的2d轮廓(ci)内且在相应于第二对的2d轮廓(ci+1)外的相应区域(rj)相对应的每个面在平面堆叠的方向上设置有外向量,并且与平面(zi+1)的在相应于第一对的2d轮廓(ci)外且在相应于第二对的2d轮廓(ci+1)内的相应区域(rj)相对应的每个面在与平面堆叠的方向相反的方向上设置有外向量。以下详细描述图1的方法的讨论示例的这些特征。当前固体是切片的不完整堆叠。轮廓c0是最上面切片的顶面的边界曲线。它可以由几段组成。轮廓c1是下一切片的边界。图37-38中示出了固体和轮廓c0、c1的形状和位置。图39示出了轮廓c0和c1的透视图。图40示出了投影到平行于切片的工作平面上的轮廓c0和c1。投影轮廓将工作平面分成相邻的区域,包括无限的外部区域。在该示例中,(投影)轮廓c0和c1将(工作)平面分成七个区域r1,…,r7,如图41所示。为了清楚起见,相邻区域分开。每个区域在另一个轮廓的内部、在另一个轮廓的外部、在两个轮廓的内部、或者在两个轮廓的外部。下表收集示例性区域的内部/外部状态。内部c1外部c1内部c0r2r6r3r4r5外部c0r1r7目标可以是以可以获得更新的实体形状的方式、基于以前的轮廓和区域建立面。不需要表面/表面相交。换句话说,可以通过该方法排除表面/表面相交。可以创建三种类型的面:底面、侧面和顶面。所有这些面可以定义当前切片的拓扑。底面可以由以下定义:-外部c0和内部c1的区域,并且它们设置有向下的外法线向量,-内部c0和外部c1的区域,并且它们设置有向上的外法线向量。侧面可以通过具有深度d的轮廓c1的向下挤出来获得。水平外法线向量与侧面相关联。最后,顶面由与向上的外法线向量相关联的轮廓c1定义。图42示出了该示例的十三个当前切片面fj。四个底面(通过区域r1、r3、r4和r5获得)、两个顶面(通过轮廓c1获得)和八个侧面(通过挤出轮廓c1获得)。为了清楚起见,它们是分开的。注意面r1的向下法线向量。这代表当前切片下面的一小步。图43-44示出了定义当前切片的开放外皮。为了清楚起见,提供了两个透视图。图1的这些示例性实施方式的最后一个步骤可以是从固体去除以前切片的所有顶面(这些是由轮廓c0界定的面),并用当前切片的外皮填充开口。由此产生的拓扑通过设计封闭。图45示出了通过去除以前切片顶面的固体的开口。图46示出了当前切片外皮在固体外皮上的缝合。必须理解的是,这个操作不是传统的固体布尔并集。这是面的缝合,从计算的角度来看,这是拓扑图的重写,其只涉及少量逻辑运算而不是大量几何运算。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1