CN115769210A - 对层边界进行确定以促进2.5轴减材制造工艺的计算机辅助生成式设计 - Google Patents
对层边界进行确定以促进2.5轴减材制造工艺的计算机辅助生成式设计 Download PDFInfo
- Publication number
- CN115769210A CN115769210A CN202180032584.9A CN202180032584A CN115769210A CN 115769210 A CN115769210 A CN 115769210A CN 202180032584 A CN202180032584 A CN 202180032584A CN 115769210 A CN115769210 A CN 115769210A
- Authority
- CN
- China
- Prior art keywords
- milling
- design
- density
- dimensional shape
- modeled object
- 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
- 238000013461 design Methods 0.000 title claims abstract description 210
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 134
- 238000003801 milling Methods 0.000 claims abstract description 280
- 238000000034 method Methods 0.000 claims abstract description 105
- 230000004048 modification Effects 0.000 claims abstract description 31
- 238000012986 modification Methods 0.000 claims abstract description 31
- 238000005457 optimization Methods 0.000 claims description 55
- 238000012545 processing Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 44
- 238000004088 simulation Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 19
- 239000000463 material Substances 0.000 claims description 13
- 239000007787 solid Substances 0.000 claims description 11
- 238000011156 evaluation Methods 0.000 claims description 10
- 238000010206 sensitivity analysis Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 9
- 230000004931 aggregating effect Effects 0.000 claims description 5
- 238000012938 design process Methods 0.000 abstract description 37
- 238000004590 computer program Methods 0.000 abstract description 16
- 238000011960 computer-aided design Methods 0.000 abstract description 11
- 238000003754 machining Methods 0.000 description 24
- 238000005520 cutting process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000035945 sensitivity Effects 0.000 description 6
- 238000001308 synthesis method Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 5
- 238000004873 anchoring Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000704 physical effect Effects 0.000 description 4
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005553 drilling Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 238000000265 homogenisation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000110 selective laser sintering Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000010100 freeform fabrication Methods 0.000 description 1
- 238000001746 injection moulding Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000843 powder Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4188—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
-
- 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/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- 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/31—From computer integrated manufacturing till monitoring
- G05B2219/31338—Design, flexible manufacturing cell design
-
- 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/37—Measurements
- G05B2219/37355—Cutting, milling, machining force
-
- 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/49—Nc machine tool, till multiple
- G05B2219/49023—3-D printing, layer of powder, add drops of binder in layer, new powder
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Manufacturing & Machinery (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Quality & Reliability (AREA)
- Numerical Control (AREA)
Abstract
本文描述了用于使用生成式设计过程来对物理结构进行计算机辅助设计的包括介质编码的计算机程序产品在内的方法、系统和设备,其中产生物理结构的3D模型以促进使用2.5轴减材制造系统和技术来制造物理结构,所述方法、系统和设备包括:获得设计空间、设计标准和在用案例;根据设计标准和在用案例,使用生成式设计的形状的基于密度的表示在设计空间中迭代修改生成式设计的形状,并且包括在迭代修改的至少两次迭代中根据2.5轴减材制造工艺的铣削方向,调整生成式设计的三维形状的基于密度的表示;以及提供生成式设计的形状以用于使用采用2.5轴减材制造工艺的计算机控制的制造系统来制造物理结构。
Description
相关申请的交叉引用
本申请要求以发明人David Jon Weinberg和Nam Ho Kim的名义于2020年5月20日提交的美国专利申请号16/879,547的优先权,并在此通过引用并入。
背景技术
本说明书涉及可以使用增材制造、减材制造和/或其他制造系统和技术来制造的物理结构的计算机辅助设计。
计算机辅助设计(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轴减材制造工艺的铣削方向;以及改变基于密度的表示中的各个元素的至少一部分的密度值,使得为三个或更多个离散层中的每一层产生单个铣削深度。
所述方法(或由数据处理设备根据有形地编码在一个或多个非暂时性计算机可读介质中的计算机程序执行的操作)可以包括分组,所述分组包括:对不同的铣削深度进行排序以产生排序的铣削深度值;识别排序的铣削深度值中的两个或更多个最大差值;基于排序的铣削深度值内的与两个或更多个最大差值相关的每个子集的铣削深度的位置,将各个元素的每个不同子集中的每一个分配给三个或更多个离散层中的一个;以及基于与分配给离散层的元素子集相关联的铣削深度,在三个或更多个离散层的每个相应离散层中设置单个铣削深度。所述三个或更多个离散层的数量可以是在迭代修改期间保持固定的用户输入值,或者所述数量可以在迭代修改期间改变。
所述方法(或由数据处理设备根据有形地编码在一个或多个非暂时性计算机可读介质中的计算机程序执行的操作)可以包括迭代修改,所述迭代修改包括:在至少两次迭代中:根据三维形状的当前版本和一个或多个在用案例,对建模对象执行数值模拟,以产生建模对象的物理响应的当前数值评估;基于对建模对象的物理响应的当前数值评估,并根据2.5轴减材制造工艺的铣削方向,计算灵敏度分析数据;利用包括对物理响应的当前数值评估和灵敏度分析数据的输入,调用基于密度的拓扑优化代码,以改进生成式设计的三维形状相对于一个或多个设计标准的基于密度的表示;根据2.5轴减材制造工艺的铣削方向执行基于密度的表示的调整;以及进行迭代直到设计空间中建模对象的生成式设计的三维形状收敛到一个或多个设计标准和一个或多个在用案例的稳定解决方案。基于密度的拓扑优化代码可以实施拓扑优化的固体各向同性材料惩罚方法或另一方法(如均匀化方法)。
所述方法(或由数据处理设备根据有形地编码在一个或多个非暂时性计算机可读介质中的计算机程序执行的操作)可以包括收集,所述收集包括:将生成式设计的三维形状的基于密度的表示中的各个元素布置成平行于铣削方向的铣削线,其中每条铣削线对应于各个元素的不同子集中的一个;沿每条铣削线聚合元素的密度,使得元素的聚合密度沿每条铣削线单调递增;以及使用每条铣削线中的聚合密度来识别每条铣削线的铣削深度。
铣削方向可以是2.5轴减材制造工艺的两个或更多个铣削方向中的第一方向,可以对两个或更多个铣削方向中的每一个分别执行调整以产生相应的铣削方向特定数据集,并且迭代修改可以包括组合相应的铣削方向特定数据集以更新建模对象的生成式设计的三维形状的基于密度的表示。此外,迭代修改可以包括在没有调整的情况下执行的第一组迭代,以及在第一组迭代之后执行的第二组迭代,第二组迭代包括其中执行了调整的至少两次迭代。
所述方法(或由数据处理设备根据有形地编码在一个或多个非暂时性计算机可读介质中的计算机程序执行的操作)可以包括所述提供,所述提供包括:根据2.5轴减材制造工艺,使用建模对象的生成式设计的三维形状为减材制造机生成刀具路径规范;以及通过使用刀具路径规范的减材制造机制造物理结构的至少一部分或用于所述物理结构的模具。
本说明书中描述的主题的一个或多个方面也可以体现在一个或多个系统中,所述系统包括:其上存储有计算机辅助设计程序的指令的非暂时性存储介质;以及一个或多个数据处理设备,其被配置为运行计算机辅助设计程序的指令以执行本文所述的一种或多种方法中的任一种。一个或多个系统还可以包括2.5轴减材制造机或可以执行2.5轴减材制造工艺的其他减材制造机,诸如3轴或多轴(例如,4、5、6、7、8或9轴)减材制造机。
可以实施在本说明书中描述的主题的特定实施方案以实现以下优点中的一或多者。生成式设计可以通过拓扑优化产生,其中生成式设计比使用传统加工刀具制造复杂性更低。产生的设计包括为2.5轴加工定义的离散层,包括为多于一个铣削方向定义的单独的(但相交的)离散层。产生的设计可以使用多轴CNC机床构建,允许使用多个铣削方向而无需重新定位和重新锚定工件,这可以进一步减少制造零件所需的时间,超过使用2.5轴铣削节省的时间。此外,生成式设计算法可以通过使用所公开的调整(投影)设计变量的方法来改进,使得最终产品可以由2.5轴机器制造,其中提供的灵敏度信息可以量化目标和约束可以因调整而改变的程度。
在附图和以下描述中陈述了在本说明书中所描述的主题的一个或多个实施方案的细节。本发明的其他特征、方面及优点将从描述、附图和权利要求书变得显而易见。
附图说明
图1A示出了可用于在生成式设计期间确定层边界以产生为使用2.5轴减材制造工艺进行制造而定制的物理结构的系统的示例。
图1B示出了生成式设计过程的示例,其中调整密度以指定确定的层边界,并使用2.5轴减材制造工艺制造物理结构。
图2示出了根据2.5轴减材制造工艺的一个或多个铣削方向调整生成式设计的三维形状的基于密度的表示的过程的示例。
图3A示出了在铣削线中布置元素的示例。
图3B示出了多条铣削线和它们的铣削深度。
图4A示出了对铣削深度进行排序的示例。
图4B示出了用于排序的铣削深度的指定的层边界的示例。
图4C示出了沿铣削线投影元素拓扑密度的示例。
图4D示出了与工件相关的不同铣削方向的示例。
图5示出了对层边界进行确定以产生与2.5轴减材制造工艺兼容的3D模型的生成式设计过程的示例。
图6是包括数据处理设备的数据处理系统的示意图,该数据处理设备可以被编程为客户端或服务器以实施本说明书中描述的实施方案。
各个附图中的相同参考数字和标示指示相同元素。
具体实施方式
图1A示出了可用于在生成式设计期间确定层边界以产生为使用2.5轴减材制造工艺进行制造而定制的物理结构的系统100的示例。计算机110包括处理器112和存储器114,并且计算机110可以连接到网络140,所述网络可以是专用网络、公共网络、虚拟专用网络等。处理器112可以是一个或多个硬件处理器,所述一个或多个硬件处理器可以各自包括多个处理器核心。存储器114可以包括易失性存储器和非易失性存储器两者,诸如随机存取存储器(RAM)和闪存RAM。计算机110可以包括各种类型的计算机存储介质和装置(其可以包括存储器114),以存储在处理器112上运行的程序的指令,所述程序包括计算机辅助设计(CAD)程序116,所述CAD程序实施三维(3D)建模函数并且包括用于通过数值模拟进行拓扑优化的一个或多个生成式设计过程(例如,使用至少一种固体各向同性材料惩罚(SIMP)方法)。由本文档中描述的系统和技术执行的数值模拟可以模拟一种或多种物理特性,并且可以使用一种或多种类型的模拟来产生对建模对象的物理响应(例如,结构响应)的数值估评。例如,可以使用有限元分析(FEA)(包括线性静态FEA)、有限差分法和物质点法。此外,对物理特性的模拟可以包括计算流体动力学(CFD)、声学/噪声控制、热传导、计算注射成型、电或电磁通量、材料固化模拟(材料固化模拟对于成型过程中的相变是有用的)、线性瞬态动态分析、正常模式分析、屈曲分析和/或传热分析。
如本文所用,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模型,所述3D模型可以存储在3D模型文档130中。
初始3D模型可以作为生成式设计过程的输入。初始3D模型可以是一组保留体和潜在障碍体。输入保留几何图形可以是未连接的建模实体,其中生成式设计过程用于产生连接输入保留实体的新3D几何图形。设计空间131可以通过确定输入模型的包围体或凸包来获得,或者可以使用另一技术来获得设计空间131,所述设计空间是在拓扑优化期间将要在其内设计零件的空间体积。在一些情况下,用户可以明确地指定实体作为设计空间131。
用户160可以为生成式设计过程定义拓扑优化问题以从起始3D模型产生期望的3D模型,或者输入可以是没有具体初始3D模型的设计空间131。例如,设计空间131可以是其中定义了密度场的盒形域(具有nx*ny*nz元素)。一般来说,输入设计空间131可以是自动生成的或由用户指定的,设计空间131除了包括设计区域外,还可以包括一个或多个非设计区域,并且每个不同的区域可以具有不同的初始体积分数、不同的最小构件大小、不同的设计标准(例如,不同的制造约束)和模型相关的默认值。
如本文所述,CAD程序116实施至少一个生成式设计过程,所述至少一个生成式设计过程使得CAD程序116能够基于设计目标和约束(即,设计标准)自动地生成3D模型的一个或多个部分(或整个3D模型),其中基于模拟反馈迭代地优化设计的几何图形。应注意,如本文所用,“优化”(或“最优”或“优化器”)并不意指在所有情况下都实现所有可能的设计中的最佳设计,而是指从可以生成的一组有限的可能设计中选择(例如,在有可用处理资源的情况下和/或根据用于优化过程的竞争性目标,在分配时间内)最佳(或近乎最佳)的设计。
设计标准可以由用户160或由另一方限定并导入到CAD程序116中。设计标准可以包括用于单独零件的结构完整性约束(例如,在零件的使用期间在预期结构负载下零件不会失效的要求)和由更大系统施加的物理约束(例如,零件包含在指定体积内以免在使用期间干扰系统中的其他零件的要求);具有线性接触的总成可以由CAD软件支持。可以在设计空间131中的整个区域或在设计空间131中的各个区域上定义一个或多个设计标准(例如,应力约束)。设计标准还可以包括要促进的期望的2.5轴减材制造过程(例如,使用2.5轴CNC机床,或3轴或多轴CNC机床,具有指定类型和尺寸的刀具)。
注意,加工中的“2.5维”是指一个平面,它是一个表面在一个坐标轴上的投影。在3D空间中,2.5轴减材制造工艺的平面相对于加工平行于x-y平面,但具有不同的z坐标。这些平面被定义有不同的高度,并且2.5轴铣削是根据2.5维度中定义的形状切割材料的过程。这是一种流行的加工工艺,因为它很容易为此类形状生成具有最佳刀具路径的G代码。此外,2.5轴CNC机床具有在所有三个轴上平移的能力,但由于硬件和/或软件限制,一次只能在三个轴中的两个上执行切割操作,例如,机床具有螺线管而不是真正的线性z轴。一个典型的示例包括为每个孔中心定位的x-y工作台,然后主轴(z轴)通过轴向插入和缩回完成固定的钻孔循环。2.5轴加工的代码明显少于3轴轮廓加工,并且软件和硬件要求(通常)更便宜。钻孔和攻丝中心相对便宜(例如,开始作为2.5轴市场类别的有限负荷加工中心),尽管许多最新型号的都是3轴的,因为软件和硬件成本随着技术的进步而下降。
可以使用可以优化3D模型的至少一部分的形状和拓扑的各种生成式设计过程。CAD程序116对3D模型的几何设计的优化涉及拓扑优化,这是一种轻量化的方法,其中通过最小化受设计约束的目标函数来确定材料的最优分布(例如,以体积为约束的结构柔顺度)。拓扑优化有两大类:基于密度的方法和基于边界的方法。基于密度的方法(例如SIMP或均匀化方法)将零件的体积离散为各个元素,并向每个离散元素分配密度。然后将密度朝向实心和空心驱动,同时最小化受约束的目标。相反,基于边界的方法跟踪实体部分的外部界面的形状并移动边界,使得满足约束并最小化目标,如在水平集方法中。
如本文所述,基于密度的拓扑优化过程可以指导生成式设计过程以产生促进使用采用两个或更多个z深度平面(2.5维)的2.5轴制造工艺制造物理结构的设计的最终形状,其中机床在各个相应平面上保持在z轴位置,而机床在x-y平面上移动。为了实现这一目标,生成式设计过程可以确定z深度平面(即3D模型的不同层之间的边界)以及可选地z深度平面的数量,并且生成式设计过程可以在基于密度的拓扑优化期间使用这个确定的信息。
注意,形状合成过程是使用建模对象的生成式设计的3D形状的基于密度的表示来完成的,但是CAD程序116将通常使用几何图形的不同表示来进行3D建模。例如,生成式设计过程的几何图形生成引擎(例如,在CAD程序116中实施)采用基于密度的表示(例如,与体素或四面体网格相关联的密度值),而CAD程序116可以将B-Rep模型用于任何输入几何图形以及用于使用生成式设计过程产生的3D模型132的最终几何图形。在一些实施方式中,生成式设计过程中的基于密度的拓扑优化使用规则的有限元网格,并且每个元素的密度由相关联的设计变量控制。下面结合图1B至图5提供关于生成式设计过程的进一步细节。
一旦用户160对生成式设计的3D模型132感到满意,就可以将3D模型132存储为3D模型文档130和/或用于生成模型的另一表示(例如,用于2.5轴减材制造工艺的刀具路径规范)。这可以根据用户160的请求来完成,或者根据用户对另一动作的请求来完成,诸如将生成式设计的3D模型132发送到减材制造(SM)机170,或者可以直接连接到计算机110或者经由网络140连接的其他制造机械,如图所示。这可以涉及在本地计算机110或云服务上执行的用于将3D模型132导出到制造所依据的电子文档的后过程。应注意,电子文档(其出于简明起见将简称为文档)可以是文件,但不一定对应于文件。可以将文档存储在保存其他文档的文件的一部分中,存储在专用于所讨论的文档的单个文件中,或存储在多个协同文件中。此外,用户160可以保存或传输3D模型132以供随后使用。例如,CAD程序116可以存储或发送包括所生成的3D模型132的文档130。
CAD程序116可以向SM机170提供文档135(具有适当格式的刀具路径规范)以从原料137创建完整的结构,其中物理结构包括促进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维度中的每一个上都具有完全的移动自由度,即刀具172可以同时在所有三个轴上移动。2.5轴铣削过程可以使用3轴铣床执行,并且不需要使用更多轴机床的任何特征,因为2.5D图像是对于(x,y)平面中的每个点最多包含一个深度(z)值的简化的3维(x、y、z)表面表示。因此,SM机170也可以是多轴机器,其中刀具172可以在三个轴(x、y、z)上平移并在切割工件137的同时在两个轴(侧倾和横摆)上同时旋转。注意,这些额外的移动自由度可以通过主轴171的计算机控制的运动、用于被加工零件的夹具或锚点(例如,机器工作台)173的计算机控制的运动或两者的组合来实现。尽管如此,由于产生2.5轴设计,因此根本不需要使用3轴或多轴机床的先进功能,或者用于大多数铣削操作。
即使当SM机170具体不是2.5轴机器时,使用2.5轴减材制造工艺也是有利的。这是因为一次仅在2个维度上执行切削操作可以更简单地生成更接近最佳切削刀具路径设计的刀具路径规范(例如,G代码)。将零件设计为具有分层或阶梯形状可以使得更快地对减材机床刀具路径进行编程。此外,通过在大多数切削操作期间将铣刀的移动限制为2个轴(减材过程随平面中垂直于铣刀的但以平行于铣刀的离散步长进行的连续移动发生),可以提高制造过程的效率,即更短的加工时间,因为2.5轴减材制造工艺可以快速依次去除材料层,并创建通常在不同深度处具有一系列“凹窝”的零件。此外,由于2.5轴加工装备比3轴和5轴加工装备更常见且更便宜,因此为CAD程序116提供可以将设计限制为2.5轴可制造零件的生成式设计过程增加了生成式设计过程的实际可用性。
在任何情况下,CNC机床170应在加工期间以某种方式锚定毛坯,以防止意外移动,有时应改变毛坯的锚定位置(通过人工或其他现存方法),使得先前在锚固过程中使用的毛坯的部分可以暴露出来,以供CNC机床170进行后续切割。零件及其锚定的这些取向或布置称为“零件设置”。根据旋转工件的能力(通常通过采用不同的零件设置,或通过旋转多轴CNC机床中锚定工件的刀具或工作台)或旋转刀具的能力(在多轴CNC机床中,但不是在2.5轴CNC机床中),可以使用多个铣削方向。
因此,不管SM机170的移动自由度和锚定能力如何,SM机170都可以执行2.5轴加工过程,其中刀具在两个轴上同步移动,而刀具在第三个轴上递增地移动以在零件几何图形中创建一系列“层”。每层的壁和底板可以分别由刀具的侧面和末端切割,这比轮廓(“3轴”)表面更高效。同时,与2轴加工相比,2.5轴加工改进了对几何图形的控制,其中刀具始终切穿零件。因为CAD程序116中的生成式设计过程产生2.5轴兼容几何图形,所以这显著节省了SM机170的编程时间和加工时间,这是因为即使SM机170可以处理零件的更复杂的几何图形零件,零件也使用更简单的几何图形。
图1B示出了生成式设计过程的示例,其中调整密度以指定确定的层边界,并使用2.5轴减材制造工艺制造物理结构。例如,通过CAD程序116获得180对象的设计空间、一个或多个设计标准和一个或多个在用案例,以用于产生将使用2.5轴减材制造工艺制造的物理结构的生成式3D模型。建模对象的设计空间是要在其内设计零件的体积。设计空间可以包括包含对象的三维拓扑的一个或多个外部形状的初始规范的包围体。如上所述,设计空间可以包括:在CAD程序116中设计或加载到其中的3D模型,所述3D模型用作生成式设计过程的优化域的子空间;和/或一组输入实体,该组输入实体指定生成式设计几何图形产生的边界条件,例如,使用UI 122选择以指定保留用作与更大3D模型或单独3D模型中的其他部件的连接点的子空间的B-Rep。
设计标准可以包括对象的设计目标和设计约束。设计目标可以包括但不限于最小化废料、最小化零件重量、最小化柔顺性或最大化刚度、最小化应力和/或最小化或最大化零件的其他内在特性,并且用于驱动形状合成过程朝向更好的设计发展。尽管不是必需的,但设计目标通常植根于设计的模拟,例如线性静态、流体动力学、电磁等。设计约束可以包括在任何生成的设计中都应满足的多种几何和物理特性或行为(也可以接受对单个零件或整个总成的要求);示例包括最大质量、最大负载下变形、最大应力等。
此外,可以通过使用设计参数和设计变量的不同组合来制定不同的生成式设计过程。在一些实施方式中,设计参数可以包括通过UI 122接收的各种类型的输入,诸如在系统100中的CAD程序可用的不同生成式设计合成方法之间进行的选择。在一些实施方式中,可用的生成式设计合成方法可以包括提供基于密度的拓扑优化方法的SIMP方法。其他生成式设计合成方法也是可能的并且可以由系统100中的CAD程序116提供。响应于来自用户160的输入,可以例如由CAD程序116使用设计参数和设计变量的不同组合。例如,用户160可以选择不同的生成式设计合成方法来在单个3D模型内的相应不同的设计空间内使用。
此外,获得180的一个或多个在用案例是针对将使用2.5轴减材制造工艺由生成式设计的零件制造的物理结构。一个或多个在用案例可以包括一个或多个预期由物理结构支撑的负载,并且可以与数值模拟的设置相关联,例如,FEA模型中的要与生成式设计的零件的优化的3D拓扑一起使用的元素的密度。然而,如本文所用,“在用案例”通常是指单独可操作约束,在所述约束下,评估零件性能,并且所述约束对应于用于各种类型的物理特性模拟(诸如流体流动模拟、电磁(EM)行为模拟、多物理特性模拟)的一组或多组边界条件。
一般来说,数值模拟的设置可以包括要模拟的一种或多种物理特性和要执行的一种或多种类型的模拟,以及潜在的替代建模或其他逼近方法。在一些实施方式中,数值模拟的类型是预定义的,无论是针对程序的所有用途,还是鉴于程序中已启动生成式设计过程的特定上下文。此外,数值模拟的设置可以包括与要执行的数值模拟的类型相关联的至少一组负载条件和/或其他物理环境信息,即在用案例。
在指定生成式设计空间和设计标准的情况下,例如通过CAD程序116使用一个或多个生成式设计过程产生185一个或多个3D模型,其中对应于这些3D模型的物理结构被设计为使用2.5轴减材制造工艺制造。例如由CAD程序116执行的一个或多个生成式设计过程包括至少一个基于密度的生成式设计过程,例如使用SIMP方法,其涉及例如通过CAD程序116迭代地修改建模对象的生成式设计的三维形状。这包括根据一个或多个设计标准和一个或多个在用案例在设计空间中修改三维形状的几何图形和三维形状的拓扑两者。特定地,过程185可以产生最优拓扑设计,所述最优拓扑设计在满足多个约束的同时最小化目标函数,其中设计与2.5轴加工兼容。在过程185中对生成式设计的3D形状和拓扑的迭代更新继续进行,直到生成式设计满足所有约束并且最小化(或最大化)目标。
3D模型的生产185包括根据2.5轴减材制造工艺的一个或多个铣削方向调整生成式设计的三维形状的基于密度的表示。所述调整可以在3D形状的整个迭代修改过程中进行,也可以仅在迭代修改的一些迭代中进行,或者在拓扑优化的迭代修改结束之后进行。但无论是否在拓扑优化循环中进行调整,所述调整都会为对象指定三个或更多个离散层之间的边界,并产生一个或多个与2.5轴减材制造工艺兼容的生成式3D模型。
此类3D模型具有对应于2.5轴减材制造工艺的离散层,其中离散层在一个或多个3D模型中创建平坦区域,所述平坦区域通过促进侧铣(使用刀具的侧面或侧边去除原料)和端面铣削(使用刀具的端部或面去除原料)来促进制造对应的物理结构。请注意,即使2.5轴可制造性不需要作为拓扑优化过程中的正式约束来实现,但对建模对象的生成式设计的3D形状的迭代修改185有效地约束了几何图形生成过程以产生可以使用2.5轴加工制造的形状。
在一些实施方式中,生成式设计处理的结果例如在显示装置120上的UI 122中与接受或拒绝设计的选项190一起呈现给用户。在一些实施方式中,用户可以为每个设计研究从最终设计或多种先前迭代中的任何一种中进行选择。在一些实施方式中,可以将由生成式设计过程产生的两个或更多个3D模型连同对设计复杂性与制造成本(或各种其他感兴趣的量中的任何量)的权衡分析一起呈现给用户。权衡分析可以帮助用户160决定是接受还是拒绝所呈现的3D模型中的一个或多个3D模型。
如果设计被拒绝,则图1B的过程可以返回以由例如CAD程序116获得180新的设计空间和/或新的设计标准以用于产生新的生成式3D模型。一旦未拒绝190设计,图1B的过程就可以通过例如CAD程序116为对象的3D模型提供195生成式设计的形状和拓扑,以用于2.5轴减材制造物理结构。提供195可以涉及将3D模型发送或保存到永久存储装置以用于使用SM制造系统制造对应于对象的物理结构。在一些实施方式中,提供195涉及例如由CAD程序116使用3D模型生成195A用于计算机控制的SM制造系统的刀具路径规范,以及例如由CAD程序116使用为2.5轴SM加工生成的刀具路径规范,利用计算机控制的SM制造系统制造195B对应于对象的物理结构的至少一部分。在一些实施方式中,提供195可以包括使用所生成195A的刀具路径规范,利用2.5轴减材加工制造用于物理结构的模具,其中3D模型可以是将使用2.5轴减材制造工艺制造的模具的模型。
所提供195的3D模型可以是通过生成式设计合成方法产生185的3D模型或生成式设计输出的后处理版本。例如,在一些实施方式中,可以在提供195之前将通过生成式设计合成方法产生的3D网格模型转换成防水B-Rep 3D模型。在一些实施方式中,可以例如由CAD程序116将可以从基于密度的生成式设计过程的输出中提取的多边形网格或直接从基于密度的生成式设计过程获得的生成式设计数据转换成边界表示(B-Rep)模型和/或参数特征模型。边界表示模型或参数特征模型可以是可编辑的,例如,作为具有参数特征的草图几何图形。
因此,本文档中描述的生成式设计方法可以例如在CAD程序116中实施,以提供(1)对生成式设计过程的实质性用户控制,以及(2)用于提供生成式设计的3D模型以用于制造对应于对象的物理结构的控制功能。在任何情况下,目的都是产生对象的促进对象的2.5轴减材制造的3D模型。
图2示出了根据2.5轴减材制造工艺的一个或多个铣削方向调整生成式设计的三维形状的基于密度的表示的过程的示例。图2的过程是图1B中定义的过程185中的调整的示例。收集200与生成式设计的三维形状的基于密度的表示中的各个元素的不同子集相关联的不同铣削深度。
收集200可以包括将生成式设计的三维形状的基于密度的表示中的各个元素布置205成平行于铣削方向的铣削线,其中每条铣削线对应于各个元素的不同子集中的一个子集。例如,铣削数组可以直接在基于密度的表示的物理域上定义。请注意,不需要虚拟嵌入域(其中建立铣削过程)和物理模型的插值(在虚拟域内使用坐标变换和映射)。
图3A示出了在铣削线中布置元素的示例。在所示示例中,假定铣削方向为负z坐标方向。箭头300表示平行于刀具的铣削方向305的铣削线。在每条铣削线300中,刀具接触的第一元素310被称为起始元素。在一些实施方式中,布置205涉及基于铣削方向305识别起始元素、为每个识别的起始元素建立铣削线、找到剩余元素中的哪些与每条铣削线相交、以及将沿每条铣削线的元素序列存储在数组中。
请注意,假设铣削方向为负z坐标方向仅仅是为了便于呈现,可以使用各种不同的铣削方向,例如用于3轴或多轴铣削的45度角铣削方向。此外,图3A中所示的元素中的数字1-64表示规则笛卡尔网格中的有限元。如果域在矩形或长方体中,则可以基于它们的坐标或它们所属的表面来确定起始元素。如果所有元素从最低坐标值开始排序并首先在x方向上增加,然后在y方向上增加,最后在z方向上增加,则算法可以简单得多。在这样的实施方式中,如果x方向、y方向和z方向上的元素数量已知,则查找起始元素是直截了当的。
在元素未如此排序的实施方式中,邻接数组和铣削方向数组可以用于沿每条铣削线依次找到起始元素和后续元素。在一些实施方式中,基于元素坐标和位置来搜索网格以找到沿着铣削线在当前序列中接下来出现的那些元素。在一些情况下,用户、几何图形建模器或预处理器阶段可以提供(非传统)元素排序,从中可以找到铣削线交叉点和相邻元素。此外,在一些实施方式中,考虑了对称性,并且铣削方向应该朝向或平行于对称平面。例如,当y平面为对称平面时,铣削方向不能为正y坐标方向。
因此,虽然图3A中呈现的示例表示规则笛卡尔网格,但是不需要在规则笛卡尔网格中使用有限元。每个网格元素不必是正方形(2D)或立方体(3D)。每个网格元素可以是矩形(2D)和矩形长方体(3D)。此外,一些实施方式将对其他类型的网格元素和网格类型进行操作,诸如由四面体元素组成的网格和/或非结构化网格。例如,对于非规则网格,可以使用元素中心坐标来判断元素是否属于特定的铣削线,并且由于元素中心坐标可能不在铣削线上,所以可以使用公差值来确定元素是否属于铣削线。一般来说,对于给定的网格和给定的铣削方向,所有元素都可以布置在铣削线中,每条铣削线都有一个唯一的起始元素。此外,2.5轴铣削条件可以应用各种类型的约束,诸如最小构件大小和最大构件大小。
返回图2,收集200还可以包括聚合210沿每条铣削线的元素的密度,使得元素的聚合密度沿每条铣削线单调递增直到一个或另一个最大值中的最大值,例如,用户提供的值。聚合210可以包括沿铣削线累积密度值以及投影累积的密度值,如下所述。请注意,以下推导仅考虑单条铣削线,但可以将相同的过程应用于每条铣削线。
初始密度ρi(i=1、......、N)称为蓝图密度。这些是优化中所使用的设计变量。然后,沿刀具方向,密度累积如下表1所示。
ρ<sub>1</sub> | ρ<sub>2</sub> | ρ<sub>3</sub> | ρ<sub>4</sub> | ρ<sub>5</sub> | ρ<sub>6</sub> | ρ<sub>7</sub> | ρ<sub>8</sub> |
蓝图密度
累积密度
表1
累积密度可以写为:
因此,每条铣削线中的第一元素保持自己的密度,第二元素得到第一元素和第二元素的和,第三元素得到第一元素、第二元素和第三元素的和等等。这个累积过程保证了密度沿刀具方向单调递增。因此,它可以防止在刀具路径中形成孔。
然而,累积密度可能大于一。在一些实施方式中,为了使最大密度为一,应用了平滑的Heaviside阶跃函数。当小于阈值η时,投影密度变为零,否则变为一。在数学上,Heaviside函数可以被定义为其中H(a)在a>0时为一,并且在a<0时为零。但是,由于Heaviside函数是不可微分的,因此可以利用以下形式的平滑Heaviside阶跃函数:
其中β是控制近似的参数。由于β→∞,平滑的Heaviside阶跃函数接近真正的阶跃函数。在一些实施方式中,η=0.5并且β=10,其将密度限制在零和一之间,并且可以定义铣削深度,其中当然,其他值也是可能的,包括铣削深度的不同密度值截止值。尽管如此,对于给定的铣削线,可以累积元素的拓扑密度,使得使拓扑密度沿每条铣削线单调递增,并且可以投影累积的密度,使得最大密度值不超过1.0。
此外,收集200还可以包括使用每条铣削线中的聚合密度来识别215每条铣削线的铣削深度。例如,使用投影密度,可以将每个铣削深度识别为密度=0.5的位置。一般来说,每条线的铣削深度可以设置为介于0和1之间的中间密度值,例如用户提供的值。
图3B示出了多条铣削线320(L1、L2、......、Ln)和它们的铣削深度325(d1、......、dn)。因为密度沿每条铣削线单调递增,所以每条铣削线的铣削深度被定义为累积密度通过共同阈值的点,例如,当累积密度通过时,每条不同的铣削线可以具有不同的铣削深度。应注意,由于不同的铣削线具有不同的铣削深度,因此机床将需要针对不同的铣削线切割不同的高度,即仍然需要3轴或更多轴铣削。这些不同的铣削深度325不适用于2.5轴铣削。为了解决这个问题,可以将铣削线分组在一起,并且可以为每组内的铣削线分配相同的铣削深度。
返回图2,可以将不同的铣削深度分组220成三个或更多个离散层中的相应层,其中三个或更多个离散层中的每一层都垂直于2.5轴减材制造工艺的铣削方向。离散层的数量可以是在3D形状的迭代修改期间保持固定的用户输入值。替代地,执行调整的程序(例如,CAD程序116)可以确定在拓扑优化循环之外或之内的离散层的数量。例如,如果用户输入指示六层,则如果两层具有相同的深度,程序可能以五层结束,即,程序确定最佳分组,从而使得离散层数少于用户指定的层数。
在一些实施方式中,程序可以确定在由用户提供的层数范围内的离散层的数量,例如,层数(在所述范围内)可以包括在由优化器控制的变量集中。在一些实施方式中,程序可以通过划分层直到每个层包括至少用户提供的元素数量来确定离散层的最佳数量。在一些实施方式中,程序继续划分层,直到两层之间的间隙的最小差值小于用户提供的阈值。此外,在一些实施方式中,离散层之间的一个或多个平面可以通过对输入到生成式设计过程的任何几何图形的预处理来确定,诸如通过识别任何输入的保留实体的一个或多个平面(其垂直于铣削轴)。
分组220可以包括对不同的铣削深度排序225以产生排序的铣削深度值。图4A示出了对铣削深度进行排序的示例。如图所示,d1、d2、......、dn)是所有铣削线的铣削深度400。这些铣削深度400可以按升序排序405,表示为图4B示出了用于排序的铣削深度410的指定的层边界的示例。应注意,图4B是假设图,但它示出了当铣削线的深度相似时对铣削线进行分组的逻辑。此外,对铣削深度进行分组的其他方法也是可能的。例如,在一些实施方式中,可以使用聚类算法,诸如支持向量机算法,其将数据划分为给定的组集合。
再次参考图2,在一些实施方式中,分组220可以包括识别230排序的铣削深度值中的两个或更多个最大差值,以及基于每个子集的铣削深度在排序的铣削深度值中与两个或更多个最大差值相关的位置,将各个元素的不同子集中的每一个分配235给三个或更多个离散层中的一个。例如,层的边界可以定义为铣削深度跳跃最大的点。参考图4A,可以为所有铣削线计算415铣削深度的差值例如,计算并存储当前铣削深度和先前铣削深度之间的差值。
在所有Δdi中,可以选择最大的NLEVEL铣削深度差值(其中NLEVEL是用户定义的或部分或完全自动确定的,如上所述)作为离散层之间的边界。在图4B中,这些边界表示为L1、L2、......、L6。如果NLEVEL=3,则只有L1、L2和L3用于层边界。一旦定义了层边界,两个边界之间(或两个极端边界的相应侧上)的所有元素就都属于2.5轴加工的同一级别。例如,可以对铣削深度差值进行排序,并且最大的差值可以用于识别第一边界,第二大的差值可以用于定义第二边界,等等,直到定义了NLEVEL组的铣削深度。此外,应注意,在生成式设计优化期间,不需要在每次迭代中都对深度进行排序,更不用说频繁排序了。例如,如果设计变量在一次迭代中的最大变化相对较小,则这意味着可能不需要排序。因此,随着过程接近最优设计(接近收敛),可能不需要在每次迭代中对铣削深度进行排序。
再次返回图2,分组220可以包括基于与分配给离散层的元素子集相关联的铣削深度,设置240三个或更多个离散层中的每个相应离散层中的单个铣削深度,例如同时保留材料的总量。在一些实施方式中,每组中的单个铣削深度被定义为组内所有铣削深度的平均值。应注意,拓扑优化通常包括用作目标或约束的材料总量。因此,在调整2.5轴铣削的设计时,可能优选的是,在调整前后保持相同的材料。通过平均组中的所有深度来计算层深度会引起自动保留所使用的材料量,从而提高拓扑优化过程相对于2.5轴铣削调整的准确性。
改变250基于密度的表示中的各个元素的至少一部分的密度值,使得为三个或更多个离散层中的每一层产生单个铣削深度。应注意,并非在所有实施方式中都需要改变所有网格元素,因为某些元素可能位于2.5轴加工要求之外的区域中。还应注意,除了可能具有两个或更多个设计区域和非设计区域外,不同的设计区域还可以具有不同的2.5轴条件,诸如层数和铣削方向。改变250可以涉及使用平均深度重新分配每组内的所有铣削线的铣削深度(使得组内的所有铣削线将具有相同的铣削深度),如下所述。
对于给定的层L,假设有ML条铣削线。由于所有铣削线都具有不同的铣削深度,因此平均铣削深度可以用作层L的代表性铣削深度。令di(i=1、......、ML)为层的铣削深度。然后,平均铣削深度可以被定义为
一旦计算出层L的平均铣削深度,就可以使用平均铣削深度来重新计算层中所有铣削线中所有元素的拓扑密度:
在方程式(4)中,参数β可以与方程式(2)中的参数相同,也可以不同。在一些实施方式中,可以使用相同的β=η=3.0值。沿铣削线,如果元素深度位置小于平均铣削深度,则元素的密度为零,否则密度为一。应注意,除了方程式(4)的方法之外,还可以使用其他方法来改变密度以强制在每组中共享铣削深度,诸如使用阶跃函数。一般来说,可以使用介于0和1之间的任何合适的单调递增函数。
图4C示出了沿铣削线投影元素拓扑密度的示例450。在此示例中,沿铣削线有100个元素,并且平均铣削深度为25。通过对同一组中的所有铣削线重复此投影,将使所有铣削线具有相同的铣削深度;即,铣削平面被定义为平均铣削深度,其用作高度。
目前为止的描述集中在仅针对一个铣削方向优化零件形状。但是方程式(4)中的投影拓扑密度可以应用于每个铣削方向。令NT为铣削方向的总数。然后,拓扑密度可以由以下方程式确定:
这个密度可以存储在数组中,而优化使用ρi作为主要变量。因此,所描述的实施方式可以扩展到两个或更多个铣削方向。两个或更多个铣削方向可以通过用户输入或自动检测来确定。
图4D示出了与工件480相关的不同铣削方向485、490、495的示例。两个或更多个铣削方向可以包括一对或多对具有相反符号的平行(或共线)铣削方向490、495(即,零件被加工、翻转和再次加工)。两个或更多个铣削方向还可以包括非平行铣削方向485、490。然而,本说明书中描述的方法适用于图4D所示以外的许多附加的、非平行(和非共线)的铣削方向。实际上,铣削方向的数量和布置可以完全由用户控制。
因此,在一些情况下,在图2的过程中仅使用一个铣削方向,但在其他情况下使用多于一个铣削方向,并且针对两个或更多个铣削方向中的每一个单独执行密度的调整以产生相应的铣削方向特定数据集。因此,在一些实施方式中,执行检查260以查看是否仍要处理附加的铣削方向。如果是这样,则在继续进行收集200、分组220和改变250之前,所述过程切换270到用于下一个铣削方向的新取向。在一些实施方式中,切换270涉及执行坐标变换,使得切割平面平行于x-y平面并且铣削方向在负z坐标中。但如上所述,不需要基于密度的表示的物理域(用于拓扑优化)和虚拟域(用于进行铣削方向处理)之间的映射,这可以导致更快和更准确的过程。在一些实施方式中,切换270不需要涉及针对不同铣削方向的任何坐标变换,因为切换270可以涉及切换到新数据结构(或共同数据结构的新部分),其中存储针对不同铣削方向沿每条铣削线的起始元素和元素序列。
一旦已经处理了所有不同的铣削方向,就可以组合280相应铣削方向特定数据集以更新建模对象的生成式设计的三维形状的基于密度的表示。组合280可以涉及将密度一起相乘。尽管如此,无论是否使用多个铣削方向,零件/对象的最终设计都由(完全或大部分)具有不同高度且没有底切的多个平面组成。应注意,最终设计不必完全由此类平面组成,诸如当使用具有曲面的输入保留实体时,或者当拓扑优化过程还考虑机床(可能是球头切刀)的形状时。
图5示出了对层边界进行确定以产生与2.5轴减材制造工艺兼容的3D模型的生成式设计过程的示例。形状和拓扑优化循环包括根据3D形状的当前版本和一个或多个在用案例执行建模对象的数值模拟555,以产生对建模对象的物理响应(例如,结构响应)的当前数值评估。当前数值评估可以是基于体素的应力场数据、应变场数据或两者。但如上所述,可以执行各种类型的数值模拟,其可以但不必包括计算3D形状的当前版本的体积内各处的应变能的FEA模拟。在任何情况下,当前3D形状的物理模拟都会产生当前数值评估,然后可以使用所述当前数值评估来根据设计标准改变3D形状。
在数值模拟555之后,基于对来自模拟555的建模对象的物理响应的当前数值评估,并根据2.5轴减材制造工艺的铣削方向,计算560梯度(例如,灵敏度分析数据)。应注意,优化引擎需要梯度来了解改变形状以改进设计的方式。对于上面给出的示例,应注意,伴随灵敏度方法计算目标和约束相对于产生密度的梯度,而优化使用相对于蓝图密度的灵敏度。因此,需要通过使用微分的链式法则来将相对于产生密度的灵敏度转换为相对于蓝图密度的灵敏度。
一般来说,计算560跟踪用于调整570的过程,其中在确定拓扑优化期间变化对元素密度的影响程度时,应考虑将元素投影到定义的平面上(例如,用于从3轴铣削的可变轮廓定义用于2.5轴铣削的平面的平均值)。应注意,即使变量轮廓上一个元素的密度发生变化,也会对分组到同一平面中的所有元素产生影响。在使用平均值来定义铣削深度的情况下,如果级别中有n个元素,则每个元素密度贡献1/n。如果层的高度被计算为分组的铣削深度的平均值,则该方程被微分以得出单个元素的贡献。
一旦计算出梯度,就调用565基于密度的拓扑优化代码。基于密度的拓扑优化器的输入可以包括对来自模拟555的物理响应的当前数值评估和计算560的灵敏度分析数据。基于密度的拓扑优化器可以使用基于密度的优化(例如SIMP)来处理这些输入,以通过改变密度来使几何形状朝向更优化的形状(包括可能的拓扑变化)移动来相对于一个或多个设计标准改进生成式设计的三维形状的基于密度的表示。
如上所述,执行570根据2.5轴减材制造工艺的铣削方向对基于密度的表示进行调整以帮助确保最终输出与2.5轴加工兼容,并且可以执行575针对收敛的检查575,即,迭代过程继续直到设计空间中的建模对象的生成式设计的三维形状收敛到稳定的解决方案,其中设计空间中的建模对象的生成式设计的三维形状满足一个或多个设计标准和一个或多个在用案例。在一些实施方式中,数值模拟555、梯度计算560、拓扑优化565和调整570进行迭代575直到已经执行了预定义数量的形状修改,直到收敛,或两者。
如上所述,在一些实施方式中,调整发生在3D形状的迭代修改的整个过程中。因此,在一些实施方式中,操作555至575可以是整个拓扑优化循环。然而,在其他实施方式中,操作555至575仅表示3D形状的迭代修改的一部分。例如,操作555至575可以是在与迭代形状修改过程的一个或多个较早拓扑优化循环分开的拓扑优化循环中执行的两次或更多次迭代。
在一些实施方式中,在不调整密度的情况下执行500第一组迭代,然后在调整密度的情况下执行550第二组迭代。例如,假设3轴铣削,则可以执行500第一拓扑优化,直到已经执行了预定义数量的形状修改,直到收敛,或两者;然后,可以根据2.5轴铣削(如本文所述)执行550第二拓扑优化,直到已经执行了预定义数量的形状修改,直到收敛,或两者。
基于3轴铣削的拓扑优化具有可变的铣削深度轮廓,而2.5轴铣削具有离散的铣削深度。通过首先进行3轴拓扑优化(例如,直到收敛),可以在过程的早期避免2.5轴拓扑优化的额外处理步骤,这可以显著节省处理资源,因为拓扑优化的初始阶段通常涉及形状的重大变化,此时强制离散铣削深度可能没有什么好处。应注意,当首先完成3轴拓扑优化时,只需两次到五次附加迭代(例如,三次附加迭代)即可达到2.5轴拓扑优化的收敛。此外,从一开始就使用2.5轴拓扑优化可能会使得设计在初始迭代期间突然变化,因此使用图5的两阶段过程有助于稳定优化收敛,使过程更高效。尽管如此,当用户请求了2.5轴拓扑优化时,显示3轴中间结果可能看起来很奇怪。因此,在一些实施方式中,为了向用户显示2.5轴结果,可以在拓扑优化期间的每次迭代中执行2.5轴投影。
此外,在一些实施方式中,初始3轴铣削拓扑优化500不需要采用本申请中描述的系统和技术,而是通常可以采用拓扑优化中的其他3轴铣削约束。尽管如此,只要接收到用于3轴铣削的表面的轮廓,具有2.5轴层定义的2.5轴拓扑优化550就可以用于此类其他过程的输出。在这种情况下,可以将表面的轮廓用作铣削深度,并且可以采用550中的相同程序来找到满足2.5轴铣削条件的最佳设计。
图6是包括数据处理设备600的数据处理系统的示意图,该数据处理设备可以被编程为客户端或服务器以实施本说明书中描述的实施方案。数据处理设备600通过网络680与一个或多个计算机690连接。虽然在图6中仅示出一个计算机作为数据处理设备600,但是可以使用多个计算机。数据处理设备600包括各种软件模块,所述软件模块可以分布在应用层和操作系统之间。这些可以包括可执行和/或可解译的软件程序或库,包括实施上述系统和技术的一个或多个3D建模程序604的工具和服务。因此,3D建模程序604可以是CAD程序604(诸如CAD程序116)并且可以实施用于拓扑优化的一个或多个生成式设计过程(例如,使用基于SIMP的方法进行生成式设计)和物理模拟操作(有限元分析(FEA)或其他),其在有或没有多个铣削方向的情况下结合层边界确定以产生2.5轴可加工输出。此外,程序604可以潜在地实施制造控制操作(例如,生成和/或应用刀具路径规范以实现设计对象的制造)。所使用的软件模块的数量可以因实施方式的不同而不同。此外,软件模块可以分布在由一个或多个计算机网络或其他合适的通信网络连接的一个或多个数据处理设备上。
数据处理设备600还包括硬件或固件装置,包括一个或多个处理器612、一个或多个附加装置614、计算机可读介质616、通信接口618和一个或多个用户接口装置620。每个处理器612能够处理用于在数据处理设备600内执行的指令。在一些实施方式中,处理器612是单线程或多线程处理器。每个处理器612能够处理存储在计算机可读介质616或诸如附加装置614之一的存储装置上的指令。数据处理设备600使用通信接口618例如通过网络680与一个或多个计算机690通信。用户接口装置620的示例包括显示器、相机、扬声器、传声器、触觉反馈装置、键盘、鼠标以及VR和/或AR装备。数据处理设备600可以将实施与上述程序相关联的操作的指令存储在例如计算机可读介质616或一个或多个附加装置614(例如,硬盘装置、光盘装置、磁带装置和固态存储器装置中的一者或多者)上。
本说明书中描述的主题和功能操作的实施方案可以实施在数字电子电路中,或实施在计算机软件、固件或硬件中(包括本说明书中公开的结构和它们的结构等同物),或实施在它们中的一者或多者的组合中。本说明书中描述的主题的实施方案可以使用计算机程序指令的一个或多个模块来实施,所述计算机程序指令编码在非暂时性计算机可读介质上以用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是制成品,例如计算机系统中的硬盘驱动器或通过零售渠道销售的光盘,或者嵌入式系统。可以单独获取计算机可读介质,并且随后用一个或多个计算机程序指令模块编码,例如,在通过有线或无线网络传送一个或多个计算机程序指令模块之后。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储器装置或它们中的一者或多者的组合。
术语“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,所述设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、运行时环境或它们中的一者或多者的组合的代码。此外,所述设备可以采用各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
可通过任何合适形式的编程语言来编写计算机程序(还被称为程序、软件、软件应用程序、脚本或代码),所述编程语言包括经过编译或解译的语言、声明性或程序性语言,并且可通过任何合适的形式来部署所述计算机程序,包括部署成独立的程序或适合于在计算环境中使用的模块、部件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。可将计算机程序部署成在一个计算机上执行,或者在位于一个场所处或跨多个场所分布并且通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流可由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并且产生输出来执行功能。所述过程和逻辑流还可以由专用逻辑电路执行,并且还可以将设备实施为专用逻辑电路,所述专用逻辑电路例如为FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来说,处理器将从只读存储器或随机存取存储器或以上两者接收指令和数据。计算机的基本元素是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。一般来说,计算机还将包括用于存储数据的一个或多个大容量存储装置,例如,磁盘、磁光盘或光盘,或者操作性地耦合到所述一个或多个大容量存储装置以从其接收数据或向其传递数据或以上两者。然而,计算机不需要有这样的装置。此外,计算机可以嵌入到另一个装置中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储装置(例如,通用串行总线(USB)闪存驱动器),仅举几例。适用于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,例如包括半导体存储器装置,例如EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)和闪存装置;磁盘,例如内置硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。可通过专用逻辑电路来补充处理器和存储器,或者处理器和存储器可并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方案可在计算机上实施,所述计算机具有:显示装置,例如,LCD(液晶显示器)显示装置、OLED(有机发光二极管)显示装置或用于向用户显示信息的另一监视器;以及键盘和指向装置,例如,鼠标或跟踪球,用户可借此向计算机提供输入。还可使用其他种类的装置来提供与用户的交互;例如,向用户提供的反馈可为任何合适形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;以及可接收来自用户的呈任何合适的形式的输入,包括声学、语音或触觉输入。
所述计算系统可包括客户端和服务器。客户端和服务器一般彼此远离且通常通过通信网络进行交互。客户端和服务器的关系是由于在各自的计算机上运行并且彼此之间具有客户端-服务器关系的计算机程序而产生的。本说明书中描述的主题的实施方案可以在包括后端部件(例如,作为数据服务器)或包括中间部件(例如,应用程序服务器)或包括前端部件(例如,具有图形用户界面或浏览器用户界面的客户端计算机,用户可以通过该界面与本说明书描述的主题的实现进行交互)或一个或多个这样的后端部件、中间部件或前端部件的任何组合的计算系统中实现。系统的部件可通过任何合适形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如互联网)和对等网络(例如,自组织对等网络)。
虽然本说明书包含许多实施细节,但是这些细节不应理解为限制被要求保护或可要求保护的内容的范围,而是对所公开的主题的特定实施方案特有的特征的描述。本说明书中在单独的实施方案的背景下描述的某些特征也可在单个实施方案中组合实施。相反地,在单个实施方案的上下文中描述的各种特征也可单独地在多个实施方案中实施或以任何合适的子组合实施。此外,尽管特征在上文可被描述为以某些组合起作用并且甚至最初因此而受权利要求保护,但是来自受权利要求保护的组合的一个或多个特征在一些情况下可与所述组合分离,并且受权利要求保护的组合可涉及子组合或子组合的变动。
类似地,尽管操作在附图中是按特定顺序描绘,但是此不应被理解为要求此类操作以所示的特定顺序或以有序的顺序执行,或所有所示操作被执行,以实现期望结果。在某些情形中,多任务处理和并行处理可为有利的。此外,上述实施方案中的各种系统部件的分离不应理解为在所有实施方案中都需要此分离,并且应理解,所描述的程序部件和系统可大体上一起集成在单个软件产品中或封装到多个软件产品中。
因此,已经描述了本发明的特定实施方案。因此,其它实施方案也在所附权利要求的范围内。另外,权利要求中阐述的行为可以不同次序执行且仍实现期望结果。
Claims (23)
1.一种方法,其包括:
获得要使用2.5轴减材制造工艺制造其对应物理结构的建模对象的设计空间、所述建模对象的一个或多个设计标准、以及所述物理结构的一个或多个在用案例;
根据所述一个或多个设计标准和所述一个或多个在用案例,在所述设计空间中对所述建模对象的生成式设计的三维形状进行迭代修改,其中所述迭代修改采用所述建模对象的所述生成式设计的三维形状的基于密度的表示,并且所述迭代修改包括根据所述2.5轴减材制造工艺在所述迭代修改的至少两次迭代中的铣削方向,调整所述生成式设计的三维形状的所述基于密度的表示,所述调整包括:
收集与所述生成式设计的三维形状的所述基于密度的表示中的各个元素的不同子集相关联的不同铣削深度,
将所述不同的铣削深度分组到三个或更多个离散层中的相应层中,所述三个或更多个离散层中的每一层都垂直于所述2.5轴减材制造工艺的所述铣削方向,以及
改变所述基于密度的表示中的所述各个元素的至少一部分的密度值,使得为所述三个或更多个离散层中的每一层产生单个铣削深度;以及
提供所述建模对象的所述生成式设计的三维形状以用于使用采用所述2.5轴减材制造工艺的一个或多个计算机控制的制造系统来制造所述物理结构。
2.根据权利要求1所述的方法,其中所述分组包括:
对所述不同的铣削深度进行排序以产生排序的铣削深度值;
识别所述排序的铣削深度值中的两个或更多个最大差值;
基于所述排序的铣削深度值内的与所述两个或更多个最大差值相关的每个子集的铣削深度的位置,将所述各个元素的所述不同子集中的每一个分配给所述三个或更多个离散层中的一个;以及
基于与分配给所述离散层的元素子集相关联的铣削深度,在所述三个或更多个离散层的每个相应离散层中设置所述单个铣削深度。
3.根据权利要求2所述的方法,其中所述三个或更多个离散层的数量是在所述迭代修改期间保持固定的用户输入值。
4.根据权利要求1所述的方法,其中所述迭代修改包括:在所述至少两次迭代中:
根据所述三维形状的当前版本和所述一个或多个在用案例,对所述建模对象执行数值模拟,以产生对所述建模对象的物理响应的当前数值评估;
基于对所述建模对象的所述物理响应的所述当前数值评估,并根据所述2.5轴减材制造工艺的所述铣削方向,计算灵敏度分析数据;
利用包括对所述物理响应的所述当前数值评估和所述灵敏度分析数据的输入,调用基于密度的拓扑优化代码,以改进所述生成式设计的三维形状相对于所述一个或多个设计标准的所述基于密度的表示;
根据所述2.5轴减材制造工艺的所述铣削方向,执行所述基于密度的表示的所述调整;以及
进行迭代直到所述设计空间中的所述建模对象的所述生成式设计的三维形状收敛到所述一个或多个设计标准和所述一个或多个在用案例的稳定解决方案。
5.根据权利要求4所述的方法,其中所述基于密度的拓扑优化代码实施拓扑优化的固体各向同性材料惩罚方法。
6.根据权利要求1所述的方法,其中所述收集包括:
将所述生成式设计的三维形状的所述基于密度的表示中的各个元素布置成平行于所述铣削方向的铣削线,其中所述铣削线中的每一条对应于所述各个元素的所述不同子集中的一个;
沿所述铣削线中的每一条聚合元素的密度,使得所述元素的所述聚合密度沿所述铣削线中的每一条单调递增;以及
使用所述铣削线中的每一条中的所述聚合密度识别所述铣削线中的每一条的铣削深度。
7.根据权利要求1所述的方法,其中所述铣削方向是所述2.5轴减材制造工艺的两个或更多个铣削方向中的第一方向,对所述两个或更多个铣削方向中的每一个分别执行所述调整以产生相应的铣削方向特定数据集,并且所述迭代修改包括组合所述相应的铣削方向特定数据集以更新所述建模对象的所述生成式设计的三维形状的所述基于密度的表示。
8.根据权利要求1所述的方法,其中所述迭代修改包括在没有所述调整的情况下执行的第一组迭代,以及在所述第一组迭代之后执行的第二组迭代,所述第二组迭代包括其中执行了所述调整的所述至少两次迭代。
9.根据权利要求1所述的方法,其中所述提供包括:
根据所述2.5轴减材制造工艺,使用所述建模对象的所述生成式设计的三维形状为减材制造机生成刀具路径规范;以及
通过使用所述刀具路径规范的所述减材制造机制造所述物理结构的至少一部分,或用于所述物理结构的模具。
10.一种系统,其包括:
非暂时性存储介质,其上存储有计算机辅助设计程序的指令;以及
一个或多个数据处理设备,其被配置为运行所述计算机辅助设计程序的所述指令以使所述一个或多个数据处理设备:
获得要使用2.5轴减材制造工艺制造其对应物理结构的建模对象的设计空间、所述建模对象的一个或多个设计标准、以及所述物理结构的一个或多个在用案例,
根据所述一个或多个设计标准和所述一个或多个在用案例,在所述设计空间中对所述建模对象的生成式设计的三维形状进行迭代修改,其中所述迭代修改采用所述建模对象的所述生成式设计的三维形状的基于密度的表示,并且所述一个或多个处理设备被配置为运行所述计算机辅助设计程序的所述指令以使所述一个或多个数据处理设备根据所述2.5轴减材制造工艺在至少两次迭代中的铣削方向通过以下方式调整所述生成式设计的三维形状的所述基于密度的表示:收集与所述生成式设计的三维形状的所述基于密度的表示中的各个元素的不同子集相关联的不同铣削深度,将所述不同的铣削深度分组到三个或更多个离散层中的相应层中,所述三个或更多个离散层中的每一层都垂直于所述2.5轴减材制造工艺的所述铣削方向,以及改变所述基于密度的表示中的所述各个元素的至少一部分的密度值,使得为所述三个或更多个离散层中的每一层产生单个铣削深度,并且
提供所述建模对象的所述生成式设计的三维形状,以用于使用采用所述2.5轴减材制造工艺的一个或多个计算机控制的制造系统制造所述物理结构。
11.根据权利要求10所述的系统,其中所述一个或多个数据处理设备被配置为运行所述计算机辅助设计程序的所述指令以使所述一个或多个数据处理设备:
对所述不同的铣削深度进行排序以产生排序的铣削深度值,识别所述排序的铣削深度值中的两个或更多个最大差值;
基于所述排序的铣削深度值内的与所述两个或更多个最大差值相关的每个子集的铣削深度的位置,将所述各个元素的所述不同子集中的每一个分配给所述三个或更多个离散层中的一个;并且
基于与分配给所述离散层的元素子集相关联的铣削深度,在所述三个或更多个离散层的每个相应离散层中设置所述单个铣削深度。
12.根据权利要求10所述的系统,其中所述一个或多个数据处理设备被配置为运行所述计算机辅助设计程序的所述指令以使所述一个或多个数据处理设备:
根据所述三维形状的当前版本和所述一个或多个在用案例,对所述建模对象执行数值模拟,以产生对所述建模对象的物理响应的当前数值评估;
基于对所述建模对象的所述物理响应的所述当前数值评估,并根据所述2.5轴减材制造工艺的所述铣削方向,计算灵敏度分析数据;
利用包括对所述物理响应的所述当前数值评估和所述灵敏度分析数据的输入,调用基于密度的拓扑优化代码,以改进所述生成式设计的三维形状相对于所述一个或多个设计标准的所述基于密度的表示;
根据所述2.5轴减材制造工艺的所述铣削方向,执行所述基于密度的表示的调整;并且
进行迭代直到所述设计空间中的所述建模对象的所述生成式设计的三维形状收敛到所述一个或多个设计标准和所述一个或多个在用案例的稳定解决方案。
13.根据权利要求10所述的系统,其中所述一个或多个数据处理设备被配置为运行所述计算机辅助设计程序的所述指令以使所述一个或多个数据处理设备:
将所述生成式设计的三维形状的所述基于密度的表示中的各个元素布置成平行于所述铣削方向的铣削线,其中所述铣削线中的每一条对应于所述各个元素的所述不同子集中的一个;
沿所述铣削线中的每一条聚合元素的密度,使得所述元素的所述聚合密度沿所述铣削线中的每一条单调递增;并且
使用所述铣削线中的每一条中的所述聚合密度识别所述铣削线中的每一条的铣削深度。
14.根据权利要求10所述的系统,其中所述铣削方向是所述2.5轴减材制造工艺的两个或更多个铣削方向中的第一方向,所述一个或多个处理设备被配置为运行所述计算机辅助设计程序的所述指令以使所述一个或多个数据处理设备分别调整所述两个或更多个铣削方向中的每一个的所述基于密度的表示,以产生相应的铣削方向特定数据集,并且所述一个或多个处理设备被配置为运行所述计算机辅助设计程序的所述指令以使所述一个或多个数据处理设备组合所述相应的铣削方向特定数据集以更新所述建模对象的所述生成式设计的三维形状的所述基于密度的表示。
15.根据权利要求10所述的系统,其中所述一个或多个处理设备被配置为运行所述计算机辅助设计程序的所述指令以使所述一个或多个数据处理设备在没有对所述基于密度的表示的调整的情况下执行第一组迭代,以及执行其中调整了所述基于密度的表示的第二组迭代。
16.根据权利要求10所述的系统,其包括采用所述2.5轴减材制造工艺的计算机数控减材制造铣床。
17.一种非暂时性计算机可读介质,其对计算机辅助设计程序进行编码,所述计算机辅助设计程序可操作以使一个或多个数据处理设备执行操作,所述操作包括:
获得要使用2.5轴减材制造工艺制造其对应物理结构的建模对象的设计空间、所述建模对象的一个或多个设计标准、以及所述物理结构的一个或多个在用案例;
根据所述一个或多个设计标准和所述一个或多个在用案例,在所述设计空间中对所述建模对象的生成式设计的三维形状进行迭代修改,其中所述迭代修改采用所述建模对象的所述生成式设计的三维形状的基于密度的表示,并且所述迭代修改包括根据所述2.5轴减材制造工艺在所述迭代修改的至少两次迭代中的铣削方向,调整所述生成式设计的三维形状的所述基于密度的表示,所述调整包括:
收集与所述生成式设计的三维形状的所述基于密度的表示中的各个元素的不同子集相关联的不同铣削深度,
将所述不同的铣削深度分组到三个或更多个离散层中的相应层中,所述三个或更多个离散层中的每一层都垂直于所述2.5轴减材制造工艺的所述铣削方向,以及
改变所述基于密度的表示中的所述各个元素的至少一部分的密度值,使得为所述三个或更多个离散层中的每一层产生单个铣削深度;以及
提供所述建模对象的所述生成式设计的三维形状,以用于使用采用所述2.5轴减材制造工艺的一个或多个计算机控制的制造系统制造所述物理结构。
18.根据权利要求17所述的非暂时性计算机可读介质,其中所述分组包括:
对所述不同的铣削深度进行排序以产生排序的铣削深度值;
识别所述排序的铣削深度值中的两个或更多个最大差值;
基于所述排序的铣削深度值内的与所述两个或更多个最大差值相关的每个子集的铣削深度的位置,将所述各个元素的所述不同子集中的每一个分配给所述三个或更多个离散层中的一个;以及
基于与分配给所述离散层的元素子集相关联的铣削深度,在所述三个或更多个离散层的每个相应离散层中设置所述单个铣削深度。
19.根据权利要求17所述的非暂时性计算机可读介质,其中所述迭代修改包括:在所述至少两次迭代中:
根据所述三维形状的当前版本和所述一个或多个在用案例,对所述建模对象执行数值模拟,以产生对所述建模对象的物理响应的当前数值评估;
基于对所述建模对象的所述物理响应的所述当前数值评估,并根据所述2.5轴减材制造工艺的所述铣削方向,计算灵敏度分析数据;
利用包括对所述物理响应的所述当前数值评估和所述灵敏度分析数据的输入,调用基于密度的拓扑优化代码,以改进所述生成式设计的三维形状相对于所述一个或多个设计标准的所述基于密度的表示;
根据所述2.5轴减材制造工艺的所述铣削方向,执行所述基于密度的表示的所述调整;以及
进行迭代直到所述设计空间中的所述建模对象的所述生成式设计的三维形状收敛到所述一个或多个设计标准和所述一个或多个在用案例的稳定解决方案。
20.根据权利要求17所述的非暂时性计算机可读介质,其中所述收集包括:
将所述生成式设计的三维形状的所述基于密度的表示中的各个元素布置成平行于所述铣削方向的铣削线,其中所述铣削线中的每一条对应于所述各个元素的所述不同子集中的一个;
沿所述铣削线中的每一条聚合元素的密度,使得所述元素的所述聚合密度沿所述铣削线中的每一条单调递增;以及
使用所述铣削线中的每一条中的所述聚合密度识别所述铣削线中的每一条的铣削深度。
21.根据权利要求17所述的非暂时性计算机可读介质,其中所述铣削方向是所述2.5轴减材制造工艺的两个或更多个铣削方向中的第一方向,对所述两个或更多个铣削方向中的每一个分别执行所述调整以产生相应的铣削方向特定数据集,并且所述迭代修改包括组合所述相应的铣削方向特定数据集以更新所述建模对象的所述生成式设计的三维形状的所述基于密度的表示。
22.根据权利要求17所述的非暂时性计算机可读介质,其中所述迭代修改包括在没有所述调整的情况下执行的第一组迭代,以及在所述第一组迭代之后执行的第二组迭代,所述第二组迭代包括其中执行了所述调整的所述至少两次迭代。
23.根据权利要求17所述的非暂时性计算机可读介质,其中所述提供包括:
根据所述2.5轴减材制造工艺,使用所述建模对象的所述生成式设计的三维形状为减材制造机生成刀具路径规范;以及
通过使用所述刀具路径规范的所述减材制造机制造所述物理结构的至少一部分,或用于所述物理结构的模具。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/879,547 US11762368B2 (en) | 2020-05-20 | 2020-05-20 | Computer aided generative design with layer boundary determination to facilitate 2.5-axis subtractive manufacturing processes |
US16/879,547 | 2020-05-20 | ||
PCT/US2021/028373 WO2021236282A1 (en) | 2020-05-20 | 2021-04-21 | Computer aided generative design with layer boundary determination to facilitate 2.5-axis subtractive manufacturing processes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115769210A true CN115769210A (zh) | 2023-03-07 |
Family
ID=78608912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180032584.9A Pending CN115769210A (zh) | 2020-05-20 | 2021-04-21 | 对层边界进行确定以促进2.5轴减材制造工艺的计算机辅助生成式设计 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11762368B2 (zh) |
EP (1) | EP4154156A4 (zh) |
JP (1) | JP2023527287A (zh) |
CN (1) | CN115769210A (zh) |
WO (1) | WO2021236282A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11734477B2 (en) * | 2018-03-08 | 2023-08-22 | Concurrent Technologies Corporation | Location-based VR topological extrusion apparatus |
US11243510B2 (en) | 2020-05-20 | 2022-02-08 | Autodesk, Inc. | Computer aided generative design with tool size control to facilitate 2.5-axis subtractive manufacturing processes |
US11663379B2 (en) * | 2020-06-26 | 2023-05-30 | Autodesk, Inc. | Generative design shape optimization using build material strength model for computer aided design and manufacturing |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030007636A (ko) | 2000-05-16 | 2003-01-23 | 브라이엄 영 유니버시티 | 기계가공 데이타를 직접 전송하는 공작기계 제어 방법 및제어시스템 |
US6680735B1 (en) | 2000-10-04 | 2004-01-20 | Terarecon, Inc. | Method for correcting gradients of irregular spaced graphic data |
US7451013B2 (en) | 2004-04-29 | 2008-11-11 | Surfware, Inc. | Engagement milling |
US20090112354A1 (en) | 2007-10-30 | 2009-04-30 | Tahany Ibrahim El-Wardany | Method of determining optimal parameters for machining a workpiece |
WO2010029810A1 (ja) | 2008-09-11 | 2010-03-18 | 国立大学法人京都大学 | 構造最適化装置、構造最適化方法及び構造最適化プログラム |
US9336624B2 (en) | 2008-10-07 | 2016-05-10 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for rendering 3D distance fields |
US8731876B2 (en) | 2009-08-21 | 2014-05-20 | Adobe Systems Incorporated | Creating editable feature curves for a multi-dimensional model |
US20140297021A1 (en) | 2011-02-11 | 2014-10-02 | Ecole Polytechnique Federale De Lausanne (Epfl) | High speed pocket milling optimisation |
US9046888B2 (en) | 2012-06-27 | 2015-06-02 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for detouring around features cut from sheet materials with a laser cutter according to a pattern |
US9789651B2 (en) | 2014-01-09 | 2017-10-17 | Siemens Product Lifecycle Management Software, Inc. | Method for structure preserving topology optimization of lattice structures for additive manufacturing |
JP2017512896A (ja) | 2014-02-20 | 2017-05-25 | ディーエムジー モリ アドバンスト ソリューションズ デベロップメントDmg Mori Advanced Solutions Development | 付加加工用の工作機械システム及び方法 |
US9921567B2 (en) | 2014-02-21 | 2018-03-20 | Samarinder Singh | High speed smooth tool path |
TWI497242B (zh) | 2014-04-11 | 2015-08-21 | Ind Tech Res Inst | 工具機之設計方法及設計系統 |
CN103984285A (zh) | 2014-05-27 | 2014-08-13 | 大连理工大学 | 一种多约束五轴加工进给率定制方法 |
CN105269052A (zh) | 2015-11-19 | 2016-01-27 | 中国南方航空工业(集团)有限公司 | 精密凸轮轴加工方法 |
EP3449399B1 (en) | 2016-04-27 | 2023-07-26 | Autodesk, Inc. | Method and system for generating lattice recommendations in computer aided design applications |
US20180239334A1 (en) | 2017-02-23 | 2018-08-23 | General Electric Company | Systems and methods for improved part design and inspection |
US20180345647A1 (en) | 2017-06-05 | 2018-12-06 | Autodesk, Inc. | Topology optimization for subtractive manufacturing techniques |
EP3525175A1 (en) | 2018-02-09 | 2019-08-14 | Dassault Systèmes | Designing a part manufacturable by milling operations |
US10467807B1 (en) | 2018-11-09 | 2019-11-05 | Autodesk, Inc. | Facilitated editing of generative design geometry in computer aided design user interface |
EP4224354A1 (en) * | 2018-11-09 | 2023-08-09 | Autodesk, Inc. | Aligning smooth boundary curves of height layers for 2.5-axis subtractive manufacturing |
US10635088B1 (en) | 2018-11-09 | 2020-04-28 | Autodesk, Inc. | Hollow topology generation with lattices for computer aided design and manufacturing |
US20210303743A1 (en) * | 2020-03-24 | 2021-09-30 | Protolabs, Inc. | Methods and systems for generating an instant design for manufacturability of a part at a computing device |
US11243510B2 (en) | 2020-05-20 | 2022-02-08 | Autodesk, Inc. | Computer aided generative design with tool size control to facilitate 2.5-axis subtractive manufacturing processes |
-
2020
- 2020-05-20 US US16/879,547 patent/US11762368B2/en active Active
-
2021
- 2021-04-21 WO PCT/US2021/028373 patent/WO2021236282A1/en unknown
- 2021-04-21 CN CN202180032584.9A patent/CN115769210A/zh active Pending
- 2021-04-21 JP JP2022570341A patent/JP2023527287A/ja active Pending
- 2021-04-21 EP EP21808026.5A patent/EP4154156A4/en active Pending
-
2023
- 2023-08-01 US US18/363,327 patent/US20240085881A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240085881A1 (en) | 2024-03-14 |
EP4154156A1 (en) | 2023-03-29 |
US20210365004A1 (en) | 2021-11-25 |
WO2021236282A1 (en) | 2021-11-25 |
EP4154156A4 (en) | 2023-10-25 |
US11762368B2 (en) | 2023-09-19 |
JP2023527287A (ja) | 2023-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115769155B (zh) | 具有刀具尺寸控制以促进2.5轴减材制造过程的计算机辅助生成式设计 | |
US11947334B2 (en) | Macrostructure topology generation with disparate physical simulation for Computer Aided Design and Manufacturing | |
CN115769210A (zh) | 对层边界进行确定以促进2.5轴减材制造工艺的计算机辅助生成式设计 | |
CN106133628B (zh) | 用于确定加工凹槽形状的刀具的路径的方法和系统 | |
JP7417815B2 (ja) | 製造及び構造的パフォーマンスを促進する全体的な厚さの制御によるコンピュータ支援のジェネレーティブデザイン | |
JP2023531911A (ja) | コンピュータ支援製造のための強化学習によるツールパスの生成 | |
US11947333B2 (en) | Dual lattice representation for crash simulation and manufacturing | |
CN115221657A (zh) | 具有模态分析驱动的形状修改过程的计算机辅助生成设计 | |
EP4195086A1 (en) | Computer aided generative design with feature thickness control to facilitate manufacturing and structural performance | |
JP7504231B2 (ja) | 2.5軸除去製造プロセスを容易にする工具サイズ制御を用いるコンピュータ支援ジェネレーティブ設計 | |
US20220067240A1 (en) | Application of boundary conditions on voxelized meshes in computer aided generative design | |
CN115917457A (zh) | 具有过滤以促进2.5轴减材制造过程的计算机辅助生成式设计 | |
CN115769208B (zh) | 促进制造和结构性能的具有总体厚度控制的计算机辅助生成式设计 | |
US20240169109A1 (en) | Dual model shape synthesis | |
JP2023074490A (ja) | 製造を促進するためのジオメトリフィルタリングによるコンピュータ支援設計 | |
CN115935530A (zh) | 计算机辅助设计和制造中的零件创建的三维表面图案生成 | |
Bocevska et al. | OVERVIEW OF THE PRINCIPLES OF 3D MODELING SYSTEMS |
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 |