CN115917457A - 具有过滤以促进2.5轴减材制造过程的计算机辅助生成式设计 - Google Patents
具有过滤以促进2.5轴减材制造过程的计算机辅助生成式设计 Download PDFInfo
- Publication number
- CN115917457A CN115917457A CN202080100520.3A CN202080100520A CN115917457A CN 115917457 A CN115917457 A CN 115917457A CN 202080100520 A CN202080100520 A CN 202080100520A CN 115917457 A CN115917457 A CN 115917457A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- dimensional shape
- modeled object
- design
- milling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
- G05B19/4099—Surface or curve machining, making 3D objects, e.g. desktop manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35009—Dynamic simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/10—Additive manufacturing, e.g. 3D printing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P80/00—Climate change mitigation technologies for sector-wide applications
- Y02P80/40—Minimising material used in manufacturing processes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
提供了用于使用生成式设计过程进行的物理结构的计算机辅助设计的方法、系统和设备,包括介质编码的计算机程序产品,其中产生所述物理结构的3D模型,以便促进使用2.5轴减材制造系统和技术进行的所述物理结构的制造,所述方法、系统和设备包括:获得要制造的对象的设计空间、设计标准和载荷情况;迭代地修改建模对象的生成式设计的3D形状,包括生成所述3D形状的更新版本的2D轮廓表示(对应于离散层)、沿着铣削方向挤出所述2D轮廓表示以及从通过所述挤出产生的3D表示的组合形成所述建模对象的所述3D形状的下一版本;以及提供所述建模对象的所述生成式设计的3D形状以用于使用2.5轴减材制造过程来制造所述物理结构。
Description
背景技术
本说明书涉及可使用增材制造、减材制造和/或其他制造系统和技术制造的物理结构的计算机辅助设计。
已经开发了计算机辅助设计(CAD)软件并使用其来生成对象的三维(3D)表示,并且已经开发了计算机辅助制造(CAM)软件并使用其来评估、计划和控制这些对象的物理结构的制造,例如,使用计算机数控(CNC)制造技术。典型地,CAD软件使用边界表示(B-Rep)格式存储正在建模的对象的几何形状的3D表示。B-Rep模型是指定所建模的3D对象的实体部分和非实体部分之间的边界的一组连接的表面元素。在B-Rep模型(通常称为B-Rep)中,几何形状使用平滑和精确的数学曲面存储在计算机中,这与可能难以在CAD程序中使用的网格模型的离散和近似曲面形成对比。
CAD程序已与减材制造系统和技术结合使用。减材制造是指通过切除毛坯材料(通常是比3D对象大的“坯件”或“工件”)的部分而从毛坯材料创建3D对象的任何制造过程。此类制造过程典型地涉及在以粗加工操作、任选的半精加工操作和精加工操作开始的一系列操作中使用多个CNC机床切削刀具。除了CNC机加工外,其他减材制造技术包括电极放电机加工、化学机加工、水射流机加工等。相反,增材制造(也称为实体自由成形制造或3D打印)是指从原材料(一般是粉末、液体、悬浮液或熔融固体)在一系列层或横截面中构建3D对象的任何制造过程。增材制造的示例包括熔丝制造(FFF)和选择性激光烧结(SLS)。从原材料构建3D对象的其他制造技术包括铸造和锻造(热锻和冷锻两者)。
另外,已经设计出CAD软件以便对要制造的更大的零件系统中的一个零件或一个或多个零件使用拓扑优化(生成式设计)来执行3D几何形状的自动生成。这种3D几何形状的自动生成通常限于由CAD软件的用户指定的设计空间,并且3D几何形状生成典型地由设计目标和约束管理,这些目标和约束可由CAD软件的用户或由另一方定义并导入到CAD软件中。设计目标(诸如最小化设计零件的重量)可用于推动几何形状生成过程朝向更好的设计。设计约束可包括对单个零件的结构完整性约束(即,要求在零件的使用期间零件在预期结构载荷下不应出故障)和由较大系统施加的物理约束(即,要求零件在使用期间不干扰系统中的另一个零件)两者。此外,设计约束的示例包括最大质量、载荷下的最大变形、最大应力等。
生成式设计过程的输入可包括指定了生成式设计过程的边界条件的一组输入实体(B-Rep输入),但许多现代生成式设计求解器并不直接对其输入实体的精确表面边界表示进行操作。相反,对B-Rep进行采样并将其替换为体积表示,诸如水平集或四面体或六面体网格,这对于求解器计算的物理模拟和材料合成来说明显更加方便和高效。输入实体集可包括“保留体”,保留体应始终存在于设计中并表示与系统其他零件或应当应用边界条件(例如,机械载荷和约束)的位置的接口。也可以类似的方式提供应当或不应当生成几何形状的其他区域,诸如定义“障碍体”的输入实体,障碍体表示不应当生成新几何形状的区域。
发明内容
本说明书描述了与使用生成式设计过程的物理结构的计算机辅助设计相关的技术,其中产生物理结构的三维(3D)模型以便促进使用2.5轴减材制造系统和技术来制造物理结构。减材制造技术可包括2轴、2.5轴、3轴或更多轴铣削;2轴铣削可切穿毛坯但没有能力调整铣削头的高度水平;3轴铣削可在沿三个单独的维度移动铣削刀具的同时切穿毛坯;2.5轴铣削可使用3轴铣床,因为铣削刀具(或铣削刀具和夹具支架的组合)可在所有的三个单独维度上移动,但在大多数切削操作期间,铣削刀具仅相对于工件在2个轴上移动,这导致更高效的制造过程。
一般来说,本说明书中描述的主题的一个或多个方面可体现在一种或多种方法(以及一种或多种非暂时性计算机可读介质,所述一种或多种非暂时性计算机可读介质对计算机程序有形地编码,所述计算机程序可操作以致使数据处理设备执行操作)中,所述一种或多种方法包括:由计算机辅助设计程序获得对应的物理结构将使用2.5轴减材制造过程来制造的建模对象的设计空间、所述建模对象的一个或多个设计标准以及所述物理结构的一个或多个使用中载荷情况;由所述计算机辅助设计程序根据所述一个或多个设计标准和所述一个或多个使用中载荷情况在所述设计空间中迭代地修改所述建模对象的生成式设计的三维形状,包括修改所述三维形状的几何形状和所述三维形状的拓扑两者,其中所述迭代地修改包括:根据所述三维形状的当前版本和所述一个或多个使用中载荷情况来执行所述建模对象的数值模拟,以产生所述建模对象的物理响应的当前数值评估;基于所述物理响应的所述当前数值评估来更新所述三维形状的所述当前版本,以产生所述建模对象的所述三维形状的更新版本;生成所述三维形状的所述更新版本的二维轮廓表示,其中所述二维轮廓表示对应于垂直于所述2.5轴减材制造过程的铣削方向的离散层;沿着所述铣削方向挤出所述二维轮廓表示以产生所述三维形状的所述更新版本的三维表示,其中所述三维表示具有法线垂直于所述铣削方向的侧面;从具有法线垂直于所述铣削方向的侧面的所述三维表示的组合形成所述建模对象的所述三维形状的下一版本;以及至少重复所述执行、所述更新、所述生成、所述挤出和所述形成直到已经执行预定义次数的形状修改迭代,所述设计空间中的所述建模对象的所述生成式设计的三维形状满足所述一个或多个设计标准和所述一个或多个使用中载荷情况或这两者;以及由所述计算机辅助设计程序提供所述建模对象的所述生成式设计的三维形状以用于使用采用所述2.5轴减材制造过程的一个或多个计算机控制的制造系统来制造所述物理结构。
所述生成可包括通过确定所述三维形状的所述更新版本的既位于对应的离散层内又位于相对于所述铣削方向在所述对应的离散层上方的所述离散层中的任一者内的一个或多个部分的廓影来生成所述对应的离散层的所述二维轮廓表示中的每一者。所述铣削方向可包括具有相应的离散层集的两个或更多个铣削方向,可对所述两个或更多个铣削方向中的每一者执行所述生成以产生所述三维形状的所述更新版本的相应的二维轮廓表示集,可对所述两个或更多个铣削方向中的每一者执行所述挤出以产生具有法线垂直于所述相应的两个或更多个铣削方向的侧面的相应的三维表示集,并且所述形成可包括:对所述相应的三维表示集中的所述三维表示执行布尔并集,以针对所述两个或更多个铣削方向中的每一者产生一个或多个三维体;以及对针对所述两个或更多个铣削方向产生的所述三维体执行布尔交集,以形成所述建模对象的所述三维形状的所述下一版本。
所述迭代地修改可包括对于多次迭代中的每一者,通过将来自先前迭代的所述三维形状的所述下一版本与来自所述先前迭代的所述三维形状的所述更新版本进行混合来产生所述建模对象的所述三维形状的所述当前版本,其中对于所述多次迭代中的两个或更多个后续迭代中的每一者,所述混合所使用的所述下一版本的量相对于所述更新版本的量增加,直到所述更新版本和所有的所述下一版本在所述修改的下一迭代中都不用作所述建模对象的所述三维形状的所述当前版本。
所述建模对象的所述生成式设计的三维形状可包括所述建模对象的隐式表面的水平集表示,并且所述更新可包括根据基于所述物理响应的所述当前数值评估为所述隐式表面计算的形状改变速度来更新所述水平集表示。所述迭代地修改可包括在所述挤出之前:将所述二维轮廓表示中的每一者向外偏移至少等于可用于与所述一个或多个计算机控制的制造系统一起使用的最小铣削刀具的半径的量;以及随后将所述二维轮廓表示中的每一者向内偏移所述量。
所述方法(或由所述数据处理设备根据有形地编码在一个或多个非暂时性计算机可读介质中的所述计算机程序执行的操作)可包括基于在所述2.5轴减材制造过程期间针对二维轮廓表示铣削一个离散层而需要刀具穿透到所述物理结构中的量来设置将所述离散层中的一者的所述二维轮廓表示偏移的所述量。生成所述对应的离散层的所述二维轮廓表示了包括将射线沿着所述铣削方向穿过所述隐式表面的所述水平集表示从最上面离散层的顶部部分向下投射到所述对应的离散层的底部部分,并且所述设置可包括将所述量设置为(i)可用的所述最小铣削刀具的所述半径和(ii)差值的预定义分数中的最大值,所述预定义分数大于零且小于一。
所述方法(或由所述数据处理设备根据有形地编码在一个或多个非暂时性计算机可读介质中的所述计算机程序执行的操作)可包括:将所述二维轮廓表示进行比较以至少识别相对于所述铣削方向在第二轮廓表示上方的第一轮廓表示,其中所述第一轮廓表示的第一部分与所述第二轮廓表示的第二部分之间的距离低于阈值距离;改变所述第一轮廓表示的所述第一部分以匹配所述第二轮廓表示的所述第二部分;以及在所述第一部分的任一侧上修改所述第一轮廓表示以移除所述第一轮廓表示中的由所述改变引起的任何不连续性。修改所述三维形状的所述拓扑可包括在使用针对所述二维轮廓表示中的至少一者生成的中心线选择的位置处将空隙插入所述水平集表示中,以在所述迭代地修改的多次迭代中的至少一些期间改变所述隐式表面。
所述更新可包括:对所述相应的离散层中的所述当前数值评估进行过滤,以产生经过滤的物理评估,所述经过滤的物理评估在所述更新期间促成与所述2.5轴减材制造过程相符的所述三维形状的所述隐式表面的所述几何形状的修改;以及根据所述经过滤的物理评估来更新所述三维形状的所述当前版本。所述建模对象的所述生成式设计的三维形状可包括所述隐式表面的水平集表示,并且所述过滤可包括:在所述离散层中的相应的离散层内找到沿着所述铣削方向的所述当前数值评估中的最大值;以及基于所述最大值来在所述离散层中的所述相应的离散层内重置所述当前数值评估的值,以产生所述经过滤的物理评估。
所述当前数值评估可包括基于体素的应力场数据、应变场数据或这两者,所述找到可包括:在所述离散层中的相应的离散层内将平行于所述铣削方向的射线投射穿过所述建模对象的所述三维形状的所述当前版本;以及在所述离散层的相应的二维区域中收集沿着所述射线中的每一者遇到的所述应力数据和/或所述应变数据的最大值,并且所述重置可包括在所述离散层中的相应的离散层内将每个体素中的所述应力数据和/或所述应变数据设置为等于在所述离散层的对应二维区域中的最接近所述体素的位置的所述最大值。
所述方法(或由所述数据处理设备根据有形地编码在一个或多个非暂时性计算机可读介质中的所述计算机程序执行的操作)可包括由所述计算机辅助设计程序移除所述建模对象的所述生成式设计的三维形状的小于在所述2.5轴减材制造过程的至少一个主轴中的最小特征尺寸的任何部分。所述提供可包括将所述建模对象的所述生成式设计的三维形状保存到持久性存储装置以用于使用所述一个或多个计算机控制的制造系统来制造所述物理结构。所述提供可包括:使用所述建模对象的所述生成式设计的三维形状根据所述2.5轴减材制造过程来生成用于减材制造机器的刀具路径规范;以及使用所述刀具路径规范用所述减材制造机器制造所述物理结构或用于所述物理结构的模具的至少一部分。
本说明书中描述的主题的一个或多个方面也可体现在一个或多个系统中,所述一个或多个系统包括:非暂时性存储介质,所述非暂时性存储介质具有存储在其上的计算机辅助设计程序的指令;以及一个或多个数据处理设备,所述一个或多个数据处理设备被配置为运行所述计算机辅助设计程序的所述指令以执行本文描述的一种或多种方法中的任一种。所述一个或多个系统还可包括2.5轴减材制造机器或可执行2.5轴减材制造过程的其他减材制造机器,诸如3轴或5轴减材制造机器。
可实现在本说明书中描述的主题的特定实施方案以实现以下优点中的一者或多者。可采用几何形状过滤,使得从生成式设计过程保证2.5轴可制造结果,并且可这样做来使得在每次优化迭代中实现2.5轴可制造结果,或者可在多次迭代的过程中将几何形状过滤混合到形状和拓扑优化中,以在生成式设计过程的早期为形状和拓扑改变提供更大的灵活性,同时仍确保2.5轴可制造结果。因此,可在生成式设计过程中产生物理结构的三维模型,其中模型必须包括促进2.5轴铣削的平坦顶部、底部和侧面区域。这在2.5轴减材制造过程中加工物理结构期间可导致减少的CAM编程时间、机加工时间、减少对用于夹持的定制夹具的需要,或前述的组合。
此外,可(在用或不用几何形状过滤的情况下)执行模拟结果过滤(例如,应变能过滤)以促成从生成式设计过程产生2.5轴可制造结果。如果使用有向距离场表示几何形状,则可高效地创建半径以确保可通过具有指定半径的刀具使用来自图像处理的形态闭运算符上的变体在各处接近所生成的几何形状,这使用向外平流输送或偏移接着是向内平流输送或偏移来实现。在制造期间可基于零件切削深度使用动态刀具尺寸调整来进一步确保刀具可及性,使得可使用廉价、现成的刀具来机加工零件,并且可对准几乎重叠的层以消除最终三维模型中的薄架。可使用形状骨架生成空隙以进一步实现拓扑改变,并且可处理多个铣削方向(两个或多个机加工设置)。
此外,使用本文描述的2.5轴制造设计限制系统和技术生成式设计的零件可与使用2轴制造设计限制或对机加工轴没有限制生成式设计的零件在重量上具有竞争力(大致等效的质量减少),但这些零件也可表现出2轴解决方案的约一半的最大挠度,同时与在没有机加工约束的情况下生成式设计的零件相比,仍具有减少的CAM编程时间、机加工时间和减少对用于夹持的定制夹具的需要的益处。另外,所生成的几何形状看起来更接近传统设计的形状,从而使得更易于构想和实现手动设计更改,并且缩小传统设计与2.5轴生成式设计的制造计划和执行之间的差距。
在附图和以下描述中阐述了本说明书中所描述的主题的一个或多个实施方案的细节。本发明的其他特征、方面及优点将从描述、附图和权利要求中变得显而易见。
附图说明
图1A示出了可用于在生成式设计期间执行几何形状过滤和/或模拟结果过滤以产生适合于利用2.5轴减材制造过程制造的物理结构的系统的示例。
图1B示出了利用几何形状过滤和/或模拟结果过滤以及使用2.5轴减材制造过程制造物理结构的生成式设计过程的示例。
图2A示出了利用几何形状过滤以产生与2.5轴减材制造过程兼容的3D模型的生成式设计过程的示例。
图2B示出了对于2.5轴机加工的无效几何形状的示例。
图2C示出了生成二维轮廓表示的示例的图形表示。
图2D示出了投影回到3D挤出件并组合以形成建模对象的组合几何形状的2D切片的图形表示。
图2E示出了用于刀具接近的形态学闭的图形表示。
图2F示出了比较刀具建模方法的图形表示。
图3A示出了在生成式设计期间的用于促进产生与2.5轴减材制造过程兼容的3D模型的模拟结果过滤过程的示例。
图3B示出了在相应的离散层中的模拟结果过滤的图形表示。
图3C示出了建模对象内的离散层的图形表示。
图4A示出了用于使用几何形状过滤、模拟结果过滤或两者来生成式设计零件以产生与2.5轴减材制造过程兼容的3D模型的附加过程示例。
图4B示出了层对准参数对移除因改变第一层轮廓以匹配第二层轮廓而导致的不连续性的影响的示例。
图4C示出了生成空隙并将其插入例如3D形状的水平集表示中的示例。
图4D示出了生成空隙并将其插入例如3D形状的水平集表示中的另一个示例。
图4E示出了在多次通过中划分空隙生成的效果的示例。
图5A示出了具有三个铣削方向(例如,三个设置)的几何形状过滤的示例。
图5B示出了在多个铣削方向(例如,多个设置配置)的情况下不期望的空隙位置的示例。
图6是包括数据处理设备的数据处理系统的示意图,该数据处理设备可被编程为客户端或服务器。
各个附图中的相同附图标记和名称指示相同元件。
具体实施方式
图1A示出了可用于在生成式设计期间执行几何形状过滤和/或模拟结果过滤以产生适合于利用2.5轴减材制造过程制造的物理结构的系统100的示例。计算机110包括处理器112和存储器114,并且计算机110可连接到网络140,该网络可以是专用网络、公共网络、虚拟专用网络等。处理器112可以是一个或多个硬件处理器,每个硬件处理器可包括多个处理器核心。存储器114可包括易失性存储器和非易失性存储器两者,诸如随机存取存储器(RAM)和闪存RAM。计算机110可包括各种类型的计算机存储介质和装置,其可包括存储器114,以存储在处理器112上运行的程序指令,所述程序指令包括计算机辅助设计(CAD)程序116,所述CAD程序实现三维(3D)建模功能并包括用于拓扑优化(例如,使用如上所述的水平集方法)和数值模拟的一个或多个生成式设计过程。由本文档中描述的系统和技术执行的数值模拟可模拟一种或多种物理特性,并且可使用一种或多种类型的模拟来产生对建模对象的物理响应(例如,结构响应)的数值评估。例如,可使用有限元分析(FEA),包括线性静态FEA、有限差分法和材料点法。此外,物理特性的模拟可包括计算流体动力学(CFD)、声学/噪声控制、热传导、计算注塑成型、电或电磁通量和/或材料固化(这对于成型过程中的相变很有用)模拟。此外,CAD程序116可潜在地实现孔和/或夹具生成技术以支持在制造期间进行夹持和/或支持制造控制功能。
如本文所用,CAD是指用于设计满足特定设计要求的物理结构的任何合适的程序,而不管该程序是否能够与制造装备介接和/或控制该制造装备。因此,CAD程序116可包括计算机辅助工程(CAE)程序、计算机辅助制造(CAM)程序等。程序116可本地运行在计算机110上、远程运行在一个或多个远程计算机系统150(例如,计算机110可经由网络140访问的一个或多个第三方供应商的一个或多个服务器系统)的计算机上、或既本地运行又远程运行。因此,CAD程序116可以是在两个或更多个单独的计算机处理器上协同操作的两个或更多个程序,因为在计算机110处本地操作的一个或多个程序116可通过使一个或多个计算机150上的一个或多个程序116执行卸载的处理操作来将处理操作(例如,生成式设计和/或物理模拟操作)卸载“到云”。在一些实现方式中,所有生成式设计操作都由云中的一个或多个程序运行,而不是在本地计算机上运行的B-Rep实体建模器中运行。此外,在一些实现方式中,生成式设计程序可从由程序调用的API(应用程序接口)在云中运行,而无需用户通过图形用户界面进行输入。
CAD程序116在计算机110的显示装置120上呈现用户界面(UI)122,该用户界面可使用计算机110的一个或多个输入装置118(例如,键盘和鼠标)来操作。应注意,虽然在图1A中被示出为单独的装置,但显示装置120和/或输入装置118也可彼此集成和/或与计算机110集成,诸如在平板计算机中(例如,触摸屏可以是输入/输出装置118、120)。此外,计算机110可包括虚拟现实(VR)或增强现实(AR)系统或者是其一部分。例如,输入/输出装置118、120可包括VR/AR输入手套118a和/或VR/AR耳机120a。在任何情况下,用户160与CAD程序116交互以创建和修改可存储在3D模型文档130中的3D模型。
初始3D模型132可以是生成式设计过程的输入。在所示的示例中,初始3D模型132是一组保留体(诸如保留体133)和障碍体(诸如障碍体134)。可通过确定输入模型132的边界体积或凸包来获得设计空间131,或者可使用另一种技术来获得设计空间,该设计空间是在拓扑优化期间要在其内部设计零件的空间的体积。在一些情况下,用户可明确地指定实体作为设计空间。用户160可定义生成式设计过程的拓扑优化问题以从起始3D模型产生期望的3D模型,或者输入可以是没有特定起始3D模型的设计空间。一般来说,可自动生成或由用户指定输入设计空间。应注意,生成式设计过程本身可在设计空间内产生起始几何形状。一个或多个种子模型可用作生成式设计过程的输入,以在形状演化开始时引入孔,以便修改生成式设计的拓扑。另外,如图所示,起始模型132可以是输入保留几何形状,该输入保留几何形状可以是未连接的建模实体,其中生成式设计过程用于产生连接输入保留实体的新的3D几何形状。
如本文所描述,CAD程序116实现至少一个生成式设计过程,该生成式设计过程使CAD程序116能够基于设计目标和设计约束(即,设计标准)自动地生成3D模型的一个或多个部分(或整个3D模型),其中基于模拟反馈迭代地优化几何设计。应注意,如本文所用,“优化”(或“最优”)并不意味着在所有情况下都实现了所有可能设计中的最佳设计,而是意味着从可在给定可用处理资源的情况下在分配的时间内生成的一组有限的可能设计中选择出最佳(或接近最佳)设计。
设计标准可由用户160或由另一方定义并导入到CAD程序116中。设计标准可包括对单个零件的结构完整性约束(例如,要求在零件的使用期间零件在预期结构载荷下不应出故障)和由较大系统施加的物理约束(例如,要求零件在使用期间被容纳在指定的体积内以便不干扰系统中的其他零件)。设计标准还可包括要促进的期望的2.5轴减材制造过程(例如,使用2.5轴CNC机器,或3轴或5轴CNC机器)。
可使用可优化3D模型的至少一部分的形状和拓扑的各种生成式设计过程。CAD程序116对3D模型的几何设计的迭代优化涉及拓扑优化,拓扑优化是轻量化的方法,其中通过最小化受设计约束(例如,以体积为约束的结构柔顺度)的目标函数来确定材料的最优分布。拓扑优化主要有两类:基于密度的方法和基于边界的方法。基于密度的方法将零件的体积离散化,并且为每个离散单元分配密度,诸如在实体各向同性材料惩罚(SIMP)方法中。然后将密度驱向实体和空洞,同时最小化受约束的目标。相反,基于边界的方法跟踪实体部分的外部界面的形状并且移动边界,使得满足约束并最小化目标,诸如在水平集方法中。
如本文所描述,在拓扑优化期间的过滤可指导生成式设计过程以产生设计的最终形状,该最终形状促进使用2.5轴制造过程来制造物理结构。这种过滤可通过基于密度的拓扑优化或基于边界的拓扑优化来执行。在一些实现方式中,在拓扑优化期间使用水平集表示方法来跟踪形状的边界,其优点是提供边界的精确知识,并且允许随着表面演化进行拓扑改变而无需重新划分网格。在任何情况下,应注意,形状合成过程可(且经常将)使用与CAD程序116用于3D建模所采用的几何形状表示不同的几何形状表示来完成。例如,CAD程序116可将B-Rep模型用于输入几何形状132,而生成式设计过程中的几何形状生成引擎(例如,在CAD程序116中)可采用嵌入在体素或四面体网格中的水平集函数。下文诸如结合图1B提供了关于生成式设计过程的另外细节。
一旦用户160对生成式设计的3D模型感到满意,3D模型就可存储为3D模型文档130和/或用于生成模型的另一个表示(例如,用于2.5轴减材制造过程的刀具路径规范)。这可根据用户160的请求来完成,或者依据用户对另一个动作的请求来完成,诸如将生成式设计的3D模型发送到减材制造(SM)机器170,或者可直接连接到计算机110或者经由网络140连接的其他制造机械,如图所示。这可涉及在本地计算机110或云服务上执行的后处理,以将3D模型导出到从其进行制造的电子文档。应注意,电子文档(为简洁起见将简称为文档)可以是文件,但未必对应于文件。文档可存储在保存其他文档的文件的一部分中、存储在专用于所讨论的文档的单个文件中,或存储在多个协调文件中。另外,用户160可保存或传输3D模型以供稍后使用。例如,CAD程序116可存储包括所生成的3D模型的文档130。
CAD程序116可向SM机器170提供文档135(具有适当格式的刀具路径规范)以从毛坯材料137创建完整的结构138,其中物理结构138包括促进2.5轴机加工的经优化的拓扑和形状,即,为2.5轴铣削生成的楼梯状设计。SM机器170可采用一种或多种减材制造技术,例如,计算机数控(CNC)铣床,诸如多轴、多刀具铣床。SM机器170可以是2.5轴CNC机器,其中主轴171和附接的切削刀具172的运动自由被限制在X-Y平面以进行大多数铣削,并且仅在Z方向上以离散步长移动。然而,SM机器170也可以是3轴CNC机器,其中主轴171在X、Y和Z维度中的每一个上都具有完全的运动自由,或者SM机器170可以是5轴机器,其中额外的运动轴(例如,翻转和偏转旋转)也是可能的。
应注意,这些额外的运动自由可通过主轴171的计算机控制的运动、用于正被机加工的零件的夹具或锚点173的计算机控制的运动或这两者的组合来实现。CNC机器170应在机加工期间以某种方式锚定毛坯以防止意外移动,并且有时应该、改变毛坯的锚定位置(典型地通过人工操作,但存在其他方法),使得毛坯的先前在锚固过程中使用的部分可被暴露出来以供CNC机器170进行后续切削。零件及其锚定的这些取向或布置被称为“设置”。
减材制造过程典型地以一块实心毛坯材料开始,并且逐渐地从毛坯移除材料。常见的减材方法中的一种是使用旋切机或槽刨机(也称为“刀具”或“钻头”)来移除材料的铣削。铣削过程可能会限制可制造的形状的类型,因为铣床必须能够牢固地保持零件并且旋转钻头必须能够不受干扰地接近材料表面。应当考虑的其他重要因素是零件在材料移除期间中的振动和铣削过程对钻头本身的应力。
减材制造技术可包括2轴、2.5轴、3轴或更多轴铣削;2轴铣削可切穿毛坯但没有能力调整铣削头的高度水平;3轴铣削可在沿三个单独的维度移动铣削刀具的同时切穿毛坯;2.5轴铣削可使用3轴铣床,因为铣削刀具(或铣削刀具和夹具支架的组合)可在所有的三个单独维度上移动,但在大多数切削操作期间,铣削刀具仅相对于工件在2个轴上移动,这导致更高效的制造过程。在2.5轴铣削的情况下,以在垂直于铣削刀具的平面中连续移动但平行于铣削刀具采用离散步长来进行减材过程。这与在垂直于铣削刀具的平面和平行于铣削刀具的维度上都进行连续移动的3轴铣削相反。换句话说,3轴铣削可在所有三个方向上进行连续移动。与3轴减材制造相比,2.5轴减材制造过程可按顺序快速地移除材料层,并且创建出经常具有一系列不同深度的“口袋”的零件。以2.5轴减材制造为目标意味着几何形状应具有分层或楼梯形状,这允许对减材机器刀具路径进行更快速的编程以及更短的机加工时间。
因此,不管SM机器170的运动自由度和锚定能力如何,SM机器170都可执行2.5轴机加工过程,并且“2.5轴机加工”是指其中两个轴同步地移动(典型地在计算机控制下)而第三轴仅增量移动以在零件几何形状中创建出一系列“层”的一种CNC机加工。每一层的壁和地板可分别由刀具的侧面和端部切削,这比轮廓(“3轴”)表面更高效,轮廓表面必须由仅在单个点处与零件接触的刀具在多次通过中进行机加工。同时,与其中刀具总是一直切穿零件的2轴机加工相比,2.5轴机加工提供对几何形状的改进的控制。因为CAD程序116中的生成式设计过程产生2.5轴兼容几何形状,所以这导致显著节省SM机器170的编程时间和机加工时间,作为将更简单的几何形状用于零件的结果,即使SM机器170可处理零件的更复杂的几何形状也是如此。
在各种实现方式中,系统100的CAD程序116可实现如本文档中描述的一个或多个生成式设计过程。生成式设计过程寻求最佳的几何形状、拓扑或这两者。例如,生成式设计过程通过最小化受约束的性能相关目标函数来在替代设计中寻求最佳几何形状:
使得gi(s,u(s))=0 i=1,...,ng (2)
其中s是与域的几何形状相关的设计变量的向量,并且u是取决于s的状态变量(例如,位移)的向量。附加约束(例如,平衡)由集gi表示。为简单起见,这里假设等式约束。用于最小化等式(1)的数学编程方法可以是基于梯度的或非基于梯度的。基于梯度的方法(相对于非基于梯度的方法)通常使用更多与设计灵敏度相关联的信息,例如:
这是与设计变量相关的性能相关目标函数的导数。在基于水平集的拓扑优化方法中,s表示实体区域的边界。
图1B示出了利用几何形状过滤和/或模拟结果过滤以及使用2.5轴减材制造过程制造物理结构的生成式设计过程的示例。例如,由CAD程序116获得180对象的设计空间、一个或多个设计标准以及一个或多个使用中载荷情况,以用于产生生成式3D模型。建模对象的设计空间是要在其内部设计零件的体积。设计空间可包括包含对象的三维拓扑的一个或多个外部形状的初始规范的包围体积。如上所述,设计空间可包括在CAD程序116中设计或加载到其中的3D模型,其用作所描述的生成式设计过程的优化域的子空间,和/或指定生成式设计几何形状产生的边界条件的一组输入实体,例如,使用UI 122选择的B-Rep以指定保留来用作与更大3D模型或单独的3D模型中的其他部件的连接点的子空间。
设计标准可包括对象的设计目标和设计约束。设计目标可包括但不限于最小化废料、最小化零件重量以及最小化零件的柔顺性、应力或其他固有属性,并且用于推动形状合成过程朝向更好的设计。虽然不是必需的,但设计目标典型地植根于设计的模拟(线性静态、流体动力学、电磁等)。设计约束可包括在任何生成的设计中应满足的各种几何和物理特性或行为(也可接受对单个零件或整个组件的要求);示例包括最大质量、载荷下的最大变形、最大应力等。
此外,可通过使用设计参数和设计变量的不同组合来制定不同的生成式设计过程。在一些实现方式中,设计参数可包括通过UI 122接收的各种类型的输入,诸如在系统100中的CAD程序可用的不同生成式设计合成方法中的选择。在一些实现方式中,可用的生成式设计综合方法可包括为拓扑优化提供基本水平集方法的基于水平集的拓扑优化。其他生成式设计合成方法也是可能的并且可由系统100中的CAD程序提供。响应于来自用户160的输入,可例如由CAD程序116使用设计参数和设计变量的不同组合。例如,用户160可选择不同的生成式设计合成方法以在单个3D模型内的相应不同设计空间内使用。
此外,获得180的一个或多个使用中载荷情况是针对将使用2.5轴减材制造过程从生成式设计的零件制造的物理结构。一个或多个使用中载荷情况可与数值模拟的设置相关联,例如,将与生成式设计的零件的经优化3D拓扑一起使用的FEA模型中的元素的密度。然而,如本文所用,“使用中载荷情况”通常是指单独的载荷和约束组,在这些载荷和约束条件下评估零件性能,并且这些载荷和约束条件对应于各种类型的物理模拟的边界条件集,诸如流体流动模拟、电磁(EM)行为模拟、多物理场模拟等。
一般来说,数值模拟的设置可包括要模拟的一个或多个物理特性和要执行的一种或多种类型的模拟,以及潜在的替代建模或其他近似方法。在一些实现方式中,数值模拟的类型是针对程序的所有用途或鉴于程序中的已启动生成式设计过程的特定上下文预定义的。此外,用于数值模拟的设置可包括与要执行的数值模拟的类型相关联的至少一组载荷条件和/或其他物理环境信息。
在指定生成式设计空间和设计标准的情况下,例如由CAD程序116使用一个或多个生成式设计过程来产生185一个或多个3D模型,其中对应于这些3D模型的物理结构被设计为使用2.5轴减材制造过程来制造。例如,由CAD程序116执行的一个或多个生成式设计过程可包括拓扑优化的基于边界的生成式设计过程(例如,使用水平集方法)、基于密度的生成式设计过程(例如,使用SIMP方法),或这两者。在一些实现方式中,一个或多个生成式设计过程可以使用所描述的水平集方法,其中来自等式(1)、(2)和(3)的s表示使用一个或多水平集隐式地表示的实体区域的边界,该一个或多个水平集可作为采样值存储在背景栅格或网格上。在基于水平集的拓扑优化方法中,结构的外部形状由水平集函数的轮廓表示,并且形状和配置的变化由水平集函数值的变化表示。
水平集函数是指指示设置初始结构的设计域的每个部分是对应于形成结构并被材料占据的材料域(材料相)、形成空隙的空隙域(空隙相)还是这两个域之间的边界的函数,其中表示材料域的值与表示空隙域的值之间的预定值表示材料域与空隙域之间的边界。在一些实现方式中,通过将函数的采样值存储在离散的背景栅格或网格中来隐式地表示水平集函数。有向距离场是这种水平集函数的示例,其中零轮廓表示形状边界,函数的正值对应于材料域外部的点并量化该点与最近域表面之间的距离,并且负值对应于材料域内部的点并量化该点与最近域表面之间的距离。
在任何情况下,3D模型的产生185涉及例如由CAD程序116迭代地修改建模对象的生成式设计的三维形状。这包括修改三维形状的几何形状(例如,利用SIMP或水平集方法)和三维形状的拓扑(例如,添加孔或空隙以修改表面的不受连续变形而不撕裂影响的空间特性,从而改变形状元素在3D模型中的界定和连接方式)。此外,3D模型的产生185可在拓扑优化循环中采用几何形状过滤和/或模拟结果过滤(如贯穿本文档详细描述),以产生与2.5轴减材制造过程兼容的一个或多个生成式3D模型。此类3D模型可具有对应于2.5轴减法制造过程的离散高度层,其中离散高度层在一个或多个3D模型中创建促进对应的物理结构的制造的平坦区域。
这与专注于在体积约束下最小化零件的一些物理响应的传统拓扑优化相反,该传统拓扑优化通常会产生难以制造并且必须在后续设计迭代中用作人类设计师的灵感的复杂形状。但除了生成满足性能要求的设计外,产生185还可通过促成或强制生成式设计结果与2.5轴机加工兼容来考虑成本和可制造性,从而产生更容易制造且更便宜并且容易用于下游设计活动的设计。产生185可产生垂直于刀具轴的大平坦区域以及平行于刀具入口且可由刀具接近的侧面,两者都产生更容易机加工的几何形状。即使对于多轴CNC铣床也是如此,因为铣削过程通过促进侧铣和面铣来增强,该侧铣和该面铣分别使用机加工刀具的侧部(侧面)和面来移除毛坯材料。
对建模对象的生成式设计的3D形状的迭代修改185可促成或约束几何形状生成过程以产生可使用2.5轴机加工制造的形状。在一些实现方式中,使用几何形状过滤,使得几何形状在每个形状合成操作之后被更新,以确保一个或多个指定的刀具可接近2.5轴分层结构。下面结合图2A至图2F来描述关于此类实现方式的另外细节。在一些实现方式中,使用模拟结果过滤以过滤从中导出形状的边界速度的物理量,以便帮助优化器创建2.5轴可机加工结构。下面结合图3A至图3C来描述关于此类实现方式的另外细节。另外,在一些实现方式中,使用空隙生成和其他技术来提高形状优化的收敛速率和生成的结果的质量。下面结合图4A至图4D来描述关于此类实现方式的另外细节。此外,还可在所有这些各种实现方式中处理多个铣削方向和零件设置。下面结合图5A和图5B来描述关于此类实现方式的另外细节。
可例如在显示装置120上的UI 122中将生成式设计处理的结果连同接受或拒绝设计的选项190一起呈现给用户。例如,通过生成式设计处理产生的3D模型可在UI 122中呈现给用户160。在一些实现方式中,用户可针对每个设计研究从最终设计或多种先前迭代中的任一者中进行选择。在一些实现方式中,可将由生成式设计过程产生的两个或更多个3D模型连同设计复杂性与制造成本(或各种其他感兴趣量中的任一者)的权衡分析一起呈现给用户。权衡分析可帮助用户160接受或拒绝所呈现的3D模型中的一个或多个3D模型。
如果设计被拒绝,则图1B的过程可返回到例如由CAD程序116获得180新的设计空间和/或新的设计标准以用于产生新的生成式3D模型。一旦设计未被拒绝190,则图1B的过程可例如通过CAD程序116来提供195具有生成式设计的形状和拓扑的对象的3D模型,以用于物理结构的2.5轴减材制造。提供195可涉及将3D模型发送或保存到持久性存储装置以用于使用SM制造系统来制造对应于对象的物理结构。在一些实现方式中,提供195涉及例如通过CAD程序116来生成195A使用3D模型的计算机控制的SM制造系统的刀具路径规范,以及例如通过CAD程序116来利用计算机控制的SM制造系统使用为2.5轴SM机器生成的刀具路径规范制造195B对应于对象的物理结构的至少一部分。在一些实现方式中,提供195可包括利用2.5轴减材制造机器使用生成195A的刀具路径规范来制造用于物理结构的模具,其中3D模型可以是将使用2.5轴减材制造过程制造的模具的模型。
提供195的3D模型可以是通过生成式设计合成方法或生成设计输出的后处理版本产生185的3D模型。在一些实现方式中,可通过基于边界的生成式设计过程从输出中提取的多边形网格或者直接从基于边界的生成式设计过程中获得的生成式设计数据可例如通过CAD程序116转换为边界表示(B-Rep)模型和/或参数特征模型。例如,生成式设计数据可以是直接从基于边界的生成式设计过程中获得的水平集距离场数据。边界表示模型或参数特征模型可作为草图几何形状和参数特征进行编辑。例如,在一些实现方式中,通过生成式设计合成方法产生的3D网格模型可在被提供195之前转换为防水的B-Rep 3D模型。
因此,本文档中描述的生成式设计方法可例如在CAD程序116中实现,以提供以下两者:(1)对生成式设计过程的实质性用户控制,以及(2)用于提供在制造对应于对象的物理结构中使用的生成式设计的3D模型的控制函数。在任何情况下,目标都是产生促进对象的2.5轴减材制造的对象的3D模型。
图2A示出了利用几何形状过滤以产生与2.5轴减材制造过程兼容的3D模型的生成式设计过程的示例。图2A的过程是来自图1B的定义的过程185的示例。因此,图2A的过程涉及使用指定的生成设计过程并基于指定设计空间的输入、数值模拟设置和一个或多个设计标准对生成式设计的3D形状的迭代修改,如上详述。在一些实现方式中,形状合成过程采用基于边界(例如,水平集)的形状优化方法,该方法以起始形状或种子几何形状开始,然后通过优化循环的连续迭代进行修改以产生最小化受某些约束(例如,质量、最大应力和可制造性)的一些感兴趣量(例如,应变能)的“优化的设计”或“最终结果”。
形状优化循环包括根据3D形状的当前版本和一个或多个使用中载荷情况来执行建模对象的数值模拟200,以产生建模对象的物理响应(例如,结构响应)的当前数值评估。如上所述,可执行各种类型的数值模拟。例如,FEA模拟可计算3D形状的当前版本的体积内各处的应变能。在任何情况下,当前3D形状的物理模拟都会产生当前数值评估,该当前数值评估然后可用于根据设计标准来改变3D形状。
然后基于物理响应的当前数值评估来更新210 3D形状的当前版本,以产生建模对象的3D形状的更新版本。在一些实现方式中,建模对象的生成式设计的3D形状包括建模对象的隐式表面的水平集表示,并且更新210包括根据基于当前物理评估为隐式表面计算的形状改变速度来更新水平集表示。例如,体积内的应变能场(如通过数值模拟确定)可变换为体积的表面上的速度场,其中每个点的速度使几何形状朝向更优形状移动,并且可平流输送3D形状以通过根据边界的速度移动边界的每一块来更新形状。
可使用各种类型的更新210过程。例如,更新210可包括执行模拟结果过滤,如下面结合图3A至图3C详述。此外,在不同的处理阶段期间可用不同的格式表示建模对象的3D形状,诸如使用用于模拟的立方体素网格、使用用于形状更新的隐式形状以及使用用于导出生成式设计的多边形网格来表示3D形状。此外,如上所述,建模对象的3D形状可能需要在整个优化过程期间保持在指定的设计空间(或设计域)内,其中需要设计域的用户指定区域(称为保留体)在整个优化过程期间保持填充有材料并且可用于指定物理问题(例如,固体力学中的载荷和约束)的边界条件。
图3A示出了在生成式设计期间的用于促进产生与2.5轴减材制造过程兼容的3D模型的模拟结果过滤过程的示例。已经使用数值模拟和载荷情况处理302输入形状300以产生物理响应的当前数值评估304。在所示的示例中,物理响应的数值评估304是应变能场,但其他类型的物理评估也可与本文描述的系统和技术一起使用。
物理模拟器可在建模零件内的各处产生应力场、应变能场等,并且形状优化器可将其转换为速度场。这种从模拟场到速度的转换可像场的缩放和偏移一样简单,以实现期望的体积减少。但是传统的形状优化方法没有考虑到铣削方向308,以促成产生与2.5轴铣削兼容的形状。因此,假设初始形状是可2.5轴铣削的,则由优化器产生的速度场通将典型地导致形状变得不太可制造,因为模拟结果并未表明通过在2.5轴可制造方向上移动能改进目标。
为了解决这个问题,可在物理模拟和形状优化操作之间使用2.5轴铣削过滤器来过滤模拟结果,以产生促成优化器在与2.5轴制造一致的方向上移动的几乎等效的场。可对当前的数值(物理)评估304进行过滤310以产生经过滤的物理评估,该经过滤的物理评估促成在更新建模对象的3D形状的过程期间修改与2.5轴减材制造过程一致的三维形状的隐式表面的几何形状。
过滤310可包括在建模对象的相应的离散层中进行过滤,例如,如由用户或自动化过程指定,但是为了便于说明,在图3A中以图形方式示出的示例仅具有单层(该2轴示例表示仅具有一层的2.5轴的特殊情况)。过滤310可包括沿着铣削方向308找到312(在离散层中的相应的离散层内)当前物理评估中的最大值(或可能略小于最大值,例如,第95或第90百分位值),并且基于最大值来重置314当前物理评估(在离散层中的相应的离散层内)的值,以产生经过滤的物理评估。例如,射线316可沿着铣削方向308投射穿过零件,并且可将沿着每条射线的所有体素设置为该层内的场的最大值,从而创建正则化场318。
当前物理评估可以是基于体素的应力场数据、应变场数据或这两者。应注意,“应力”和“应变”是张量,其中“最大值”并不总是有很好的含义。因此,对基于体素的应力场数据或应变场数据(或两者)进行的过滤可以对源自此类张量(例如,冯米斯应力和应变能)的标量进行的过滤。应注意,可使用其他量来代替这些量,并且因此在某些实现方式中,可过滤来自模拟的不同场。
在一些实现方式中,射线沿着铣削方向308投射穿过形状300的体积,并且沿着每条光线遇到的最大值被收集在垂直于铣削方向308并穿过零件的2D平面上。其他方法也是可能的,诸如根据正在过滤的特定模拟结果而使用不同的函数(例如,平均值或中值,或使用第95或第90百分位值,而不是最大值)进行累加。然后,更新模拟结果,使得根据平面上的最近点来设置每个体素。因此,找到312可包括:在离散层中的相应的离散层内将平行于铣削方向的射线投射穿过建模对象的三维形状的当前版本;以及在离散层的相应的二维区域中收集沿着射线中的每一者遇到的应力数据和/或应变数据的最大值,并且重置314可包括在离散层中的相应的离散层内将每个体素中的应力数据和/或应变数据设置为等于在离散层的对应二维区域中的最接近体素的位置的值。最接近的点可以是平面上的在欧几里得意义上最靠近3D体素中心的点。在一些情况下,射线可能不会准确地投射到该点,在这种情况下,可在平面上的最近点之间使用线性插值,对于这些点来说可使用来自射线投射的聚合值。此外,下面结合图3B和图3C提供关于将这种方法扩展到两个或更多个层的另外细节。
有了经过滤的物理评估318,根据经过滤的物理评估来更新3D形状的当前版本,这可包括使用建模对象的当前3D形状的经过滤的物理评估318来计算320隐式表面(例如,在水平集表示中)的形状改变速度。该计算320可使用传统的或新的形状优化器算法,但是在任一种情况下,因为来自模拟的数值评估已经被过滤以便相对于铣削方向308对场进行正则化并且因为形状优化器的输入是该正则化场318,所以计算320通常将产生与铣削方向308平行或垂直的形状改变速度322,如图3A所示。
然后通过根据计算的形状改变速度移动3D形状的边界来更新325当前3D形状。如图3A所示,形状改变速度322与铣削方向308平行或垂直。鉴于此,从更新325产生的新形状327主要在保持2.5轴机加工兼容性的方向上改变。相反,注意将通过向形状优化器提供物理响应的原始数值评估304而不是物理响应的经过滤的数值评估318来产生的形状改变速度330的多个方向;形状改变速度330的多个方向将产生与2.5轴铣削不太兼容的新形状。
此外,如上所述,过滤310可在建模对象的相应的离散层中执行,并且这些离散层可由用户或由自动化过程指定。图3B示出了在相应的离散层中的模拟结果过滤的图形表示。图3B所示的示例是驻留在三个离散层352、354、356中的输入形状350,每个离散层都垂直于铣削方向308。但这只是一个示例;可使用不同数量的离散层352、354、356,并且离散层352、354、356中的一者或多者(或每一者)可具有不同的厚度。如将了解,在各种实施方案中,离散层352、354、356的数量及其厚度可由用户和/或自动化过程修改,这取决于输入形状350的细节以及要执行的形状和拓扑优化。
在任何情况下,设计域(空间)可划分为离散层352、354、356,并且可使用数值模拟为输入形状350生成应变能场360,如上所述。然后可对每个相应的离散层352、354、356执行上述射线投射技术,使得射线在每个层内局部投射,并且沿着投射射线的最大值被收集在每个层的相应的单独2D平面362中。然后基于收集的最大值来重置应变能场360的值以产生正则化场365,其中正则化被局部化到离散层352、354、356中的每一者。
由于对形状优化器的输入的这种局部化,为形状350计算的边界速度370在相应的层352、354、356中将不同,但仍将倾向于产生主要在保持2.5轴机加工兼容性的方向改变的新形状375。因此,如图所示,新形状375包括在离散层352、354、356之间的过渡处垂直于铣削方向308的平坦区段,并且新形状375包括平行于这些过渡平面之间的铣削方向308之间的平坦区段。应注意,层的暴露顶面和零件的底面不需要直接考虑形状改变速度的影响来处理。在一些实现方式中,几何形状过滤校正这些部分中的任何不合适的形状改变。然而,在一些实现方式中,模拟结果被分配在顶面/底面下,以致使它们全部一起移动,或者在计算出形状改变速度之后通过过滤速度场来完全消除运动。
图3C示出了建模对象内的离散层的图形表示390。考虑在域D内的任意体素x,其中铣削方向为m。在不失一般性的情况下,将“基准平面”B定义为垂直于m的穿过原点的平面。体素x具有距该平面的“高度”,如由h(x)=<x,m>定义,或从原点到x的向量在平面法线上的投影。此外,令x0=x-<x,m>m是x在基准平面B上的投影。还指定了层边界(无论是由用户指定还是通过自动化过程指定),并且所述层边界采用限定在层h0、......、h上方、下方和之间的边界的一系列高度的形式,如图3C所示。
此外,假设点x位于层l中,其中顶部高度和底部高度分别为hl和hl+1,并且求解器场ψ在零件体积内部为正且在外部为零。场ψ在点x处的正则化值被定义为
对于所有x,其中h0≤h(x)≤hn,否则,ψ′(x)=ψ(x)。应注意,在速度计算之前而不是之后应用该方法,并且不需要尝试校正未对准的面来使形状更接近可制造的形状,也不需要最小化沿着每一层的顶面和底面的运动。在实践中,模拟结果过滤/正则化旨在帮助优化器在大体可制造的方向上推动形状,但一般不足以保持2.5轴可制造形状。因此,虽然模拟结果过滤/正则化过程可在没有几何形状过滤/正则化的情况下使用,但典型地,该过程与几何形状过滤/正则化一起使用,如下所述,或者与可校正设计的非约束符合区域的另一种合适的技术一起使用。
因此,由图2A中的更新210产生的3D形状可能与2.5轴机加工不兼容,这是因为模拟结果过滤/正则化(或将形状优化推向更可制造结果的其他技术)不能确保2.5轴铣削兼容性,或者是因为没使用有模拟结果过滤/正则化(或类似技术)。在此类情况下,可在更新210之后执行附加处理(例如,在优化循环的每次迭代中)以确保所产生的3D形状与2.5轴机加工兼容并且不包括对于2.5轴机加工的无效几何形状。
图2B示出了对于2.5轴机加工的无效几何形状的示例。如图所示,3D模型212包括底切区域212A(相对于在机加工刀具214的取向上以图形方式示出的铣削方向)、不可到达的拐角区域212B(由机加工刀具214的钻头和主轴尺寸确定)和非侧面212C。这些是对于2.5轴机加工的无效几何形状的示例,因为可通过2.5轴机加工技术制造的形状应满足三个几何要求:(1)体上的每个点都应从铣削方向“可见”(即,没有底切);(2)每个点都应可指定直径的刀具到达(例如,没有方孔);(3)每个面的法线要么平行于铣削方向(顶面或底面),要么垂直于铣削方向(侧面)。另外,顶面或底面应与层边界对齐,以减少2.5轴机加工过程需要使用的离散竖直步骤的数量。
通过对3D模型的更新(例如,平流输送)几何形状应用一系列变换,将2.5轴机加工不兼容几何形状转换为具有2.5轴机加工兼容几何形状的“最近形状”,然后作为结果显示给用户的结果和下一迭代的起始形状。参考图2A,应注意,实现更新210的优化器不需要知道在拓扑优化循环期间执行的这些变换。
生成220 3D形状的更新版本的二维(2D)轮廓表示。2D轮廓表示对应于垂直于2.5轴减材制造过程的铣削方向的离散层。在一些实现方式中,离散层的数量和位置由用户输入确定。在一些实现方式中,离散层的数量和位置由分析一个或多个起始3D模型(例如,输入保存体)的自动过程确定。在一些实现方式中,离散层的数量和位置可在优化过程的过程中改变。
例如,离散层的数量和位置可由优化器作为自变量进行控制。在一些实现方式中,通过添加离散层过渡高度和/或顶面和底面中的一者或多者的位置来增加由优化器控制的自变量的集。可使用链式法则相对于这些附加变量对目标函数进行微分,以根据单个元素灵敏度来确定目标相对于每个高度变量的改变率。该导数可用于根据所使用的优化算法来更新层高度位置。可应用一种或多种启发法以允许两个几乎重叠的层高度(对应于非常薄的层)自动合并。可采用附加的一种或多种启发法以检测有助于层高度导数的元素灵敏度之间的高方差并且触发将层高度分成两部分(即,插入层)。
生成220 2D轮廓表示可包括通过确定3D形状的更新版本的既位于(在2D中)对应的离散层内又位于相对于铣削方向在对应的离散层上方的离散层中的任一者内的一个或多个部分的廓影(例如,外接层中的所有或大部分体的廓线,具体取决于如何构建边界的位置)来生成对应的离散层的2D轮廓表示中的每一者。在一些实现方式中,这涉及(对于每一层)沿着铣削方向将射线从最上面离散层的顶部部分(即,零件的顶部)向下到当前离散层的底部部分投射穿过隐式表面的水平集表示。在一些实现防线中,仅将射线投射穿过当前层,并且然后在该廓影与上方的层的廓影之间执行布尔并集。
图2C示出了生成二维轮廓表示的示例的图形表示。应注意,图2C至图2F表示垂直于铣削方向的3D零件的截面图,以促进本公开中的视觉清晰度。与上述模拟结果正则化过滤的精神类似,可将射线投射穿过体积,以便为每一层创建包含在该层中和上方的零件的最大包络的2D切片或“廓影”。在图2C所示的示例中,建模对象的当前3D形状跨越四个层222A、222B、222C、222D。将第一组光线224A投射穿过第一层222A以产生零件的第一层廓影226A。将第二组光线224B投射穿过第一层222A和第二层222B以产生零件的第二层廓影226B。将第三组光线224C投射穿过第一层222A、第二层222B和第三层222C以产生零件的第三层廓影226C。并且将第四组光线224D投射穿过第一层222A、第二层222B、第三层222C和第四层222D以产生零件的第四层廓影226D。
在数学上,使用与上述相同的术语,但这次将射线投射穿过水平集场Φ,其中内点为负且外点为正,以产生包含层l的廓影的水平集的2D场φl。为方便起见,令所有层廓影与基准平面共面。
实际上,选择足够大的φl以包含整个体的阴影,然后对平面中的每个像素使用等式(5)以创建2D廓影投影。应注意,与等式(4)不同,聚合使用min(·),并且将射线从零件的顶部向下投射到层l的底部(而不是仅在层内)。因为射线从体积的顶部处开始,所以底切会自动填充到层廓影中。
然而应注意,不需要使用在当前层中和上方的零件的最大/极大包络,并且可使用其他方法来定义廓影226A、226B、226C、226D的范围,即,将侧面的竖直壁放置在哪里。在一些实现方式中,廓影226A、226B、226C、226D的边界由与在当前层中和上方的零件相关联的边缘的平均值定义。在一些实现方式中,廓影226A、226B、226C、226D的边界由与在当前层中和上方的零件相关联的边缘的加权平均值定义。其他变化是可能的,即,从无约束设计到受约束的2.5轴兼容设计的不同映射,例如,使用第75百分位或中值,这取决于生成式设计过程移除材料的速度有多快,以及不期望地断开体的两个部分的潜在风险,该两个部分在铣削方向上由相对较薄的腹板保持在一起。因此,在检查沿者射线的有向距离场的值的情况下,代替选择边界作为遇到(即,这个在最里面遇到的点)并创建该外部包络的最小有向距离场值,数学可容易地改变为使用不同的聚合,例如,平均聚合。
返回图2A,沿着铣削方向挤出240 2D轮廓表示以产生三维形状的更新版本的3D表示。应注意,由于沿着铣削方向挤出240 2D轮廓表示,因此得到的3D表示必然具有平行于铣削方向的侧面(每个侧面的每个法线都垂直于铣削方向)。然后,从具有侧面的3D表示的组合形成250建模对象的3D形状的下一版本。例如,执行3D表示的布尔并集会产生新的3D形状,该形状已从先前的迭代修改以更好地满足生成式设计过程的设计标准,但新的3D形状必然没有底切并且没有面既不是顶面或底面(其中法线平行于铣削方向)也不是侧面(其中法线垂直于铣削方向)的面。
图2D使用来自图2C的层廓影的示例示出了来自图2A的挤出240和形成250的示例的图形表示。对于每一层222A、222B、222C、222D,可将对应的2D切片投影回到3D挤出件,并且可组合这些3D挤出件242A、242B、242C、242D以形成建模对象的组合几何结构252。在一些实现方式中,通过对2D切片进行投影来重构3D水平集场。为此,将每个切片用于构造表示层及其阴影的3D挤出件,并且使用布尔并集将这些挤出件组合以产生组合形状。
在数学上,定义Φl、层l的3D挤出件以及最终的正则化形状Φ′,如下:
其中x0=x-<x,m>m是x在基准平面B上的投影,并且h(x)=<x,m>是点x在图3C中所示的基准平面B上方的高度。第一行中的后两个自变数分别创建挤出件的顶面和底面。这种新几何形状满足以下要求:法线与m平行(或反平行)的所有面都位于层边界上,并且所有剩余的面都具有垂直于层边界的法线。
在一些实现方式中,正则化场Φ′替换输入场Φ作为每次迭代中的优化的输出。在一些实现方式中,可更慢地引入几何形状过滤,从而允许优化器在一段时间内进行无约束优化,并且然后通过使用混合常数s∈[0,1]混合输入和输出场来逐渐添加约束,
Φout=(1-s)Φ+sΦ′ (7)
并且在优化过程开始时允许s为0,然后缓慢地将其增加到1(线性地,或遵循任何其他连续的0-1函数)。这可能需要将Φ′和Φ重新初始化为与max(abs(Φ(x)-Φ′(x)))一样大的窄带中的有向距离场。
返回图2A,检查260可确定当前模型是否已经收敛到稳定解,即,是否满足所有设计约束并且自上次迭代以来仅对建模对象的3D形状进行微小的改变,因为受到约束,设计目标的平衡无法进一步改善。此外,在一些实现方式中,检查270可确定是否已经完成预定义数量的形状修改迭代,使得迭代修改过程将在预定义数量的迭代(由用户或由自动化过程指定)之后结束。一般来说,重复数值模拟的执行200、当前3D模型的更新210以及迭代循环中的其他操作(例如,生成220、挤出240和形成250),直到已经执行了预定数量的形状修改迭代,设计空间中的建模对象的生成式设计的三维形状满足一个或多个设计标准和一个或多个使用中载荷情况或这两者。
此外,如上所述,几何形状过滤可在拓扑优化过程期间在3D形状的迭代修改过程中缓慢地引入。因此,在一些实现方式中,迭代地修改包括通过将增加量的3D模型的所形成250的下一版本与3D模型的更新210版本进行混合来产生280建模对象的3D形状的当前版本(用于下一次迭代)。对于多次迭代中的每一者,可通过将来自先前迭代的3D形状的下一版本(紧邻的先前版本和/或在此之前的先前版本)与来自先前迭代的三维形状的更新版本进行混合来产生建模对象的3D形状的当前版本。此外,对于多次迭代中的两个或多个后续迭代中的每一者(例如,对于每个后续迭代,或潜在地具有混合比例暂时降低的一些中间迭代),直到更新版本和所有下一版本在修改的下一迭代中都不用作建模对象的3D形状的当前版本。因此,在优化循环的早期,无论有或没有模拟结果过滤,都可允许优化器在几乎没有来自几何形状过滤的约束的情况下操作,并且然后在优化循环的后期,可添加几何形状过滤(无论是在多次迭代中逐渐添加或一次全部添加)以确保最终输出几何形状与2.5轴铣削兼容。
在一些实现方式中,在2.5轴减材制造过程的至少一个主轴中移除285建模对象的生成式设计的三维形状的小于最小特征尺寸的任何部分。下面结合图4A来描述关于小特征的这种移除的另外细节。应注意,移除285可在以下时间完成:(i)在形状的迭代修改期间(即,作为优化循环中的步骤,其中建模对象的3D形状的下一版本已移除几何形状的任何碎片),如图2A所示,(ii)在形状的迭代修改之后(即,作为在优化完成之后的后处理),如图4A所示,或(iii)在迭代修改期间和在迭代修改之后。
另外,在一些实现方式中,为了确保圆铣削刀具可切削在2D层廓影中所包含的轮廓,执行形态学闭运算。此运算可直接在每个2D层廓影上执行,以确保刀具可接近性。因此,在一些实现方式中,将2D轮廓表示中的每一者向外偏移230至少等于可用于与一个或多个计算机控制的制造系统一起使用的最小铣到的半径的量,以用于制造建模对象的物理结构。并且在该向外偏移230之后,将2D轮廓表示中的每一者向内偏移235至少等于可用的最小铣削刀具的半径的量。用于形成每个层的可接近轮廓的这些偏移230、235应在挤出240和形成250之前完成。此外,在一些实现方式中,基于铣削层所需的刀具穿透到零件(例如,与其成比例或非线性相关地)来设定偏移量,例如,偏移230可包括基于2D轮廓表示的一个离散层的底部部分的高度(相对于铣削方向)与零件的顶部部分的高度(相对于铣削方向)之间的差来设置230用于使离散层中的一者的2D轮廓表示偏移的量。应注意,随着切削深度的增加,使用刀具尺寸的这种动态调整通过避免需要非常长且细长的昂贵且易碎的刀具来提高可制造性。
图2E示出了用于刀具接近的形态学闭的图形表示。如图所示,形态学闭可涉及应用于输入轮廓232的曲线偏移230A,其中偏移230A的量等于刀具半径233;这创建了类似于用于切削几何形状的这个层的刀具路径231的某物。该偏移曲线231然后再次向原始轮廓232偏移235A相同的量233,从而产生与原始轮廓相同的更新轮廓237,除了几何形状237A被添加到对于刀具来说太紧而无法接近的拐角。
其中init(·)函数是有向距离场重新初始化过程。因此,这种形态学闭会影响刀具接近检查,该刀具接近检查有效地将材料添加到零件,以确保在铣削过程期间可接近该零件。因此,可通过指定直径或半径的刀具(例如,没有方孔)到达每个点。
在3轴和5轴铣削中,刀具可接近性检查结合了刀头的模型,以确保可使用用户指定长度的刀具来切削零件。在2.5轴中这样做可能会在刀头干扰体的地方创建不需要的架。因此,代替假设无限长的刀具(这可能需要机械师以高昂的成本专门订购刀具),可采用动态刀具选择方法,该动态刀具选择方法假设只有刀具的凹槽面进入零件边界框,并且然后选择适当尺寸的刀具,使得可使用廉价、现成的端铣削刀具切削零件。
图2F示出了比较刀具建模方法的图形表示。在刀具建模方法234A中,假定固定直径、无限长的刀具。如上所述,这可能是不现实的或导致昂贵的刀具要求。相反,在刀具建模方法234B中,刀具直径随着计划的切削深度而增长。在一些实现方式中,用户(或自动化过程)供应最小刀具尺寸,该最小刀具尺寸充当为每一层选择的刀具的下限。用于层l的刀具直径dl可根据下式来定义:
其中dmin是用户指定的最小直径,并且h0是零件的顶部平面(最靠近刀具架的平面)的高度。因此,设置偏移量可包括将该量设置为以下项中的最大值:(i)可用的最小铣削刀具的半径,以及(ii)零件的顶部和要机加工的层的底部之间的差值的预定义分数,该预定义分数大于零且小于一(或在一些情况下大于一)。在上面的示例中,预定义分数是二分之一,但其他预定义分数也是可能的,并且可针对预期用于制造零件的特定机床进行定制。应注意,这种方法引入了拐角半径在不同高度水平上不同的不良副作用,从而在设计的零件中产生薄架,但是这些伪影可使用下面结合图4A和图4B描述的层对准技术来处理。
另外,差值不一定是在hl+1和h0之间,即,设置230用于使离散层中的一者的2D轮廓表示偏移的量不需要基于2D轮廓表示的一个离散层的底部部分(相对于铣削方向)和零件的最上面离散层(相对于铣削方向)的高度之间的差值;切削穿透深度的其他度量也是可能的。应注意,此处的h值是指层过渡高度,即,沿着铣削方向距一个层结束且下一层开始的零件外部的距离,而不是层高度本身,该层高度可能与层的中平面的高度相关联;如果有N层,则有N+1层过渡,其中第一个过渡是零件的顶部并且最后一个是零件的底部,如沿着铣削方向测量。
在一些实现方式中,廓影偏移量是零件的最顶部与下一最深层过渡(即,当前层的底部)之间的相对于铣削方向的距离的函数。因此,测量从最顶层过渡到当前层的底部的距离,该距离对应于最大可能的切削深度。并且在一些实现方式中,廓影偏移量是局部零件的顶部与下一最深层过渡之间的距离的函数。因此,距离是局部地在当前模拟切削将发生的区域中从零件的顶部测量的(即,如果特定区域的顶层上没有材料,则不将其包括在评估中)。切削穿透深度的其他度量也是可能的。
在一些实现方式中,设置偏移量包括将该量设置为以下项中的最大值:(i)可用的最小铣削刀具的半径,以及(ii)为“实际铣削刀具”选择的直径,该实际铣削刀具应具有实现切削的全深度的凹槽。该选定的直径可从可用铣削刀具的表或数据库中得出,该选定的直径可以是特定于用户的,也可一般适用于过程(诸如行业标准的刀具目录)。在一些实现方式中,通过从典型的端铣削刀具特性的专家知识得出的凹槽长度和刀具直径之间的等式驱动关系来确定直径。例如,凹槽长度和刀具直径之间的等式驱动关系可使用固定的正刀具纵横比,例如等式(9)的二分之一比例,或更一般地,代替使用在等式(9)的分母中的2,而使用变量rt,其中选择rt的值来描述典型的廉价铣削刀具。
图4A示出了用于使用几何形状过滤、模拟结果过滤或两者来生成式设计零件以产生与2.5轴减材制造过程兼容的3D模型的附加过程示例。图4A的过程可结合以上结合图1B至图3C描述的任何过程来实现。在基于边界的生成式设计过程的情况下,诸如使用水平集表示的那些过程,可在迭代修改过程期间添加和移除孔洞或空隙,以便改变生成式设计的拓扑,或一个或多个单独层的拓扑。可基于孔洞/空隙因为形状修改过程而变得小于阈值尺寸来实现孔洞/空隙的移除,例如,当孔洞/空隙收缩至小于刀具半径的尺寸时,它们可被自动移除(作为偏移的结果)。此外,可在迭代修改过程期间周期性地或根据需要添加孔洞/空隙。
因此,可在迭代修改过程期间执行检查400以确定是否应在3D形状的当前版本的隐式表面中进行额外的拓扑改变。在一些实现方式中,检查400是是否已经发生了预定义次数的迭代。在一些实现方式中,检查400涉及分析当前数据(例如,在优化过程期间的形状的当前模拟结果或当前改变率),以查看该数据是否指示该形状将受益于拓扑改变。如果指示拓扑改变,则修改在基于边界的生成式设计过程中使用的隐式表面以插入至少一个空隙。在一些实现方式中,将一个或多个空隙插入410到3D形状的水平集表示中,例如,在使用为2D轮廓表示中的至少一者生成的中心线选择的位置处。下面结合图4C至图4E来提供关于该插入410的另外细节。在一些实现方式中,评估每个层以查看是否可将空隙安全地插入到任何层中,其中如果创建的空隙不会太接近层的外部轮廓,则空隙插入是“安全的”(它需要被几何形状完全包含),并且空隙与所讨论的层上方/下方的层的轮廓有合理的距离(以避免穿过竖直壁的孔洞)。
在任何情况下,重复地执行420生成式设计过程,直到检查430指示预定义数量的形状修改的收敛和/或完成。生成式设计过程可以是上述生成式设计过程中的任何一个,并且还可包括层对准过程,例如,以移除原本可能会重叠的两个层上的不期望的拐角半径差异,这是因为基于刀具穿透到零件中(例如,与其成比例或非线性相关地)来设定偏移量。因此,可对2D轮廓表示进行比较422以至少识别在第二轮廓表示上方的第一轮廓表示(相对于铣削方向),其中第一轮廓表示的第一部分和第二轮廓表示的第二部分之间的距离低于阈值距离。
当识别出任何这样的第一和第二轮廓表示(具有在阈值距离内的部分)时,可改变424第一轮廓表示的第一部分以匹配第二轮廓表示的第二部分,并且可修改426在第一部分的任一侧上的第一轮廓表示,以移除由于改变引起的第一轮廓表示中的任何不连续性。这种层对准有效地将相邻层咬合在一起以产生更多功能设计,从而提高所获得的生成式设计结果的质量,使结果更容易在下游过程中编辑,并且减少CAM编程和机加工时间。应注意,该层对准技术在不包括刀具穿透到零件中(例如,与其成比例或非线性相关地)来设定偏移量的实现方式中也是有用的。
尽管刀具可高效地切削分层结构,但层之间的不必要架会引入应力集中点、手动修整步骤(诸如断裂边缘)和美观问题。在形状合成过程中可能会出现薄架,因为无论动态刀具选择过程是否随着深度增加而导致半径改变,求解器都没有理由避免它们,从而在狭窄的拐角引入额外的架。因此,通常期望将相邻轮廓上的层对准,以简化编辑和编程任务、减少应力集中点、手动修整步骤和美观问题。
为了解决薄架,可将相邻层对准以便每当相邻层足够靠近时就通过向上层添加材料来产生平滑的侧面。为此,可从底部到顶部遍历层的堆叠(其中顶部最靠近主轴)。对于每个层廓影的有向距离场上的每个像素,轮廓之间的近似距离可被计算为当前层的有向距离值与下方的层上的对应像素的值之间的差值。
如果轮廓距离小于指定的容差,则可通过将当前像素的有向距离值设定为与下方的层匹配来将当前层移动到与下方的层恰好对齐。这会在顶层轮廓中产生不连续性,其中该轮廓在已校正区域和未校正区域之间过渡,并且反而使用已校正边界和未校正边界之间的平滑过渡。给定恒定的过渡开始距离t1和过渡结束距离t2,其中接近超过t1的轮廓完美对齐并且远离超过t2的轮廓保持不变,可根据下式鉴于距下方的层的对应有向距离值来更新像素的有向距离值v:
其中插值t管理轮廓的完全对准部分和不变部分之间的过渡。层对准允许口袋跨越多个层,而不会引入薄架。
图4B示出了层对准参数对移除因改变第一层轮廓以匹配第二层轮廓而导致的不连续性的影响的示例428。如图所示,可根据t1和t2的值来创建各种新的上轮廓(对于在下层上方的上层)。在该示例中,值是(t1=0.0,t2=1.0);(t1=0.0,t2=2.0);和(t1=1.0,t2=2.0)。其他值是可能的,并且仍将导致移除任何不连续性。在实践中,有向距离场差在远离边界处有时稍微有噪声,从而在对等式(10)进行插值之后产生不规则的输出轮廓。因此,在一些实现方式中,在所有体素上计算权重t,然后在插值之前进行高斯模糊。
返回图4A,在一些植入中,在迭代地修改420之后且在提供4503D模型之前,可在2.5轴减材制造过程的至少一个主轴中移除440建模对象的生成式设计的三维形状的小于最小特征尺寸的任何部分。有时,薄材料碎片会以合成形状出现,例如,由折叠轮廓引起或由放置在层内的障碍物引起(障碍物是用户从设计域中排除的区域)。这些材料碎片是在技术上符合上文详述的2.5轴机加工要求的几何形状的小碎片,但实际上在实践中无法制造,并且因此应被移除,优选地通过自动化过程而不是手动地移除。应注意,最小特征尺寸可由用户或由自动化过程指定。另外,如上所述,可在生成式设计过程420的迭代循环内完成移除440。
在一些实现方式中,当沿着主轴中的一者的两个相邻体素都在域外时,从最终3D几何形状的域的内部移除体素。在一些实现方式中,移除2D层切片的比指定尺寸更薄的区域。给定的测试轮廓中的薄区段可通过以下操作来识别:执行形态学开(即,执行向内偏移,将有向距离长重新归一化,然后执行相同量的向外偏移),然后在轮廓的打开版本中搜索与原始形状明显不同的区域。特别地,小于打开距离的幅度差异对应于原本大轮廓的表面上的精细细节,而大于打开距离的幅度差异对应于设计的明显比开口距离的两倍更薄的区域。该测试可在每个2D层上执行,并且也在每个2D层上减去与该层相交的一个或多个障碍物,并且可在构建最终3D几何形状之前从2D层移除被识别为太薄的区域。
在一些实现方式中,移除2D层切片的具有小面积的区域。可通过将2D层的水平集场转换为形状的布尔(黑白)表示来识别小面积区域,其中可使用连通分量或泛洪填充算法来识别2D层中的连续的像素区域。太小的区域被识别为面积小于指定阈值的连续体素组,并且使用布尔减法或其他方式从2D层轮廓移除。如上所述,在2D层轮廓上执行该测试,并且任选地也在2D层轮廓上通过布尔减法来移除一个或多个相交的障碍物,并且修改后的2D层轮廓用于构建最终的3D几何形状。
但无论使用的具体方法如何,碎片移除都会从结果中消除小的挤出区域,从而提高最终生成式设计结果的质量。一旦完成这个或其他后处理,例如将3D模型转换为另一计算机建模格式,就提供450具有生成式设计的形状和拓扑的对象的3D模型以用于物理结构的2.5轴减材制造。该提供450可包括上面结合图1B针对提供195描述的任何细节。
另外,如上所述,生成式设计过程可包括生成空隙并将其插入410到正生成式设计的建模对象的3D形状的基于边界的表示(例如,水平集表示)中。几何形状过滤可例如在优化循环的每次迭代中确保2.5轴可制造结果,但这种过滤也可限制其中优化器可对侧面进行改变的零件的活动表面,这可减慢收敛速度并降低生成式设计结果的质量。为了解决这个问题,空隙生成操作(例如,在几何形状过滤中)可在零件内部中远离现有的侧面引入孔洞,从而为优化器提供新的表面积进行操纵。这允许最终设计包括口袋,即使起始形状不包括口袋,从而实现更优结果。它还可加速收敛,因为每次迭代都可从较大的有效表面积移除更多的材料。
图4C示出了生成空隙并将其插入例如3D形状的水平集表示中的示例。该示例是基于使用来自数值模拟的冯米斯应力场,但是在各种实施方案中,也可使用来自数值模拟的其他输出,例如,由数值模拟提供的一些标量,这些值可转换为表面速度。图4C的示例在概念上类似于经典水平集拓扑优化的气泡法,并且在其中从求解器结果(应力、应变能、拓扑导数等)计算的场低于特定阈值(无论是百分位还是绝对量)的零件的区域中引入空隙,但该方法适于2.5轴制造要求。
如在图3B的示例中,输入形状412A驻留在三个离散层中,每个离散层都垂直于铣削方向405;可使用不同数量的离散层,并且离散层中的一者或多者(或每一者)可具有不同的厚度。此外,可使用数值模拟为输入形状412A生成冯米斯应力场412B,如上所述。然后可对每个相应的离散层执行上述射线投射技术,使得射线在每个层内局部投射,并且沿着投射射线的最大值被收集在每个层的相应的单独2D平面中。因此,按层将模拟结果场412B(例如,冯米斯应力)投影到相应的2D切片412C上。
将每个切片412C的低于阈值的区域412C-1、412C-2从2D廓影移除,从而在投影的3D体积中形成空隙以产生新的形状412D。使用的阈值可以是全局应力场的百分位,也可通过一些其他方式得出。得到的形状412D现在包含底切,但这可通过将嵌入的空隙向上延伸穿过上方的所有层或移除上方有材料的空隙来进行校正;因此,种子是圆柱体(其中侧面与铣削方向平行)而不是气泡。得到的形状还可能引入所选的刀具无法接近的口袋。为了确保结果是可接受的,可将空隙生成操作410放在几何形状过滤中的刀具接近操作230、235之前,这可能导致刀具接近填充一些生成的空隙。
图4D示出了生成空隙并将其插入例如3D形状的水平集表示中的另一个示例。该示例是基于使用形状骨架。代替在选择空隙位置时使用求解器场,可使用形状骨架来确定在何处放置圆柱形空隙,从而将一个或多个层向下延伸到零件中,直到形成指定体积的空隙。在一些实现方式中,等于或大于刀具直径(例如,大5%至75%,并且在一些实现方式中,比刀具直径大50%)的圆形空隙可沿着形状中心线以规则的间隔放置,直到零件的预定体积已被移除(“目标空隙体积”;其可预先固定,由用户指定,或在达到收敛时动态地调整)。应选择目标空隙体积,以便产生足够的拓扑改变来有意义地影响优化过程,而不会移除太多材料导致优化问题剧烈改变(例如,通过在窄特征中引入应力集中)。这种中心线驱动的几何空隙间距方案可提高收敛速率,并且就最终3D形状更类似于人类为2.5轴减材制造过程设计零件的方式而言,可提供更高质量的结果。
考虑空隙仅使一个层延伸到零件中的情况。该过程开始于通过从上方的层中减去区域416A以及与层415A(不应向其中添加空隙)相交的保留几何形状来计算当前层轮廓414A上的“自由”表面。然后计算自由表面414B的形状骨架416B,并且将沿着骨架的离边界足够远的点(例如,空隙将保持最小壁厚度)识别为候选空隙位置416C。应注意,当应用最小特征尺寸约束时,可明确地说明“足够远”的度量,或者可向用户请求明确的值,或者壁厚度可被估计为2.5轴铣削的0.5*(层高度)和2轴切削的0.35*(零件高度),它们可使用相同的空隙生成算法。
从离自由表面边界414B最远的候选点416C开始,选择候选空隙416D,使得它们彼此隔开指定的“肋厚度”。如果使用最小特征尺寸约束,则肋厚度可至少是所需的最小厚度。肋厚度也可被选择为壁厚度的常数倍(例如,0.5*壁厚度),作为刀具尺寸的一部分,或者作为最小特征尺寸、壁厚度的一部分和刀具尺寸的一部分的某种组合。在一些实现方式中,沿着形状中心线根据规则间隔来选择候选空隙416D。在一些实现方式中,连续地选择候选空隙416D,直到指定体积的材料(该层的目标空隙体积)已被移除或没有候选空隙剩余。然后从层轮廓移除对应的空隙416E,并且如果所生成的空隙体积小于目标体积,则该过程在下方的下一层继续。
另外,期望生成向零件中深入多于一个层的空隙。在这种情况下,当前层的空隙生成通过尝试产生较深的空隙来开始,从而继续产生较浅的空隙,直到目标体积被移除或没有候选空隙存在。生成较深地穿透到零件中的空隙在两个方面与单层生成不同。第一,所使用的可用表面不仅考虑到自由表面减去当前(顶层)层中的保留几何形状,而且还减去了下方层中的将与空隙相交的保留几何形状。这种受限的可用表面可能会产生其中可生成多层空隙的减小区域。第二,如果启用动态刀具尺寸调整并且孔洞比指定的最小刀具直径可达到的更深,则较深的空隙可能需要较大的直径。这两个考虑可能仅导致生成少数(或可能没有)特定深度的空隙,并且执行进行到相继地较浅的空隙,直到已选择或丢弃所有候选空隙点(或已达到目标空隙体积)。
在一些实现方式中,将空隙生成被分成多次通过,每次通过仅有助于总空隙体积的一部分。这将所生成的空隙更广泛地分布在整个零件上,而不是迫使它们全部位于初始可用表面的形状骨架上,这可能导致当空隙相对较小时在可用表面的小区域中产生空隙。这通过以下操作来实现:就像以前一样在第一次通过中插入较少数量的空隙,然后重新计算更新的自由表面的形状骨架,使得其位于自由表面的外边缘与在第一次通过中放置的空隙之间。后续的通过可通过迭代地重复以下过程来实现:生成一些空隙,然后重新计算形状骨架,然后生成额外的空隙等。图4E示出了在多次通过中划分空隙生成的效果的示例。在一次通过的情况下,如上所述那样处理可用表面418A的轮廓以在原始骨架上的一次通过中生成所有空隙418B。在两次通过的情况下,在第一次通过中生成一些空隙418C(例如,一半的空隙),然后在第二次通过中生成新的骨架并将其用于生成剩余的空隙418D。
下表1包括用于几何空隙生成过程(具有单个进攻方向405)的伪代码。
表1
FindVoids函数使用形状骨架以鉴于起始和结束层以及空隙体积目标来定位空隙。下表2示出了FindVoids函数的伪代码。将要生成的空隙列表传递给函数并由其更新;作为表1中示出的伪代码中的PlaceVoids()的一部分,在层对象中创建空隙。
表2
下表3给出了用于计算应在其中生成空隙的区域的GetAvailableSurface()函数的附加细节。可用表面包括顶层的自由表面(层轮廓布尔减去上方层的轮廓),然后减去将与空隙相交的每个连续层的投影保留区域,以便确保不会在保留区域内部或太接近保留区域生成空隙。
表3
上面的伪代码示例引用了在下表4中描述的几个实用函数。
表4
上述各种实施方案的描述集中于针对单个设置(仅一个铣削方向)优化零件形状。但是所描述的实现方式可扩展到两个或更多个设置(两个或更多个铣削方向)。两个或多个铣削方向可通过用户输入或自动检测来确定。另外,两个或更多个铣削方向可包括一对或多对具有相反符号的平行(同轴或共线)铣削方向,和/或非平行铣削方向。在一些实现方式中,第二铣削方向与第一铣削方向共线但相反(即,零件被机加工、翻转并再次机加工),但是此处描述的方法适用于附加的非共线铣削方向。
2.5轴模拟结果和几何形状过滤操作可针对每个铣削方向独立地执行,然后进行组合以形成过滤输出。每个铣削方向可有其自己的一组离散层。这些离散层可以相同的方式定义,即,相同的总层数和相同的层厚度(以便创建在几何上等效的层边界位置操作的一对同轴铣削方向),但它们仍被视为相应的离散层集,因为鉴于3D形状相对于每个铣削方向的不同取向,层中的几何形状将典型地不同。替代地,对于两个或更多个铣削方向中的一者或多者中的每一者,可不同地定义离散层,即,对于不同的铣削方向有不同的层数和不同的层厚度。
在对多个零件设置(多个铣削方向)进行模拟结果过滤的情况下,模拟结果过滤与单个设置情况一样执行,但对于每个零件设置(每个铣削方向)独立地执行。然后将结果合并到最终场中以返回到优化器。根据下式,最终场(ψ″)由来自每个设置的输出3D场(设置1..m的ψ′i)和输入场ψ的值组成:
这允许优化器在与其相交的设置方向中的任一者上遇到的最低值处查看每个体素处的场值,但绝不会小于求解器选择的值。
在对多个零件设置(多个铣削方向)进行几何形状过滤的情况下,在每个设置上(对于每个铣削方向)独立地运行几何形状过滤。然后通过使用布尔交集组合结果来构造最终形状。这模拟了铣床的行为,其中在每个设置上执行的刀具路径移除几何形状的不同部分以产生最终形状。
因此,针对两个或更多个铣削方向中的每一者执行2D轮廓的生成220以产生三维形状的更新版本的相应的2D轮廓表示集,并且针对两个或更多个铣削方向中的每一者执行挤出240以产生具有法线垂直于相应的两个或更多个铣削方向的侧面的相应的3D表示集。此外,形成250包括执行相应的三维表示集中的3D表示的布尔并集以针对两个或更多个铣削方向中的每一者产生一个或多个3D体,以及执行针对两个或更多个铣削方向所产生的3D体的布尔交集以形成建模对象的三维形状的下一版本。
图5A示出了具有三个铣削方向(例如,三个设置)的几何形状过滤的示例。机床500被示出为从三个方向A、B、C接近输入几何形状510(应注意,铣削方向C与铣削方向A反平行)。还相对于减材制造机器的铣削方向505连同正则化过滤的3D结果515A、515B、515C一起示出了这些零件设置铣削方向A、B、C中的每一者。应注意,该示例集中于CNC机器实际上是2.5轴机器的情况,并且因此每个铣削方向对应于不同的零件设置,其中零件在CNC机器中手动地重新定位和固定。然而,所描述的系统和技术可与3轴和5轴CNC机器一起使用,并且因此可用少于给定数量的零件设置来实现给定数量的铣削方向。在任何情况下,通过正则化过滤产生的3D几何形状515A、515B、515C进行相交520以产生最终形状525(其中原始形状510覆盖有虚线以进行比较)。
在该示例中,用不同的层规范将输入几何形状510过滤三次,每个设置一次,并且对结果进行相交以形成最终形状525。应注意,内部空隙512已被移除(因为它无法从所有三个设置中接近)。由于输入几何形状未与指定的层位置对齐,因此顶部切口514略微未对准。在输入零件510的左下角的对角线切削516无法通过设置B来实现,而是使用设置C用阶梯来近似。最终零件是最接近输入的完全2.5轴可制造几何形状。应注意,通过构造,多重设置过滤的输出始终完全包含输入形状(仅添加材料)。在数学上,鉴于每个设置φ′i的几何形状正则化结果的3D水平集场,其中i=1..m,将最终水平集函数(φ″)构建如下:
并且应注意,输入和输出形状之间的插值仍然可通过等式(7)中的表达式来实现。
另外,在一些实施方式中,可鉴于多个可用的铣削方向(例如,多个零件设置)来修改空隙生成。应力驱动的空隙生成方法不需要改变即可处理多个设置问题,但对于几何空隙生成,应纠正两种不期望的情况。第一,不期望生成与下层上的侧面边缘相交的空隙。第二,期望只在最终零件中完全出现的表面上生成空隙。
图5B示出了在多个铣削方向(例如,多个设置配置)的情况下不期望的空隙位置的示例。对于当前铣削方向505A和为该设置产生投影555的可用表面横截面550,空隙560是不期望的,因为它在第二铣削方向505B的相反铣削设置上与最终形状565的边界相交。作为另一个示例,对于当前铣削方向505A和可用表面横截面570,空隙575是不期望的,因为它与由不同铣削方向505C生成的几何形状580相交。
为了考虑这些变化,修改自由表面和可用表面定义。可通过识别反平行铣削设置中的“对应”层并且从与空隙相交的每一层的可用表面中移除轮廓边界周围的窄带来避免第一缺陷。应注意,仍然允许创建盲孔和通孔,但消除位于任何对应层的轮廓边界上的孔洞。下表5包括示出了针对多个进攻方向对GetAvailableSurface()的这个更新的伪代码(其中改变是斜体)。
表5
可通过重新定义自由表面来补救第二缺陷。使用类似于用来定义初始层廓影的射线投射操作来定义实体层轮廓,除了排除在射线穿过层的大部分内射线都不在形状内部的内部点。然后,将自由表面重新定义为与上方层的层轮廓的实体层轮廓布尔差。
图6是包括数据处理设备600的数据处理系统的示意图,该数据处理设备可被编程为客户端或服务器。数据处理设备600通过网络680与一个或多个计算机690连接。虽然在图6中仅一个计算机被示出为数据处理设备600,但可使用多个计算机。数据处理设备600包括可分布在应用层和操作系统之间的各种软件模块。这些可包括可执行和/或可解译的软件程序或库,包括实现上述系统和技术的一个或多个3D建模程序604的刀具和服务。因此,3D建模程序604可以是CAD程序604(诸如CAD程序116)并且可实现一个或多个生成式设计过程(例如,使用基于水平集的方法用于生成式设计)以用于拓扑优化和物理模拟操作(有限元分析(FEA)或其他操作),包括有或没有多个铣削方向(例如,多个零件设置)的几何形状过滤、模拟结果过滤、层对准和/或空隙生成和插入。此外,程序604可潜在地实现制造控制操作(例如,生成和/或应用刀具路径规范以实现所设计对象的制造)。所使用的软件模块的数量可因实现方式而异。此外,软件模块可分布在通过一个或多个计算机网络或其他合适的通信网络连接的一个或多个数据处理设备上。
数据处理设备600还包括硬件或固件装置,包括一个或多个处理器612、一个或多个附加装置614、计算机可读介质616、通信接口618和一个或多个用户接口装置620。每个处理器612能够处理用于在数据处理设备600内执行的指令。在一些实现方式中,处理器612是单线程或多线程处理器。每个处理器612能够处理存储在计算机可读介质616或存储装置(诸如附加装置614中的一者)上的指令。数据处理设备600使用通信接口618与一个或多个计算机690通信,例如,通过网络680进行通信。用户接口装置620的示例包括显示器、相机、扬声器、麦克风、触觉反馈装置、键盘、鼠标以及VR和/或AR设备。数据处理设备600可将实现与上述程序相关联的操作的指令存储在例如计算机可读介质616或一个或多个附加装置614上,例如硬盘装置、光盘装置、磁带装置和固态存储器装置中的一者或多者。
本说明书中描述的主题和功能操作的实施方案可在数字电子电路中实现,或在计算机软件、固件或硬件中(包括本说明书中公开的结构和它们的结构等同物)中实现,或在它们中的一者或多者的组合中实现。本说明书中描述的主题的实施方案还可使用编码在非暂时性计算机可读介质上以供数据处理设备执行或用于控制数据处理设备的操作的一个或多个计算机程序指令模块来实现。计算机可读介质可以是制成品,诸如计算机系统中的硬盘驱动器或通过零售渠道销售的光盘,或者嵌入式系统。可单独获取计算机可读介质,并且随后用一个或多个计算机程序指令模块编码,例如,在通过有线或无线网络传送一个或多个计算机程序指令模块之后。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储器装置或它们中的一者或多者的组合。
术语“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,设备还可包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、运行时环境或它们中的一者或多者的组合的代码。另外,设备可采用各种不同的计算模型基础设施,诸如网络服务、分布式计算和栅格计算基础设施。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可用任何合适形式的编程语言来编写,包括编译或解译语言、声明性或程序性语言,并且该计算机程序可通过任何合适的形式进行部署,包括部署成独立的程序或适合于在计算环境中使用的模块、部件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可被部署成在一个计算机上执行,或者在位于一个场所处或跨多个场所分布并且通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流可由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能。所述过程和逻辑流还可由专用逻辑电路执行,并且还可将设备实现为专用逻辑电路,该专用逻辑电路例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。一般来说,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。一般来说,计算机还将包括用于存储数据的一个或多个大容量存储装置,例如,磁盘、磁光盘或光盘,或者操作性地耦合到该一个或多个大容量存储装置以从其接收数据或向其传递数据或以上两者。然而,计算机不需要有此类装置。此外,计算机可嵌入到另一个装置中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储装置(例如,通用串行总线(USB)闪存驱动器),仅举几例。适合于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置,例如EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)和闪存存储器装置;磁盘,例如内置硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。可通过专用逻辑电路来补充处理器和存储器,或者处理器和存储器可并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方案可在计算机上实现,该计算机具有:显示装置,例如,LCD(液晶显示器)显示装置、OLED(有机发光二极管)显示装置或用于向用户显示信息的另一监视器;以及用户可用来向计算机提供输入的键盘和定点装置,例如,鼠标或跟踪球。还可使用其他种类的装置来提供与用户的交互;例如,向用户提供的反馈可以是任何合适形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可接收来自用户的呈任何合适的形式的输入,包括声学、语音或触觉输入。
计算系统可包括客户端和服务器。客户端和服务器一般彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系是由于在相应的计算机上运行并且彼此之间具有客户端-服务器关系的计算机程序而产生的。本说明书中描述的主题的实施方案可在包括后端部件(例如,作为数据服务器)或包括中间部件(例如,应用程序服务器)或包括前端部件(例如,具有图形用户界面或浏览器用户界面的客户端计算机,用户可通过该界面与本说明书描述的主题的实现方式进行交互)或一个或多个此类后端部件、中间部件或前端部件的任何组合的计算系统中实现。系统的部件可通过任何合适形式或介质的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)以及对等网络(例如,自组织对等网络)。
虽然本说明书包含许多实施细节,但是这些细节不应理解为限制被要求保护或可要求保护的内容的范围,而是对所公开的主题的特定实施方案特有的特征的描述。本说明书中在单独的实施方案的背景下描述的某些特征也可在单个实施方案中组合实现。相反地,在单个实施方案的上下文中描述的各种特征也可单独地在多个实施方案中实现或以任何合适的子组合实现。此外,尽管特征在上文可被描述为以某些组合起作用并且甚至最初因此而被要求保护,但是来自要求保护的组合的一个或多个特征在一些情况下可与该组合分离,并且要求保护的组合可涉及子组合或子组合的变化。
类似地,尽管在附图中按特定顺序描绘操作,但是这不应被理解为要求此类操作以所示的特定次序或以连续次序执行,或要求执行所有所示的操作,以实现期望结果。在某些情形中,多任务处理和并行处理可以是有利的。此外,上述实施方案中的各种系统部件的分离不应被理解为在所有实施方案中都要求这样分离,并且应理解,所描述的程序部件和系统可大体上一起集成在单个软件产品中或封装到多个软件产品中。
因此,已经描述了本发明的特定实施方案。其他实施方案也在所附权利要求的范围内。另外,权利要求中阐述的动作可按不同次序执行且仍实现期望的结果。
Claims (20)
1.一种方法,所述方法包括:
由计算机辅助设计程序获得对应的物理结构将使用2.5轴减材制造过程来制造的建模对象的设计空间、所述建模对象的一个或多个设计标准以及所述物理结构的一个或多个使用中载荷情况;
由所述计算机辅助设计程序根据所述一个或多个设计标准和所述一个或多个使用中载荷情况在所述设计空间中迭代地修改所述建模对象的生成式设计的三维形状,包括修改所述三维形状的几何形状和所述三维形状的拓扑两者,其中所述迭代地修改包括:
根据所述三维形状的当前版本和所述一个或多个使用中载荷情况来执行所述建模对象的数值模拟,以产生所述建模对象的物理响应的当前数值评估;
基于所述物理响应的所述当前数值评估来更新所述三维形状的所述当前版本,以产生所述建模对象的所述三维形状的更新版本;
生成所述三维形状的所述更新版本的二维轮廓表示,其中所述二维轮廓表示对应于垂直于所述2.5轴减材制造过程的铣削方向的离散层;
沿着所述铣削方向挤出所述二维轮廓表示,以产生所述三维形状的所述更新版本的三维表示,其中所述三维表示具有法线垂直于所述铣削方向的侧面;
从具有法线垂直于所述铣削方向的侧面的所述三维表示的组合形成所述建模对象的所述三维形状的下一版本;以及
至少重复所述执行、所述更新、所述生成、所述挤出和所述形成直到已经执行预定义次数的形状修改迭代,所述设计空间中的所述建模对象的所述生成式设计的三维形状满足所述一个或多个设计标准和所述一个或多个使用中载荷情况或这两者;以及
由所述计算机辅助设计程序提供所述建模对象的所述生成式设计的三维形状以用于使用采用所述2.5轴减材制造过程的一个或多个计算机控制的制造系统来制造所述物理结构。
2.如权利要求1所述的方法,其中所述生成包括通过确定所述三维形状的所述更新版本的既位于对应的离散层内又位于相对于所述铣削方向在所述对应的离散层上方的所述离散层中的任一者内的一个或多个部分的廓影来生成所述对应的离散层的所述二维轮廓表示中的每一者。
3.如权利要求2所述的方法,其中所述铣削方向包括具有相应的离散层集的两个或更多个铣削方向,对所述两个或更多个铣削方向中的每一者执行所述生成以产生所述三维形状的所述更新版本的相应的二维轮廓表示集,对所述两个或更多个铣削方向中的每一者执行所述挤出以产生具有法线垂直于所述相应的两个或更多个铣削方向的侧面的相应的三维表示集,并且所述形成包括:
对所述相应的三维表示集中的所述三维表示执行布尔并集,以针对所述两个或更多个铣削方向中的每一者产生一个或多个三维体;以及
对针对所述两个或更多个铣削方向产生的所述三维体执行布尔交集,以形成所述建模对象的所述三维形状的所述下一版本。
4.如权利要求2所述的方法,其中所述迭代地修改包括对于多次迭代中的每一者,通过将来自先前迭代的所述三维形状的所述下一版本与来自所述先前迭代的所述三维形状的所述更新版本进行混合来产生所述建模对象的所述三维形状的所述当前版本,其中对于所述多次迭代中的两个或更多个后续迭代中的每一者,所述混合所使用的所述下一版本的量相对于所述更新版本的量增加,直到所述更新版本和所有的所述下一版本在所述修改的下一迭代中都不用作所述建模对象的所述三维形状的所述当前版本。
5.如权利要求2所述的方法,其中所述建模对象的所述生成式设计的三维形状包括所述建模对象的隐式表面的水平集表示,并且所述更新包括根据基于所述物理响应的所述当前数值评估为所述隐式表面计算的形状改变速度来更新所述水平集表示。
6.如权利要求5所述的方法,其中所述迭代地修改包括在所述挤出之前:
将所述二维轮廓表示中的每一者向外偏移至少等于可用于与所述一个或多个计算机控制的制造系统一起使用的最小铣削刀具的半径的量;以及
随后将所述二维轮廓表示中的每一者向内偏移所述量。
7.如权利要求6所述的方法,所述方法包括基于在所述2.5轴减材制造过程期间针对二维轮廓表示铣削一个离散层而需要刀具穿透到所述物理结构中的量来设置将所述离散层中的一者的所述二维轮廓表示偏移的所述量。
8.如权利要求7所述的方法,其中生成所述对应的离散层的所述二维轮廓表示包括将射线沿着所述铣削方向穿过所述隐式表面的所述水平集表示从最上面离散层的顶部部分向下投射到所述对应的离散层的底部部分,并且其中所述设置包括将所述量设置为(i)可用的所述最小铣削刀具的所述半径和(ii)差值的预定义分数中的最大值,所述预定义分数大于零且小于一。
9.如权利要求7所述的方法,所述方法包括:
将所述二维轮廓表示进行比较以至少识别相对于所述铣削方向在第二轮廓表示上方的第一轮廓表示,其中所述第一轮廓表示的第一部分与所述第二轮廓表示的第二部分之间的距离低于阈值距离;
改变所述第一轮廓表示的所述第一部分以匹配所述第二轮廓表示的所述第二部分;以及
在所述第一部分的任一侧上修改所述第一轮廓表示以移除所述第一轮廓表示中的由所述改变引起的任何不连续性。
10.如权利要求5所述的方法,其中修改所述三维形状的所述拓扑包括在使用针对所述二维轮廓表示中的至少一者生成的中心线选择的位置处将空隙插入所述水平集表示中,以在所述迭代地修改的多次迭代中的至少一些期间改变所述隐式表面。
11.如权利要求1所述的方法,其中所述更新包括:
对所述相应的离散层中的所述当前数值评估进行过滤,以产生经过滤的物理评估,所述经过滤的物理评估在所述更新期间促成与所述2.5轴减材制造过程相符的所述三维形状的所述隐式表面的所述几何形状的修改;以及
根据所述经过滤的物理评估来更新所述三维形状的所述当前版本。
12.如权利要求11所述的方法,其中所述建模对象的所述生成式设计的三维形状包括所述隐式表面的水平集表示,并且所述过滤包括:
在所述离散层中的相应的离散层内找到沿着所述铣削方向的所述当前数值评估中的最大值;以及
基于所述最大值来在所述离散层中的所述相应的离散层内重置所述当前数值评估的值,以产生所述经过滤的物理评估。
13.如权利要求12所述的方法,其中所述当前数值评估包括基于体素的应力场数据、应变场数据或这两者,其中所述找到包括:在所述离散层中的相应的离散层内将平行于所述铣削方向的射线投射穿过所述建模对象的所述三维形状的所述当前版本;以及在所述离散层的相应的二维区域中收集沿着所述射线中的每一者遇到的所述应力数据和/或所述应变数据的最大值,并且其中所述重置包括在所述离散层中的相应的离散层内将每个体素中的所述应力数据和/或所述应变数据设置为等于在所述离散层的对应的二维区域中的最接近所述体素的位置的所述最大值。
14.如权利要求1所述的方法,所述方法包括由所述计算机辅助设计程序移除所述建模对象的所述生成式设计的三维形状的小于在所述2.5轴减材制造过程的至少一个主轴中的最小特征尺寸的任何部分。
15.如权利要求1所述的方法,其中所述提供包括将所述建模对象的所述生成式设计的三维形状保存到持久性存储装置以用于使用所述一个或多个计算机控制的制造系统来制造所述物理结构。
16.如权利要求1所述的方法,其中所述提供包括:
使用所述建模对象的所述生成式设计的三维形状根据所述2.5轴减材制造过程生成用于减材制造机器的刀具路径规范;以及
使用所述刀具路径规范用所述减材制造机器制造所述物理结构或用于所述物理结构的模具的至少一部分。
17.一种系统,所述系统包括:
非暂时性存储介质,所述非暂时性存储介质具有存储在其上的计算机辅助设计程序的指令;以及
一个或多个数据处理设备,所述一个或多个数据处理设备被配置为运行所述计算机辅助设计程序的所述指令,以致使所述一个或多个数据处理设备:
获得对应的物理结构将使用2.5轴减材制造过程来制造的建模对象的设计空间、所述建模对象的一个或多个设计标准以及所述物理结构的一个或多个使用中载荷情况;
根据所述一个或多个设计标准和所述一个或多个使用中载荷情况在所述设计空间中迭代地修改所述建模对象的生成式设计的三维形状,包括修改所述三维形状的几何形状和所述三维形状的拓扑两者,其中所述迭代地修改包括由所述计算机辅助设计程序的所述指令致使所述一个或多个数据处理设备:根据所述三维形状的当前版本和所述一个或多个使用中载荷情况来执行所述建模对象的数值模拟,以产生所述建模对象的物理响应的当前数值评估;基于所述物理响应的所述当前数值评估来更新所述三维形状的所述当前版本,以产生所述建模对象的所述三维形状的更新版本;生成所述三维形状的所述更新版本的二维轮廓表示,其中所述二维轮廓表示对应于垂直于所述2.5轴减材制造过程的铣削方向的离散层;沿着所述铣削方向挤出所述二维轮廓表示,以产生所述三维形状的所述更新版本的三维表示,其中所述三维表示具有法线垂直于所述铣削方向的侧面;从具有法线垂直于所述铣削方向的侧面的所述三维表示的组合形成所述建模对象的所述三维形状的下一版本;以及重复所述迭代地修改直到已经执行预定义次数的形状修改迭代,所述设计空间中的所述建模对象的所述生成式设计的三维形状满足所述一个或多个设计标准和所述一个或多个使用中载荷情况或这两者;以及
提供所述建模对象的所述生成式设计的三维形状以用于使用采用所述2.5轴减材制造过程的一个或多个计算机控制的制造系统来制造所述物理结构。
18.如权利要求17所述的系统,所述系统包括计算机数控的减材制造铣床。
19.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质对计算机辅助设计程序进行编码,所述计算机辅助设计程序可操作以致使一个或多个数据处理设备执行操作,所述操作包括:
获得对应的物理结构将使用2.5轴减材制造过程来制造的建模对象的设计空间、所述建模对象的一个或多个设计标准以及所述物理结构的一个或多个使用中载荷情况;
根据所述一个或多个设计标准和所述一个或多个使用中载荷情况在所述设计空间中迭代地修改所述建模对象的生成式设计的三维形状,包括修改所述三维形状的几何形状和所述三维形状的拓扑两者,其中所述迭代地修改包括:
根据所述三维形状的当前版本和所述一个或多个使用中载荷情况来执行所述建模对象的数值模拟,以产生所述建模对象的物理响应的当前数值评估;
基于所述物理响应的所述当前数值评估来更新所述三维形状的所述当前版本,以产生所述建模对象的所述三维形状的更新版本;
生成所述三维形状的所述更新版本的二维轮廓表示,其中所述二维轮廓表示对应于垂直于所述2.5轴减材制造过程的铣削方向的离散层;
沿着所述铣削方向挤出所述二维轮廓表示,以产生所述三维形状的所述更新版本的三维表示,其中所述三维表示具有法线垂直于所述铣削方向的侧面;
从具有法线垂直于所述铣削方向的侧面的所述三维表示的组合形成所述建模对象的所述三维形状的下一版本;以及
至少重复所述执行、所述更新、所述生成、所述挤出和所述形成直到已经执行预定义次数的形状修改迭代,所述设计空间中的所述建模对象的所述生成式设计的三维形状满足所述一个或多个设计标准和所述一个或多个使用中载荷情况或这两者;以及
提供所述建模对象的所述生成式设计的三维形状以用于使用采用所述2.5轴减材制造过程的一个或多个计算机控制的制造系统来制造所述物理结构。
20.如权利要求19所述的非暂时性计算机可读介质,其中所述提供包括:
使用所述建模对象的所述生成式设计的三维形状根据所述2.5轴减材制造过程生成用于减材制造机器的刀具路径规范;以及
使用所述刀具路径规范用所述减材制造机器制造所述物理结构或用于所述物理结构的模具的至少一部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/033454 WO2021236054A1 (en) | 2020-05-18 | 2020-05-18 | Computer aided generative design with filtering to facilitate 2.5-axis subtractive manufacturing processes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115917457A true CN115917457A (zh) | 2023-04-04 |
Family
ID=70977589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080100520.3A Pending CN115917457A (zh) | 2020-05-18 | 2020-05-18 | 具有过滤以促进2.5轴减材制造过程的计算机辅助生成式设计 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4154072A1 (zh) |
JP (1) | JP2023528760A (zh) |
CN (1) | CN115917457A (zh) |
WO (1) | WO2021236054A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230177224A1 (en) * | 2021-12-07 | 2023-06-08 | Autodesk, Inc. | Computer aided generative design with feature thickness control to facilitate manufacturing and structural performance |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678959B2 (en) * | 2017-03-23 | 2020-06-09 | Autodesk, Inc. | Creating gradients of different materials for three-dimensional models in computer aided design applications |
US11003805B2 (en) * | 2017-04-04 | 2021-05-11 | ParaMatters Inc. | Cognitive system for computer aided design |
CN113366481A (zh) * | 2018-11-09 | 2021-09-07 | 欧特克公司 | 在计算机辅助设计与制造的2.5轴减材制造约束下的基于边界的生成式设计 |
-
2020
- 2020-05-18 EP EP20730530.1A patent/EP4154072A1/en active Pending
- 2020-05-18 JP JP2022570213A patent/JP2023528760A/ja active Pending
- 2020-05-18 CN CN202080100520.3A patent/CN115917457A/zh active Pending
- 2020-05-18 WO PCT/US2020/033454 patent/WO2021236054A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2021236054A1 (en) | 2021-11-25 |
EP4154072A1 (en) | 2023-03-29 |
JP2023528760A (ja) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11455435B2 (en) | Conversion of geometry to boundary representation with facilitated editing for computer aided design and 2.5-axis subtractive manufacturing | |
USRE48940E1 (en) | Simulation of the machining of a workpiece | |
US10467807B1 (en) | Facilitated editing of generative design geometry in computer aided design user interface | |
EP2600315B1 (en) | Creating a surface from a plurality of 3D curves | |
JP6242497B2 (ja) | ポケット形状を機械加工する工具の経路を決定する方法及びシステム | |
US20220373996A1 (en) | Computer aided generative design with filtering to facilitate 2.5-axis subtractive manufacturing processes | |
US11243510B2 (en) | Computer aided generative design with tool size control to facilitate 2.5-axis subtractive manufacturing processes | |
EP3340085B1 (en) | B-rep of the result of a two-axis 3d printing process | |
US20240085881A1 (en) | Computer aided generative design with layer boundary determination to facilitate 2.5-axis subtractive manufacturing processes | |
EP4195086A1 (en) | Computer aided generative design with feature thickness control to facilitate manufacturing and structural performance | |
CN115917457A (zh) | 具有过滤以促进2.5轴减材制造过程的计算机辅助生成式设计 | |
EP4184370A1 (en) | Computer aided design with geometry filtering to facilitate manufacturing | |
Liu et al. | Towards a Unified In-Process Geometrical Model for Multiple Machining and Layered Manufacturing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |