WO2024177670A1 - Neural network-guided synthesis of manufacturable geometric twins - Google Patents
Neural network-guided synthesis of manufacturable geometric twins Download PDFInfo
- 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
Links
- 230000015572 biosynthetic process Effects 0.000 title description 2
- 230000001537 neural effect Effects 0.000 title description 2
- 238000003786 synthesis reaction Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000004519 manufacturing process Methods 0.000 claims abstract description 30
- 238000013528 artificial neural network Methods 0.000 claims abstract description 26
- 238000011960 computer-aided design Methods 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 12
- 230000006854 communication Effects 0.000 claims description 12
- 238000007670 refining Methods 0.000 claims description 7
- 238000001125 extrusion Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 abstract description 17
- 230000000007 visual effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 239000000047 product Substances 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000003801 milling Methods 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
- 230000003287 optical effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
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
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.
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) |
-
2023
- 2023-02-22 WO PCT/US2023/062982 patent/WO2024177670A1/en unknown
Non-Patent Citations (3)
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 |