Machine Learning-Based Design Based on the Physical Structure of a Beam

Through a machine learning-based structural design system, the design of physical structures is generated using coded design space and machine learning models, the problem of lack of guidance in the generation of beam-based physical structure design is solved, and efficient and rapid design generation is achieved to meet strength, cost and usage requirements.

CN116097265BActive Publication Date: 2025-06-10SIMENS INDASTRI SOFTVEAR INK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080103592.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-31
Publication Date
2025-06-10
Estimated Expiration
2040-08-31

AI Technical Summary

Technical Problem

In the generation of beam-based physical structural designs, existing CAD systems lack guidance on how to actually generate beam layouts, determine end cutting parameters, and generate designs with desired strength, cost and usage properties.

Method used

Using a structural design system based on machine learning, through the design space access engine and structural design engine, the encoded design space and machine learning models are used to generate the design of physical structures, including frame layout, beam classification, offset or rotation value, end cutting classification, etc.

Benefits of technology

Improves computing speed, reduces processing delays, and enables the generation of beam-based physical structural designs that meet strength, cost and usage requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116097265B_ABST
    Figure CN116097265B_ABST
Patent Text Reader

Abstract

A computing system (100) may include a design space access engine (108) configured to access a design space (210) of a physical structure. The computing system (100) may also include a structure design engine (110) configured to encode the design space (210) into a three-dimensional (3D) set of rectangles (222). Each 3D rectangle (222) may define a candidate beam location (224) in the physical structure, and the candidate beam location (224) of the 3D rectangle may be defined by a line between vertex pairs of each 3D rectangle (222). The structure design engine (110) may also provide the encoded design space (220, 320, 420, 520) as an input to a machine learning (ML) model (120), generate a design of the physical structure by the ML model (120) based on the encoded design space (220, 320, 420, 520), and provide the design of the physical structure to support the fabrication of the physical structure.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Modern computer systems can be used to create, use, and manage data for products and other items. For example, Computer-Aided Technology (CAx) systems can be used to assist in the design, analysis, simulation, or manufacturing of products. Examples of CAx systems include Computer-Aided Design (CAD) systems, Computer-Aided Engineering (CAE) systems, visualization and Computer-Aided Manufacturing systems, Product Data Management (PDM) systems, Product Lifecycle Management (PLM) systems, and so on. These CAx systems can include components (such as CAx applications) that facilitate the design and simulation testing of product structures and product manufacturing processes. Brief Description of the Drawings

[0002] Certain examples are described in the following detailed description with reference to the drawings.

[0003] Figure 1 An example of a computing system that supports machine learning (ML)-based structural design of a beam-based physical structure is shown.

[0004] Figure 2 An exemplary ML-based design of a frame layout of a physical structure via an encoded design space is shown.

[0005] Figure 3 An example of beam classification for determining a physical structure design based on ML is shown.

[0006] Figure 4 An example of determining offset or rotation values of beams for a physical structure design based on ML is shown.

[0007] Figure 5 An example of determining end cut classification for a physical structure design based on ML is shown.

[0008] Figure 6 An exemplary training of an ML model by a structure design engine is shown.

[0009] Figure 7 An example of the logic that a system can implement to support ML-based structural design is shown.

[0010] Figure 8 An example of a computing system that supports ML-based structural design is shown. Detailed implementation manners

[0011] The discussions in this article relate to physical structures, including beam-based physical structures. A beam-based physical structure can refer to any structure that includes beams, and a beam can include any linear structural element. Beams can provide a framework structure for various products, building structures, etc., and can be used as load-bearing or shape-defining elements in design, or for various other purposes. As an example, a steel beam framework structure can be used for building frameworks, platforms, access channels, or any number of other physical structures.

[0012] The design of beam-based physical structures can be complex. For example, the design of steel framework structures and other beam-based physical structures may require domain experts who have certain knowledge in the art and science of arranging beam frameworks to meet the load requirements of trimming and combining rigid steel members in order to meet strength, cost, usage, and maintenance requirements, as well as other required beam-based design expertise. Modern CAD tools may require such domain experts to perform many repetitive and tedious tasks to produce a satisfactory design of beam-based physical structures. Although CAD tools can provide the ability to create complex geometric features that form beam-based physical structures, current CAD systems may provide little or no guidance on how to actually generate beam layouts, determine end-cutting parameters, and produce multiple other design components of beam-based physical structures with desired strength, cost, and usage attributes.

[0013] The disclosure in this article can provide systems, methods, devices, and logics for ML-based structural design. As described in more detail herein, various features are proposed to support the generation of structural designs of beam-based physical structures through machine learning. The described ML-based structural design features can support the design of physical structures by generating a framework layout, beam classification, offset or rotation values, end-cutting assignments, or various other design components of a beam-based physical structure based on ML. The ML-based structural design features described herein can also utilize an encoded design space to represent beam-based structural designs, including encoding candidate and determined beam positions in the design space. Such an encoded design space can be sparsely defined and encoded with various design elements, parameters, and features of physical structure designs. In this regard, the encoded design space described herein does not need to encode each individual point or voxel of the CAD coordinate system used to model physical structure designs. By doing so, the encoded design space feature of the present invention can greatly reduce the amount of data provided, processed, learned, and applied by the ML model. Thus, compared with traditional design processes or other brute-force computing and ML-based design techniques, the ML-based structural design features described herein can provide increased computational speed and reduced processing latency.

[0014] These and other ML-based structural design features and technical benefits are described in more detail herein.

[0015] Figure 1 An example of a computing system 100 that supports ML-based structural design for generating beam-based physical structures is shown. The computing system 100 may take the form of a single or multiple computing devices (such as application servers, computing nodes, desktop or laptop computers, smartphones or other mobile devices, tablet devices, embedded controllers, etc.). In some implementations, the computing system 100 implements CAx tools, applications, or programs to assist a user in designing, analyzing, simulating, or 3D manufacturing physical structures.

[0016] As an example implementation that supports any combination of the ML-based structural design features described herein, Figure 1 the illustrated computing system 100 includes a design space access engine 108 and a structural design engine 110. The computing system 100 may implement the engines 108 and 110 (including their components) in various ways (such as hardware and programming). The programming for the engines 108 and 110 may take the form of processor-executable instructions stored on a non-transitory machine-readable storage medium, and the hardware for the engines 108 and 110 may include a processor that executes these instructions. The processor may take the form of a single-processor or multi-processor system, and in some examples, the computing system 100 uses the same computing system features or hardware components (such as a common processor or a common storage medium) to implement multiple engines.

[0017] In Figure 1 the illustrated example, the computing system 100 also includes a machine learning model 120. The computing system 100 itself may implement the ML model 120, or in some implementations, remotely access the ML model 120. The ML model 120 may implement or support any number of machine learning capabilities, algorithms, techniques, or processes to support physical structure design. For example, the ML model 120 may implement any number of supervised, semi-supervised, unsupervised, or reinforcement learning models to generate a physical structure design or any of its design components. As an illustrative example, the ML model 120 may utilize Markov chains, context trees, support vector machines, convolutional neural networks, Bayesian networks, or various other machine learning components, techniques, or algorithms to interpret existing designs of beam-based physical structures and subsequently generate a structural design, create a structural framework, determine design parameters, or otherwise support the design of beam-based physical structures. As a continuing example herein, the training and application of the ML model 120 are discussed in the context of the design space access engine 108 and the structural design engine 110.

[0018] In operation, the design space access engine 108 can access the design space of a physical structure. In operation, the structure design engine 110 can encode the design space into a set of three-dimensional (3D) rectangles, and each 3D rectangle can define a candidate beam position in the physical structure, and the candidate beam position in the 3D rectangle can be defined by a line between vertex pairs of each 3D rectangle. The structure design engine 110 can also provide the encoded design space as an input to the ML model 120, and generate a design of the physical structure based on the encoded design space by the ML model 120. The design of the physical structure can include beams at beam positions determined by the ML model 120 based on the candidate beam positions. The structure design engine 110 can also provide the design of the physical structure to support the manufacturing of the physical structure.

[0019] These and other ML-based structure design features are described in more detail herein. Next, in conjunction with Figures 2 to 5 describe example features in applying an ML model to support the design of a physical structure, and later in conjunction with Figure 6 describe example ML model training features.

[0020] Figure 2 An ML-based exemplary design of the frame layout of a physical structure via an encoded design space is shown. In the Figure 2 example, an illustrative computing system is presented by the design space access engine 108 and the structure design engine 110. Any other system implementation of the ML-based structure design features described herein is also contemplated.

[0021] In the Figure 2 example shown, the design space access engine 108 accesses the design space 210. The design space can refer to any bounded space used for the design, modeling, or generation of a CAD physical structure. Some CAD applications can implement the design space as a bounding box, and the design space access engine 108 can obtain the design space 210 as a user-specified input depicting the boundaries, volume, area, or other spatial characteristics of the physical structure design. As another example, the design space access engine 108 can access the design space 210 from a design library of beam-based physical structure designs as a template or pre-configured boundary space. For example, a CAD application can include templated design areas for different types or classes of physical structures, and the design space access engine 108 can access the pre-configured design space accordingly. As yet another example, the design space access engine 108 can obtain the design space 210 as a boundary volume surrounding a pre-existing physical structure design, thereby using such a boundary volume as a starting point for the design of a different physical structure (e.g., a next version of the physical structure).

[0022] The design space 210 accessed by the design space access engine 108 may represent a 3D volume within or occupied by which elements of a physical structure design may be located. The structure design engine 110 may implement ML-based design capabilities to generate a beam-based physical structure design for the design space 210, or to generate, determine, or produce selected design components of a physical structure design. In doing so, the structure design engine 110 may access the ML model 120, and the ML model 120 may be configured to learn structure design techniques, parameters, and elements by learning from a training set of existing physical structures. Specifically, the structure design engine 110 and the ML model 120 may support the design of beam-based physical structures. As described herein, a beam-based physical structure may refer to any physical structure composed of or including beams (e.g., linear structural elements). In some implementations, the structure design engine 110 may utilize the ML model 120 in the generation of a frame layout that includes determined beam positions, beam classifications (e.g., distinguished based on cross-sectional shape or other structural characteristics), beam offset or rotation values, end cut classifications, end cut or joint parameters, etc. in the design space 210.

[0023] To support ML-based structure design, the structure design engine 110 may transform the design space 210 into an encoded design space. Modern CAD systems may represent a design space via 3D coordinate systems, spatial voxelization, or depth maps. To support increased granularity and precision, even the design space of a relatively small physical structure may include a large number of discrete points. ML-based training and processing of a high-precision design space may require significant computational power and processing time. It can be seen that providing all 3D points in the design space 210 as inputs into the ML model 120 may overwhelm the ML learning process applied by the ML model 120. By encoding the design space 210 into a sparser representation, the structure design engine 110 may reduce the number of input points or input values for representing the design space 210 of a beam-based physical structure and the ML-based processing of such a design.

[0024] The encoded design space generated by the structural engine 110 can provide the ability to uniquely represent beam positions in the design space (including candidate beam positions in the empty design space and determined beam positions selected to be included in the physical structure design). For illustration, the structural design engine 110 can encode the design space 210 to represent candidate beam positions in the design space 210. To this end, the structural design engine 110 can encode the design space 210 as a group of 3D rectangles, and each 3D rectangle of the encoded design space can define candidate beam positions in the physical structure, for example, through a beam grid defined for each 3D rectangle. The structural design engine 110 can define the candidate beam positions of a 3D rectangle as the lines between vertex pairs of the 3D rectangle. A given 3D rectangle in the encoded design space can include eight (8) vertices, and the structural design engine 110 can thus define up to twenty-eight (28) different candidate beam positions in a given 3D rectangle, for example, as some or all of the twenty-eight (28) lines between vertex pairs of the given 3D rectangle.

[0025] When generating the encoded design space, the structural design engine 110 can divide the design space into any number of such 3D rectangles, and the divided design space can form a 3D grid including the 3D rectangles. In some implementations, the structural design engine 110 divides the design space into a 3D grid including a predetermined number of 3D rectangles, and this number can vary based on the size of the design space, the type of physical structure to which the design space is applied, custom user-specified parameters or inputs, or according to any number of additional or alternative division parameters. Note that the structural design engine 110 can encode the design space with 3D rectangles of different sizes or volumes, and this size or volume can also vary based on the shape or volume of the design space in which the 3D rectangles are encoded.

[0026] In Figure 2 the example of, the structural design engine 110 encodes the design space 210 into 3D rectangles to generate the encoded design space 220. As Figure 2 illustrated, the encoded design space 220 includes eight (8) different 3D rectangles, which include 3D rectangles of different heights (and thus different volumes). Also as Figure 2 shown, an illustrative example of a given 3D rectangle in the encoded design space 220 is shown as the 3D rectangle 222. For the 3D rectangle 222, the structural design engine 110 can specify the candidate beam position 224 as the line between vertex pairs of the 3D rectangle 222. (Note that for visual clarity, only three (3) of the candidate beam positions defined in the 3D rectangle 222 are marked by dashed arrows).

[0027] For the 3D rectangles of the encoded design space, the structural design engine 110 can define candidate beam positions through a partially or fully connected grid structure. ForFigure 2 For the 3D rectangle 222 shown, the structural design engine 110 defines the 3D rectangle 222 as a fully-connected mesh structure, in which candidate beam positions 224 are defined between all vertex pairs of each 3D rectangle 222. For a partially-connected mesh structure, the structural design engine 110 can define candidate beam positions as some, but not all, of the lines between vertex pairs of the 3D rectangle. For example, the structural design engine 110 can define candidate beam positions in the 3D rectangle as lines of vertex pairs along the outer volume or surface of the 3D rectangle, rather than lines of vertex pairs passing through the inner volume of the 3D rectangle.

[0028] When generating the encoded design space, the structural design engine 110 can uniquely represent beam positions in the design space, whether as candidate beam positions that potentially include the design or as beams subsequently determined to be included in the physical structure design. The structural design engine 110 can assign unique identifiers to beam positions in the design space, which may be referred to herein as beam position identifiers. Through the beam position identifiers, the encoded design space can specify additional characteristics, parameters, or attributes of the corresponding beams, including whether the beam position corresponds to a candidate beam position, a determined beam position to be included in the physical structure design, the design parameters of the beam at the determined beam position (such as beam type, offset value, etc.).

[0029] Before determining the frame layout, the structural design engine 110 can assign beam position identifiers to each candidate beam position in the encoded design space. For a 3D rectangle defined with a fully-connected mesh structure, the structural design engine 110 can assign twenty-eight (28) beam position identifiers, one identifier for each candidate beam position in a given 3D rectangle. Since the surfaces of 3D rectangles can overlap in the design space divided by the rectangles, the structural design engine 110 assigns the same beam position identifier to candidate beam positions of different 3D rectangles that are fully overlapping or identical. To further illustrate, 3D rectangles in the encoded design space can share common vertices, and the same vertex pair in the encoded design space can be part of two different rectangles. In such a case, the structural design engine 110 can assign the same beam position identifier to candidate beam positions of the vertex pair part of multiple 3D rectangles.

[0030] In any of the ways described herein, the structural design engine 110 can identify beam positions in the encoded design space. Through beam position identifiers, the encoded design space can encode additional data regarding beam positions (whether as candidate beam positions or beam positions later determined for the physical structure). Attributes of the beam positions can be encoded by any number of various flags, tags, or values associated with the beam position identifiers. For example, selected beams to be included in the design of the physical structure can be encoded by setting included beam tags for the corresponding beam position identifiers. Other ML-determined design components can also be specified in a similar manner in the encoded design space, such as, for beam classification, offset or rotation values, end cut classification, etc. These features are described in more detail herein, and any such data can be appended to, bundled with, or encoded with the beam position identifiers to specify design features or parameters for the physical structure design.

[0031] For the encoded design space, the structural design engine 110 can provide the ability for user input to select specific candidate beam positions to be included or excluded from the physical structure design. For example, the structural design engine 110 can identify specific columns or rows of 3D rectangles partitioned from the design space to be included in the encoded design space, and include the candidate beam positions in these selected columns and / or rows for consideration by the ML model 120. The grids of 3D rectangles that are not selected can be excluded or not set as candidate beam positions in the encoded design space.

[0032] The structural design engine 110 can provide the encoded design space as an input to the ML model 120, which can include beam positions defined by the structural design engine 110 for consideration. As described herein, the encoded design space can provide a sparse representation of the design space of the physical structure by representing beam positions rather than all 3D points or voxels in the design space. For the encoded design space partitioned into a 3D rectangle grid by the structural design engine 110, unique beam positions can be represented rather than 3D points or voxels. It can be seen that, compared with a 3D coordinate system, the encoded design space for a beam-based physical structure can be represented by a smaller amount of data.

[0033] As an illustrative example of the data compression benefits provided by the encoded design spaces described herein, even the traditional 3D encoding or voxelization of a moderately sized platform structure will occupy 15 cubic feet of space. At a resolution of 1.0 inch / voxel, such a voxel-based design space will result in 5,832,000 input values for the design space. In contrast, the structure design engine 110 can generate an encoded design space of the platform structure via a 3D mesh of (varying sized) partitioned 3D rectangles, where several thousand beam positions are represented in the encoded design space. In this illustration, the encoded design space representing only the beam positions can result in a 99%+ reduction in input values and can provide benefits in terms of storage requirements and resource consumption. The encoded design space features described herein can increase the speed of ML-based processing of the inputs, thereby enabling the generation of physical structure designs with increased efficiency and reduced resource consumption.

[0034] In some implementations, the structure design engine 110 can provide additional inputs to the ML model in addition to the encoded design space, which can help guide the ML model 120 in specific design considerations. Exemplary design parameters that the structure design engine 110 can provide to the ML model 120 include force values, structure types, or a combination of both that can be applicable to the physical structure (e.g., at a specific location in the physical structure design). In Figure 2 the example shown, the design space access engine 108 obtains design parameters 230 that are applicable to the physical structure designed in the design space 210, and the structure design engine 110 can provide both the encoded design space 220 and the design parameters 230 as inputs to the ML model 120.

[0035] The ML model 120 can be configured to analyze the inputs in the form of the encoded design space and the design parameters and generate a physical structure design for the provided inputs. In Figure 2 the example shown, the ML model 120 generates a frame layout 240 from the encoded design space 220. The frame layout 240 can be an example of the design of a physical structure that the structure design engine 110 can generate via the ML model 120. The frame layout can refer to any representation of the beam positions of the determined physical structure that the ML model 120 can determine from the candidate beam positions specified in the encoded design space. Figure 2 The generated frame layout 240 in can take into account the candidate beam positions defined in the encoded design space 220 and any applied force values, physical structure types, or other considerations specified in the design parameters 230.

[0036] In some examples, the ML model 120 generates a frame layout 240 via computed probability values. The ML model 120 can generate beam probability values for each candidate beam position in the encoded design space 220, and such beam values can be normalized, for example, along a scale of 0.0 - 1.0 (inclusive). The ML-generated beam probability value for a particular candidate beam position (and thus a particular beam position identifier) can represent a categorical or probability value that a beam should be included in the design of a physical structure. The structural design engine 110 can determine to include a beam at a candidate beam position having a beam value that exceeds a selection threshold (e.g., greater than 0.9) in the physical structure design. In this regard, the frame layout 240 can include the determined beam positions at each candidate beam position having an ML-generated beam value that exceeds the configured selection threshold.

[0037] In some implementations, the structural design engine 110 encodes the determined beam positions into the encoded design space. For example, the structural design engine 110 can represent the frame layout 240 by further encoding the encoded design space 220 with the determined beam positions. The beam position identifiers in the encoded design space can be configured to include an included beam flag, and the structural design engine 110 can set the included beam flag to a predetermined value (e.g., value 1) for the determined beam positions in the physical structure design. The structural design engine 110 can also set the included beam flag for candidate beam positions not determined to include a beam (e.g., having a computed beam probability value below the selection threshold) to a different value (e.g., value 0). Thus, the frame layout can maintain the 3D rectangular grid of the encoded design space and further represent which specific beam positions are included beams in the design of the physical structure.

[0038] Thus, the structural design engine 110 can generate (via the ML model 120) a frame layout for a physical structure for a given design space, and the frame layout can identify the beams at the selected beam positions in the given design space. Such an ML-generated frame layout can be output as a first design step in the physical structure design generation, and the structural design engine 110 can generate any number of additional or alternative design components for the physical structure. One such example is beam classification for the design of a beam-based physical structure, which is described next in conjunction with Figure 3 Describe beam classification.

[0039] Figure 3 An example of determining beam classification for a physical structure design based on ML is shown. In Figure 3 which, the structural design engine 110 accesses the frame layout 310 of the physical structure. The frame layout 310 can be as Figure 2The framework layout 240 generated by the structural design engine 110, the user-designed framework layout, or a user-modified version of the framework layout 240 generated by the structural design engine 110 (e.g., to implement user-specific edits to the framework layout 240 generated via the ML model 120).

[0040] The structural design engine 110 may support the classification of beams included in the framework layout 310. Beam classification may refer to any process by which beam categories are assigned to the beams of a physical structural design, and beam classification may include determining the specific beam shape (based on the beam cross-section) of the beams of the framework layout 310. Example beam categories may thus differ based on the cross-sectional shape and include "I", "O", "n", or "L" shaped cross-sections (as well as many other shapes). Additionally or alternatively, beam categories may differ based on beam material (steel (including different steel grades), plastic, iron, composite materials, wood, etc.), strength or load-bearing characteristics, cost, supply availability, user-specified profiles, or any other beam characteristic by which the beams may be distinguished.

[0041] In generating the beam classification of a physical structural design, the structural design engine 110 may generate an encoded design space 320 from the framework layout 310, doing so in any of the ways described herein. In Figure 3 an example, the structural design engine 110 encodes the framework layout 310 into the encoded design space 320. When the framework layout 310 is generated by the ML model 120 (e.g., using the encoded design space 220 as an input), the structural design engine 110 may maintain the same 3D rectangular partitioning of the design space 210, for example, by maintaining the beam position identifiers included in the encoded design space 220 or the framework layout 240. The encoded design space 320 for the framework layout 310 may specify which beams included in the encoded design space 320 are to be classified (e.g., by setting classifier tags associated with the beam position identifiers of the individual beams included in the framework layout 310). In some implementations, the structural design engine 110 configures the encoded design space 320 to classify for each determined beam position of the physical structural design (e.g., for each beam position identifier for which the included beam tag is set to a predetermined value).

[0042] In Figure 3In the example shown, the encoded design space 320 generated by the structural design engine 110 includes the determined beam positions 330. The structural design engine 110 can mark the beams at the determined beam positions 330 for classification by setting classifier labels for the beam position identifiers assigned to the determined beam positions 330. The ML model 120 can take the encoded design space 330 as input and generate beam classifications 340. In some implementations, the structural design engine 110 can also provide design parameters as input to the ML model 120 for beam classification, including, by way of example, force values applied on the frame layout 310, the type of structure, etc. The beam classifications 340 generated by the ML model 120 can assign specific beam categories to each of the determined beam positions specified in the encoded design space 320.

[0043] In this way, the structural design engine 110 and the ML model 120 can support ML-based determination of beam classifications (such as cross-sectional shapes) included in a physical structure design. The structural design engine 110 can encode the determined beam classifications 340 into the encoded design space, for example, by assigning classification values to the beams included in the frame layout 240. In some implementations, the classification values can be implemented as one-hot encoded values, and the structural design engine 110 can append such classification values to the beam position identifiers of the determined beam positions in the design.

[0044] Beam classification can be an example of the design of a physical structure that the structural design engine 110 can generate. Additional or alternative design components for the physical structure can be generated by the structural design engine 110, such as offset or rotation values as described next in connection with Figure 4 the description.

[0045] Figure 4 An example of determining the offset or rotation values of beams in a physical structure design based on ML is shown. In Figure 4 , the structural design engine 110 accesses the encoded design space 420 of the physical structure. The structural design engine 110 can generate or access the encoded design space 420 from the frame layout or the encoded design space encoded with beam classifications (such as as described in Figure 3 ).

[0046] The structural design engine 110 can support the determination of the offset and rotation of the beams included in the encoded design space 420. Offset and rotation can refer to any beam parameters by which a given beam in the design of a physical structure is aligned with adjacent beams and can depend on the shape of the particular beam being aligned. The structural design engine 110 can provide the encoded design space 420 and any number of design parameters as input to the ML model 120. As in Figure 4As seen in FIG. 4 , beams in the encoded design space 420 may be encoded using a beam classification, such as the beam classification 340 for a particular beam at a determined beam location.

[0047] In some implementations, the structural design engine 110 may select a subset of the beams included in the encoded design space 420 for offset and rotation value determination. This selection may be user-based or based on any number of selection criteria (e.g., longest beams, beams subject to large loads, based on analysis of applied force values, etc.). The ML model 120 may generate offset or rotation values ​​430 for the beams of the encoded design space 420 (or any selected subset thereof).

[0048] Note that the offset or rotation values ​​430 generated by the ML model 120 may be inaccurate. In some implementations, the ML model 120 generates the offset or rotation values ​​430 of the encoded design space 420 as a reference range of offset or rotation values. The structural design engine 110 may implement a supplementary capability to access the reference range as well as actual beam size and position data of different beams to calculate accurate offset and rotation values ​​of beams in the design of the physical structure.

[0049] In this way, the structural design engine 110 and the ML model 120 may support ML-based determination of the offset and rotation values ​​430. The structural design engine 110 may encode the determined offset and / or rotation values ​​into the encoded design space, for example, by assigning offset and rotation values ​​to beams included in the encoded design space 420. The rotation and offset values ​​may be implemented as numerical values ​​encoded for beams of the encoded design space or as numerical values ​​associated with beams of the encoded design space (e.g., associated with specific beam position identifiers).

[0050] Figure 5 An example of end cut classification based on ML determination of physical structure design is shown. Figure 5 In the embodiment, the structural design engine 110 accesses the encoded design space 520 of the physical structure. The structural design engine 110 can generate or access the encoded design space 520 as an encoded design space encoded with offset and rotation values ​​(e.g., as Figure 4 described above).

[0051] In determining the end cut classification, the structural design engine 110 can identify connection points between different beams in the encoded design space 520. Since the encoded design space 520 can include offset and rotation values of the beams of the physical structural design, the structural design engine 110 can use the ML model 120 to determine the end cut classification of the physical structural design. The end cut classification can refer to any classification value that differentiates different types of cuts applied to the ends of the beams to join with adjacent beams at intersecting corners or support locations. The effectiveness of the end cut beams of the physical structure can depend on the strength requirements of the physical beams and the relative orientation (e.g., rotation and offset) of the intersecting beams. The specific joining method between the beams can also be considered, including whether a welding gap or bolts will be used, which may result in different end cut classifications and parameters.

[0052] To support ML-based end cut classification, the structural design engine 110 can generate connection constructs for the connection points between the beams in the encoded design space 520. In Figure 5 this regard, the structural design engine 110 generates a connection construct 530 for the intersection point where two beams are interconnected in the encoded design space 520. The structural design engine 110 can generate a connection construct as a multi-dimensional grid, including dimensions defining the relative 3D positions of the beams intersecting (e.g., attaching) at the connection point, values of the offset and rotation of the intersecting beams (e.g., normalized), and the beam classification of the intersecting beams. The connection construct can also represent the attachment points of the intersecting beams. In this regard, the connection construct can represent various beam parameters of the beams intersecting at a given connection point in the encoded design space 520.

[0053] The structural design engine 110 can provide the connection constructs for the individual beam intersections in the encoded design space 520 as inputs to the ML model 120. Based on the input connection constructs, the ML model 120 can determine the end cut classification 540 to be applied to the individual beam intersections. Note that the ML model 120 can determine that no end cut is required for the intersecting beams, and "no end cut" can be a specific end cut category included in the end cut classification 540. In some implementations, the end cut classification 540 can include end cut parameters to be applied in the cut. Such cut parameters can include tool parameters applicable to the specific end type category determined by the ML model 120 to join the beam intersections in the encoded design space 520. These tool parameters may require tool parameters (e.g., tool body, length, weight, height, cylinder radius value, etc.), which the structural design engine 110 can provide to the ML model 120 for a specific end cut classification.

[0054] In this way, the structural design engine 110 and the ML model 120 can support ML-based determination of end cut classification. The structural design engine 110 can encode the determined end cut assignments (including end cut parameters applicable to and determined for a specific end cut category) into the encoded design space.

[0055] In any of the ways described herein, ML-based structural design can be implemented. Exemplary designs (or design components) contemplated herein include frame layouts, beam classifications, offset and rotation values, end cut classifications, etc. The structural design engine 110 can apply the ML model 120 to determine any combination of these elements of the design of a physical structure that the structural design engine 110 can determine serially. At any time, the structural design engine 110 accepts user input to modify or customize the ML-generated design, whether by modifying the ML-generated frame layout, changing the offset, altering the beam classification defined by the ML, etc. Thus, the ML-based structural design features described herein can flexibly combine ML-based expertise learned from existing models with user-specific configurations.

[0056] Any of the ML-based structural features can be supported by the encoded design space, and the structural design engine 110 can reduce the amount of input data provided to the ML model 120 through the encoded design space. By doing so, the structural design engine 110 can reduce the computational pressure in ML-based structural design, and the input design space can be reduced by more than 99%, which can result in significant speed and performance improvements while maintaining the design accuracy of the beam-based physical structure. The encoded design space feature is used to further support the subsequent encoding of beam data generated during different stages of the design process, thereby allowing the ML-based structural design features to apply ML-based determinations to any number of different design components across any number of design steps and doing so with improved computational efficiency.

[0057] Figure 6 An exemplary training of the ML model 120 by the structural design engine 110 is shown. The structural design engine 110 can use existing beam-based physical structure designs to train the ML model 120, and doing so enables the ML model 120 to learn and generate any number of design components for any stage of the design process for beam-based physical structures.

[0058] When training the ML model 120, the structural design engine 110 can access the physical structure design set 610. The physical structure design 610 can be accessed from a CAD or design library and can include any number of previously designed beam-based physical structures. Figure 6In the example of, the physical structure design 610 serves as a continuing illustrative example of how the structure design engine 110 can train the ML model 120 to support any ML-based structure design features contemplated herein.

[0059] For the physical structure design 612 (and any other physical structure design within the physical structure design 612), the structure design engine 110 can generate an encoded design space 620 for the physical structure design 612. In doing so, the encoded design space 620 for the physical structure design 612 can include encoded 3D rectangles, such as Figure 6 the encoded 3D rectangle 622 illustrated in. The encoded 3D rectangles of the encoded design space 620 can be mapped to different parts of the physical structure design 612, and each encoded 3D rectangle can define possible beam positions in the design space of the physical structure design 612. Moreover, each encoded 3D rectangle in the encoded design space 620 can encode which of the possible beam positions map to beam positions of the beams in the physical structure design 612 and which of the possible beam positions do not map to beam positions of any beams in the physical structure design 612.

[0060] In Figure 6 the example shown, the encoded 3D rectangle 622 includes mapped beam positions 624 of the actual beams in the physical structure design 612 and mapped non-beam positions 626 at possible beam positions of the encoded 3D rectangle 622 where the beams in the physical structure design 612 are not located. The structure design engine 110 can generate the encoded design space 620 for the physical structure design 612 in any form described herein, e.g., assign beam position identifiers and set the beam position flag to the value "1" for the beam position identifiers corresponding to the mapped beam positions 624 and set the beam position flag to the value "0" for the beam position identifiers corresponding to the non-mapped beam positions 626.

[0061] When generating the encoded design space 620, the structure design engine 110 can also extract structural data from the physical structure design 612. Example structural data that the structure design engine 110 can extract from a given physical structure design 612 includes the beam classification of each beam in the physical structure design 612, offset or rotation values for interconnecting the beams in the physical structure design 612, end cut classifications applied at connection points between the beams in the physical structure design 612, or any combination thereof. That is, the structure design engine 110 can extract any relevant data for generating various design components for beam-based physical structure designs described herein and encode the extracted structural data in the encoded design space 620 accordingly.

[0062] Additionally or alternatively, the structural design engine 110 can extract various design parameters of the physical structural design 612, including any design parameters that the ML model 120 is configured to consider when generating the design of the physical structure. Examples of such design parameters include the applied force value of the physical structural design 612 and the structural type of the physical structural design 612. The structural type can be defined according to any classification scheme and can allow the ML model 120 to distinguish between different types of physical structures during the applied learning process. Through the structural type tagging, the ML model 120 can be trained to learn different design components, parameters, layouts, and aspects of different types of physical structures, which can improve the accuracy with which the ML model 120 can learn from the training data and generate designs from the input data.

[0063] In a sense, the structural data, beam data, and design parameters extracted from the existing designs can be used as labels for the training data including the encoded design space. It can be seen therefrom that the structural design engine 110 can provide the encoded design space 620 as the training data for the ML model 120, and the ML model 120 can, for example, apply any number of supervised learning techniques to learn from the encoded design space. In this way, the structural design engine 110 can train the ML model 120 as part of or in support of any ML-based structural design feature described herein.

[0064] In any of the ways described herein, an ML-based structural design can be implemented. Although many ML-based structural design features have been described in the illustrative examples presented through the various figures herein, the design space access engine 108 and the structural design engine 110 can implement any combination of the ML-based structural design features described herein.

[0065] Figure 7 An example of the logic 700 by which the system can be implemented to support an ML-based structural design is shown. For example, the computing system 100 can implement the logic 700 as hardware, executable instructions stored on a machine-readable medium, or a combination of both. The computing system 100 can implement the logic 700 via the design space access engine 108 and the structural design engine 110, through which the computing system 100 can execute or implement the logic 700 as a method for supporting an ML-based structural design. The following description of the logic 700 is provided using the design space access engine 108 and the structural design engine 110 as examples. However, various other implementation options for the system are possible.

[0066] When implementing logic 700, the design space access engine 108 may access the design space (702) of the physical structure. When implementing logic 700, the structure design engine 110 may encode the design space into a set of 3D rectangles (704), and each 3D rectangle may define a candidate beam position in the physical structure, and the candidate beam position of the 3D rectangle may be defined by a line between vertex pairs of each 3D rectangle. When implementing logic 700, the structure design engine 110 may also provide the encoded design space as an input to the ML model (706), and generate a design of the physical structure based on the encoded design space through the ML model (708). The design of the physical structure may include beams at beam positions determined by the ML model from the candidate beam positions.

