WO2019103774A1 - Creating and editing graded material distributions based on functional requirements - Google Patents
Creating and editing graded material distributions based on functional requirements Download PDFInfo
- Publication number
- WO2019103774A1 WO2019103774A1 PCT/US2018/047026 US2018047026W WO2019103774A1 WO 2019103774 A1 WO2019103774 A1 WO 2019103774A1 US 2018047026 W US2018047026 W US 2018047026W WO 2019103774 A1 WO2019103774 A1 WO 2019103774A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- density map
- material density
- gui
- properties
- updated
- Prior art date
Links
- 239000000463 material Substances 0.000 title claims abstract description 88
- 238000009826 distribution Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 81
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000004519 manufacturing process Methods 0.000 claims abstract description 28
- 238000001914 filtration Methods 0.000 claims abstract description 27
- 238000001739 density measurement Methods 0.000 claims abstract description 16
- 230000002452 interceptive effect Effects 0.000 claims abstract description 16
- 239000000654 additive Substances 0.000 claims abstract description 14
- 230000000996 additive effect Effects 0.000 claims abstract description 14
- 239000013590 bulk material Substances 0.000 claims abstract description 14
- 238000005457 optimization Methods 0.000 claims abstract description 12
- 238000000265 homogenisation Methods 0.000 claims abstract description 11
- 238000012800 visualization Methods 0.000 claims abstract description 10
- 238000013461 design Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 9
- 238000011960 computer-aided design Methods 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000007639 printing Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 238000009499 grossing Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 35
- 230000006870 function Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000011534 incubation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/10—Processes of additive manufacturing
- B29C64/141—Processes of additive manufacturing using only solid materials
- B29C64/153—Processes of additive manufacturing using only solid materials using layers of powder being selectively joined, e.g. by selective laser sintering or melting
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- 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
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- 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
- 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]
Definitions
- Embodiments of the present invention address and overcome one or more of the above shortcomings and drawbacks, by providing methods, systems, and apparatuses related to creating and editing graded material distributions based on functional requirements.
- a computer-implemented method for generating graded material distributions based on functional requirements for additive manufacturing applications includes receiving a 3-D model of an object to be printed, and determining boundary conditions and target mechanical properties for the object based on user input. These boundary conditions may specify, for example, one or more physical loads to be supported by the object.
- the target mechanical properties may include, for example, a structural stiffness design target, a target weight, etc.
- the object is divided into a plurality of volumetric elements.
- a material density map for the object is generated by performing a topology optimization over the elements to assign a density measurement to each volumetric element.
- An interactive editing process is generated in a graphical user interface (GUI) over one or more iterations.
- GUI graphical user interface
- This process includes, in response to one or more user instructions received via the GUI, performing one or more digital filtering operations on the material density map to yield an updated material density map.
- the digital filtering operations may include, for example, a smoothing operation, a high-pass filtering operation, or a histogram-based contrast enhancement operation.
- the process further includes using a homogenization model to compute one or more effective bulk material properties of the object based on the updated material density map. A visualization of the updated material density map and the effective bulk material properties may then be presented in the GUI.
- an article of manufacture for generating graded material distributions based on functional requirements for additive manufacturing applications includes a non-transitory, tangible computer-readable medium holding computer-executable instructions for performing the aforementioned method, with or without the various features discussed above.
- a system for partitioning a model to facilitate printing of the model on a three-dimensional printer includes one or more processors, a non-transitory, computer-readable storage medium in operable communication with the processors, and one or more 3-D printers.
- the computer-readable storage medium comprises one or more programming instructions that, when executed, cause the processors to perform the aforementioned method, with or without the various features discussed above.
- a printable lattice representative of the object is generated based on the material density map.
- the 3-D printers are configured to print representations of the object based on this printable lattice.
- FIG. 1 illustrates a system for performing additive manufacturing with graded material distributions based on functional requirements
- FIG. 2 illustrates a method for creating and editing graded material distributions based on functional requirements, according to some embodiments.
- Systems, methods, and apparatuses are described herein which relate generally to creating and editing graded material distributions based on functional requirements. More specifically, the techniques described herein address the problem of suggesting strategies for graded material distribution to a designer, and enabling the designer to edit the graded material distributions to achieve functional requirements.
- one or more digital filtering operations are applied to a material density map during an interactive model editing process. These filtering operations are conceptually similar to those performed during imaging processing operations.
- the material density map can be analogized to a 3D image (e.g., a MRI image).
- the process discussed herein also effectively manipulates the process of the part that is being designed (e.g., by making it stronger, lighter, etc.) prior to fabrication.
- a Design Computer 120 receives the Initial 3-D Model 125 and the Mechanical Properties 130 from the User Computer 10S via a computer network 110.
- the Design Computer 120 operates as part of a product lifecycle management (PLM) or product data management (PDM) system.
- PLM product lifecycle management
- PDM product data management
- the Design Computer 120 may be tightly coupled to the 3-D Printer 115.
- the Design Computer 120 is shown as physically separate from the 3-D Printer 115 in the example of FIG. 1, in other embodiments, the functionality of the Design Computer 120 may be included inside the printer itself.
- This computer network 110 may be configured using a variety of hardware platforms.
- the computer network 110 may be implemented using the IEEE 802.3 (Ethernet) or IEEE 802.11 (wireless) networking technologies, either separately or in
- the Design Computer 120 employs a data-driven approach to design and visualize the functional properties (e.g., thermal, structural, weight distribution) of 3-D printed objects by utilizing and optimizing different families of lattice template structures. Boxes 120 A - 120D describe the workflow from processing the Initial 3-D Model 125 and the Mechanical Properties 130. The workflow is described in further detail below with respect to FIG. 2. Briefly, starting at stage 120A, a material density map of the object is generated and presented to the User 105 via a GUI provided by the Design Computer 120. The Design Computer 120 performs digital filtering operations on the material density map at stage 120B and presents the results to the user.
- a material density map of the object is generated and presented to the User 105 via a GUI provided by the Design Computer 120.
- the Design Computer 120 performs digital filtering operations on the material density map at stage 120B and presents the results to the user.
- the object of interest is a replacement organ and the 3-D Printer 115 is a bio-printer.
- a bio-printer uses additive manufacturing techniques to deposit living cell material in layers whose thickness depends on the tissue being printed.
- the tissues are stored in an incubator referred to as a "bio-reactor.” While in the bio-reactor, the tissues mature in preparation of use in the patient's body.
- a specialized bio-printer may be used to print directly in the patient's body. In this case, the printed tissue can mature directly in the patient's body and incubation in the bio-reactor can be omitted.
- FIG. 2 illustrates a method 200 for creating and editing graded material distributions based on functional requirements, according to some embodiments.
- information is received by the user to define a part geometry and its structural characteristics. This information may be acquired by, for example, a user interacting with design software (e.g., a CAD or PLM tool) or pre-generated information may be retrieved from a database or other computer-readable medium.
- design software e.g., a CAD or PLM tool
- pre-generated information may be retrieved from a database or other computer-readable medium.
- the method starts at steps 205 - 215 where a series of inputs are received by the computing system executing the method 200.
- the user selects a 3D model where the part geometry is defined.
- This 3D model may be, for example, a CAD model.
- the part geometry is subdivided into a plurality of small volumetric elements such as voxels or tetrahedra.
- the volumetric elements are used for computing mass properties.
- Voxels and tetrahedral can be generated by various methods known in the art, and mass properties can be computed directly from the voxels/tetrahedral elements.
- a topology optimization is performed that assigns a density measurement to each volumetric element. As is generally understood in the art, topology optimization methods solve a material distribution problem to generate an optimal topology for an object.
- the density measurement may be represented, for example, as fractional value between 0 and 1.
- each element is modeled using a lattice structure and the topology optimization optimizes the location and density of the lattice structure.
- Example lattice-based methods are described in International Application No.: PCT/CN2015/095572 entitled “System and method for modeling of parts with lattice structures," filed November 25, 2015, and International Application No.: PCT/EP2016/072846 entitled “Design of lattice structures for additive manufacturing,” filed September 26, 2018, the entirety of both is incorporate herein by reference.
- Example topology optimizations are described in U.S. Patent No. 9,789,651 entitled “Method for structure preserving topology optimization of lattice structures for additive manufacturing," granted November 17, 2017, the entirety of which is incorporated herein by reference.
- a homogenization model is generated that estimates the effective mechanical properties of the volumetric elements using information related to their constitutive phases mechanical properties and geometry.
- Various homogenization models known in the art may be used including, without limitation, Mori- Tanaka model, the Lielens' model, or ad hoc approaches can be devised and applied to compute homogenized properties and the third order approximation (TO A).
- the homogenization model effectively weights different mechanical properties based on density differences. This is necessary because the mechanical properties are often defined with an assumption that the material is at its full, typical density.
- Young's Modulus defines the relationship between stress and strain in a material. Typically a calculation of Young's Modulus assumes that the material is at a standard density (i.e., 100%). If the density is less than 100%, these values may be different and the relationship between the full density measurements and reduced density measurements is not necessarily straightforward.
- the homogenization model provides the mapping between material density and effective mechanical properties.
- Steps 230 - 240 show an interactive design editing process that may be performed at within the GUI of the design too.
- digital filtering operations are applied to the material density map to improve the fractional value assignments and distributions. These operations may include, for example, smoothing, high-pass filtering, histogram based contrast enhancement, etc. These are similar to 3D image processing techniques, and they perform similar functions here. For example, a 3D printer may not be able to print a "noisy" design that includes jagged edges. In this case, the operations performed at step 230 would smooth these edges to allow printing.
- the filtering operations are suggested to the user based on automated analysis of the material density map.
- the effective bulk material properties of the part are computed at step 235 using high performance computing (see FIG. 3) and reduced order models are used to interactively update the physical behavior of the part as the filtering operations are performed.
- a 3D visualization of the density map and physical behavior is interactively updated to provide feedback to the user through the GUI of the design tool.
- a non-homogeneous material mass property algorithm is used to compute weight, center of mass and other dynamics properties of the part at step 240 using the updated material density map.
- Various material mass property algorithms discussed in the art may be used at step 240.
- One example algorithm is described in International Application No.
- FIG. 3 provides an example of a parallel processing memory architecture 300 that may be utilized to perform computations related to the generation and rendering of quadric beams and multi-quadric beams within design tools, according to some embodiments of the present invention.
- This architecture 300 may be used in embodiments of the present invention where NVIDIATM CUDA (or a similar parallel computing platform) is used.
- the architecture includes a host computing unit (“host”) 305 and a GPU device (“device”) 310 connected via a bus 315 (e.g., a PCIe bus).
- the host 305 includes the central processing unit, or "CPU” (not shown in FIG. 3) and host memory 325 which is accessible to the CPU.
- CPU central processing unit
- the device 310 includes the graphics processing unit (GPU) and its associated memory 320, referred to herein as device memory.
- the device memory 320 may include various types of memory, each optimized for different memory usages.
- the device memory includes global memory, constant memory, and texture memory.
- Parallel portions of a deep learning application may be executed on the architecture 300 as "device kernels" or simply “kernels.”
- a kernel comprises parameterized code configured to perform a particular function.
- the parallel computing platform is configured to execute these kernels in an optimal manner across the architecture 300 based on parameters, settings, and other selections provided by the user. Additionally, in some embodiments, the parallel computing platform may include additional functionality to allow for automatic processing of kernels in an optimal manner with minimal input provided by the user.
- the thread blocks 330 are organized in a two dimensional grid structure with m+1 rows and n+1 columns.
- threads in different thread blocks of the same grid cannot communicate or synchronize with each other.
- thread blocks in the same grid can run on the same multiprocessor within the GPU at the same time.
- the number of threads in each thread block may be limited by hardware or software constraints.
- processing of different regions of the lattice may be partitioned over thread blocks automatically by the parallel computing platform software.
- Each thread can have one or more levels of memory access.
- each thread may have three levels of memory access.
- each thread 340, 345, 350 can read and write to its corresponding registers 355, 360, and 365.
- each thread 340, 345, 350 in thread block 330 may read and write data to the shared memory 335 corresponding to that block 330.
- the time required for a thread to access shared memory exceeds that of register access due to the need to synchronize access among all the threads in the thread block.
- the shared memory is typically located close to the multiprocessor executing the threads.
- the third level of memory access allows all threads on the device 310 to read and/or write to the device memory.
- Device memory requires the longest time to access because access must be synchronized across the thread blocks operating on the device.
- the processing of each subgraph is coded such that it primarily utilizes registers and shared memory and only utilizes device memory as necessary to move data in and out of a thread block.
- inventions of the present disclosure may be included in an article of manufacture (e.g., one or more computer program products) having, for example, computer-readable, non-transitory media.
- the media may have embodied therein computer readable program codes for providing and facilitating the mechanisms of the embodiments of the present disclosure.
- the article of manufacture can be included as part of a computer system or sold separately.
- processing may refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
- physical e.g., electronic
- GUI graphical user interface
- the GUI comprises one or more display images, generated by a display processor and enabling user interaction with a processor or other device and associated data acquisition and processing functions.
- the GUI also includes an executable procedure or executable application.
- the executable procedure or executable application conditions the display processor to generate signals representing the GUI display images. These signals are supplied to a display device which displays the image for viewing by the user.
- the processor under control of an executable procedure or executable application, manipulates the GUI display images in response to signals received from the input devices. In this way, the user may interact with the display image using the input devices, enabling user interaction with the processor or other device.
- the functions and process steps herein may be performed automatically or wholly or partially in response to user command.
- An activity (including a step) performed automatically is performed in response to one or more executable instructions or device operation without user direct initiation of the activity.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Materials Engineering (AREA)
- Manufacturing & Machinery (AREA)
- Optics & Photonics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
Abstract
A method for generating graded material distributions based on functional requirements for additive manufacturing applications includes receiving a 3-D model of an object, and determining boundary conditions and target mechanical properties for the object based on user input. The object is divided into volumetric elements. A material density map for the object is generated by performing a topology optimization over the elements to assign a density measurement to each volumetric element. An interactive editing process is performed in a GUI. This process includes performing digital filtering operations on the material density map to yield an updated material density map. The process further includes using a homogenization model to effective bulk material properties of the object based on the updated material density map. A visualization of the updated material density map and the effective bulk material properties may then be presented in the GUI.
Description
CREATING AND EDITING GRADED MATERIAL DISTRIBUTIONS BASED ON
FUNCTIONAL REQUIREMENTS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application Serial No.
62/590,709 filed November 27, 2017, which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002] The present disclosure is directed, in general, to computer-aided design,
visualization, and manufacturing systems, product lifecycle management ("PLM") systems, and similar systems, that manage data for products and other items (collectively, "Product Data Management" systems or PDM systems). In particular, the present disclosure relates to creating and editing graded material distributions based on functional requirements. The technology described herein is particularly well-suited for, but not limited to, additive manufacturing and other fabrication methods that enable non-homogeneous material distributions.
BACKGROUND
[0003] Conventional manufacturing methods such as machining, casting, etc., can create objects with a single homogeneous material. Additive manufacturing enables creating parts with graded material distributions. For example, the density of the material (by making it porous), can be varied from one region to another within the part. This enables material properties such as density to be used as design variables in creating new kinds of parts. Given functional requirements, such as a target weight and structural stiffness compliance, the problem of finding a suitable graded material distribution is a non-trivial problem for designers. Design guidance tools are necessary for this purpose. Creation and editing tools to manipulate graded material distributions are necessary.
[0004] With conventional methods, material assignment is typically performed by a manual trial and error process. Given that there are a large number of ways in which materials can be spatially graded, the design space is extremely large. Therefore, manual exploration is a time consuming process, and typically leads to sub-optimal results.
SUMMARY
[0005] Embodiments of the present invention address and overcome one or more of the above shortcomings and drawbacks, by providing methods, systems, and apparatuses related to creating and editing graded material distributions based on functional requirements.
[0006] According to some embodiments, a computer-implemented method for generating graded material distributions based on functional requirements for additive manufacturing applications includes receiving a 3-D model of an object to be printed, and determining boundary conditions and target mechanical properties for the object based on user input. These boundary conditions may specify, for example, one or more physical loads to be supported by the object. The target mechanical properties may include, for example, a structural stiffness design target, a target weight, etc. The object is divided into a plurality of volumetric elements. A material density map for the object is generated by performing a topology optimization over the elements to assign a density measurement to each volumetric element. An interactive editing process is generated in a graphical user interface (GUI) over one or more iterations. This process includes, in response to one or more user instructions received via the GUI, performing one or more digital filtering operations on the material density map to yield an updated material density map. The digital filtering operations may include, for example, a smoothing operation, a high-pass filtering operation, or a histogram-based contrast enhancement operation. The process further includes using a homogenization model to compute one or more effective bulk material properties of the object based on the updated material density map. A visualization of the updated material density map and the effective bulk material properties may then be presented in the GUI.
[0007] In some embodiments of the aforementioned method, the interactive editing process further comprises applying a non-homogeneous material mass property algorithm to compute one or more dynamic properties of the object using the updated material density map. Then, a listing of the dynamic properties of the object may be presented in the visualization. The dynamic properties of the object may include, for example, the weight and center of mass of the object.
[0008] According to another aspect of the present invention, an article of manufacture for generating graded material distributions based on functional requirements for additive
manufacturing applications includes a non-transitory, tangible computer-readable medium holding computer-executable instructions for performing the aforementioned method, with or without the various features discussed above.
[0009] According to other embodiments of the present invention, a system for partitioning a model to facilitate printing of the model on a three-dimensional printer includes one or more processors, a non-transitory, computer-readable storage medium in operable communication with the processors, and one or more 3-D printers. The computer-readable storage medium comprises one or more programming instructions that, when executed, cause the processors to perform the aforementioned method, with or without the various features discussed above. Following the interactive editing process, a printable lattice representative of the object is generated based on the material density map. The 3-D printers are configured to print representations of the object based on this printable lattice.
[0010] Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments that proceeds with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, there are shown in the drawings embodiments that are presently preferred, it being understood, however, that the invention is not limited to the specific instrumentalities disclosed. Included in the drawings are the following Figures:
[0012] FIG. 1 illustrates a system for performing additive manufacturing with graded material distributions based on functional requirements;
[0013] FIG. 2 illustrates a method for creating and editing graded material distributions based on functional requirements, according to some embodiments; and
[0014] FIG. 3 illustrates an exemplary computing environment within which embodiments of the invention may be implemented.
DETAILED DESCRIPTION
[0015] Systems, methods, and apparatuses are described herein which relate generally to creating and editing graded material distributions based on functional requirements. More specifically, the techniques described herein address the problem of suggesting strategies for graded material distribution to a designer, and enabling the designer to edit the graded material distributions to achieve functional requirements. As described in further detail below, one or more digital filtering operations are applied to a material density map during an interactive model editing process. These filtering operations are conceptually similar to those performed during imaging processing operations. Thus, the material density map can be analogized to a 3D image (e.g., a MRI image). However, by manipulating the material density map with the filtering operations, the process discussed herein also effectively manipulates the process of the part that is being designed (e.g., by making it stronger, lighter, etc.) prior to fabrication.
[0016] FIG. 1 illustrates a system 100 for performing additive manufacturing with graded material distributions based on functional requirements. A User Computer 105 is used to generate an Initial 3-D model 125 of the object of interest. Any technique known in the art may be used for generating the 3-D model. For example, in some embodiments, computer-aided design (CAD) software is used to directly create the 3-D models at the User Computer 105 in a graphical user interface (GUI). These models may include, for example, a 3-D solid CAD part. In other embodiments, the 3-D model may be based on one or more previously acquired images.
[0017] Aside from the Initial 3-D Model 125, Mechanical Properties 130 are specified. These Mechanical Properties 130 may be specified by the user or derived based on product requirements. Various levels of detail may be used in specifying the Mechanical Properties 130. For example, as shown in FIG. 1, the Mechanical Properties 130 may be expressed in broad terms such as indicating which portions of the object should be "soft" and which should be "rigid." Additionally, specific tolerances or other values may be specified as the Mechanical Properties 130. Examples of Mechanical Properties 130 include, without limitation, physical loads and other boundary conditions specified on the geometry of the part, as well as design targets for characteristics such as structural stiffness, weight, etc.
[0018] Continuing with the example of FIG. 1, a Design Computer 120 receives the Initial 3-D Model 125 and the Mechanical Properties 130 from the User Computer 10S via a computer network 110. In some embodiments, the Design Computer 120 operates as part of a product lifecycle management (PLM) or product data management (PDM) system. In other
embodiments, the Design Computer 120 may be tightly coupled to the 3-D Printer 115. For example, although the Design Computer 120 is shown as physically separate from the 3-D Printer 115 in the example of FIG. 1, in other embodiments, the functionality of the Design Computer 120 may be included inside the printer itself.
[0019] This computer network 110 may be configured using a variety of hardware platforms. For example, the computer network 110 may be implemented using the IEEE 802.3 (Ethernet) or IEEE 802.11 (wireless) networking technologies, either separately or in
combination. In addition, the computer network 110 may be implemented with a variety of communication tools including, for example, TCP/IP suite of protocols. In some embodiments, the computer network 110 is the Internet. A virtual private network (VPN) may be used to extend a private network across the computer network 110.
[0020] The Design Computer 120 employs a data-driven approach to design and visualize the functional properties (e.g., thermal, structural, weight distribution) of 3-D printed objects by utilizing and optimizing different families of lattice template structures. Boxes 120 A - 120D describe the workflow from processing the Initial 3-D Model 125 and the Mechanical Properties 130. The workflow is described in further detail below with respect to FIG. 2. Briefly, starting at stage 120A, a material density map of the object is generated and presented to the User 105 via a GUI provided by the Design Computer 120. The Design Computer 120 performs digital filtering operations on the material density map at stage 120B and presents the results to the user. As the digital filtering operations are being performed, the Design Computer 120 uses a homogenization model to compute the effective bulk material properties of the object at stage 120C. These effective bulk material properties are also presented to the User 105 via the aforementioned GUI. Similarly, at stage 120D a non-homogeneous material mass property algorithm is applied to compute dynamic properties, which may also be presented to the User 105 in the GUI.
[0021] Once the lattice is generated by the Design Computer 120, it may then be printed via 3-D Printer 115 at stage 120E. This 3-D Printer may generally be any three-dimensional printer generally known in the art. Additionally, in some embodiments, hybrid devices such as the big area additive manufacturing machines (BAMM) may be used which combine 3-D printing with computer numerical control (CNC) routing. Moreover, the general techniques presented in FIG. 1 may be extended to specialized printers. For example, in some embodiments, the object of interest is a replacement organ and the 3-D Printer 115 is a bio-printer. As is understood in the art, a bio-printer uses additive manufacturing techniques to deposit living cell material in layers whose thickness depends on the tissue being printed. Once the 3-D Printer 115 has completed printing the organ, the tissues are stored in an incubator referred to as a "bio-reactor." While in the bio-reactor, the tissues mature in preparation of use in the patient's body. It should be noted that, in some embodiments, a specialized bio-printer may be used to print directly in the patient's body. In this case, the printed tissue can mature directly in the patient's body and incubation in the bio-reactor can be omitted.
[0022] FIG. 2 illustrates a method 200 for creating and editing graded material distributions based on functional requirements, according to some embodiments. Starting at steps 205 - 215, information is received by the user to define a part geometry and its structural characteristics. This information may be acquired by, for example, a user interacting with design software (e.g., a CAD or PLM tool) or pre-generated information may be retrieved from a database or other computer-readable medium. In the discussion that follows, it is assumed that former scenario is employed and the information is provided by a user via a GUI or other interface provided by the design software.
[0023] The method starts at steps 205 - 215 where a series of inputs are received by the computing system executing the method 200. At step 205 of FIG. 2, the user selects a 3D model where the part geometry is defined. This 3D model may be, for example, a CAD model.
Physical loads and other boundary conditions are specified on the geometry of the model at step 210. Then, design targets such as structural stiffness and weight are selected at step 215.
[0024] Next, at step 220, the part geometry is subdivided into a plurality of small volumetric elements such as voxels or tetrahedra. As explained below, the volumetric elements are used for
computing mass properties. Voxels and tetrahedral can be generated by various methods known in the art, and mass properties can be computed directly from the voxels/tetrahedral elements. A topology optimization is performed that assigns a density measurement to each volumetric element. As is generally understood in the art, topology optimization methods solve a material distribution problem to generate an optimal topology for an object. The density measurement may be represented, for example, as fractional value between 0 and 1. A value of 0 in this case would indicate that no material should be present in the final design; conversely, a value of 1 would indicate that 100% of the material should be included. Values between 0 and 1 correspond to intermediate values of density. For example an element with a density measurement of 0.5 would indicate that half the potential amount of material should be used. In this way, the density measurements may be interpreted as a material density map on the part geometry.
[0025] Various topology optimizations generally known in the art may be applied at step 220. For example, in some embodiments, each element is modeled using a lattice structure and the topology optimization optimizes the location and density of the lattice structure. Example lattice-based methods are described in International Application No.: PCT/CN2015/095572 entitled "System and method for modeling of parts with lattice structures," filed November 25, 2015, and International Application No.: PCT/EP2016/072846 entitled "Design of lattice structures for additive manufacturing," filed September 26, 2018, the entirety of both is incorporate herein by reference. Example topology optimizations are described in U.S. Patent No. 9,789,651 entitled "Method for structure preserving topology optimization of lattice structures for additive manufacturing," granted November 17, 2017, the entirety of which is incorporated herein by reference.
[0026] Continuing with reference to FIG. 2, at step 225, a homogenization model is generated that estimates the effective mechanical properties of the volumetric elements using information related to their constitutive phases mechanical properties and geometry. Various homogenization models known in the art may be used including, without limitation, Mori- Tanaka model, the Lielens' model, or ad hoc approaches can be devised and applied to compute homogenized properties and the third order approximation (TO A). In the example of FIG. 2, the homogenization model effectively weights different mechanical properties based on density
differences. This is necessary because the mechanical properties are often defined with an assumption that the material is at its full, typical density. For example, as would be understood by one skilled in the art, Young's Modulus defines the relationship between stress and strain in a material. Typically a calculation of Young's Modulus assumes that the material is at a standard density (i.e., 100%). If the density is less than 100%, these values may be different and the relationship between the full density measurements and reduced density measurements is not necessarily straightforward. The homogenization model provides the mapping between material density and effective mechanical properties.
[0027] Steps 230 - 240 show an interactive design editing process that may be performed at within the GUI of the design too. Starting at step 230, digital filtering operations are applied to the material density map to improve the fractional value assignments and distributions. These operations may include, for example, smoothing, high-pass filtering, histogram based contrast enhancement, etc. These are similar to 3D image processing techniques, and they perform similar functions here. For example, a 3D printer may not be able to print a "noisy" design that includes jagged edges. In this case, the operations performed at step 230 would smooth these edges to allow printing. In some embodiments, the filtering operations are suggested to the user based on automated analysis of the material density map. For example, operations may be directed at sections of the elements corresponding to areas of the fractional density map where there are sharp transitions between density levels. In some embodiments, the user may be provided with interactive wizards within the GUI to perform these operations. For example, the GUI may include interface elements such as checkboxes, sliders, etc., that allow the user to select individual filtering operations and adjust their corresponding parameters.
[0028] Using the homogenization model, the effective bulk material properties of the part are computed at step 235 using high performance computing (see FIG. 3) and reduced order models are used to interactively update the physical behavior of the part as the filtering operations are performed. In some embodiments, a 3D visualization of the density map and physical behavior is interactively updated to provide feedback to the user through the GUI of the design tool. Then, a non-homogeneous material mass property algorithm is used to compute weight, center of mass and other dynamics properties of the part at step 240 using the updated material density map. Various material mass property algorithms discussed in the art may be
used at step 240. One example algorithm is described in International Application No.
PCT/CN2017/076581 entitled "SYSTEMS AND METHODS FOR DETERMINING MASS PROPERTIES OF A MODELED OBJECT," filed on March 14, 2017 and incorporated herein by reference in its entirety. In some embodiments, the values are continuously updated and provided to the user as feedback through the GUI of the design tool.
[0029] In some embodiments of the method 200 discussed above, clustering is performed to segment the part geometry into regions where the values of density map are clustered.
Clustering can be understood as splitting the original part geometry into different regions. For example, the computing system may cluster all the density values between 0.2 and 0.4, etc. This results in the part geometry split into a plurality of smaller regions. This reduces the overall size of data that needs to be stored because, for a complicated object, there may be millions of volumetric elements associated with an object and each element has a density measurement value. The user may be provided with interactive tools via the GUI of the design tool to guide the clustering process. The physics analysis and mass properties may also be updated interactively as presented above. For each cluster, a smooth trivariate parametric or implicit function may be fit to approximate the material distribution. The coefficients of these functions (rather than all the density measurement values) may then be stored as the representation for the graded material distributions.
[0030] The method 200 provides various benefits over similar additive manufacturing material assignment techniques currently known in the art. First, many of the steps can be fully automated including the initial suggestion of graded material distributions using topology optimization, the automated digital filtering suggestions to improve density map, and the clustering suggestions to improve density distribution segmentation. Additionally, in contrast to conventional tools, the interactive wizards described above may be used to guide the user to improve material distribution with interactive feedback of physical behavior. Furthermore, the method permits the conversion of the discrete density map into a compact functional description.
[0031] FIG. 3 provides an example of a parallel processing memory architecture 300 that may be utilized to perform computations related to the generation and rendering of quadric beams and multi-quadric beams within design tools, according to some embodiments of the
present invention. This architecture 300 may be used in embodiments of the present invention where NVIDIA™ CUDA (or a similar parallel computing platform) is used. The architecture includes a host computing unit ("host") 305 and a GPU device ("device") 310 connected via a bus 315 (e.g., a PCIe bus). The host 305 includes the central processing unit, or "CPU" (not shown in FIG. 3) and host memory 325 which is accessible to the CPU. The device 310 includes the graphics processing unit (GPU) and its associated memory 320, referred to herein as device memory. The device memory 320 may include various types of memory, each optimized for different memory usages. For example, in some embodiments, the device memory includes global memory, constant memory, and texture memory.
[0032] Parallel portions of a deep learning application may be executed on the architecture 300 as "device kernels" or simply "kernels." A kernel comprises parameterized code configured to perform a particular function. The parallel computing platform is configured to execute these kernels in an optimal manner across the architecture 300 based on parameters, settings, and other selections provided by the user. Additionally, in some embodiments, the parallel computing platform may include additional functionality to allow for automatic processing of kernels in an optimal manner with minimal input provided by the user.
[0033] The processing required for each kernel is performed by a grid of thread blocks (described in greater detail below). Using concurrent kernel execution, streams, and
synchronization with lightweight events, the architecture 300 of FIG. 3 (or similar architectures) may be used to parallelize various operations associated with suggesting strategies for graded material distribution to a designer with the techniques described herein. For example, in some embodiments, the reduced order models may be coded to execute various steps in parallel while interactively updating the physical behavior of part as the filtering operations are performed.
[0034] The device 310 includes one or more thread blocks 330 which represent the computation unit of the device 310. The term thread block refers to a group of threads that can cooperate via shared memory and synchronize their execution to coordinate memory accesses. For example, in FIG. 3, threads 340, 345 and 350 operate in thread block 330 and access shared memory 335. Depending on the parallel computing platform used, thread blocks may be organized in a grid structure. A computation or series of computations may then be mapped onto
this grid. For example, in embodiments utilizing CUDA, computations may be mapped on one-, two-, or three-dimensional grids. Each grid contains multiple thread blocks, and each thread block contains multiple threads. For example, in FIG. 3, the thread blocks 330 are organized in a two dimensional grid structure with m+1 rows and n+1 columns. Generally, threads in different thread blocks of the same grid cannot communicate or synchronize with each other. However, thread blocks in the same grid can run on the same multiprocessor within the GPU at the same time. The number of threads in each thread block may be limited by hardware or software constraints. In some embodiments, processing of different regions of the lattice may be partitioned over thread blocks automatically by the parallel computing platform software.
[0035] Continuing with reference to FIG. 3, registers 355, 360, and 365 represent the fast memory available to thread block 330. Each register is only accessible by a single thread. Thus, for example, register 355 may only be accessed by thread 340. Conversely, shared memory is allocated per thread block, so all threads in the block have access to the same shared memory. Thus, shared memory 335 is designed to be accessed, in parallel, by each thread 340, 345, and 350 in thread block 330. Threads can access data in shared memory 335 loaded from device memory 320 by other threads within the same thread block (e.g., thread block 330). The device memory 320 is accessed by all blocks of the grid and may be implemented by using, for example, Dynamic Random-Access Memory (DRAM).
[0036] Each thread can have one or more levels of memory access. For example, in the architecture 300 of FIG. 3, each thread may have three levels of memory access. First, each thread 340, 345, 350, can read and write to its corresponding registers 355, 360, and 365.
Registers provide the fastest memory access to threads because there are no synchronization issues and the register is generally located close to a multiprocessor executing the thread.
Second, each thread 340, 345, 350 in thread block 330, may read and write data to the shared memory 335 corresponding to that block 330. Generally, the time required for a thread to access shared memory exceeds that of register access due to the need to synchronize access among all the threads in the thread block. However, like the registers in the thread block, the shared memory is typically located close to the multiprocessor executing the threads. The third level of memory access allows all threads on the device 310 to read and/or write to the device memory. Device memory requires the longest time to access because access must be synchronized across
the thread blocks operating on the device. Thus, in some embodiments, the processing of each subgraph is coded such that it primarily utilizes registers and shared memory and only utilizes device memory as necessary to move data in and out of a thread block.
[0037] The embodiments of the present disclosure may be implemented with any
combination of hardware and software. For example, aside from parallel processing architecture presented in FIG. 3, standard computing platforms (e.g., servers, desktop computer, etc.) may be specially configured to perform the techniques discussed herein. In addition, the embodiments of the present disclosure may be included in an article of manufacture (e.g., one or more computer program products) having, for example, computer-readable, non-transitory media. The media may have embodied therein computer readable program codes for providing and facilitating the mechanisms of the embodiments of the present disclosure. The article of manufacture can be included as part of a computer system or sold separately.
[0038] Unless stated otherwise as apparent from the following discussion, it will be appreciated that terms such as "applying," "generating," "identifying," "determining,"
"processing," "computing," "selecting," or the like may refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Embodiments of the methods described herein may be implemented using computer software. If written in a programming language conforming to a recognized standard, sequences of instructions designed to implement the methods can be compiled for execution on a variety of hardware platforms and for interface to a variety of operating systems. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement embodiments of the present invention.
[0039] An executable application, as used herein, comprises code or machine readable instructions for conditioning the processor to implement predetermined functions, such as those of an operating system, a context data acquisition system or other information processing system,
for example, in response to user command or input. An executable procedure is a segment of code or machine readable instruction, sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes. These processes may include receiving input data and/or parameters, performing operations on received input data and/or performing functions in response to received input parameters, and providing resulting output data and/or parameters.
[0040] A "graphical user interface" (GUI), as used herein, comprises one or more display images, generated by a display processor and enabling user interaction with a processor or other device and associated data acquisition and processing functions. The GUI also includes an executable procedure or executable application. The executable procedure or executable application conditions the display processor to generate signals representing the GUI display images. These signals are supplied to a display device which displays the image for viewing by the user. The processor, under control of an executable procedure or executable application, manipulates the GUI display images in response to signals received from the input devices. In this way, the user may interact with the display image using the input devices, enabling user interaction with the processor or other device.
[0041] The functions and process steps herein may be performed automatically or wholly or partially in response to user command. An activity (including a step) performed automatically is performed in response to one or more executable instructions or device operation without user direct initiation of the activity.
[0042] The system and processes of the figures are not exclusive. Other systems, processes and menus may be derived in accordance with the principles of the invention to accomplish the same objectives. Although this invention has been described with reference to particular embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustration purposes only. Modifications to the current design may be
implemented by those skilled in the art, without departing from the scope of the invention. As described herein, the various systems, subsystems, agents, managers and processes can be implemented using hardware components, software components, and/or combinations thereof.
No claim element herein is to be construed under the provisions of 35 U.S.C. 112(f) the element is expressly recited using the phrase "means for."
Claims
1. A computer-implemented method for generating graded material distributions based on functional requirements for additive manufacturing applications, the method comprising: receiving a 3-D model of an object to be printed; determining boundary conditions and target mechanical properties for the object based on user input; dividing the object into a plurality of volumetric elements; generating a material density map for the object by performing a topology optimization over the elements to assign a density measurement to each volumetric element; performing an interactive editing process in a graphical user interface (GUI) over one or more iterations, the process comprising: in response to one or more user instructions received via the GUI, performing one or more digital filtering operations on the material density map to yield an updated material density map, using a homogenization model to compute one or more effective bulk material properties of the object based on the updated material density map, and providing a visualization of the updated material density map and the effective bulk material properties in the GUI.
2. The method of claim 1 , wherein the interactive editing process further comprises: applying a non-homogeneous material mass property algorithm to compute one or more dynamic properties of the object using the updated material density map; providing a listing of the dynamic properties of the object in the visualization.
3. The method of claim 2, wherein the dynamic properties of the object comprise weight of the object and center of mass of the object.
4. The method of claim 1 , wherein the boundary conditions specify one or more physical loads to be supported by the object.
5. The method of claim 1 , wherein the target mechanical properties include a structural stiffness design target.
6. The method of claim 1 , wherein the target mechanical properties include a target weight.
7. The method of claim 1 , wherein the density measurement is a fractional value between 0 and 1 to each volumetric element.
8. The method of claim 1 , wherein the digital filtering operations comprise a smoothing operation.
9. The method of claim 1 , wherein the digital filtering operations comprise a high-pass filtering operation.
10. The method of claim 1 , wherein the digital filtering operations comprise a histogram- based contrast enhancement operation.
11. The method of claim 1 , wherein 3-D model comprises a computer-aided design (CAD) model of the object.
12. The method of claim 1, further comprising: clustering the volumetric elements based on their corresponding density measurements on the material density map.
13. An article of manufacture for generating graded material distributions based on functional requirements for additive manufacturing applications, the article of manufacture comprising a non-transitory, tangible computer-readable medium holding computer-executable instructions for performing a method comprising:
receiving input values comprising (a) 3-D model of an object to be printed and (b) boundary conditions and target mechanical properties for the object; generating a material density map for the object by performing a topology optimization over the elements to assign a density measurement to a plurality volumetric elements of the object; performing an interactive editing process in a graphical user interface (GUI) over one or more iterations, the process comprising: in response to one or more user instructions received via the GUI, performing one or more digital filtering operations on the material density map to yield an updated material density map, using a homogenization model to compute one or more effective bulk material properties of the object based on the updated material density map, and providing a visualization of the updated material density map and the effective bulk material properties in the GUI.
14. The article of manufacture of claim 13, wherein the interactive editing process further comprises: applying a non-homogeneous material mass property algorithm to compute one or more dynamic properties of the object using the updated material density map; providing a listing of the dynamic properties of the object in the visualization.
15. The article of manufacture of claim 13, wherein the digital filtering operations comprise a smoothing operation.
16. The article of manufacture of claim 13, wherein the digital filtering operations comprise a high-pass filtering operation.
17. The article of manufacture of claim 13, wherein the digital filtering operations comprise a histogram-based contrast enhancement operation.
18. The article of manufacture of claim 13, wherein the method further comprises: clustering the volumetric elements based on their corresponding density measurements on the material density map.
19. A system for partitioning a model to facilitate printing of the model on a three- dimensional printer, the system comprising: one or more processors; a non-transitory, computer-readable storage medium in operable communication with the processors, wherein the computer-readable storage medium comprises one or more programming instructions that, when executed, cause the processors to: receive a 3-D model of an object to be printed; determine boundary conditions and target mechanical properties for the object based on user input; divide the object into a plurality of volumetric elements; generate a material density map for the object by performing a topology optimization over the elements to assign a density measurement to each volumetric element; perform an interactive editing process in a graphical user interface (GUI) over one or more iterations, the process comprising:
in response to one or more user instructions received via the GUI, perform one or more digital filtering operations on the material density map to yield an updated material density map, use a homogenization model to compute one or more effective bulk material properties of the object based on the updated material density map, and provide a visualization of the updated material density map and the effective bulk material properties in the GUI; and following the interactive editing process, generating a printable lattice representative of the object based on the material density map; and one or more 3-D printers configured to print representations of the object based on the printable lattice.
20. The system of claim 19, further comprising: a parallel processing platform comprising the one or more processors and configured to execute operations associated with reduced order models in parallel to compute the effective bulk material properties of the object based on the updated material density map.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762590709P | 2017-11-27 | 2017-11-27 | |
US62/590,709 | 2017-11-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019103774A1 true WO2019103774A1 (en) | 2019-05-31 |
Family
ID=63579766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2018/047026 WO2019103774A1 (en) | 2017-11-27 | 2018-08-20 | Creating and editing graded material distributions based on functional requirements |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2019103774A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
-
2018
- 2018-08-20 WO PCT/US2018/047026 patent/WO2019103774A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Non-Patent Citations (6)
Title |
---|
CRAMER ANDREW D ET AL: "Microstructure interpolation for macroscopic design", STRUCTURAL AND MULTIDISCIPLINARY OPTIMIZATION, SPRINGER BERLIN HEIDELBERG, BERLIN/HEIDELBERG, vol. 53, no. 3, 24 October 2015 (2015-10-24), pages 489 - 500, XP035857431, ISSN: 1615-147X, [retrieved on 20151024], DOI: 10.1007/S00158-015-1344-7 * |
DIRK ROOS ET AL: "Structural Optimization of Solid Components with Topology Optimizing Structural Language", COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING, 19 October 2001 (2001-10-19), AMSTERDAM, NL, pages 1 - 11, XP055479935, ISSN: 0045-7825 * |
HÄGG LINUS ET AL: "Nonlinear filters in topology optimization: existence of solutions and efficient implementation for minimum compliance problems", STRUCTURAL AND MULTIDISCIPLINARY OPTIMIZATION, SPRINGER BERLIN HEIDELBERG, BERLIN/HEIDELBERG, vol. 55, no. 3, 13 August 2016 (2016-08-13), pages 1017 - 1028, XP036228634, ISSN: 1615-147X, [retrieved on 20160813], DOI: 10.1007/S00158-016-1553-8 * |
JOSÉ PEDRO BLASQUES ET AL: "Multi-material topology optimization of laminated composite beam cross sections", COMPOSITE STRUCTURES, vol. 94, no. 11, 31 December 2012 (2012-12-31), pages 3278 - 3289, XP028502063, ISSN: 0263-8223, [retrieved on 20120511], DOI: 10.1016/J.COMPSTRUCT.2012.05.002 * |
OLE SIGMUND: "Morphology-based black and white filters for topology optimization", STRUCTURAL AND MULTIDISCIPLINARY OPTIMIZATION, SPRINGER, BERLIN, DE, vol. 33, no. 4-5, 20 January 2007 (2007-01-20), pages 401 - 424, XP019487951, ISSN: 1615-1488, DOI: 10.1007/S00158-006-0087-X * |
XIA ZHAOHUI ET AL: "GPU parallel strategy for parameterized LSM-based topology optimization using isogeometric analysis", STRUCTURAL AND MULTIDISCIPLINARY OPTIMIZATION, SPRINGER BERLIN HEIDELBERG, BERLIN/HEIDELBERG, vol. 56, no. 2, 14 March 2017 (2017-03-14), pages 413 - 434, XP036263568, ISSN: 1615-147X, [retrieved on 20170314], DOI: 10.1007/S00158-017-1672-X * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10216172B2 (en) | Functional 3-D: optimized lattice partitioning of solid 3-D models to control mechanical properties for additive manufacturing | |
EP1302904B1 (en) | Object modeling | |
Haimes et al. | EGADSlite: a lightweight geometry kernel for HPC | |
Choi et al. | Vivaldi: A domain-specific language for volume processing and visualization on distributed heterogeneous systems | |
US20150127301A1 (en) | Updating A CAD Model To Reflect Global Or Local Shape Changes | |
Lee et al. | Simultaneous and incremental feature-based multiresolution modeling with feature operations in part design | |
CN112069730B (en) | Three-dimensional curve acquisition method and device for 3D printing | |
EP3740886A1 (en) | Topology optimization with design-dependent loads and boundary conditions for multi-physics applications | |
CN110168619A (en) | System and method for rendering complex data in virtual reality or augmented reality environment | |
Marchandise et al. | Quality open source mesh generation for cardiovascular flow simulations | |
Biancolini et al. | Virtual human bone modelling by interactive sculpting, mesh morphing and force-feedback | |
US9495798B2 (en) | Method and device for producing a finite element model | |
Palomar et al. | High-performance computation of bézier surfaces on parallel and heterogeneous platforms | |
CN107209794A (en) | The finite element modeling of anatomical structure | |
Konobrytskyi | Automated CNC tool path planning and machining simulation on highly parallel computing architectures | |
Toussaint et al. | An Integrated Platform for Dynamic Cardiac Simulation and Image Processing: Application to Personalised Tetralogy of Fallot Simulation. | |
EP3910602B1 (en) | Method for preserving shapes in solid model when distributing material during topological optimization with distance fields | |
WO2020023811A1 (en) | 3d object design synthesis and optimization using existing designs | |
NO20160206A1 (en) | Pixel-based or voxel-based mesh editing | |
CN108805876A (en) | Using biomechanical model magnetic resonance and ultrasonoscopy can deformable registration | |
Liu et al. | Automatic sizing functions for unstructured mesh generation revisited | |
CN117193988A (en) | Task scheduling method and medium for wafer-level framework AI acceleration chip | |
WO2019103774A1 (en) | Creating and editing graded material distributions based on functional requirements | |
Morell-Giménez et al. | Efficient tool path computation using multi-core GPUs | |
JP2001052041A (en) | Method and system for acquiring design parameter for optimizing multiple target function while satisfying multiple constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18769555 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18769555 Country of ref document: EP Kind code of ref document: A1 |