WO2024177670A1 - Neural network-guided synthesis of manufacturable geometric twins - Google Patents

Neural network-guided synthesis of manufacturable geometric twins Download PDF

Info

Publication number
WO2024177670A1
WO2024177670A1 PCT/US2023/062982 US2023062982W WO2024177670A1 WO 2024177670 A1 WO2024177670 A1 WO 2024177670A1 US 2023062982 W US2023062982 W US 2023062982W WO 2024177670 A1 WO2024177670 A1 WO 2024177670A1
Authority
WO
WIPO (PCT)
Prior art keywords
geometric
twin
computer processor
shape
shapes
Prior art date
Application number
PCT/US2023/062982
Other languages
French (fr)
Inventor
Ashish Gupta
Yu-Chin CHAN
Original Assignee
Siemens Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Corporation filed Critical Siemens Corporation
Priority to PCT/US2023/062982 priority Critical patent/WO2024177670A1/en
Publication of WO2024177670A1 publication Critical patent/WO2024177670A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

Definitions

  • This application relates to automated manufacturing. More specifically, this application relates to computer aided applications for designing surface features of objects that are easily manufactured using automated manufacturing processes.
  • Generative design methods such as topology optimization automatically generate shapes that satisfy geometry and physics constraints.
  • the shapes generated by such methods are organic looking, which are either difficult to manufacture or at times not manufacturable by conventional methods such as machining and milling.
  • these organic shapes are often represented through implicit fields such as Signed Distance Fields (SDFs), which are not easily editable by conventional modeling methods, for example those that edit a boundary representation (Brep), such as offsetting a face or filleting an edge.
  • SDFs Signed Distance Fields
  • Bop boundary representation
  • CAD applications provide a visual representation of a design and may include generative design software that explores a design space and provides a plurality of alternative designs to meet design goals.
  • some of the proposed designs may include surface structures that are difficult to edit or manufacture.
  • Described herein is a method of receiving an organic shape generated in a CAD application that utilizes a neural network to generate a geometric twin of the organic shape using basic geometric shapes that are easier to manufacture.
  • the neural network includes multiple layers where each layer receives a shape library and collection of shape operations. At each layer, additional shapes are contributed to an intermediate model to approximate a target organic shape.
  • An output layer provides a geometric twin that is compared to the original organic shape with a loss function. The measured difference is used to iteratively generate geometric twins until an updated geometric twin is produced that is within an acceptable tolerance of the original shape and may be manufactured using available automated manufacturing processes.
  • a method for creating a manufacturable geometric structure from an organic shape comprises creating a geometric twin of the organic shape, iteratively refining the geometric twin to minimize a difference between the organic shape and the geometric twin, and manufacturing a part based on the refined geometric twin.
  • a loss function to quantify the difference between the organic shape and the geometric twin may be generated and used to update the geometric twin iteratively to minimize the output value of the loss function. The iterations may be discontinued when the output of the loss function is below a pre-defined threshold value.
  • a neural network may be used to construct the geometric twin using a plurality of manufacturable geometric shapes. In the neural network, the first layer receives an initial set of shapes.
  • Each layer of the network learns to choose a subset of a library of operations, for example Boolean operations such as Union, intersection and subtraction in additional to other possible CAD operations including, but not limited to: extrusion, sweep, or revolve that operate on some of the input shapes provided to that layer.
  • Boolean operations such as Union, intersection and subtraction in additional to other possible CAD operations including, but not limited to: extrusion, sweep, or revolve that operate on some of the input shapes provided to that layer.
  • Each layer except a last output layer produces intermediate shapes that are provided along with the initial set of shapes to the next layer.
  • the final layer then produces the final output shape, which is the geometric twin of the organic shape.
  • An updated geometric twin is provided from an output layer of the neural network and the updated geometric twin is compared to the original organic shape based on the loss function.
  • a system for creating a manufacturable geometric structure from an organic structure including a first computer processor in commu nication with a first non-transitory computer memory.
  • the first non-transitory computer memory stores instructions that when executed by the first computer processor cause the first computer processor to perform the steps of creating a geometric twin of the organic shape, iteratively refining the geometric twin to minimize a difference between the organic shape and the geometric twin, and manufacturing a part based on the refined geometric twin.
  • the first non-transitory computer memory may further include instructions that cause the first computer processor to perform the steps of defining a loss function to quantify a difference between the organic shape and the geometric twin and updating the geometric twin iteratively to minimize the output value of the loss function.
  • the first non- transitory computer memory may additionally include instructions to cause the first computer processor to perform the steps of stopping the iterative refining of the geometric twin when the output of the loss function is below a pre-defined threshold value.
  • the first non-transitory computer memory may further instructions to generate the geometric twin using a neural network to construct the geometric twin using a plurality of manufacturable geometric shapes.
  • the first non-transitory computer memory may include instructions define a plurality of neural network layers, wherein each layer performs at least one operation on the plurality of manufacturable geometric shapes.
  • the first layer receives an initial set of shapes, then each layer of the network learns a set of operations, for example Boolean operations such as Union, Intersection and Subtraction, or other CAD operations such as extrusion, sweep, or revolve, that operate on some of the input shapes to that layer.
  • Boolean operations such as Union, Intersection and Subtraction, or other CAD operations such as extrusion, sweep, or revolve
  • Each layer except the last layer produces intermediate shapes that along with the "initial set of shapes" are input to the next layer.
  • the last layer then produces the final output shape, which is the geometric twin of the organic shape.
  • the neural network includes an output layer that outputs an updated geometric twin, and the updated geometric twin is compared to the organic shape based on the loss function.
  • the first non-transitory computer memory stores instructions to implement a manufacturable shape module as an integrated module of a computer-aided design (CAD) application.
  • CAD computer-aided design
  • a second computer processor and a second non-transitory computer memory includes instructions that execute a computer-aided design (CAD) application that generates the organic shape and provides the organic shape to the first computer processor defining a stand-alone product.
  • CAD computer-aided design
  • FIG. 1 is a block diagram of aspects of a product lifecycle management system according to aspects of embodiments of this disclosure.
  • FIG. 2 is a block diagram of a neural network for generating a manufacturable geometric twin of an organic shape according to aspects of embodiments of this disclosure.
  • FIG. 3 is a block diagram of a CAD application including a module for generating a manufacturable geometric shape from an organic shape according to aspects of embodiments of this disclosure.
  • FIG. 4 is a block diagram of a computer system for implementing systems and methods for generating a manufacturable geometric twin of an organic shape according to aspects of embodiments of this disclosure.
  • FIG. 1 is an illustration of aspects of a Product Lifecycle Management (PLM) system.
  • PLM Product Lifecycle Management
  • a designer utilizes a CAD application 1 10 to digitally represent the surface structures and shapes of the object.
  • a complex surface may be represented in the CAD application 1 10 as a set of smaller geometric shapes.
  • the designed shape of the object may then be provided to a computer-aided engineering (CAE) application 120.
  • the CAE application 120 is capable of performing physical simulations to evaluate the properties of the proposed shape. For example, physical simulations may be performed to determine strength or weight characteristics as well as other properties.
  • Environmental properties with respect to the proposed structure may also be evaluated, such as fluid dynamics in or around the structure may be modeled and evaluated.
  • the design for the object may be provided to a computer-aided manufacturing (CAM) application 130.
  • the CAM application 130 takes the proposed design and translates the design into a format that is ingestible by an automated manufacturing machine, such as a computer numerical control (CNC) machine 140.
  • CNC computer numerical control
  • the CAM application 130 may convert the proposed design to G-code which is processable by the CNC machine 140 to create the desired object.
  • Each of the CAD application 110, CAE application 120 and CAM application 130 may have native capabilities that can be supplemented or enhanced by additional software routines that enhance the performance of the application. Additional functionality may be provided by an integrated module 1 11 , 121 , 131 that is included and processed by the same computer processor as the associated application 110, 120, 130. Alternatively, additional functionality may be provided to an application 1 10, 120, 130 via a stand-alone product 113, 123, 133 that is stored and executed on a separate computer processor than the companion application 110, 120, 130.
  • a stand-alone product 1 13, 123, 133 or an integrated module 1 11 , 121 , 131 includes computer executable instructions that instruct a computer processor to do additional processing on data being acted on by the associated application 1 10, 120, 130.
  • the integrated module 1 11 , 121 , 131 or stand-alone product 1 13, 123, 133 may comprise computer code that executes an implementation of a neural network to perform additional processing to assist the associated application 1 10, 120, 130. Other types of additional processing may also be provided.
  • aspects of embodiments described in this disclosure may be implemented as an integrated module or stand-alone product to enhance a CAD application 110.
  • a neural network for creating manufacturable shapes from a generated organic shape 21 1 is shown.
  • the neural network shown in FIG. 2 may be implemented as a stand-alone product or as an integrated module to a CAD application 1 10 as described above with respect to FIG. 1 .
  • a library of geometric shapes P is provided as input 201 along with a library of shape operations M.
  • the first operation layer 210 utilizes one or more of the shapes 201 to begin building a geometric twin 209 of the organic shape 211.
  • Subsequent operation layers will further process the geometric twin by selection from the library of shape operations M to ultimately develop an output shape 209 that will attempt to approximate the original organic shape 211 .
  • the first operation layer 210 will produce an intermediate shape 211 based on at least one chosen operation M°.
  • the intermediate shape 21 1 P 0 ou t, the library of available shapes P and library of operations M are provided as input into the next operation layer 220.
  • Second operation layer 220 the library of geometric shapes P, library of Operations M, and the intermediate shape output by first operation layer 210 P°out are provided as input 203 to the second operation layer 220.
  • Second operation layer 220 further builds the geometric twin 209 by adding or removing additional geometric shapes and performing various operations to the shapes to construct an updated intermediate shape 221 which progresses the shape toward more closely resembling the original organic shape 21 1. Additional operation layers may be provided to end with an output layer 230.
  • the geometric shape library P, library of operations M, and the intermediate shape from the previous operation layer are provided to each subsequent operation layer.
  • Each operation layer continues to build intermediate shapes using basic geometric shapes to build a geometric twin 209 representative of organic shape 211 .
  • the building process performed by the operation layers 210, 220, 230 may be iteratively performed to build geometric twins 209 that strive to approximate the original organic shape 21 1.
  • a loss function 213 may be used to quantify the difference between the generated geometric twin 209 and the original organic shape 21 1 .
  • the result of the loss function 213 may be used to guide the neural network to produce a geometric twin 209 that is more faithful to the original generated organic shape 211. Iterations generating updated geometric twins 209 may stop after a pre-determined number of iterations, or the process may be concluded when a comparison of the geometric twin 209 and the target organic shape 21 1 results in a loss function value 213 that is below an acceptable tolerance or threshold.
  • the geometric twin may be generated as output from the CAD application to other PLM processes such as a CAE application or ultimately to a CAM application for provision to a manufacturing process, such as a CNC machine.
  • Other uses of the updated geometric twin 209 may also be contemplated.
  • the process of regenerating the updated geometric twin 203 may continue until a geometric twin is created that when compared to the original organic shape via the loss function falls below the pre-determined threshold 209.
  • FIG. 2 A technical description the architecture of FIG. 2 may be expressed as the following objective: Given an organic shape S, a set of input geometric shapes P in their canonical position, size and orientation, and a set of CAD operations M, generate a tree T of CAD operations that would create the geometric twin W that closely resembles S.
  • a proposed approach uses a differentiable geometric twin synthesizer with the following technical features: (1 ) parameterization of a tree T as a set of neural network layers, (2) transformation of a library of geometric operations (which suit the desired manufacturing process) into continuous representations, (3) probabilistic selection of the operations M and the shapes P on which they operate, and (4) optimization of the network by minimizing the difference between S and W.
  • the first layer of the network 210 receives an initial set of geometric shapes P 201 (which can include shapes with desirable engineering features) and the final output layer 230 constructs the geometric twin W 209.
  • Each operation layer 210, 220, ... prior to the output 230 contains probabilistic selection matrices that guide the choice of which geometric operations M'203, 205, to apply on one or more shapes from P.
  • the network can learn to select the most probable geometric operations and shapes.
  • Each layer 210, 220 230 then performs the chosen operations to create the intermediate shapes, P_out', and these resulting shapes are passed to the next layer along with the original inputs, P, which can be reused in subsequent operations.
  • the network minimizes a loss function f_loss 213 to ensure that the constructed geometric twin W 209 closely matches the target organic shape S 21 1 .
  • the process of optimizing the neural network may be performed for any individual organic shape S 211 .
  • a large training set of organic shapes can be provided, and the network expanded (by adding additional layers and weights per layer to increase its generalization ability), such that a general network can be trained once.
  • a tree T can be inferred almost instantaneously from the trained model for new shapes S that are similar to the training data, without having to re-optimize the network.
  • FIG. 3 is a flow diagram for a CAD application with a manufacturable shape module according to aspects of embodiments described in this disclosure.
  • CAD application 1 10 is configured to receive a user input 301 .
  • User input 301 may be provided through any suitable computer input device including but not limited to a mouse, pen, virtual reality headset, trackball, scanner and the like.
  • the user may provide input via a user interface provided by the CAD application 1 10.
  • the CAD application 110 includes libraries containing component shapes 303 and basic operations 305 that may be performed on or between one or more shapes 303.
  • the shapes 303 and operations 305 are provided toa design generator 307 that uses the shapes and operations to create a visual representation of a surface based on the user input 301.
  • the CAD application 110 generates an organic shape 309 that is not readily manufacturable by available manufacturing techniques due to the nature of the organic shape 21 1 which may be complex and contain transitional features that cannot be easily manufactured via automated techniques.
  • a manufacturable shape module 310 is provided as an integrated module in this embodiment that receives the shape library 303 and the operations library 305 along with generated organic shape 211 and generates a geometric twin 209 of the organic shape using basic geometric shapes and operations that are compatible with automated manufacturing processes.
  • the resultant geometric twin 209 may be output from the CAD application 110 and provided to downstream processing steps to manufacture the designed object.
  • the geometric twin may be provided to a CAE application and ultimately a CAM application and evaluated and formatted for ingestion by an automated manufacturing system, such as a CNC machine, robotic control system, or the like.
  • FIG. 4 illustrates an exemplary computing environment 400 within which embodiments of the invention may be implemented.
  • Computers and computing environments such as computer system 410 and computing environment 400, are known to those of skill in the art and thus are described briefly here.
  • the computer system 410 may include a communication mechanism such as a system bus 421 or other communication mechanism for communicating information within the computer system 410.
  • the computer system 410 further includes one or more processors 420 coupled with the system bus 421 for processing the information.
  • the processors 420 may include one or more central processing units (CPUs), graphical processing units (GPUs), or any other processor known in the art. More generally, a processor as used herein is a device for executing machine-readable instructions stored on a computer readable medium, for performing tasks and may comprise any one or combination of, hardware and firmware. A processor may also comprise memory storing machine-readable instructions executable for performing tasks. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device.
  • CPUs central processing units
  • GPUs graphical processing units
  • a processor may use or comprise the capabilities of a computer, controller or microprocessor, for example, and be conditioned using executable instructions to perform special purpose functions not performed by a general-purpose computer.
  • a processor may be coupled (electrically and/or as comprising executable components) with any other processor enabling interaction and/or communication there-between.
  • a user interface processor or generator is a known element comprising electronic circuitry or software or a combination of both for generating display images or portions thereof.
  • a user interface comprises one or more display images enabling user interaction with a processor or other device.
  • the computer system 410 also includes a system memory 430 coupled to the system bus 421 for storing information and instructions to be executed by processors 420.
  • the system memory 430 may include computer readable storage media in the form of volatile and/or nonvolatile memory, such as read only memory (ROM) 431 and/or random-access memory (RAM) 432.
  • the RAM 432 may include other dynamic storage device(s) (e.g., dynamic RAM, static RAM, and synchronous DRAM).
  • the ROM 431 may include other static storage device(s) (e.g., programmable ROM, erasable PROM, and electrically erasable PROM).
  • system memory 430 may be used for storing temporary variables or other intermediate information during the execution of instructions by the processors 420.
  • a basic input/output system 433 (BIOS) containing the basic routines that help to transfer information between elements within computer system 410, such as during start-up, may be stored in the ROM 431 .
  • RAM 432 may contain data and/or program modules that are immediately accessible to and/or presently being operated on by the processors 420.
  • System memory 430 may additionally include, for example, operating system 434, application programs 435, other program modules 436 and program data 437.
  • the computer system 410 also includes a disk controller 440 coupled to the system bus 421 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 441 and a removable media drive 442 (e.g., floppy disk drive, compact disc drive, tape drive, and/or solid-state drive).
  • Storage devices may be added to the computer system 410 using an appropriate device interface (e.g., a small computer system interface (SCSI), integrated device electronics (IDE), Universal Serial Bus (USB), or FireWire).
  • SCSI small computer system interface
  • IDE integrated device electronics
  • USB Universal Serial Bus
  • FireWire FireWire
  • the computer system 410 may also include a display controller 465 coupled to the system bus 421 to control a display or monitor 466, such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user.
  • the computer system includes an input interface 460 and one or more input devices, such as a keyboard 462 and a pointing device 461 , for interacting with a computer user and providing information to the processors 420.
  • the pointing device 461 for example, may be a mouse, a light pen, a trackball, or a pointing stick for communicating direction information and command selections to the processors 420 and for controlling cursor movement on the display 466.
  • the display 466 may provide a touch screen interface which allows input to supplement or replace the communication of direction information and command selections by the pointing device 461 .
  • an augmented reality device 467 that is wearable by a user, may provide input/output functionality allowing a user to interact with both a physical and virtual world.
  • the augmented reality device 467 is in communication with the display controller 465 and the user input interface 460 allowing a user to interact with virtual items generated in the augmented reality device 467 by the display controller 465.
  • the user may also provide gestures that are detected by the augmented reality device 467 and transmitted to the user input interface 460 as input signals.
  • the computer system 410 may perform a portion or all of the processing steps of embodiments of the invention in response to the processors 420 executing one or more sequences of one or more instructions contained in a memory, such as the system memory 430.
  • a memory such as the system memory 430.
  • Such instructions may be read into the system memory 430 from another computer readable medium, such as a magnetic hard disk 441 or a removable media drive 442.
  • the magnetic hard disk 441 may contain one or more datastores and data files used by embodiments of the present invention. Datastore contents and data files may be encrypted to improve security.
  • the processors 420 may also be employed in a multiprocessing arrangement to execute the one or more sequences of instructions contained in system memory 430.
  • hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
  • the computer system 410 may include at least one computer readable medium or memory for holding instructions programmed according to embodiments of the invention and for containing data structures, tables, records, or other data described herein.
  • the term “computer readable medium” as used herein refers to any medium that participates in providing instructions to the processors 420 for execution.
  • a computer readable medium may take many forms including, but not limited to, non- transitory, non-volatile media, volatile media, and transmission media.
  • Non-limiting examples of non-volatile media include optical disks, solid state drives, magnetic disks, and magneto-optical disks, such as magnetic hard disk 441 or removable media drive 442.
  • Non-limiting examples of volatile media include dynamic memory, such as system memory 430.
  • Non-limiting examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that make up the system bus 421 .
  • Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
  • the computing environment 400 may further include the computer system 410 operating in a networked environment using logical connections to one or more remote computers, such as remote computing device 480.
  • Remote computing device 480 may be a personal computer (laptop or desktop), a mobile device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer system 410.
  • computer system 410 may include modem 472 for establishing communications over a network 471 , such as the Internet. Modem 472 may be connected to system bus 421 via user network interface 470, or via another appropriate mechanism.
  • Network 471 may be any network or system generally known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection or series of connections, a cellular telephone network, or any other network or medium capable of facilitating communication between computer system 410 and other computers (e.g., remote computing device 480).
  • the network 471 may be wired, wireless or a combination thereof. Wired connections may be implemented using Ethernet, Universal Serial Bus (USB), RJ- 6, or any other wired connection generally known in the art.
  • Wireless connections may be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, cellular networks, satellite or any other wireless connection methodology generally known in the art. Additionally, several networks may work alone or in communication with each other to facilitate communication in the network 471 .
  • An executable application 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, subroutine, 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.
  • a graphical user interface 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)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Computer-aided drafting application provide a visual representation of a design and may generate surfaces that are difficult to manufacture. A method of receiving an organic shape (211) generated in a CAD application utilizes a neural network to generate a geometric twin (209) of the organic shape (211) using basic geometric shapes that are easier to manufacture. The neural network includes multiple layers (210, 220, 230) where each layer receives a shape library and collection of shape operations (201, 203, 205). At each layer, additional shapes are added to an intermediate model (211, 221) to approximate a target organic shape. An output layer provides a geometric twin (209) that is compared to the original organic shape (211) with a loss function (213). The measured difference is used to iteratively generate geometric twins until an updated geometric twin (209) is produced that is within an acceptable tolerance of the original shape (211) and may be manufactured using available automated manufacturing processes.

Description

NEURAL NETWORK-GUIDED SYNTHESIS OF MANUFACTURABLE GEOMETRIC TWINS
TECHNICAL FIELD
[0001] This application relates to automated manufacturing. More specifically, this application relates to computer aided applications for designing surface features of objects that are easily manufactured using automated manufacturing processes.
BACKGROUND
[0002] Generative design methods such as topology optimization automatically generate shapes that satisfy geometry and physics constraints. Often, the shapes generated by such methods are organic looking, which are either difficult to manufacture or at times not manufacturable by conventional methods such as machining and milling. Furthermore, these organic shapes are often represented through implicit fields such as Signed Distance Fields (SDFs), which are not easily editable by conventional modeling methods, for example those that edit a boundary representation (Brep), such as offsetting a face or filleting an edge. There is a gap between the output of a physics-informed generative design method and its editability by conventional modeling methods, as well as manufacturability by conventional manufacturing methods.
[0003] The problem of converting an organic shape to a closely resembling geometric shape has already been identified in literature as critical to large scale adoption of generative design methods. Unfortunately, in commercial computer-aided design (CAD) tools, this conversion is largely manual. For example, in tutorials provided by well-known CAD applications corrective approaches include drawing an outline around the organic shape and carving out a geometric shape from a solid workpiece or replacing part of a mesh that appears to be planar with a planar face. While such manual approaches may work for simple parts, they are not practicable for complex parts. Improved solutions to address the foregoing challenges are desired.
SUMMARY
[0004] CAD applications provide a visual representation of a design and may include generative design software that explores a design space and provides a plurality of alternative designs to meet design goals. However, some of the proposed designs may include surface structures that are difficult to edit or manufacture. Described herein is a method of receiving an organic shape generated in a CAD application that utilizes a neural network to generate a geometric twin of the organic shape using basic geometric shapes that are easier to manufacture. The neural network includes multiple layers where each layer receives a shape library and collection of shape operations. At each layer, additional shapes are contributed to an intermediate model to approximate a target organic shape. An output layer provides a geometric twin that is compared to the original organic shape with a loss function. The measured difference is used to iteratively generate geometric twins until an updated geometric twin is produced that is within an acceptable tolerance of the original shape and may be manufactured using available automated manufacturing processes.
[0005] There is a gap between the output of a physics-informed generative design method and its editability by conventional modeling methods, as well as manufacturability by conventional manufacturing methods. One way to bridge this gap is by converting the organic shape to a geometric shape that closely resembles it while being editable and manufacturable. Embodiments of the current disclosure focus on solutions to bridging this gap.
[0006] According to embodiments, a method for creating a manufacturable geometric structure from an organic shape comprises creating a geometric twin of the organic shape, iteratively refining the geometric twin to minimize a difference between the organic shape and the geometric twin, and manufacturing a part based on the refined geometric twin. A loss function to quantify the difference between the organic shape and the geometric twin may be generated and used to update the geometric twin iteratively to minimize the output value of the loss function. The iterations may be discontinued when the output of the loss function is below a pre-defined threshold value. A neural network may be used to construct the geometric twin using a plurality of manufacturable geometric shapes. In the neural network, the first layer receives an initial set of shapes. Each layer of the network learns to choose a subset of a library of operations, for example Boolean operations such as Union, intersection and subtraction in additional to other possible CAD operations including, but not limited to: extrusion, sweep, or revolve that operate on some of the input shapes provided to that layer. Each layer except a last output layer produces intermediate shapes that are provided along with the initial set of shapes to the next layer. The final layer then produces the final output shape, which is the geometric twin of the organic shape. An updated geometric twin is provided from an output layer of the neural network and the updated geometric twin is compared to the original organic shape based on the loss function.
[0007] In other embodiments, a system is provided for creating a manufacturable geometric structure from an organic structure including a first computer processor in commu nication with a first non-transitory computer memory. The first non-transitory computer memory stores instructions that when executed by the first computer processor cause the first computer processor to perform the steps of creating a geometric twin of the organic shape, iteratively refining the geometric twin to minimize a difference between the organic shape and the geometric twin, and manufacturing a part based on the refined geometric twin.
[0008] The first non-transitory computer memory may further include instructions that cause the first computer processor to perform the steps of defining a loss function to quantify a difference between the organic shape and the geometric twin and updating the geometric twin iteratively to minimize the output value of the loss function. The first non- transitory computer memory may additionally include instructions to cause the first computer processor to perform the steps of stopping the iterative refining of the geometric twin when the output of the loss function is below a pre-defined threshold value. In addition, the first non-transitory computer memory may further instructions to generate the geometric twin using a neural network to construct the geometric twin using a plurality of manufacturable geometric shapes. In some aspects, the first non-transitory computer memory may include instructions define a plurality of neural network layers, wherein each layer performs at least one operation on the plurality of manufacturable geometric shapes. In the neural network, the first layer receives an initial set of shapes, then each layer of the network learns a set of operations, for example Boolean operations such as Union, Intersection and Subtraction, or other CAD operations such as extrusion, sweep, or revolve, that operate on some of the input shapes to that layer. Each layer except the last layer produces intermediate shapes that along with the "initial set of shapes" are input to the next layer. The last layer then produces the final output shape, which is the geometric twin of the organic shape. The neural network includes an output layer that outputs an updated geometric twin, and the updated geometric twin is compared to the organic shape based on the loss function. In some embodiments, the first non-transitory computer memory stores instructions to implement a manufacturable shape module as an integrated module of a computer-aided design (CAD) application. In other embodiments, a second computer processor and a second non-transitory computer memory includes instructions that execute a computer-aided design (CAD) application that generates the organic shape and provides the organic shape to the first computer processor defining a stand-alone product.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] 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 is 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:
[0010] FIG. 1 is a block diagram of aspects of a product lifecycle management system according to aspects of embodiments of this disclosure.
[0011] FIG. 2 is a block diagram of a neural network for generating a manufacturable geometric twin of an organic shape according to aspects of embodiments of this disclosure. [0012] FIG. 3 is a block diagram of a CAD application including a module for generating a manufacturable geometric shape from an organic shape according to aspects of embodiments of this disclosure.
[0013] FIG. 4 is a block diagram of a computer system for implementing systems and methods for generating a manufacturable geometric twin of an organic shape according to aspects of embodiments of this disclosure.
DETAILED DESCRIPTION
[0014] FIG. 1 is an illustration of aspects of a Product Lifecycle Management (PLM) system. Given a set of specifications for a product, a designer utilizes a CAD application 1 10 to digitally represent the surface structures and shapes of the object. A complex surface may be represented in the CAD application 1 10 as a set of smaller geometric shapes. The designed shape of the object may then be provided to a computer-aided engineering (CAE) application 120. The CAE application 120 is capable of performing physical simulations to evaluate the properties of the proposed shape. For example, physical simulations may be performed to determine strength or weight characteristics as well as other properties. Environmental properties with respect to the proposed structure may also be evaluated, such as fluid dynamics in or around the structure may be modeled and evaluated. Once the structure has been determined viable by the CAE application 120, the design for the object may be provided to a computer-aided manufacturing (CAM) application 130. The CAM application 130 takes the proposed design and translates the design into a format that is ingestible by an automated manufacturing machine, such as a computer numerical control (CNC) machine 140. By way of non-limiting example, the CAM application 130 may convert the proposed design to G-code which is processable by the CNC machine 140 to create the desired object.
[0015] Each of the CAD application 110, CAE application 120 and CAM application 130 may have native capabilities that can be supplemented or enhanced by additional software routines that enhance the performance of the application. Additional functionality may be provided by an integrated module 1 11 , 121 , 131 that is included and processed by the same computer processor as the associated application 110, 120, 130. Alternatively, additional functionality may be provided to an application 1 10, 120, 130 via a stand-alone product 113, 123, 133 that is stored and executed on a separate computer processor than the companion application 110, 120, 130.
[0016] A stand-alone product 1 13, 123, 133 or an integrated module 1 11 , 121 , 131 includes computer executable instructions that instruct a computer processor to do additional processing on data being acted on by the associated application 1 10, 120, 130. In one non-limiting embodiment, the integrated module 1 11 , 121 , 131 or stand-alone product 1 13, 123, 133 may comprise computer code that executes an implementation of a neural network to perform additional processing to assist the associated application 1 10, 120, 130. Other types of additional processing may also be provided. Aspects of embodiments described in this disclosure may be implemented as an integrated module or stand-alone product to enhance a CAD application 110.
[0017] Referring to FIG. 2 a neural network for creating manufacturable shapes from a generated organic shape 21 1 is shown. The neural network shown in FIG. 2 may be implemented as a stand-alone product or as an integrated module to a CAD application 1 10 as described above with respect to FIG. 1 . At a first operation layer 210, a library of geometric shapes P is provided as input 201 along with a library of shape operations M. The first operation layer 210 utilizes one or more of the shapes 201 to begin building a geometric twin 209 of the organic shape 211. Subsequent operation layers will further process the geometric twin by selection from the library of shape operations M to ultimately develop an output shape 209 that will attempt to approximate the original organic shape 211 . The first operation layer 210 will produce an intermediate shape 211 based on at least one chosen operation M°. The intermediate shape 21 1 P0 out, the library of available shapes P and library of operations M are provided as input into the next operation layer 220.
[0018] At a second operation layer 220, the library of geometric shapes P, library of Operations M, and the intermediate shape output by first operation layer 210 P°out are provided as input 203 to the second operation layer 220. Second operation layer 220 further builds the geometric twin 209 by adding or removing additional geometric shapes and performing various operations to the shapes to construct an updated intermediate shape 221 which progresses the shape toward more closely resembling the original organic shape 21 1. Additional operation layers may be provided to end with an output layer 230. At each intermediate operation layer, the geometric shape library P, library of operations M, and the intermediate shape from the previous operation layer are provided to each subsequent operation layer. Each operation layer continues to build intermediate shapes using basic geometric shapes to build a geometric twin 209 representative of organic shape 211 . The building process performed by the operation layers 210, 220, 230 may be iteratively performed to build geometric twins 209 that strive to approximate the original organic shape 21 1. A loss function 213 may be used to quantify the difference between the generated geometric twin 209 and the original organic shape 21 1 . The result of the loss function 213 may be used to guide the neural network to produce a geometric twin 209 that is more faithful to the original generated organic shape 211. Iterations generating updated geometric twins 209 may stop after a pre-determined number of iterations, or the process may be concluded when a comparison of the geometric twin 209 and the target organic shape 21 1 results in a loss function value 213 that is below an acceptable tolerance or threshold.
[0019] Building a faithful geometric twin 209 based on basic geometric shapes and pre-defined operations, allows for the designed shape to be better suited for manufacturing. The original organic shape 211 designed solely through surface representation may produce shapes or transitional shapes that cannot be easily reproduced using available manufacturing processes. Manufacturing processes are well- suited for reproducing geometric shapes. Therefore, the development of a geometric twin that captures the specifications of the original shape while constructing the geometric twin using a basic library of geometric shapes results in a representation of the desired structure that is capable of reproduction through available manufacturing processes. The final output geometric twin 209 may be provided to subsequent processing steps for the manufacture of the object. For example, the geometric twin may be generated as output from the CAD application to other PLM processes such as a CAE application or ultimately to a CAM application for provision to a manufacturing process, such as a CNC machine. Other uses of the updated geometric twin 209 may also be contemplated. [0020] The process of regenerating the updated geometric twin 203 may continue until a geometric twin is created that when compared to the original organic shape via the loss function falls below the pre-determined threshold 209.
[0021] A technical description the architecture of FIG. 2 may be expressed as the following objective: Given an organic shape S, a set of input geometric shapes P in their canonical position, size and orientation, and a set of CAD operations M, generate a tree T of CAD operations that would create the geometric twin W that closely resembles S.
[0022] A proposed approach uses a differentiable geometric twin synthesizer with the following technical features: (1 ) parameterization of a tree T as a set of neural network layers, (2) transformation of a library of geometric operations (which suit the desired manufacturing process) into continuous representations, (3) probabilistic selection of the operations M and the shapes P on which they operate, and (4) optimization of the network by minimizing the difference between S and W.
[0023] Specifically, the first layer of the network 210 receives an initial set of geometric shapes P 201 (which can include shapes with desirable engineering features) and the final output layer 230 constructs the geometric twin W 209. Each operation layer 210, 220, ... prior to the output 230 contains probabilistic selection matrices that guide the choice of which geometric operations M'203, 205, to apply on one or more shapes from P. By treating the selection matrices as trainable network weights, the network can learn to select the most probable geometric operations and shapes. Each layer 210, 220 230 then performs the chosen operations to create the intermediate shapes, P_out', and these resulting shapes are passed to the next layer along with the original inputs, P, which can be reused in subsequent operations. The network minimizes a loss function f_loss 213 to ensure that the constructed geometric twin W 209 closely matches the target organic shape S 21 1 . Hence, the problem of inversely constructing a geometric twin and its tree of operations is transformed into the gradient-based optimization of the weights of a neural network.
[0024] The process of optimizing the neural network may be performed for any individual organic shape S 211 . Alternatively, a large training set of organic shapes can be provided, and the network expanded (by adding additional layers and weights per layer to increase its generalization ability), such that a general network can be trained once. Subsequently, a tree T can be inferred almost instantaneously from the trained model for new shapes S that are similar to the training data, without having to re-optimize the network.
[0025] In commercial CAD tools, the functionalities to assist in converting an organic shape to a closely resembling geometric shape are largely manual; embodiments described herein provide an automatic process. On the other hand, while existing academic solutions may be automatic, they are generally designed for predicting primitive shapes and CSG operations over those primitives. In contrast, the embodiments described here are more general since they may include geometric shapes beyond primitives as well as conventional CAD operations beyond just CSG operations.
[0026] FIG. 3 is a flow diagram for a CAD application with a manufacturable shape module according to aspects of embodiments described in this disclosure. CAD application 1 10 is configured to receive a user input 301 . User input 301 may be provided through any suitable computer input device including but not limited to a mouse, pen, virtual reality headset, trackball, scanner and the like. The user may provide input via a user interface provided by the CAD application 1 10. The CAD application 110 includes libraries containing component shapes 303 and basic operations 305 that may be performed on or between one or more shapes 303. The shapes 303 and operations 305 are provided toa design generator 307 that uses the shapes and operations to create a visual representation of a surface based on the user input 301. In some instances, the CAD application 110 generates an organic shape 309 that is not readily manufacturable by available manufacturing techniques due to the nature of the organic shape 21 1 which may be complex and contain transitional features that cannot be easily manufactured via automated techniques. A manufacturable shape module 310 is provided as an integrated module in this embodiment that receives the shape library 303 and the operations library 305 along with generated organic shape 211 and generates a geometric twin 209 of the organic shape using basic geometric shapes and operations that are compatible with automated manufacturing processes. The resultant geometric twin 209 may be output from the CAD application 110 and provided to downstream processing steps to manufacture the designed object. For example, the geometric twin may be provided to a CAE application and ultimately a CAM application and evaluated and formatted for ingestion by an automated manufacturing system, such as a CNC machine, robotic control system, or the like.
[0027] Outside of commercial CAD tools, some technical publications have proposed machine learning methods to compose complex shapes from simpler shapes. For example, some have proposed deep learning CSG trees from given 2D and 3D shapes, learning BSP trees to construct 2D and 3D shapes using linear half-spaces, and abstracting organic shapes to 3D primitives. Some other literature has presented reconstructed shapes specifically using CAD operations, for example via reinforcement learning the extrusion of Brep sketches, and by predicting programs with hard-coded shape features (e.g., legs of tables) .
[0028] To summarize, while commercial CAD software provide manual tools to assist in organic shape to geometric shape conversion, some publications propose deep learning-based solutions for simplifying organic shapes into primitives and learning CSG trees or simple CAD programs over those primitives. However, neither CAD tools nor publications have developed or propose a method to predict a general set of geometric shapes and a corresponding sequence of conventional modeling operations that would create a closely resembling geometric version of an organic shape. Moreover, the existing deep learning techniques either require large amounts of data, which may not always be available in engineering design scenarios, or are limited to small, simple sets of operations.
[0029] Towards the need established and the problem identified above, in this invention, we propose a method to automatically synthesize a “geometric twin” of an organic shape. We claim that this geometric twin is easier to manufacture by conventional manufacturing methods than the organic shape. We also produce a set of geometric shapes and a sequence of conventional modeling operations, which operate on these shapes to produce the geometric twin. We claim that one can then edit the geometric shapes or the corresponding operations to modify the geometric twin as desired. Our invention is driven by neural networks and has the following flexibilities: (a) it can predict sequences of CAD operations, such as CSG operations (b) it can accommodate shapes with engineering features, and (c) it requires only one data sample (a target organic shape) but can be extended to learn over large datasets.
[0030] FIG. 4 illustrates an exemplary computing environment 400 within which embodiments of the invention may be implemented. Computers and computing environments, such as computer system 410 and computing environment 400, are known to those of skill in the art and thus are described briefly here.
[0031] As shown in FIG. 4, the computer system 410 may include a communication mechanism such as a system bus 421 or other communication mechanism for communicating information within the computer system 410. The computer system 410 further includes one or more processors 420 coupled with the system bus 421 for processing the information.
[0032] The processors 420 may include one or more central processing units (CPUs), graphical processing units (GPUs), or any other processor known in the art. More generally, a processor as used herein is a device for executing machine-readable instructions stored on a computer readable medium, for performing tasks and may comprise any one or combination of, hardware and firmware. A processor may also comprise memory storing machine-readable instructions executable for performing tasks. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device. A processor may use or comprise the capabilities of a computer, controller or microprocessor, for example, and be conditioned using executable instructions to perform special purpose functions not performed by a general-purpose computer. A processor may be coupled (electrically and/or as comprising executable components) with any other processor enabling interaction and/or communication there-between. A user interface processor or generator is a known element comprising electronic circuitry or software or a combination of both for generating display images or portions thereof. A user interface comprises one or more display images enabling user interaction with a processor or other device.
[0033] Continuing with reference to FIG. 4, the computer system 410 also includes a system memory 430 coupled to the system bus 421 for storing information and instructions to be executed by processors 420. The system memory 430 may include computer readable storage media in the form of volatile and/or nonvolatile memory, such as read only memory (ROM) 431 and/or random-access memory (RAM) 432. The RAM 432 may include other dynamic storage device(s) (e.g., dynamic RAM, static RAM, and synchronous DRAM). The ROM 431 may include other static storage device(s) (e.g., programmable ROM, erasable PROM, and electrically erasable PROM). In addition, the system memory 430 may be used for storing temporary variables or other intermediate information during the execution of instructions by the processors 420. A basic input/output system 433 (BIOS) containing the basic routines that help to transfer information between elements within computer system 410, such as during start-up, may be stored in the ROM 431 . RAM 432 may contain data and/or program modules that are immediately accessible to and/or presently being operated on by the processors 420. System memory 430 may additionally include, for example, operating system 434, application programs 435, other program modules 436 and program data 437.
[0034] The computer system 410 also includes a disk controller 440 coupled to the system bus 421 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 441 and a removable media drive 442 (e.g., floppy disk drive, compact disc drive, tape drive, and/or solid-state drive). Storage devices may be added to the computer system 410 using an appropriate device interface (e.g., a small computer system interface (SCSI), integrated device electronics (IDE), Universal Serial Bus (USB), or FireWire).
[0035] The computer system 410 may also include a display controller 465 coupled to the system bus 421 to control a display or monitor 466, such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. The computer system includes an input interface 460 and one or more input devices, such as a keyboard 462 and a pointing device 461 , for interacting with a computer user and providing information to the processors 420. The pointing device 461 , for example, may be a mouse, a light pen, a trackball, or a pointing stick for communicating direction information and command selections to the processors 420 and for controlling cursor movement on the display 466. The display 466 may provide a touch screen interface which allows input to supplement or replace the communication of direction information and command selections by the pointing device 461 . In some embodiments, an augmented reality device 467 that is wearable by a user, may provide input/output functionality allowing a user to interact with both a physical and virtual world. The augmented reality device 467 is in communication with the display controller 465 and the user input interface 460 allowing a user to interact with virtual items generated in the augmented reality device 467 by the display controller 465. The user may also provide gestures that are detected by the augmented reality device 467 and transmitted to the user input interface 460 as input signals. [0036] The computer system 410 may perform a portion or all of the processing steps of embodiments of the invention in response to the processors 420 executing one or more sequences of one or more instructions contained in a memory, such as the system memory 430. Such instructions may be read into the system memory 430 from another computer readable medium, such as a magnetic hard disk 441 or a removable media drive 442. The magnetic hard disk 441 may contain one or more datastores and data files used by embodiments of the present invention. Datastore contents and data files may be encrypted to improve security. The processors 420 may also be employed in a multiprocessing arrangement to execute the one or more sequences of instructions contained in system memory 430. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
[0037] As stated above, the computer system 410 may include at least one computer readable medium or memory for holding instructions programmed according to embodiments of the invention and for containing data structures, tables, records, or other data described herein. The term “computer readable medium” as used herein refers to any medium that participates in providing instructions to the processors 420 for execution. A computer readable medium may take many forms including, but not limited to, non- transitory, non-volatile media, volatile media, and transmission media. Non-limiting examples of non-volatile media include optical disks, solid state drives, magnetic disks, and magneto-optical disks, such as magnetic hard disk 441 or removable media drive 442. Non-limiting examples of volatile media include dynamic memory, such as system memory 430. Non-limiting examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that make up the system bus 421 . Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
[0038] The computing environment 400 may further include the computer system 410 operating in a networked environment using logical connections to one or more remote computers, such as remote computing device 480. Remote computing device 480 may be a personal computer (laptop or desktop), a mobile device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer system 410. When used in a networking environment, computer system 410 may include modem 472 for establishing communications over a network 471 , such as the Internet. Modem 472 may be connected to system bus 421 via user network interface 470, or via another appropriate mechanism.
[0039] Network 471 may be any network or system generally known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection or series of connections, a cellular telephone network, or any other network or medium capable of facilitating communication between computer system 410 and other computers (e.g., remote computing device 480). The network 471 may be wired, wireless or a combination thereof. Wired connections may be implemented using Ethernet, Universal Serial Bus (USB), RJ- 6, or any other wired connection generally known in the art. Wireless connections may be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, cellular networks, satellite or any other wireless connection methodology generally known in the art. Additionally, several networks may work alone or in communication with each other to facilitate communication in the network 471 .
[0040] 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, subroutine, 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.
[0041] 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.
[0042] 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.
[0043] 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. 1 12, sixth paragraph, unless the element is expressly recited using the phrase “means for.”