[0067] When implementing logic 700, the structure design engine 110 may also provide the design of the physical structure to support the manufacturing of the physical structure (710). As described herein, the design of the physical structure generated by the ML model may include any number of design components, such as frame layout, beam classification, offset or rotation values, end cut assignment, end cut or joint parameters, etc. The structure design engine 110 may provide any one of these ML-generated design components to support the manufacturing of the physical structure.

[0068] For example, the structure design engine 110 may provide the design data of the completed design to a manufacturing facility for use in subsequent physical manufacturing. As another example, the structure design engine 110 may provide the physical structure design (or its components) for further processing, such as by encoding the generated frame layout and providing it to the ML model for beam classification determination, providing the encoded design space including beam classification to the ML model for offset or rotation value determination, etc. As described herein, any number of sequential design processes may be implemented or performed via ML techniques, and the structure design engine 110 may provide the design generated in a first design step as an input to the next design step, and so on. In this way, the ML-based structural features described herein may support any number of discrete steps in the design of beam-based physical structures.

[0069] Figure 7 The illustrated logic 700 provides an illustrative example of how the computing system 100 may support ML-based structural design of a physical structure. Additional or alternative steps in logic 700 are contemplated herein, including any one of the various features described herein for the design space access engine 108, the structure design engine 110, the ML model 120, or any combination thereof.

[0070] Figure 8An example of a computing system 800 that supports ML-based architecture design is shown. The computing system 800 may include a processor 810, which may take the form of a single or multiple processors. One or more processors 810 may include a central processing unit (CPU), a microprocessor, or any hardware device suitable for executing instructions stored on a machine-readable medium. The computing system 800 may include a machine-readable medium 820. The machine-readable medium 820 may take the form of any non-transitory electronic, magnetic, optical, or other physical storage device that stores executable instructions, such as Figure 8 the design space access instructions 822 and architecture design instructions 824 shown. Thus, the machine-readable medium 820 may be, for example, a random access memory (RAM) (e.g., dynamic RAM (DRAM)), flash memory, spin torque memory, electrically erasable programmable read-only memory (EEPROM), a storage drive, an optical disc, etc.

[0071] The computing system 800 may execute instructions stored on the machine-readable medium 820 via the processor 810. Executing the instructions (e.g., design space access instructions 822 and / or architecture design instructions 824) may cause the computing system 800 to perform any of the ML-based architecture design features described herein, including any of the features according to the design space access engine 108, architecture design engine 110, ML model 120, or any combination thereof.

[0072] For example, executing the design space access instructions 822 by the processor 810 may cause the computing system 800 to access the design space of a physical architecture. Executing the architecture design instructions 824 by the processor 810 may cause the computing system 800 to encode the design space into a set of 3D rectangles, and each 3D rectangle may define a candidate beam position in the physical architecture, and the candidate beam position of a 3D rectangle may be defined by a line between vertex pairs of each 3D rectangle. Executing the architecture design instructions 824 by the processor 810 may also cause the computing system 800 to provide the encoded design space as an input to an ML model, and generate a design of the physical architecture based on the encoded design space by the ML model. The design of the physical architecture may include beams at the beam positions determined by the ML model from the candidate beam positions. Executing the architecture design instructions 824 by the processor 810 may further cause the computing system 800 to provide the design of the physical architecture to support the manufacturing of the physical architecture.

[0073] Any additional or alternative ML-based architecture design features described herein may be implemented via the design space access instructions 822, architecture design instructions 824, or a combination of both.

[0074] The above-described systems, methods, devices, and logic, including the design space access engine 108 and the architecture design engine 110, can be implemented in many different ways in many different combinations of hardware, logic, circuits, and executable instructions stored on a machine-readable medium. For example, the design space access engine 108, the architecture design engine 110, or a combination thereof can include circuitry in a controller, a microprocessor, or an application-specific integrated circuit (ASIC), or can be implemented using discrete logic or components or other types of analog or digital circuitry combinations, which discrete logic or components or circuitry combinations are on a single integrated circuit or distributed among multiple integrated circuits. A product (e.g., a computer program product) can include a storage medium and machine-readable instructions stored on the medium that, when executed in a terminal, computer system, or other device, cause the device to perform operations in accordance with any of the above descriptions (including any features in accordance with the design space access engine 108, the architecture design engine 110, or a combination thereof).

[0075] The processing capabilities of the systems, devices, and engines described herein (including the design space access engine 108 and the architecture design engine 110) can be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems or cloud / network elements. Parameters, databases, and other data structures can be stored and managed separately, can be incorporated into a single memory or database, can be organized logically and physically in many different ways, and can be implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs can be part of a single program (e.g., a subroutine), separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library (e.g., a shared library).

[0076] Although various examples have been described above, many more implementations are possible.

Claims

1. A method, comprising: by a computing system (100, 800): accessing (702) a design space (210) of a physical structure; encoding (704) the design space (210) into a set of three-dimensional (3D) rectangles (222), wherein each 3D rectangle (222) has eight vertices and defines candidate beam positions (224) in the physical structure, and wherein the candidate beam positions (224) of the 3D rectangles are defined by lines between vertex pairs of each 3D rectangle (222); providing (706) the encoded design space (220, 320, 420, 520) as an input to a machine learning (ML) model (120), wherein providing the input to the ML model (120) further comprises: providing design parameters (230) of the physical structure, the design parameters (230) including force values applicable to specific locations of the physical structure; generating (708) a design of the physical structure by the ML model (120) based on the encoded design space (220, 320, 420, 520) and the provided force values, wherein the design of the physical structure includes beams at beam positions determined by the ML model (120) according to the candidate beam positions (224) and taking into account the force values at specific locations of the physical structure; and providing (710) the design of the physical structure for use in subsequent physical fabrication of the physical structure, thereby supporting the fabrication of the physical structure, wherein the beam positions determined by the ML model (120) according to the candidate beam positions (224) include: generating, by the ML model (120), beam probability values for each candidate beam position in the encoded design space (220, 320, 420, 520) and scale-normalizing the beam probability values, wherein the beam probability values represent classification values or probability values indicating that a beam at a specific candidate beam position should be included in the design of the physical structure; and determining to include a beam at the candidate beam position in the design of the physical structure if the beam probability value exceeds a selection threshold.

