Object design process using coarse geometry cells and high resolution grid cells
By using a combination of coarse geometric elements and high-resolution mesh elements, along with localized topology optimization and mesh filling generation techniques, the computational complexity of mesh structure design and simulation in additive manufacturing is solved, achieving efficient mesh generation and analysis.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SIMENS INDASTRI SOFTVEAR INK
- Filing Date
- 2019-08-27
- Publication Date
- 2026-05-01
AI Technical Summary
Existing technologies have excessive computational latency and resource requirements when designing and simulating mesh structures in additive manufacturing. In particular, the computation is complex and resource-intensive when designing mesh structures at the microscopic level, resulting in low efficiency.
A combination of coarse geometric units and high-resolution mesh units is employed, and localized topology optimization and mesh filling generation techniques are used to reduce computational latency and resource requirements.
It improves the efficiency of mesh design and simulation, reducing computational costs and time while maintaining high simulation fidelity, and supports the rapid generation and analysis of complex mesh structures.
Smart Images

Figure CN114341859B_ABST
Abstract
Description
Background Technology
[0001] Computer systems can be used to create, use, and manage data for products and other projects. Examples of computer systems include Computer-Aided Design (CAD) systems (which may include Computer-Aided Engineering (CAE) systems), Computer-Aided Manufacturing (CAM) systems, visualization systems, Product Data Management (PDM) systems, and Product Lifecycle Management (PLM) systems. These systems may include components that facilitate the design and simulation testing of product structure and manufacturing. Attached Figure Description
[0002] Some examples are described in the following detailed description and with reference to the accompanying drawings.
[0003] Figure 1 An example of a computational system that supports object design processing using coarse geometric units and high-resolution mesh units is shown.
[0004] Figure 2 An example is shown of the logic that the system can be implemented to support object design processing using coarse geometric units and high-resolution mesh units.
[0005] Figure 3 An example of a coarse discretization that a computational system can perform to support the generation of bone-like mesh-filled structures is shown.
[0006] Figure 4 An example of a grid-filled structure that the design processing engine can generate is shown.
[0007] Figure 5 An example is shown of a system that can be implemented to support logic for generating mesh-filled structures based on average density values represented by coarse geometric units.
[0008] Figure 6 An example simulation of an object design using a deterministic fidelity portion that includes coarse geometric units and high-resolution mesh units is shown.
[0009] Figure 7 An example is shown of the logic that the system can implement to support the simulation of object designs represented in parts with different fidelity.
[0010] Figure 8 An example of a computational system that supports object design processing using coarse geometric units and high-resolution mesh units is shown. Detailed Implementation
[0011] Additive manufacturing (sometimes called 3D printing or 3D printing) can be performed using a 3D printer that can construct objects layer by layer. By enhancing additive manufacturing capabilities, the fabrication of arbitrary and complex product designs has become increasingly possible. Previous manufacturing limitations within a given design space have been overcome through additive manufacturing, and product designers now have increased design freedom to support the optimization of manufactured objects. Furthermore, additive manufacturing enables the fabrication of parts with unique physical properties by designing or controlling the geometry of the parts, including designing the microstructures that form the internal geometry of the object design.
[0012] For design objects constructed using additive manufacturing, mesh structures can provide a lightweight and efficient mechanism for forming the internal geometry of the object design to meet certain physical or geometric properties. As used herein, a mesh structure can refer to any 2D or 3D combination of design units (e.g., bars) that intersect or otherwise cross each other while having space between them. Example mesh structures include structured meshes (e.g., 2D or 3D grids with bars arranged at regularly spaced intervals) or bone-like meshes (e.g., nonlinear or curved bars that intersect at irregular angles to simulate the pattern of natural bone density).
[0013] While additive manufacturing-based mesh structures can offer efficient and cost-effective capabilities for infilling object designs, designing mesh structures that satisfy certain physical or geometric properties can be computationally expensive. This is especially true when mesh design is performed at increasingly microscopic levels. Furthermore, simulations of mesh structures used to verify physical properties can be computationally intensive, particularly since discretization of mesh structures for Finite Element Analysis (FEA) may require 3D finite elements with finer details than the width or dimensions of mesh beams or struts. Therefore, while efficient part fabrication may require mesh design and simulation, such design and simulation can incur computational latency or resource requirements that are often unavailable in modern CAD, CAM, or additive manufacturing (e.g., 3D printing) systems.
[0014] The disclosure herein provides systems, methods, apparatus, and logic for object design processing using coarse geometric elements and high-resolution mesh elements. In doing so, the techniques and features described herein can improve the efficiency of mesh design or simulation. As described in more detail below, coarse geometric elements can be used to characterize certain parts of an object design, for example, by specifying average density values for different parts of the object design. Local topology optimization using such spatially varied average density values can support the generation of mesh-filled structures in a local and sequential manner. Therefore, some features described herein can localize the generation of mesh-filled structures using high-resolution mesh elements, which can reduce the computational latency or resources required to generate mesh designs, including bone-like mesh designs.
[0015] As another example, the features described in this paper can support simulations of mesh structures with improved efficiency. The object design can be partitioned into regions of varying fidelity, with high-fidelity regions represented using high-resolution 3D mesh elements to provide more accurate physical analysis. Low-fidelity regions of the object design can instead be represented using coarse geometric elements, characterized by averaged or homogenized material properties. By doing so, mesh simulations can be performed with increased speed or efficiency compared to a general high-resolution representation of the object design. Therefore, the features described in this paper can support physical analysis of object designs composed of complex mesh structures with improved efficiency while maintaining high simulation fidelity and analytical accuracy.
[0016] These features, along with other characteristics and technological benefits, are described in more detail in this paper.
[0017] Figure 1 An example of a computational system supporting object design processing using coarse geometric units and high-resolution mesh units is illustrated. The computational system 100 can take the form of a single or multiple computing devices (e.g., application servers, compute nodes, desktop or laptop computers, smartphones or other mobile devices, tablets, embedded controllers, etc.). In some examples, the computational system 100 is part of a CAD system, CAM system, or 3D printing system, or the computational system 100 (at least partially) implements these systems. In this respect, the computational system 100 can support the design or simulation of mesh structures located within the object design.
[0018] As an example implementation supporting any combination of features described herein Figure 1The computing system 100 shown includes a design access engine 108 and a design processing engine 110. The computing system 100 can implement engines 108 and 110 (including their components) in various ways, such as as hardware and programming. Programming for engines 108 and 110 can take the form of processor-executable instructions stored on a non-transient machine-readable storage medium, and the hardware for engines 108 and 110 can include processors that execute these instructions. The processor can take the form of a single-processor or multi-processor system, and in some examples, the computing system 100 uses the same computing system features or hardware components (e.g., a common processor or a common storage medium) to implement multiple engines.
[0019] Example operations and features of the design access engine 108 and the design processing engine 110 are described throughout this document, for example, through the following... Figure 2 It is described by the logic presented in the text.
[0020] Figure 2 An example of logic 200 that the system can implement to support object design processing using coarse geometric units and high-resolution mesh units is shown. As an example, the computing system 100 may implement logic 200 as hardware, executable instructions stored on a machine-readable medium, or a combination of both. The computing system 100 may implement logic 200 via a design access engine 108 and a design processing engine 110, through which the computing system 100 may execute or implement logic 200 as a method to support mesh filling generation or mesh simulation using coarse geometric units and high-resolution mesh units. The following description of logic 200 is provided using design access engine 108 and design processing engine 110 as examples. However, various other implementation options for the system are possible.
[0021] When implementing logic 200, design access engine 108 can access the object design (202) to be constructed via additive manufacturing. The object design can take any form of representation of the object (e.g., 3D geometry or 3D object model).
[0022] When implementing logic 200, design processing engine 110 can represent the object design as a combination of coarse geometric elements and high-resolution elements (204). For mesh fill generation, this representation can be different; that is, design processing engine 110 can first represent the entire object design as coarse geometric elements and then subsequently represent the object design via high-resolution mesh elements included as part of the generated mesh fill structure. At a given point in sequential mesh fill generation, design processing engine 110 can also represent the object design as a combination of both coarse geometric elements and high-resolution mesh elements. For mesh simulation, design processing engine 110 can simultaneously represent the object design as a combination of both coarse geometric elements and high-resolution mesh elements, and in some examples also includes 1D mesh stripe elements.
[0023] The design processing engine 110 can process object design based on both coarse geometric elements and high-resolution mesh elements (206). As described herein, such processing may include mesh fill generation for object design, mesh simulation for object design, or a combination of both. The following will be discussed... Figures 3 to 7 These characteristics will be described in more detail. Specifically, in combination with Figures 3 to 5 Describe an example mesh filling generation feature according to the present invention, and combine it with Figures 6 to 7 Describe the features of the example mesh simulation.
[0024] Figure 3 An example is shown of a computational system that can perform coarse discretization to support the generation of bone-like mesh-filled structures. Figure 3 In the specific example shown, the computing system is illustrated in the form of a design access engine 108 and a design processing engine 110. However, other system implementations are contemplated herein.
[0025] like Figure 3 As seen in the diagram, the design access engine 108 can access object design 310. Object design 310 can represent a part (or a portion thereof) designed for construction via additive manufacturing. For example, Figure 3 The object design 310 can be part of a larger part design that includes a fixed design area that is partially connected to the object design 310. Therefore, the object design 310 can represent a design space that can be filled, designed, optimized, or otherwise specified by a CAD system, CAM system, or 3D printing system.
[0026] Design processing engine 110 can process object design 310 by generating mesh fill for object design 310. To this end, design processing engine 110 can employ a two-step method for fill generation, including (i) determining the average mesh characteristic specification for object design 310, and (ii) generating the mesh fill for object design 310 based on the average mesh characteristic specification. These steps are described sequentially.
[0027] In the first step, the design processing engine 110 can determine the average mesh characteristic specification for the object design 310, such as the density distribution for the object design 310. To this end, the design processing engine 110 can perform topology optimization on the object design 310. Topology optimization can be performed based on the number or combination of topology optimization techniques, such as the finite element method (FEM), the solid isotropic microstructures with penalization (SIMP) method, finite element analysis, etc. The topology optimization performed by the design processing engine 110 in this first step can be a global topology optimization, as it is performed across the entire design space formed by the object design 310.
[0028] In some examples, design processing engine 110 can perform global topology optimization without penalty (e.g., without applying any SIMP penalty parameters). The penalty parameters can be configured to push the topology-optimized design cells toward convergence to the 0% or 100% density values of the object design 310 (e.g., represented as normalized density values between 0.0 and 1.0). By removing the penalty parameters from the topology optimization, design processing engine 110 can determine the average density value of the object design 310 over the entire density distribution from 0 to 100%, which is the opposite of density determination focused on the 0% and 100% density values (with penalty parameters).
[0029] The determined average density value can represent a target (e.g., optimal) density that varies across different parts of the object design 310. Therefore, the determined average density value can spatially vary across the object design 310. When determining the average density, the design processing engine 110 does not need to resolve fine geometry for detailed mesh filling. Therefore, the design processing engine 110 can use coarse discretization to perform topology optimization on the object design 310. Such coarse discretization can refer to discretizing the object design 310 at a lower granularity or lower cell size resolution than the resolution / discretization size subsequently generated for the mesh filling of the object design 310.
[0030] Figure 3An example of coarse discretization is shown, in which design processing engine 110 can discretize object design 310 into coarsely discretized object design 320. The coarsely discretized object design 310 may consist of multiple coarse geometric units (e.g., ...). Figure 3 The diagram shows a coarse geometric unit (330). Each coarse geometric unit can be characterized by a defined average density value. Figure 3 In the rough geometric unit 330, there is a defined average density value of 1.0.
[0031] Note that the coarse geometric unit 330 can be coarse because it is discretized by the design processing engine 110 at a coarser granularity than the mesh units that the design processing engine 110 can subsequently generate as part of the filled structure. In this respect, the resolution of the coarsely discretized object design 320 can be lower than the resolution of the subsequently generated mesh-filled structure.
[0032] As described herein, the design processing engine 110 can perform global topology optimization to determine the corresponding average density values of the coarse geometric units, including the coarsely discretized object design 320. Figure 3 The average density values shown are normalized to a range of 0.0 (0% density) to 1.0 (100% density), and their values vary spatially across different portions (and different coarse geometric units) of the coarsely discretized object design 320. As can be seen, the average density values calculated by the design processing engine 110 do not need to converge to 0.0 and 1.0, thus allowing for a wider range of average (or optimal) density values within the object design 310. In any of the ways described herein, the design processing engine 110 can determine the average mesh characteristic specification for the object design 310 in the first step of mesh fill generation.
[0033] In the second step of mesh fill generation, the design processing engine 110 can generate a mesh based on the determined average mesh characteristic specifications. The design processing engine 110 can generate mesh fills in various ways. As an example, the design processing engine 110 can generate a mesh fill structure via a programming process. Through programming, the design processing engine 110 can fill (up to) the entire object design 310 by selecting the mesh strip density, such that the calculated average density value is satisfied at corresponding portions of the object design 310. Such a programming process can result in the generation of structured mesh fills (e.g., in raster form). However, these raster-like, uniform, or symmetrical mesh structures may lack the robustness, strength, or robustness of bone-like mesh structures.
[0034] As another example of mesh generation, the design processing engine 110 can generate mesh fill through topology optimization. In doing so, the design processing engine 110 can utilize local density constraints (e.g., the spatially varying average density value determined in step one) and do so instead of using global density constraints (e.g., the average density value of object design 310 equals a fixed density value) to perform topology optimization (e.g., via FEA or FEM). This topology optimization can be expressed as the following topology optimization function:
[0035]
[0036] stK(p e )·u=f,
[0037]
[0038] In this example, the objective function can be expressed as minimizing the compliance / strain energy c, where the displacement u is due to the applied force f and the stiffness matrix K. Furthermore, in this example, N... e It can represent the defined neighborhood for a given finite element e.
[0039] If the design processing engine 110 uses calculated and varying average density values to perform the aforementioned topology optimization function (e.g., as a global topology optimization with local density constraints) for the entire object design 310, it may be necessary to consider up to millions of degrees of freedom or more to optimize the entire object design 310. Such computation may result in high execution latency or require enormous computational power to generate the corresponding mesh fill. Using global topology optimization to generate mesh fill may not be commercially feasible, or may require considerable commercial costs to ensure sufficient computational resources.
[0040] Instead of globally solving the entire object design 310, the design processing engine 110 can employ a sequential approach to locally generate multiple filling structures that reduce computational requirements. That is, the design processing engine 110 can divide the object design 310 into various segments, and the size of these segments can be configurable to control computational costs. Then, the design processing engine 110 can use any (e.g., all) applicable average density values within each segment to generate a mesh-filled structure for that segment. In this way, the design processing engine 110 can sequentially construct mesh fillings by continuously and locally generating mesh-filled structures. The following is a further explanation... Figure 4 Examples that describe this ability in more detail.
[0041] Figure 4 An example of a mesh-filled structure that the design processing engine 110 can generate is shown. Figure 4In this process, the design processing engine 110 can generate a mesh-filled structure 410 from the divided segments 405 of an object design (e.g., object design 310 or coarsely discretized object design 320). The divided segments 405 can contain any number of coarse geometric units (e.g., Figure 3 The example shown has six (6) coarse geometric units of the coarse discretized object design 320.
[0042] To generate the mesh-filled structure 410, the design processing engine 110 can perform a local topology optimization process using the average density value applicable to the partitioned segment 405 as a local density constraint. That is, the design processing engine 110 can perform local topology optimization using the average density value within a local portion (e.g., the partitioned segment 405), rather than using the entire set of determined average density values for the entire object design 310. Doing so can (in some cases drastically) reduce the design degrees of freedom considered and reduce computational complexity, thereby improving the performance of generating the mesh fill.
[0043] When performing local topology optimization, the design processing engine 110 can discretize the subdivided segments 405 at a finer granularity than the size of the coarse geometric units. This discretization of the subdivided segments 405 can result in the generation of high-resolution mesh units that ultimately form the mesh-filled structure 410 (e.g., at a finer or higher resolution than the coarse geometric units that form the coarsely discretized object design 320). To generate the mesh-filled structure 410, the design processing engine 110 can utilize the topology optimization function specified above, but localized to the subdivided segments 405 (e.g., using only the average density value applicable to the subdivided segments 405).
[0044] Local topology optimization for generating infill structures can lead to bone-like mesh generation at the microscale. That is, the individual generated mesh-fill structures for each subdivided segment can be treated as local computations and thus optimized independently (at least partially) of how other non-adjacent mesh-fill structures are generated. Local topology optimization can also produce bone-like mesh generation because the average density value can vary across the subdivided segments, resulting in asymmetric bone-like meshes that exhibit improved robustness and strength compared to structured mesh designs.
[0045] When generating the mesh-filled structure 410, the design processing engine 110 can apply any number of boundary conditions applicable at the global or local level. For example, simulations used during global topology optimization to determine the average density value of the coarsely discretized object design 320 can derive global boundary conditions for the various parts of the object design 310. Such boundary conditions, particularly suitable for the divided segments 405 of the object design 310, can be applied during local topology optimization performed by the design processing engine 110 to generate the mesh-filled structure 410.
[0046] Additionally or alternatively, boundary conditions based on other generated mesh fill structures can be applied to create a smooth transition between mesh fill structures of consecutive segments or adjacent segments generated by the design processing engine 110 for object design 310.
[0047] Figure 4 An example of such boundary conditions is illustrated by the generation of a mesh fill structure 420 by the design processing engine 110. When generating a mesh fill topology to cover the entire object design, the design processing engine 110 may generate the mesh fill structure sequentially (e.g., starting from the lower left corner of the object design and continuously generating mesh fill structures from bottom to top, meandering across the width of the object design 310). In some examples, the design processing engine 110 generates the mesh fill structure 420 after generating the mesh fill structure 410.
[0048] When generating the mesh-filled structure 420 (after generating the mesh-filled structure 410), the design processing engine 110 can consider the interface portion of the previously generated mesh-filled structure. Figure 4 In the example shown, the design processing engine 110 considers the interface portion 430 of the mesh fill structure 410, which borders the divided segments 415 used to generate the mesh fill structure 420. The interface portion 430 of the mesh fill structure 410 can actually be used as a boundary condition for generating the mesh fill structure 420 to ensure a smooth transition between the mesh cells of the corresponding mesh fill structures 410 and 420.
[0049] In another way, the interface portion 430 and the partitioned segment 415 can be used as a design space for local topology optimization to generate the mesh-filled structure 420. The interface portion 430 can be a fixed design region such that the local topology optimization used to generate the mesh-filled structure 420 cannot change the design of the interface portion 430, but the interface portion 430 can specify constraints for local topology optimization on the partitioned segment 415. Although the interface portion 430 is shown as an example, the design processing engine 110 can identify and consider the interface portions of multiple previously generated mesh-filled structures (e.g., for a given mesh-filled structure to be generated, the given mesh-filled structure borders a previously generated mesh-filled structure below, to the left, to the right, or above the given mesh-filled structure).
[0050] In this way, the design processing engine 110 can subdivide the object design into segments and generate corresponding mesh-fill structures for each segment. The design processing engine 110 can sequentially generate mesh-fill structures from the segments (e.g., including coarse geometric units with specified average density values) until a complete mesh fill is generated for the object design 310.
[0051] When generating the mesh-filled structure, the size of the segments can be configurable to control computational costs. Larger segments require more computation to perform local topology optimization, and vice versa. Therefore, the design processing engine 110 can partition the object design 310 based on various partitioning criteria, taking into account trade-offs regarding available computing resources (e.g., in a cloud computing environment with more resources than the local build processor of a 3D printer), latency, network bandwidth, etc.
[0052] although Figure 3 and Figure 4 The various object designs and mesh-filling examples shown are described in 2D, but the mesh-filling features described herein can be consistently applied to any 3D object design and mesh-filling structure.
[0053] Figure 5 An example of a system that can be implemented to support the generation of a mesh-filled structure based on an average density value represented by coarse geometric units is shown. For example, the computing system 100 may implement the logic 500 as hardware, executable instructions stored on a machine-readable medium, or a combination of both. The computing system 100 may implement the logic 500 via a design access engine 108 and a design processing engine 110, through which the computing system 100 may execute or implement the logic 500 as a method to support mesh-filled generation using coarse geometric units and high-resolution mesh units. The following description of the logic 500 is provided using the design access engine 108 and the design processing engine 110 as examples. However, various other implementation options for the system are possible.
[0054] In implementing logic 500, design access engine 108 can access the object design to be constructed via additive manufacturing (502). In implementing logic 500, design processing engine 110 can discretize the object design into coarse geometric units (504) and perform a global topology optimization process on the object design without penalty parameters to determine the average density value of the coarse geometric units within the object design's range (506). Design processing engine 110 can then generate a mesh-filled structure for the object design based on the average density values of these object designs, which are suitable for the regions of the object design for which a given mesh-filled structure is generated (508).
[0055] For example, design processing engine 110 can generate a first mesh-filled structure for an object design based on a given average density value (or multiple average density values) applicable to a region (e.g., a segmented section) of the object design for which the first mesh-filled structure is generated. Generating the first mesh-filled structure may include performing a local topology optimization process using the given average density value as a local density constraint (or multiple density values applicable to the segmented section as spatially varying local density constraints). During local topology optimization, design processing engine 110 may include discretizing the segmented sections into finite element units at a finer granularity or higher resolution than coarse geometric units. This allows design processing engine 110 to generate the first mesh-filled structure to include both high-resolution mesh elements and fine-detailed mesh geometry of the object design.
[0056] Design processing engine 110 can also generate a second mesh-filled structure for the object design based on a different average density value applicable to a region (e.g., another subdivided segment) of the object design for which the second mesh-filled structure is generated. Design processing engine 110 can do this using the interface portion of the first fill structure as a boundary condition for generating the second fill structure. In a consistent manner, design processing engine 110 can sequentially generate other mesh-filled structures until the entire mesh-filled topology for the object design is generated.
[0057] Figure 5 The illustrated logic 500 provides an illustrative example of how the computational system 100 can be used to support mesh fill generation using coarse geometric units and high-resolution mesh units. This document envisions additional or alternative steps in logic 500, including any features described herein for design access engine 108, design processing engine 110, or any combination thereof.
[0058] In the various ways described above, the design access engine 108 and the design processing engine 110 can support the generation of mesh fills for object design using coarse geometric cells and high-resolution mesh cells. As described herein, coarse geometric cells can represent the average density value of the entire object design, and high-resolution mesh cells can be part of a mesh fill structure constructed for the object design based on the average density value represented by the coarse geometric cells. Through such localization techniques, bone-like mesh structures with improved robustness or performance characteristics can be achieved, while also limiting computational requirements through the use of local topology optimization. Therefore, mesh generation can be performed with improved speed and efficiency using the features described herein.
[0059] As follows, in combination Figure 6 and Figure 7Furthermore, this paper also envisions the technical features and benefits of using coarse geometric units and high-resolution mesh units to simulate mesh structures.
[0060] Figure 6 An example simulation of an object design using a deterministic fidelity portion, including both coarse geometric units and high-resolution mesh units, is shown. Figure 6 In the specific example shown, the computing system is illustrated in the form of a design access engine 108 and a design processing engine 110. However, other system implementations are contemplated herein.
[0061] exist Figure 6 In this context, the design access engine 108 can access the object design 605. The object design 605 may include a mesh structure (e.g., as an internal geometry for the object design 605). The internal mesh structure of the object design 605 can be specified in various ways (e.g., as a CAD geometry), and the design processing engine 110 can support the simulation of the object design 605 and the physical analysis of the mesh structure of the object design 605.
[0062] To support mesh structure simulation, the design processing engine 110 can selectively segment the object design into regions of different fidelity. These different fidelity regions correspond to varying levels of design fidelity, allowing the object design 605 to be modeled or simulated to a threshold accuracy. Figure 6 In the example shown, the design processing engine 110 can divide the object design 605 into three (3) different fidelity parts, labeled as high fidelity part 610, medium fidelity part 620 and low fidelity part 630.
[0063] The high-fidelity portion 610 can represent a portion of object design 605, where a high level of modeling fidelity is required to accurately simulate the physical behavior of object design 605. Portions of object design that may require increased fidelity or finer resolution for accurate simulation may include portions of object design 605 where boundary conditions (e.g., ...) are applied to object design 605. Figure 6 The applied loads shown are, for example, three arrows pressing down on object design 605 or object contact points shown at the lower boundary of object design 605. Other high-fidelity portions of object design 605 may include mesh structures (e.g., high-stress regions of object design 605) that are more significantly affected by boundary conditions (e.g., applied loads). The various ways in which design processing engine 110 can actually segment or identify fidelity regions in object design are described in more detail below.
[0064] Design processing engine 110 can represent the high-fidelity portion 610 of object design 605 using high-resolution mesh elements 611 to support FEA with improved accuracy. Specifically, design processing engine 110 can discretize the high-fidelity portion 610 into a set of 3D finite elements (e.g., tetrahedral, hexahedral, cube, etc.) to support FEA and solving the governing physics equations for the 3D finite elements. Such 3D finite elements may include high-resolution mesh elements (e.g., Figure 6 The high-resolution mesh element 611 shown is an example. The high-resolution mesh element can be a 3D finite element discretized by the design processing engine 110, with a size smaller than the thickness of the mesh horizontal or vertical bars. This allows the design processing engine 110 to appropriately and accurately simulate mesh behavior. Figure 6 As seen in the image, the high-resolution mesh element 611 is one of many 3D finite elements that model a single mesh strip in the object design 605.
[0065] While high-resolution mesh elements and finely discretized 3D finite element methods can support mesh structure simulations with improved accuracy and fidelity, such fine discretization can generate a very large number of finite elements for FEA simulations. The computational requirements of such simulations can be prohibitively high, and typical workstation-based CAD or CAM systems may have limited computational resources, making it virtually impossible to perform complex mesh simulations in real-world timeframes.
[0066] To improve simulation efficiency, the design processing engine 110 can represent only selected portions of the object design 605 using high-fidelity mesh cells. As described herein, such selected portions may include specific high-fidelity parts of the object design 605. For medium-fidelity or low-fidelity parts of the object design 605, the design processing engine 110 can use a coarser or more efficient representation of the internal mesh structure of the object design 605.
[0067] For the medium-fidelity portion 620 determined for object design 605, design processing engine 110 can use 1D bar cells to represent the mesh structure (e.g., ...). Figure 6 (See 1D bar element 621 shown). For a given mesh bar in the medium-fidelity portion 620, the design processing engine 110 can represent a given mesh bar in the finite element simulation system as a 1D bar element. Such 1D bar elements can provide improved simulation efficiency and performance latency, but the FEA accuracy is lower compared to high-resolution mesh elements. Even with this improved efficiency, object designs 605 with complex mesh structures may require a large number of 1D bar elements, making simulation and analysis time-consuming and computationally inefficient.
[0068] Therefore, the design processing engine 110 can determine that portions of an object design can be represented in a more efficient way than 1D horizontal units. In some examples, the design processing engine 110 can identify low-fidelity portions of the object design to represent them as coarse geometric units. Figure 6 In this process, the design processing engine 110 identifies the low-fidelity portion 630 and (at least partially) uses coarse geometric units 631 to represent the low-fidelity portion 630 in the object design 605. The coarse geometric units 631 can be (relatively) large 3D units with averaged or homogenized material properties. Such a representation allows for simulations with increased speed and reduced computational latency, but at the cost of simulation accuracy and object behavior fidelity.
[0069] By representing different fidelity portions of the object design 605, the design processing engine 110 can selectively segment the object design 605 to improve the efficiency of design simulation. Specifically, the design processing engine 110 can represent the object design 605 using high-resolution mesh cells at the high-fidelity portion 610, where higher accuracy is required to model and simulate the object design 605. The design processing engine 110 uses 1D horizontal bar elements at the medium-fidelity portion 620, where reasonable accuracy is required. At the low-fidelity portion 630, coarse geometric elements are used to represent the object design 605, where lower accuracy is required for modeling and simulation.
[0070] In some implementations, the design processing engine 110 may apply appropriate interfaces at the fidelity portion boundaries to ensure the creation of a consistent finite element system to simulate object design 605. In this regard, the design processing engine 110 may insert or apply various interface elements or boundary constraints at the fidelity portion boundaries. For example, the design processing engine 110 may use, apply, or insert high-resolution to coarse boundary elements (e.g., mesh bonding constraints or conformal meshes) at the boundary between a low-fidelity portion 630 and one of a high-fidelity portions 610 of object design 605 to connect coarse geometric elements to high-resolution mesh elements.
[0071] As another example, the design processing engine 110 can add coarse-to-1D boundary cells at the boundary between the low-fidelity portion 630 and the medium-fidelity portion 620 of the object design 605 to support modeling of energy transfer between coarse geometric cells in the low-fidelity portion 630 and a given 1D stripe cell in the medium-fidelity portion 620. As yet another example, the design processing engine 110 can add high-resolution-to-1D boundary cells at the boundary between one of the high-fidelity portions 610 and the medium-fidelity portion 620 of the object design 605 to support modeling of energy transfer between high-resolution mesh cells in the high-fidelity portion 610 and the 1D stripe cell in the medium-fidelity portion 620.
[0072] To represent object design 605 in different ways, design processing engine 110 can segment object design 605 into different fidelity portions, and do so in different ways. In one embodiment, design processing engine 110 can segment object design 605 based on stress testing of object design 605. To this end, design processing engine 110 can analyze the object design via FEA to obtain a stress mapping of the object design. FEA can be performed using a coarse discretization of object design 605 to reduce computational latency. Then, design processing engine 110 can identify the low-fidelity portion 630 of object design 605 as the low-stress portion of the stress mapping, and the high-fidelity portion 610 of object design 605 as the high-stress portion of the stress mapping. The medium-stress portion of the stress mapping can be identified as the medium-fidelity portion 620. The low-stress, medium-stress, or high-stress portions of the stress mapping can correspond to a predetermined stress value range used for stress mapping, which can be configured or set by design processing engine 110.
[0073] As another segmentation method, the design processing engine 110 can determine the fidelity portion based on the inaccuracy tolerance between high-fidelity simulation and other representations (e.g., 1D stripe elements or coarse geometric elements). To this end, the design processing engine 110 can perform a high-fidelity FEA analysis on a selected subset of the mesh structure in the object design 605 (e.g., some instances of the mesh template under consideration). Such a high-fidelity FEA analysis may include discretizing the selected subset into high-resolution mesh elements to perform the FEA. Based on the high-fidelity FEA analysis, the design processing engine 110 can calculate the homogenized material properties of the mesh structure. The design processing engine 110 can then use the calculated homogenized material properties of the mesh structure to perform a low-fidelity FEA analysis across the entire object design 605.
[0074] Through low-fidelity FEA analysis, the design processing engine 110 can analyze stress or displacement patterns to characterize portions of the object design 605 (e.g., as low-stress or high-stress). Such characterization can take the form of local patterns, which the design processing engine 110 can identify through statistical analysis or other data-driven methods. Thus, the design processing engine 110 can characterize the object design 605 into different portions (e.g., high stress, low stress, medium stress, etc.). For each different portion, the design processing engine 110 can apply low-fidelity simulations (e.g., using coarse geometric elements with homogenized material properties), medium-fidelity simulations (e.g., using 1D horizontal bar elements), and / or high-fidelity simulations (e.g., using high-resolution mesh elements). The design processing engine 110 can apply these simulations of varying fidelity to selected mesh elements or mesh instances within the characterized portion.
[0075] In doing so, the design processing engine 110 can calculate error measurements from high-fidelity simulations to low-fidelity and medium-fidelity simulations. Based on specified inaccuracy tolerances, the design processing engine 110 can select a representation of the characterized portion having low-fidelity cells (coarse geometric cells), medium-fidelity cells (1D bar cells), or high-fidelity cells (high-resolution mesh cells), such that the selected cells are the most efficient representation to satisfy the inaccuracy tolerances. Thus, the design processing engine 110 can identify or determine the low-fidelity, medium-fidelity, and / or high-fidelity portions of an object design.
[0076] As another method for segmenting the object design 605, the design processing engine 110 can assign low-fidelity, medium-fidelity, and high-fidelity portions of the object design based on a distance criterion. The design processing engine 110 can identify portions of the object design within a high-fidelity threshold distance from boundary conditions as high-fidelity portions. The high-fidelity threshold distance applied by the design processing engine 110 can be a fixed value or can vary depending on the nature or magnitude of the boundary conditions. For example, the design processing engine 101 can calculate the high-fidelity threshold distance to be applied based on the magnitude (e.g., applied force) and enclosed area of the boundary conditions, such that the larger the magnitude or enclosed area, the larger the value of the high-fidelity threshold distance applied to determine the high-fidelity portion.
[0077] When applying distance criteria, design processing engine 110 can determine low-fidelity regions based on distance from object boundaries or boundary conditions. In such cases, design processing engine 110 can identify low-fidelity portions of the object design that are located further from boundary conditions or object boundaries than a low-fidelity threshold. Such distance criteria can identify low-fidelity portions in the object design that are sufficiently far from boundary conditions or object boundaries, and therefore may require lower fidelity in FEA simulations. In some examples, design processing engine 110 can identify medium-fidelity portions of the object design as portions that are not identified as low-fidelity or high-fidelity portions.
[0078] In any of the ways described herein, the design processing engine 110 can determine different fidelity portions of the object design and represent the determined fidelity portions differently in order to support FEA simulation with improved efficiency.
[0079] Figure 7 An example of logic 700 that the system can implement to support simulation of object designs represented with different fidelity portions is shown. For example, computing system 100 may implement logic 700 as hardware, executable instructions stored on a machine-readable medium, or a combination of both. Computing system 100 may implement logic 700 via design access engine 108 and design processing engine 110, through which computing system 100 may execute or implement logic 700 as a method to support mesh simulation using coarse geometric units and high-resolution mesh units. The following description of logic 700 is provided using design access engine 108 and design processing engine 110 as examples. However, various other implementation options for the system are possible.
[0080] When implementing logic 700, design access engine 108 can access the object design to be constructed via additive manufacturing (702). The object design may include a mesh structure. When implementing logic 700, design processing engine 110 can simulate the mesh structure of the object design (704). In doing so, design processing engine 110 can determine different fidelity portions of the object design, for example, in any of the ways described herein (706). In some examples, the determined fidelity portions may include high-fidelity portions, low-fidelity portions, and medium-fidelity portions of the object design.
[0081] Design processing engine 110 can represent various fidelity portions of an object design differently. For example, design processing engine 110 can represent a first fidelity portion (e.g., a low-fidelity portion) of the object design using coarse geometric units, and do so using homogenized material properties for the coarse geometric units (708). Design processing engine 110 can also represent a second fidelity portion (e.g., a high-fidelity portion) of the object design using high-resolution mesh units, such that the high-fidelity mesh units are 3D and discretized to a finer granularity than the coarse geometric units (710). In some examples, design processing engine 110 can represent a third fidelity portion (e.g., a medium-fidelity portion) of the object design as 1D bar cells, which represent the mesh structure of the object design in the third fidelity portion of the object design (712).
[0082] By using this differentiated representation of the object design at different parts of the object design, the design processing engine 110 can improve the simulation speed of object designs with mesh structures while maintaining a high-fidelity representation to appropriately and accurately support the analysis of the physical properties of the object design.
[0083] Figure 7 The illustrated logic 700 provides an illustrative example of how computational system 100 can support mesh simulations using coarse geometric units and high-resolution mesh units. Additional or alternative steps in logic 700 are envisioned herein, including any features described herein for design access engine 108, design processing engine 110, or any combination thereof. For example, design processing engine 110 may use some, not use, or use all of the fidelity components described in logic 700 to identify or represent object designs. By implementing logic 700 or supporting mesh simulations using coarse geometric units and high-resolution mesh units, computational systems are able to perform efficient physical analyses of object designs including complex mesh structures, which can provide faster analyses with higher fidelity and simulation accuracy.
[0084] Figure 8 An example of a computational system 800 supporting object design processing using coarse geometric units and high-resolution mesh units is shown. The computational system 800 may include a processor 810, which may take the form of a single processor or multiple processors. One or more processors 810 may include a central processing unit (CPU), a microprocessor, or any hardware device adapted to execute instructions stored on a machine-readable medium. The system 800 may include a machine-readable medium 820. The machine-readable medium 820 may take the form of any non-transient electronic, magnetic, optical, or other physical storage device storing executable instructions, such as... Figure 8The design access instructions 822 and design processing instructions 824 are shown. Therefore, the machine-readable medium 820 can be, for example, random access memory (RAM), such as dynamic RAM (DRAM), flash memory, spin torque memory, electrically erasable programmable read-only memory (EEPROM), memory drive, optical disk, etc.
[0085] The computing system 800 can execute instructions stored on the machine-readable medium 820 via the processor 810. Executing the instructions (e.g., design access instructions 822 and / or design processing instructions 824) can cause the computing system 800 to perform any of the features described herein, including any features relating to design access engine 108, design processing engine 110, or a combination of both.
[0086] For example, the execution of design access instruction 822 by processor 810 enables computing system 800 to access an object design to be constructed by additive manufacturing. The execution of design processing instruction 824 by processor 810 enables computing system 800 to represent the object design as a combination of coarse geometric units and high-resolution mesh units, and to process the object design based on both coarse geometric units and high-resolution mesh units.
[0087] Any additional or alternative features described herein may be implemented via design access instruction 822, design processing instruction 824, or a combination of both.
[0088] The systems, methods, devices, and logic described above, including design access engine 108 and design processing engine 110, can be implemented in many different ways as a variety of combinations of hardware, logic, circuitry, and executable instructions stored on a machine-readable medium. For example, design access engine 108, design processing engine 110, or combinations thereof may include circuitry in a controller, microprocessor, or application-specific integrated circuit (ASIC), or may be implemented using discrete logic or components or combinations of other types of analog or digital circuitry, which may be combined on a single integrated circuit or distributed among multiple integrated circuits. A product (e.g., a computer program product) may include a storage medium and machine-readable instructions stored on the medium that, when executed in a terminal, computer system, or other device, cause the device to perform operations according to any of the above descriptions (including any features of design access engine 108, design processing engine 110, or combinations thereof).
[0089] The processing power of the systems, devices, and engines described herein (including design access engine 108 and design processing engine 110) can be distributed across multiple system components, such as across multiple processors and memories, optionally including multiple distributed processing systems or cloud / network elements. Parameters, databases, and other data structures can be stored and managed separately, can be combined into a single memory or database, can be logically and physically organized in many different ways, and can be implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs can be parts of a single program (e.g., subroutines), standalone programs, distributed across several memories and processors, or implemented in many different ways, such as in libraries (e.g., shared libraries).
[0090] While the above examples illustrate various approaches, many more implementations are possible.
Claims
1. A method for generating a mesh-filled structure designed for constructing objects via additive manufacturing, the method comprising: Access (202,502,702) to construct the object design (310,605) using additive manufacturing; In the first step, the object design (310, 605) is discretized into coarse geometric units (330, 631) to generate a coarsely discretized object design (320), wherein each coarse geometric unit is characterized by a determined average density value. In the second step, the mesh fill is generated, including: The object design (310, 605) is divided into various segments, each segment containing an arbitrary number of the coarse geometric units; A mesh is generated from the determined average mesh density value characterizing the coarse geometric unit through local topology optimization, wherein the local topology optimization uses any average mesh density value applicable to the divided segment (405) within the divided segment as a local density constraint to generate a mesh-filled structure from the divided segments of the coarsely discretized object design containing a portion of the coarse geometric unit; and Mesh filling is constructed sequentially by continuously and locally generating mesh filling structures, and The object is constructed using additive manufacturing based on the object design.
2. The method according to claim 1, characterized in that, Performing the local topology optimization involves discretizing the divided segments (405) at a finer granularity than the size of the coarse geometric unit to generate high-resolution mesh cells that form a mesh-filled structure.
3. The method according to claim 2, characterized in that, Generating the mesh fill includes: A global topology optimization process (504) is performed on the object design (310, 605) without penalty parameters to determine the average density value of the coarse geometric units (330, 631) within the scope of the object design (310, 605).
4. The method according to claim 3, characterized in that, Generating the mesh fill further includes: generating a first mesh fill structure (410, 420) for the object design (310, 605) based on a given average density value of the object design (310, 605), the given average density value being applicable to the region of the object design (310, 605) for which the first mesh fill structure (410, 420) is generated.
5. The method according to claim 4, characterized in that, Generating the mesh fill further includes: generating a second mesh fill structure (410, 420) for the object design (310, 605) based on different average density values of the object design (310, 605) and using the interface portion (430) of the first mesh fill structure (410, 420) as a boundary condition for generating the second mesh fill structure (410, 420), wherein the different average density values are applicable to the region of the object design (310, 605) for which the second mesh fill structure (410, 420) is generated.
6. The method according to claim 1, characterized in that, This includes sequentially generating the mesh-filled structure (410, 420) from the coarse geometric units (330, 631) until the mesh fill is generated for the object design (310, 605).
7. The method according to claim 2, characterized in that, This includes simulating the mesh structure of the object design (310, 605) based on both the coarse geometric units (330, 631) and the high-resolution mesh units, including through: The first part of the object design (310, 605) is represented by the coarse geometric units (330, 631) and by the homogenized material properties used for the coarse geometric units (330, 631). as well as The high-resolution mesh cell (611) is used to represent the second part of the object design (310, 605), such that the high-resolution mesh cell (611) is 3D and discretized to a finer granularity than the coarse geometric cell (330, 631).
8. The method according to claim 7, characterized in that, The second part of the object design (310, 605) includes the boundary of the object design (310, 605), at which boundary conditions are applied to the object design (310, 605).
9. The method according to claim 7, characterized in that, The mesh structure used to simulate the object design (310, 605) based on both the coarse geometric units (330, 631) and the high-resolution mesh units further includes: High-resolution to coarse boundary cells are used at the boundary between the first portion and the second portion of the object design (310, 605) to connect a given coarse geometric cell in the first portion to a given high-resolution mesh cell in the second portion.
10. The method according to claim 7, characterized in that, It also includes representing the third part of the object design (310, 605) as a 1D bar cell (621), the 1D bar cell representing the mesh structure of the object design (310, 605) in the third part of the object design (310, 605).
11. The method according to claim 10, characterized in that, The mesh structure used to simulate the object design (310, 605) based on both the coarse geometric units (330, 631) and the high-resolution mesh units further includes: Add coarse-to-1D boundary elements at the boundary between the first portion and the third portion of the object design (310, 605) to support modeling of energy transfer between a given coarse geometric element in the first portion and a given 1D stripe element in the third portion; and High-resolution to 1D boundary cells are added at the boundary between the second part of the object design (310, 605) and the third part of the object design (310, 605) to support modeling of energy transfer between a given high-resolution mesh cell in the second part and another 1D stripe cell (621) in the third part.
12. The method according to claim 7, characterized in that, It also includes determining the first and second portions of the object design (310, 605) through the following steps: The object design (310, 605) is analyzed by finite element analysis to obtain the stress mapping of the object design (310, 605); The first portion of the object design (310, 605) is identified as the low-stress portion of the stress mapping; as well as The second part of the object design (310, 605) is identified as the high-stress part of the stress mapping.
13. A system (100) for generating mesh-filled structures designed for constructing objects by additive manufacturing, the system comprising: Design access engine (108); as well as Design processing engine (110), The design access engine (108), the design processing engine (110), or a combination of both are configured to perform the method according to any one of claims 1 to 12.
14. A non-transient machine-readable medium (820) comprising instructions (822, 824) that, when executed by a processor (810), cause a computing system (800) to perform the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Topological optimization design method of self-supporting network structure suitable for additive manufacturing
CN107025340A
Analyzation apparatus and control method thereof
US20080184153A1