Claims

CLAIMS What is claimed is:
1 . A method for creating a manufacturable geometric structure from an organic shape comprising: creating a geometric twin of the organic shape; iteratively refining the geometric twin to minimize a difference between the organic shape and the geometric twin; and manufacturing a part based on the refined geometric twin.
2. The method of Claim 1 , further comprising: defining a loss function to quantify the difference between the organic shape and the geometric twin; and updating the geometric twin iteratively to minimize the output value of the loss function.
3. The method of Claim 2, further comprising: stopping the iterative refining of the geometric twin on a condition that the output of the loss function is below a pre-defined threshold value.
4. The method of Claim 1 , further comprising: updating the geometric twin using a neural network to construct the geometric twin using a plurality of manufacturable geometric shapes.
5. The method of Claim 4, further comprising: defining a plurality of neural network layers, wherein each layer performs at least one operation on the plurality of manufacturable geometric shapes.
6. The method of Claim 5, wherein the at least one operation performed in one of the layers is selected from a library of operations comprising one or more Boolean operations selected from a list comprising a union, a subtraction, an intersection and comprising computer aided design operations comprising an extrusion, a sweep and a revolve.
7. The method of Claim 5, further comprising: receiving an updated geometric twin from an output layer of the neural network; comparing the updated geometric twin to the organic shape based on the loss function.
8. A system for creating a manufacturable geometric structure from an organic structure comprising: a first computer processor in communication with a first non-transitory computer memory, the first non-transitory computer memory storing instructions that when executed by the first computer processor cause the first computer processor to perform the steps of: creating a geometric twin of the organic shape; iteratively refining the geometric twin to minimize a difference between the organic shape and the geometric twin; and manufacturing a part based on the refined geometric twin.
9. The system of Claim 8, wherein the first non-transitory computer memory stores instructions that when executed by the first computer processor further cause the first computer processor to perform the steps of: defining a loss function to quantify the difference between the organic shape and the geometric twin; and updating the geometric twin iteratively to minimize the output value of the loss function.
10. The system of Claim 9, wherein the first non-transitory computer memory stores instructions that when executed by the first computer processor further cause the first computer processor to perform the steps of: stopping the iterative refining of the geometric twin on a condition that the output of the loss function is below a pre-defined threshold value.
1 1 . The system of Claim 8, wherein the first non-transitory computer memory stores instructions that when executed by the first computer processor further cause the first computer processor to perform the steps of: updating the geometric twin using a neural network to construct the geometric twin using a plurality of manufacturable geometric shapes.
12. The system of Claim 1 1 , wherein the first non-transitory computer memory stores instructions that when executed by the first computer processor further cause the first computer processor to perform the steps of: defining a plurality of neural network layers, wherein each layer performs an operation on the plurality of manufacturable geometric shapes.
13. The system of Claim 12, wherein the first non-transitory computer memory stores instructions that when executed by the first computer processor further cause the first computer processor to perform the steps of: performing in one of the layers selection from a library of operations that comprises a union operation, a subtraction operation, an extrusion operation, a sweep operation and a revolve operation.
14. The system of Claim 12, wherein the first non-transitory computer memory stores instructions that when executed by the first computer processor further cause the first computer processor to perform the steps of: performing in one of the layers a subtraction of one or more geometric shapes.
15. The system of Claim 12, wherein the first non-transitory computer memory stores instructions that when executed by the first computer processor further cause the first computer processor to perform the steps of: performing in one of the layers a union of one or more geometric shapes.
16. The system of Claim 14, wherein the first non-transitory computer memory stores instructions that when executed by the first computer processor further cause the first computer processor to perform the steps of: receiving an updated geometric twin from an output layer of the neural network; comparing the updated geometric twin to the organic shape based on the loss function.
17. The system of Claim 8, wherein the first non-transitory computer memory stores instructions to implement a manufacturable shape module as an integrated module of a computer-aided design (CAD) application.
18. The system of Claim 8, further comprising a second computer processor and a second non-transitory computer memory storing instructions that when executed by the second computer processor cause the second computer processor to execute a computer-aided design (CAD) application that generates the organic shape and provides the organic shape to the first computer processor.
PCT/US2023/062982 2023-02-22 2023-02-22 Neural network-guided synthesis of manufacturable geometric twins WO2024177670A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2023/062982 WO2024177670A1 (en) 2023-02-22 2023-02-22 Neural network-guided synthesis of manufacturable geometric twins

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2023/062982 WO2024177670A1 (en) 2023-02-22 2023-02-22 Neural network-guided synthesis of manufacturable geometric twins