2. The method according to claim 1, wherein, the 3D rectangles define a fully connected structure, wherein the candidate beam positions (224) are defined between all vertex pairs of each 3D rectangle (222).

3. The method according to claim 1, wherein, the design parameters (230) further include a structure type.

4. The method according to claim 1, wherein, generating the design of the physical structure by the ML model (120) further comprises determining a beam classification (340) for each of the beams at the determined beam positions (330).

5. The method according to claim 1, wherein, Generating the design of the physical structure by the ML model (120) further includes determining a beam classification (340) for each of the beams at the determined beam positions (330), an offset or rotation value (430) of the beams interconnected to the determined beam positions (330), an end cut classification (540) at connection points between the beams at the determined beam positions (330), or any combination thereof.

6. The method according to any one of claims 1 to 5, further comprising training the ML model (120), comprising: accessing a set of physical structure designs (610); for a given physical structure design (612) in the set, generating an encoded design space (620) for the given physical structure design (612), wherein: the encoded design space (620) for the given physical structure design (612) includes encoded 3D rectangles (622) mapped to different parts of the given physical structure design (612); each encoded 3D rectangle (622) defines possible beam positions in the design space of the given physical structure design; and each encoded 3D rectangle (622) encodes which of the possible beam positions map to beam positions of beams in the given physical structure design and which of the possible beam positions do not map to beam positions of any beam in the given physical structure design; and providing the encoded design space (620) for the given physical structure design (612) as training data for the ML model (120).

7. The method according to claim 6, wherein, generating the encoded design space (620) for the given physical structure design (612) further includes: extracting structure data from the given physical structure design (612), including a beam classification for each of the beams in the given physical structure design (612), an offset or rotation value of the beams interconnected to the beams in the given physical structure design (612), an end cut classification at connection points between the beams in the given physical structure design (612), or any combination thereof; and encoding the extracted structure data in the encoded design space (620) for the given physical structure design (612).

8. A system (100), comprising: a design space access engine (108) configured to access a design space (210) of a physical structure; and a structure design engine (110) configured to: encode the design space (210) into a set of three-dimensional (3D) rectangles (222), wherein each 3D rectangle (222) has eight vertices and defines candidate beam positions (224) in the physical structure, and wherein the candidate beam positions (224) of the 3D rectangles are defined by lines between vertex pairs of each 3D rectangle (222); Provide an encoded design space (220, 320, 420, 520) as an input to a machine learning (ML) model (120), wherein providing the input to the ML model (120) further includes: providing design parameters (230) of the physical structure, the design parameters (230) including force values applicable to specific locations of the physical structure; Generate a design of the physical structure by the ML model (120) based on the encoded design space (220, 320, 420, 520) and the provided force values, wherein the design of the physical structure includes a beam at a beam location determined by the ML model (120) according to the candidate beam location (224) and taking into account the force values at the specific location of the physical structure; and Provide the design of the physical structure for use in subsequent physical manufacturing of the physical structure, thereby supporting the manufacturing of the physical structure, wherein the beam location determined by the ML model (120) according to the candidate beam location (224) includes: Generate beam probability values for each candidate beam location in the encoded design space (220, 320, 420, 520) by the ML model (120), and scale-normalize the beam probability values, wherein the beam probability values represent classification values or probability values indicating that a beam at a specific candidate beam location should be included in the design of the physical structure; and If the beam probability value exceeds a selection threshold, determine to include a beam at the candidate beam location in the design of the physical structure.

9. The system (100) according to claim 8, wherein, The 3D rectangle defines a fully connected structure, wherein the candidate beam locations (224) are defined between all vertex pairs of each 3D rectangle (222).

10. The system (100) according to claim 8, wherein, The design parameters (230) include a structure type.

11. The system (100) according to claim 8, wherein, The structure design engine (110) is configured to further generate the design of the physical structure by the ML model (120) by determining a beam classification (340) for each of the beams at the determined beam locations (330).

12. The system (100) according to claim 8, wherein, The structure design engine (110) is configured to further generate the design of the physical structure by the ML model by: determining a beam classification (340) for each of the beams at the determined beam locations (330), an offset or rotation value (430) of the beam interconnected to the beam at the determined beam location (330), applying an end cut classification (540) at a connection point between the beams at the determined beam location (330), or any combination thereof.

13. The system (100) according to any one of claims 8 to 12, wherein, The structure design engine (110) is further configured to train the ML model, including: Access a physical structure design group (610); For a given physical structure design (612) in the group, generate an encoded design space (620) for the given physical structure design (612), where: The encoded design space (620) for the given physical structure design (612) includes encoded 3D rectangles (622) mapped to different parts of the given physical structure design (612); Each encoded 3D rectangle (622) defines possible beam positions in the design space of the given physical structure design; and Each encoded 3D rectangle (622) encodes which of the possible beam positions map to beam positions of beams in the given physical structure design and which of the possible beam positions do not map to beam positions of any beam in the given physical structure design; and Provide the encoded design space (620) for the given physical structure design (612) as training data for the ML model (120).

14. The system (100) according to claim 13, wherein, The structure design engine (110) is configured to further generate the encoded design space (620) for the given physical structure design (612) by: Extracting structure data from the given physical structure design (612), including beam classifications of each of the beams in the given physical structure design (612), offset or rotation values interconnecting to the beams in the given physical structure design (612), end cut classifications applied at connection points between the beams in the given physical structure design (612), or any combination thereof; and Encoding the extracted structure data in the encoded design space (620) for the given physical structure design (612).

15. A non-transitory machine-readable medium comprising instructions that, when executed by a processor, cause a computing system to perform the method according to any one of claims 1 to 7.