Publications (1)

Publication Number Publication Date
WO2024177670A1 true WO2024177670A1 (en) 2024-08-29

Family

ID=85724711

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2023/062982 WO2024177670A1 (en) 2023-02-22 2023-02-22 Neural network-guided synthesis of manufacturable geometric twins

Country Status (1)

Country Link
WO (1) WO2024177670A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHACÓN J M ET AL: "Integration of topology optimized designs into CAD/CAM via an IGES translator", STRUCTURAL AND MULTIDISCIPLINARY OPTIMIZATION, SPRINGER BERLIN HEIDELBERG, BERLIN/HEIDELBERG, vol. 50, no. 6, 21 August 2014 (2014-08-21), pages 1115 - 1125, XP035448630, ISSN: 1615-147X, [retrieved on 20140821], DOI: 10.1007/S00158-014-1099-6 *
GE YIN ET AL: "Topologically robust CAD model generation for structural optimisation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 17 June 2019 (2019-06-17), XP081383159 *
MARTIN MARINOV ET AL: "Generative Design Conversion to Editable and Watertight Boundary Representation", COMPUTER-AIDED DESIGN, vol. 115, 14 May 2019 (2019-05-14), GB, pages 194 - 205, XP055620842, ISSN: 0010-4485, DOI: 10.1016/j.cad.2019.05.016 *

Similar Documents

Publication Publication Date Title
US11423189B2 (en) System for automated generative design synthesis using data from design tools and knowledge from a digital twin
US12112102B2 (en) Techniques for applying generative design to the configuration of mechanical assemblies
Tornincasa et al. The future and the evolution of CAD
US10255381B2 (en) 3D modeled object defined by a grid of control points
Keshavarzi et al. Sketchopt: Sketch-based parametric model retrieval for generative design
EP3696745A1 (en) Intelligent workflow advisor for part design, simulation and manufacture
JP2022098497A (en) Topology optimization with reaction-diffusion equations
WO2020023811A1 (en) 3d object design synthesis and optimization using existing designs
US10943037B2 (en) Generating a CAD model from a finite element mesh
US20250117536A1 (en) Machine learning for animatronic development and optimization
Martin et al. A vr-cad data model for immersive design: The crea-vr proof of concept
Jayaram et al. Reorganizing CAD assembly models (as-designed) for manufacturing simulations and planning (as-built)
US20250045471A1 (en) Multimodal prompts for machine learning models to generate three-dimensional designs
WO2023027700A1 (en) Performing topology optimization fully with deep learning networks
WO2024177670A1 (en) Neural network-guided synthesis of manufacturable geometric twins
WO2021154251A1 (en) Automatic simplification of a rigid-body simulation
US20110307224A1 (en) System and Method for Machine Engine Modeling
CN115719406A (en) Expression grid body construction method, expression grid body model construction method, related equipment and storage medium
WO2021203076A1 (en) Method for understanding and synthesizing differentiable scenes from input images
De Floriani et al. A Java3D framework for inspecting and segmenting 3D models
Perles et al. Interactive virtual tools for manipulating NURBS surfaces in a virtual environment
TWI819989B (en) Modeling device and modeling method for 3d object
WO2024049427A1 (en) A system for optimization of complex systems using data-driven modeling of cross-discipline interaction
US20250131138A1 (en) Contextual recommendations for three-dimensional design spaces
Podbreznik et al. Modeling conditions required for recognition of building elements from site images

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: 23712713

Country of ref document: EP

Kind code of ref document: A1