Bulk replication of gussets, plates and end caps in structural models
Through the computer-aided drawing method, using feature vector comparison and one-hot encoding technology, the gusset plates, plate-like parts and end caps in the structural model are automatically identified and batch-copyed, solving the problems of high repetition and human error in the prior art, and improving the replication efficiency and accuracy.
Patent Information
- Application Number
- CN202510118375.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-24
- Filing Date
- 2025-01-24
- Publication Date
- 2025-07-25
AI Technical Summary
In structural models, when the prior art requires manual copying of gussets, plate-like parts and end caps, there are problems such as high repeatability, easy human error, and difficulty in identifying similar geometric shapes.
Through computer-aided drawing methods, based on supporting elements modeling physical structures, similar structural components are automatically identified and batch copied, and feature vector comparison and one-hot encoding technology are used to reduce user manual selection and rotation scaling operations.
The batch replication of gussets, plates and end caps is achieved, reducing repetitive operations, reducing human errors, and improving efficiency and accuracy.
Smart Images

Figure CN120372709A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the modeling of physical systems, and more particularly to simplifying repetitive processes in a modeling system. Background Art
[0002] As Figure 1 shown, a digital structure model 100 can represent a physical structure constructed to scale using materials such as wood, plastic, or metal. The physical model can be used to study the structural performance of a building or a bridge under different loads and conditions. Specialized software (such as DS SOLIDWORKS and DS CATIA) can be used to create the model. The CAD model can be used to visualize a three-dimensional structure and the components of the structure, and to simulate the performance of the structure under various loads and conditions.
[0003] When creating a computer-aided drawing (CAD) model of a physical structure, the process of inserting, moving, orienting, and constraining components can be completely repetitive, and thus each step of the process is subject to human error. Generally, methods for repeatedly arranging and constraining components (such as gussets, plates, and end caps) in a structure model require the user to provide significant selections for each command in a modeling application software (such as SOLIDWORKS). Similarly, the copy command may be limited to geometries that exist on a common surface (face) and / or have the same geometric properties. Changes in the geometry may require the user to manually copy the arrangement and constraints of another instance of the component before the gussets, plates, and end caps can be copied through the aforementioned process.
[0004] Once the user has manually defined a first gusset, a first plate, or a first end cap, copying the gusset, plate, or end cap to other locations in the assembly enables the user to manually define each location and constraint, or to have the presence of the same geometry at each desired location. This manual copying can be tedious because the selection of each gusset, plate, or end cap may involve rotating and / or scaling the view of the model so that the user can see and select the part, and such manipulation may be required for the selection of each component. For the human eye, it may be quite difficult to identify geometric shapes of similar dimensions on a given component, which generally requires the user to implement other means such as measurement tools or trial and error to determine whether the selected geometry is appropriate. Therefore, there is a need in the industry to address one or more of the above disadvantages. Summary of the Invention
[0005] Embodiments of the present invention provide a method for batch replicating gusset plates, plate-like members, and end caps in a structural model. Briefly, the present invention relates to a computer-aided drawing method that recommends paired structural members based on selected support elements for modeling a physical structure. Specify paired seeds of a first seed structural member and a second seed structural member attached to the selected support element. Create a feature vector for candidate structural members in the modeled physical structure. Compare the first seed structural member feature vector with the structural member feature vector to identify a first pair of member candidates, and compare the second seed structural member feature vector with the structural member feature vector to identify a second pair of member candidates for the paired candidates. Determine the paired seed connection feature vector and the paired candidate connection feature vector. Compare the paired seed connection feature vector with the paired candidate connection feature vector. Designate the paired candidates as paired recommended parts, and indicate the paired recommended parts in the displayed description of the modeled physical structure.
[0006] After studying the following drawings and detailed description, other systems, methods, and features of the present invention will be apparent or will become apparent to those of ordinary skill in the art. It is intended that all such additional systems, methods, and features be included in this specification, within the scope of the present invention, and protected by the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The drawings are included to provide a further understanding of the present invention, and the drawings are incorporated into and constitute a part of this specification. The components in the drawings are not necessarily drawn to scale, but the emphasis is placed on clearly illustrating the principles of the present invention. The drawings show embodiments of the present invention, and the drawings, together with the description, are used to explain the principles of the present invention.
[0008] Figure 1 is a rendered schematic diagram of an exemplary modeled structure having gusset plates, plate-like members, and end caps.
[0009] Figure 2A is a schematic diagram showing an example of a base plate in the modeled structure.
[0010] Figure 2B is a schematic diagram showing an example of a gusset plate in the modeled structure.
[0011] Figure 2C is a schematic diagram showing an example of an end cap in the modeled structure.
[0012] Figure 3 is a flowchart of an exemplary first embodiment method for recommending structural members based on selected support elements.
[0013] Figure 4 is for implementing Figure 3Flowchart of the sub - process of block 400 for creating a feature vector of a structural member.
[0014] Figure 5A Details the implementation of Figure 3 Flowchart of the sub - process of block 500a for comparing the feature vector of a seed member with the feature vector of another structural member.
[0015] Figure 5B Details the implementation of Figure 3 Flowchart of the sub - process of block 500b for comparing the feature vectors of a pair of seed members with the feature vector of another structural member.
[0016] Figure 6 Is a flowchart of an exemplary second - embodiment method for suggesting a structural member based on selected support elements attached to two or more structural members.
[0017] Figure 7 Details the implementation of Figure 6 Flowchart of the sub - process of block 700 for creating a connection feature vector.
[0018] Figure 8 Details the implementation of Figure 6 Flowchart of the sub - process of block 800 for comparing connection feature vectors.
[0019] Figure 9 Is a flowchart detailing how to create a connection vector between two members.
[0020] Figure 10 Is a schematic diagram showing an example of a system for performing the functions of the present invention.
[0021] Figure 11A Is a schematic diagram of a modeling structure with an end - cap element selected on a pipe member.
[0022] Figure 11B Is Figure 11A A schematic diagram showing the modeling structure of an end - cap suggestion.
[0023] Figure 11C Is Figure 11A A schematic diagram showing the modeling structure of an end - cap added based on user acceptance of a suggestion.
[0024] Figure 12A Shows a modeling structure as an example of a support element attached to two structural members.
[0025] Figure 12B Is Figure 12A A schematic diagram showing the modeling structure of a suggested location.
[0026] Figure 12C is Figure 12A a schematic diagram showing a modeling structure of a structural member added based on user acceptance of a suggestion. Detailed Description
[0027] The following definitions are useful for interpreting terms that apply to the features of the embodiments disclosed herein and are meant to define only the elements in the present disclosure.
[0028] As used in the present disclosure, a "structural member" refers to a component of a structure that receives (and can be attached to) a support element. In a structural member, metal pieces welded together are usually large and heavy and are typically formed into I-beams, H-beams, L-beams, pipes, or square beams. These types of beams provide strength and stiffness to the overall structure.
[0029] As used in the present disclosure, a "seed member" refers to a structural member that serves as a basis for comparison with one or more "candidate members" of a modeling structure. Here, a candidate member refers to a structural member to be compared with the seed member. If a candidate member is similar enough to the seed member (e.g., according to comparison criteria), then thereafter, the candidate member is identified as and referred to as a "suggested member" or "suggestion portion".
[0030] As used in the present disclosure, a "support element" refers to a gusset plate, a plate-like member, an end cap, or another member of a structural member attached to a component.
[0031] As used in the present disclosure, a "plate-like member" refers to a first type of support element in a component. Plate-like members are typically used in structural members to provide additional strength, stiffness, and support to various structural members 215 ( Figure 2A ). Plate-like members are typically flat, thin, and rectangular or circular pieces of material (such as steel or aluminum) that are typically used in combination with beams, column portions, and other types of structural members 215. Plate-like members can be used in different ways in structural design. For example, a plate-like member can be used as a base plate or a stiffening plate. A base plate is used to distribute the weight of a column portion or other type of vertical structural member 215 over a larger area at the base, as Figure 2A shown. The base plate 210 is typically bolted or welded to the bottom of the column portion or other member. A stiffening plate can be used to provide additional stiffness and support to a structural member 215 such as a beam or a column portion. The stiffening plate is typically welded or bolted to the member and helps prevent bending or distortion under heavy loads.
[0032] As used in the present disclosure, a "gusset plate" refers to a second type of support element in a component. As Figure 2BAs shown, gusset plate 220 is typically used in combination with structural members to provide additional strength and support. Gusset plate 220 is typically relatively small with respect to the corresponding support member 215 and can typically be a triangular or rectangular piece of material (such as metal or wood) that is added to the joint or connection point between two or more structural members 215. Gusset plate 220 is used to transfer loads and stresses between structural members 215 and prevent the joint from bending or twisting. Gusset plate 220 can also help distribute the load more evenly across the joint, which can reduce the risk of local failure.
[0033] As used in this disclosure, "end cap" refers to a terminal structural member in an assembly, such as a hollow structural member. Figure 2C An exemplary end cap 230 is shown. Examples of end caps include pipe end caps and furniture leg end caps. A pipe end cap is a device for closing the end of a pipe. Pipe end caps can be made of various materials (such as plastic, metal, or rubber) and are typically used to prevent dust, debris, or water from entering the pipe. A furniture leg end cap can be a small cap that can be disposed on the end of a furniture leg to protect the floor from scratches and prevent the furniture from sliding around. Generally, end cap 230 can be used for a variety of purposes, including protection, sealing, and enhancing aesthetics.
[0034] As used in this disclosure, "descriptor" refers to a data structure that describes the characteristics of a local region of the geometry within a modeled component, particularly the characteristics of components, plates, gusset plates, end caps, etc. Descriptors can include text fields and numeric fields, as well as fields indicating relationships to other parts and / or structural features. This usage of the term "descriptor" is common in information retrieval systems. For example, in an image retrieval system, a descriptor contains the visual features of an image (such as shape, color, or texture that helps classify the image). In a music search system, a descriptor can contain characteristics such as rhythm, scale, genre, artist, etc. In a document retrieval system, a descriptor can contain counts of individual words, authors, languages, etc.
[0035] As used in this disclosure, "parts list" refers to a list of the individual parts of a two-dimensional (2D) or three-dimensional (3D) modeled component. In a CAD environment, the parts list can be visually presented as a sidebar of a graphics window that presents a 2D or 3D rendering of the modeled component. The parts list and the graphics window can be interactive. For example, selecting a part in the parts list can highlight the corresponding part in the graphics window, and likewise, selecting a part in the graphics window (such as by mouse click) can highlight the corresponding part in the parts list.
[0036] As used in this disclosure, "model resolution" refers to the parameter of a CAD system that indicates the minimum size such that anything smaller than the model resolution is treated as zero length by the CAD system.
[0037] As used in this disclosure, "face" refers to the surface that is part of a 2D or 3D modeling component.
[0038] As used in this disclosure, "proposed structural member" (or "proposal part") refers to a structural member that is identified as a compatible pairing for a support element for user selection.
[0039] As used in this disclosure, "one-hot encoding" refers to a technique used in machine learning and data preprocessing to represent categorical variables as binary vectors. For example, one-hot encoding may be beneficial when using algorithms that require numerical input (such as neural networks and many machine learning models).
[0040] Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings. In the drawings and the specification, wherever possible, the same reference numerals are used to refer to the same or like parts.
[0041] Plates, gussets, and end caps are commonly used to add support or strength in any structural model design. The exemplary embodiments described herein reduce the repetitive selection of similar member characteristics, member lengths, and corner joints in components to add plates, gussets, and end caps. The exemplary embodiments also greatly reduce stress and human error because structural models are typically large and often involve multiple selections that require rotation / scaling of the model.
[0042] The exemplary embodiments provide batch replication of multiple gussets, plates, or end caps with minimal user input. In an exemplary workflow, the user selects, via the user interface of a CAD environment, one or more structural elements of interest (such as gussets, plates, end caps) to be replicated in a structural model.
[0043] The embodiments analyze each structural element of interest (e.g., the arrangement of the structural element and one or more characteristics of the parent structural member (or group of parent structural members) supported by the structural element). The embodiments scan the data structure of the structural model to search for other structural members (or other groups of structural members) whose characteristics and geometric configurations are similar to those of one or more parent elements. If one or more similar structural members are found, the embodiments present a preview to the user that suggests new structural elements (such as the selected structural element) that can be replicated for the similar structural members.
[0044] The embodiment gives the user the opportunity to use the same process as the previously described process to select additional structural elements to be copied. Then, the user can choose to automatically apply all the proposed copies, or exclude the specified proposals and copy the rest. The embodiment enables the user to specify changes to one or more parameters of the selected structural elements to adjust the scope of the structural member search.
[0045] The embodiment can be implemented as an application or feature within a CAD environment, thereby effectively automating multiple parts of the tedious manual process and improving the overall ergonomics of the CAD system.
[0046] Figure 3 is a flowchart of an exemplary first embodiment method for finding proposed structural members based on the selected support elements. It should be noted that any process description or box in the flowchart should be understood to represent a module, segment, code portion, or step that includes one or more instructions for implementing a specific logical function in the process, and alternative implementations are included within the scope of the present invention, within which, as understood by a person of reasonable skill in the art of the present invention, functions may be performed not in the order shown or discussed (including substantially simultaneously or in the reverse order), according to the functions included.
[0047] As shown in block 310, a user selection of the selected support element is received. For example, the selected support element can be a plate-like member, gusset plate, or end cap. Figure 11A A modeled structure is shown, which has a selected end cap element 230 attached to a structural member (rectangular tube) 215. As shown in block 320, the structural member attached to the selected support element is designated as the seed structural member ("seed member"). For Figure 11A the example, the rectangular tube 215 is the designated seed member.
[0048] As shown in block 400, a feature vector is created for each of the multiple structural members in the modeled physical structure. The creation of the feature vector is described below with reference to Figure 4 As shown in block 500a, the seed structural member feature vector is compared with the structural member feature vectors ("proposed candidates" or "candidate members") of the multiple structural members in the modeled physical structure. The comparison is described below with reference to Figure 5ADescribes the comparison of feature vectors. The user can adjust one or more options regarding the feature vectors of the seed structural members to relax or tighten the comparison criteria. The comparison in block 550a results in one or more proposed structural members ("proposed parts"). As previously described, the proposed structural members refer to the structural members identified as compatible pairings for the selected support element. Here, at least one feature of the proposed structural member matches the corresponding feature of the seed structural member, so the proposed candidate part is designated as the proposed part. Figure 11B Shows the proposed pipe 1145 and the associated end cap proposed part 1140.
[0049] As shown in block 350, the proposed structural members are indicated in the displayed description of the modeled physical structure. The proposed structural members can be indicated, for example, by color highlighting. Alternatively, the proposed structural members can be indicated in a list of candidate structural members. The user can accept the proposed structural members, for example, by selecting the structural members indicated on the display. When the user selects the proposed structural members, the CAD system duplicates the selected support structural element at the proposed structural members ("proposed parts"). Figure 11C Shows the end cap 1150 added based on the user's acceptance of the proposed part.
[0050] If more than one structural member is attached to the selected support element, each such member is considered a seed member. Here, connection feature vectors are created for the seed members and the proposed members. This is further described below with reference to Figures 6 to 9 The second exemplary embodiment.
[0051] Figure 4 Extends the sub - process of block 400 for implementing Figure 3 Regarding block 410 "Profile Name One - Hot Encoding", the embodiment employs multiple criteria for the profiles of structural members. Each profile can be represented by a unique name, such as 'ST', 'C', 'FL', 'L', 'M', 'MC', 'MT', 'Pipe', 'Round HSS', 'S', 'W', 'WT', 'WRF', 'WWF', 'WWT', 'HA', 'HS', 'L',
[0052] ‘M’, ‘MC’, ‘Round HA’, ‘Round HS’, ‘W’, ‘WRF’, ‘WWT’, ‘L’, ‘PFC’,
[0053] ‘Flat Bar’, ‘HD’, ‘HE’, ‘HL’, ‘HLZ’, ‘HP’, ‘I’, ‘IPE’, ‘IPN’, ‘J’,
[0054] ‘L’ and ‘PFC’, where each corresponding profile is characterized by a different shape. For example, the ‘C’ profile can cover a range of dimensions, e.g., including [‘6×8.2’, ‘6×10.5’, ‘3×3.5’, ‘3×4.1’, ‘3×5’,
[0055] ‘3×6’, ‘4×4.5’, ‘4×5.4’, ‘4×6.25’, ‘4×7.25’, ‘5×6.7’, ‘5×9’, ‘6×8.2’,
[0056] ‘6×10.5’], where, in this example, the unit of measurement is inches.
[0057] Create feature vectors from these profile names using one-hot encoding technique. Each profile name corresponds to a unique feature in the vector. ‘1’ indicates the presence of a specific profile, while ‘0’ indicates the absence of a specific profile, thus enabling the effective representation and analysis of the structural profiles used in CAD models. For example, when applied to a model using three profiles:
[0058] · For the ‘L 20×20’ profile, the vector for this profile is [1, 0, 0],
[0059] · For the ‘L 30×30’ profile, the vector for this profile is [0, 1, 0],
[0060] · For the ‘Square 20×20’ profile, the vector for this profile is [0, 0, 1].
[0061] As shown in box 415, calculate the profile geometry vector. Extract the basic features of the cross-sectional shape of the component from the component descriptor (data structure), such as area, edge length, and the angle between edges. The following is an example of how to combine the geometric properties of a component into a feature vector. Here, for a square profile with a side length of 20 mm. The feature vector can be written as:
[0062] · Area: 400 mm 2
[0063] · Edge length: [20, 20, 20, 20]
[0064] · Angle between edges: [90, 90, 90, 90]
[0065] And the resulting feature vector is: [400, 20, 20, 20, 20, 90, 90, 90, 90].
[0066] As shown in block 420, the connections of vectors to other components are calculated. For example, the connections formed between one component and other components at the corresponding ends of these components. These connections or associations are counted and included in the component descriptor. The result count of using these connections in the descriptor. For example, if a particular component is attached to four other components, the feature vector of this component will be represented as [4]. This vector captures connection information that can be used for further structural analysis.
[0067] As shown in block 425, the ratio of the edge length to the chord length is calculated. The ratio of the edge length of a component to the chord length of the component is a reliable feature for effectively conveying the shape of the component. The chord length represents the straight-line distance between the initial point and the final point of the component. For example, if the length of an arc is 20 mm and the distance between the starting point and the ending point of the arc is 10 mm, the feature vector is represented as [2]. This vector concisely characterizes the shape of the component by highlighting the elongation rate or curvature in the path followed by the component.
[0068] As shown in block 430, the angle deviation vector is calculated. Here, the angle deviation refers to the angle between the initial orientation and the final orientation of a structural component. The angle deviation vector quantifies the angle change along the length of the component, thus providing important information for structural analysis. For example, if there is a 45-degree angle difference between the tangent at the starting point of the component and the tangent at the ending point of the component, the feature vector is represented as
[45] .
[0069] As shown in block 435, the adjacent face angle vector is calculated. The adjacent face angle refers to the angle between two faces adjacent to the edge shared by adjacent components. The adjacent face angle attribute provides valuable insights into how adjacent components are interconnected. The adjacent face angle feature vector concisely captures the relationship and connection between adjacent components, which is of great significance for understanding and analyzing the structural configuration. For example, if a particular component is attached to two other components at angles of 45 degrees and 90 degrees, the feature vector representing these adjacent face angles will be [90, 90].
[0070] As shown in block 440, the component length vector is calculated. The length of a structural component is determined by measuring the distance spanned from the starting point to the ending point along the curved path of the structural component. The component length feature vector concisely describes the extent of the component along the curve of the component, thus facilitating structural analysis and design considerations. For example, if a component has a length of 5000 mm, this feature can be represented by the feature vector
[5000] .
[0071] As shown in block 445, the orientation vector of the computational member is calculated. Here, the orientation of the structural member is quantified by calculating the tangents at the initial and end points of the structural member. For example, if the tangent at the starting point is (1, 0, 0) and the tangent at the end point is (-1, 0, 0), the eigenvector describing the orientation is defined as [1, 0, 0, -1, 0, 0].
[0072] For the optional settings related to the proposed plane for filtering structural members, the starting and ending points of the member are the basic criteria. More details of block 450 are provided below. Here, the embodiments calculate the vectors of the proposed starting and ending points.
[0073] The specific conditions for filtering based on the support element type are as follows. For a plate-like member, the proposed starting point or the proposed ending point needs to be located on the plane of the proposed structural member. For a gusset plate, the distances from the starting and ending points to the plane should be the same. This distance should be less than or equal to the cross-sectional width of the proposed structural member.
[0074] The starting point eigenvector / ending point eigenvector helps to identify and classify members based on the proximity of the member to the specified plane, enabling precise filtering during the analysis process. For example, for a structural member with the starting point at (10, 0, 0) and the ending point at (100, 0, 0), the corresponding eigenvector for filtering these conditions is represented as [10, 0, 0, 100, 0, 0].
[0075] For any given member, various attributes are combined to create an eigenvector for comparison. The following is the decomposition of an exemplary combined eigenvector:
[0076] · Ratio of edge length to chord length, angular deviation, and profile name or profile geometry:
[0077] Eigenvector: [2, 45, 1, 0, 0] or [2, 45, 400, 20, 20, 20, 20, 90, 90, 90, 90].
[0078] · Number of connections with other members and adjacent face angles:
[0079] Eigenvector: [4, 90, 90].
[0080] · Length:
[0081] Eigenvector:
[5000] .
[0082] · Orientation:
[0083] Eigenvector: [1, 0, 0, -1, 0, 0].
[0084] · End point:
[0085] Eigenvector: [10, 0, 0, 100, 0, 0].
[0086] These eigenvectors effectively encapsulate specific component properties, enabling thorough comparison, analysis, and identification of unique features among different components. Additionally, embodiments can provide the user with the ability to enable or disable certain parameters (such as length, orientation, and endpoints) to suit the user's specific comparison needs. In a first exemplary embodiment, user options for structural component analysis include multiple properties with default settings:
[0087] · Length (enabled by default)
[0088] · Orientation (disabled by default)
[0089] · Suggested plane (disabled by default)
[0090] · Connection to other components (enabled by default)
[0091] Here, by default, length and connection to other components are active features. The user can flexibly enable or disable the suggested orientation and suggested plane based on the user's specific needs.
[0092] In an alternative embodiment, the user can choose to activate the "suggested plane" option to select a plane within the model. Once a plane within the model is selected, suggestions related only to components located on the selected suggested plane are presented to the user. This feature enhances user control and customization during the analysis process.
[0093] Figure 5A is a flowchart detailing the sub - process of block 500a for comparing the eigenvector of a seed component with the eigenvector of a candidate component for implementation Figure 3 Each of blocks 510, 520, 530, 540, and 550 involves comparing the eigenvector of the candidate component with the eigenvector of the seed component.
[0094] As shown in block 510, one or more shape vectors of the seed component are compared with one or more corresponding shape vectors of the candidate component. Here, for example, embodiments can compare one or more of the ratio of the edge length to the chord length, angular deviation, and combined vector of profile name and / or profile geometry of the seed component with the combined vector of the candidate component under evaluation. This comparison may involve calculating the L2 norm between the eigenvectors, for example, setting a threshold of 0.1 for this evaluation.
[0095] As shown in block 520, one or more length vectors of the seed component are compared with one or more corresponding length vectors of the candidate component. This comparison requires evaluation using absolute differences, and the threshold for comparison can be determined by the specified tolerance of the model.
[0096] As shown in block 530, one or more connection vectors of the seed component are compared with one or more corresponding connection vectors of the candidate component. Here, for example, an embodiment may compare a combined vector of the number of connections of the seed component with other components and the adjacent face angles with a combined vector of the candidate component under evaluation. This comparison may involve calculating the L2 norm between the feature vectors, for example, setting a threshold of 0.1 for this evaluation.
[0097] As shown in block 540, one or more orientation vectors of the seed component are compared with one or more corresponding orientation vectors of the candidate component. Here, for example, an embodiment may compare the orientation vector of the seed component with the orientation vector of the candidate component under evaluation. This comparison may involve calculating the L2 norm between the feature vectors, for example, setting a threshold of 0.1 for this evaluation.
[0098] As shown in block 550, one or more plane vectors of the seed component are compared with one or more corresponding plane vectors of the candidate component. Here, for example, in the presence of a proposed plane, an embodiment may extract the starting point and the ending point from the endpoint feature vectors. Subsequently, the embodiment checks whether any of these points coincides with the user-specified plane.
[0099] As shown in block 560, it is determined whether the comparison criteria for each of the foregoing blocks are met. For all comparisons, the results are determined as follows:
[0100] · If the component meets the criteria, the result is true.
[0101] · If the attribute is optional and not calculated, the result is also considered true.
[0102] · If the component does not meet the criteria, the result is false.
[0103] As shown in block 590, if not all criteria are determined to be true, the comparison is exited without advancing the candidate component as a proposal. As shown in block 570, if all criteria are determined to be true, the candidate component is added to the proposal list.
[0104] It should be noted that different implementation methods of the embodiment may omit one or more of the comparison blocks 510, 520, 530, 540, and 550, and / or the user of the CAD environment may choose which of the comparison blocks 510, 520, 530, 540, and 550 to include. In an alternative embodiment, the criteria check of block 560 may be performed after any one or more of blocks 510, 520, 530, 540, and 550.
[0105] Figure 6It is a flowchart of an exemplary second embodiment method for suggesting paired structural members ("paired suggestion part") based on selected support elements attached to two or more structural members.
[0106] As shown in block 310, a selection of a selected support element is received. For example, a CAD system user can select a support element, such as a gusset plate, from the displayed description of the structure. Two or more support structural members attached to the selected support element are referred to as "seed members". For exemplary purposes, the following description is directed to a selected support element attached to a first seed structural member and a second seed structural member, as shown in block 610, the first seed structural member is designated as the first seed structural member, and as shown in block 620, the second seed structural member is designated as the second seed structural member. The first seed member and the second seed member together form a paired seed member, or simply "paired seed".
[0107] Based on comparing the paired seed with paired candidate structural elements, paired suggestion elements ("paired suggestion part") are identified. For a paired candidate part considered as a paired suggestion part, a first pair of member candidates matches the corresponding features of the first seed member, a second pair of member candidates matches the corresponding features of the second seed member, and the paired seed connection feature vector matches the corresponding paired candidate part connection feature vector.
[0108] As an example of a support element attached to two structural members, Figure 12A A modeled structure is shown having a selected gusset plate element 1250 attached to a first structural member 1220 and a second structural member 1225. As shown in block 610, the first structural member 1220 is designated as the first seed structural member ("seed member"). As shown in block 620, the second structural member 1225 is designated as the second seed member.
[0109] As shown in block 400, a feature vector is created for each of the multiple structural members in the modeled physical structure. The creation of the feature vector was previously described with reference to Figure 4 Description of the creation of the feature vector.
[0110] As shown in block 500b(i), the first seed structural member feature vector is compared with the structural member feature vectors. The comparison of the feature vectors was described above with reference to Figure 5B Description of the comparison of the feature vectors. A successful comparison results in considering the matched structural member as a first pair of member candidates, which is added to the list of first pair of member candidates. This process is repeated until all structural members in the structure have been examined as first pair of member candidates.
[0111] As shown in block 500b(ii), the second sub - structure member feature vector is compared with the structure member feature vectors of a plurality of structure members in the modeled physical structure. The above reference Figure 5B describes the comparison of the feature vectors. A successful comparison results in indicating a second pair of member candidates, which are added to the list of second pair of member candidates. This process is repeated until all the structure members in the structure have been examined as second pair of member candidates.
[0112] As shown in block 700, a connection feature vector is created for each pair of member candidates of the paired seeds and the first / second pair of member candidates. Block 700 is expanded Figure 7 as further described below. Here, a list of paired structure element candidates is generated. The paired candidates are not considered as proposals until there is a good comparison between the connection feature vector of the first / second pair of member candidates and the paired seed connection feature vector.
[0113] As shown in block 800, the connection feature vector of the paired seeds is compared with the connection feature vectors of all the first / second pair of member candidates. Block 800 is expanded Figure 8 as further described below. This results in a list of the proposed paired structure members. Figure 12B Shows the proposed gusset plate position 1240 shown relative to the proposed paired structure.
[0114] As shown in block 650, the proposed paired structure members in the list of proposed paired structure members are indicated in the displayed description of the modeled physical structure. The proposed pairs can be indicated, for example, by color highlighting. The user can accept the proposed pairs, for example, by selecting the paired structures indicated in the display. Upon user selection, the CAD system copies the selected support elements at the proposed pairs. Figure 12C Shows the gusset plate 1250 added based on the user's acceptance of the proposals.
[0115] When there are two seed members, these two seed members can be referred to as paired seeds. Similarly, two candidate members can be referred to as paired candidates, and two corresponding proposed members can be referred to as paired proposals. Figure 6 The above description of
[0116] The connection vector describes the relationship between two paired structural components. The connection vector contains an intersection vector and an angle vector. The intersection vector of the paired seed is calculated for the first component of the paired seed and the second component of the paired seed. The angle vector of the paired seed is calculated for the first component of the paired seed and the second component of the paired seed. The intersection vector of the paired candidate part is calculated for the candidate part of the first pair of components and the candidate part of the second pair of components. The angle vector of the paired candidate part is calculated for the candidate part of the first pair of components and the candidate part of the second pair of components.
[0117] Figure 5B is detailed for implementation Figure 3 Flowchart of a subprocess of block 500b for comparing a feature vector of a pair of seed components with a feature vector of another structural component. Each of blocks 510, 520, 530, 540, and 550 involves comparing a feature vector of a structural component with a feature vector of a seed component. Figure 5A A description of blocks 510 , 520 , 530 , 540 , and 550 is provided.
[0118] As shown in block 560, a determination is made as to whether the comparison criteria of each of the preceding blocks are satisfied. For all comparisons, the results are determined as follows:
[0119] If the component meets the criteria, the result is true.
[0120] If the attribute is optional and not computed, the result is also considered true.
[0121] If the component does not meet the standard, the result is false.
[0122] As shown in block 590, if not all criteria are determined to be true, the comparison is exited without advancing the candidate component to a suggested portion. As shown in block 580, if all criteria are determined to be true, the candidate component is added to the list of paired component candidates.
[0123] It should be noted that different implementations of the embodiments may omit one or more of the comparison blocks 510, 520, 530, 540, and 550, and / or a user of the CAD environment may select which of the comparison blocks 510, 520, 530, 540, and 550 to include. In alternative embodiments, the standard check of block 560 may be performed after any one or more of blocks 510, 520, 530, 540, and 550.
[0124] Figure 7 is detailed for implementation Figure 6Flowchart 700 of the sub - process of block 700 for creating connection feature vectors for paired seeds and candidate parts. As shown in block 900, a connection vector is created for a seed attached to a selected support element (plate - like part or gusset). The process for creating the connection vector is described below with respect to Figure 9 A process for creating a connection vector is described. As shown in block 710, a first pair of part candidates is found for a first seed. As shown in block 720, a second pair of part candidates is found for a second seed. Here, the first pair of part candidates and the second pair of part candidates are found in a manner similar to identifying a single proposed part according to the first embodiment ( Figure 3 ). As shown in block 730, a connection vector is created for the paired candidates (where the paired candidates consist of the first pair of part candidates paired with the second pair of part candidates). Here, the first pair of part candidates of each paired part matches well with the first seed part of the paired seed, and the second pair of part candidates of each paired part matches well with the second seed part of the paired seed.
[0125] Each paired candidate is added to a list of paired candidates for later comparison with the paired seed, as further described with respect to Figure 8 This is to determine whether the relationship between the paired candidate parts matches the relationship between the paired seed parts.
[0126] Figure 9 is a flowchart detailing how to create a connection vector between two parts. As shown in block 910, the intersection of two part vectors is determined. When the two parts do not meet the comparison criteria, the resulting vector can be, for example, [- 1, - 1]. However, if the two parts do intersect at a specific point, the embodiment calculates the ratio of the distance of each part from the intersection point to one end to the total distance between the end points. This vector conveys the relative positioning of the intersection point along the length of each part. For example, if the ratio of the intersection point on the first part to one end is 0.3 and the ratio of the intersection point on the other part to one end is 0.4, the vector is represented as [0.3, 0.4].
[0127] As shown in block 920, the angle between two component vectors is determined. This angle is determined based on the tangents of the respective component orientation vectors at the starting points of the two components. The first tangent is for the seed or candidate part, and the second tangent is for the adjacent part attached to the seed or candidate part. There is an intersection point between these components. The first tangent is evaluated for the seed or candidate part at the intersection point between the first component and the second component. The second tangent is evaluated for the adjacent part at the intersection point. The angle attribute provides insights into how the two components are oriented relative to each other. The resulting angle feature vector concisely captures the relationship and connection between the two components. For example, if a particular component is attached to another component at an angle of 90 degrees, the feature vector representing these adjacent face angles will be
[90] . As shown in block 930, the intersection vector and the angular vector are combined to form a connection vector.
[0128] Figure 8 is a detailed flowchart of the sub - process of block 800 for comparing connection feature vectors for implementation Figure 6 As shown in block 810, a first pair of candidate parts having a first pair of component candidates and a second pair of component candidates is identified. As shown in block 820, the intersection vector of the paired seeds is compared with the intersection vector of the paired candidates. For example, in the context of intersection vectors, where the intersection vector of the seeds is [0.3, 0] and the intersection vector of the paired candidates is [0.7, 0], the explanation is as follows:
[0129] For the seeds:
[0130] · On the first seed component, the intersection point divides the component length into a ratio of 0.3 to 0.7 of the total length.
[0131] · On the second seed component, the intersection point meets at one of the ends.
[0132] For the candidates:
[0133] · On the first candidate component, the intersection point divides the component length into a ratio of 0.7 to 0.3 of the total length.
[0134] · On the second candidate component, the intersection point meets at one of the ends.
[0135] The L2 norm is calculated between these intersection vectors, considering all possible permutations to account for any differences between the starting and ending points. For the above values, the second embodiment calculates ([0.3, 0] and [0.7, 0]), ([1 - 0.3, 1 - 0] and [0.7, 0]), ([0, 0.3] and [0.7, 0]), and ([1 - 0, 1 - 0.3] and [0.7, 0]). If any combination in the combination returns an L2 norm less than 0.1, the comparison returns true.
[0136] As shown in block 830, the angular vectors of the pair of seeds are compared with the angular vectors of the pair of candidate parts. If the comparison of the intersection vectors and the angular vectors is true, then according to block 840, the pair of candidate parts is added to the list of pairs of proposed parts. The second embodiment calculates the L2 norm between the angles and returns true for the comparison if the L2 norm is less than 0.1.
[0137] The system for performing the functions described in detail above can be a computer, Figure 10 The schematic diagram of which shows an example of the computer. System 1000 includes a processor 1002, a storage device 1004, a memory 1006 (which has software 1008 stored in the memory that defines the functions described above), input and output (I / O) devices 1010 (or peripherals), and a local bus or local interface 1012 (which enables communication in system 1000). As is known in the art, the local interface 1012 can be, for example but not limited to, one or more buses or other wired or wireless connections. The local interface 1012 may have additional elements (such as controllers, buffers (caches), drivers, repeaters, and receivers) that are omitted for simplicity to enable communication. Further, the local interface 1012 may include address, control, and / or data connections to enable proper communication between the foregoing components.
[0138] The processor 1002 is a hardware device for executing software, particularly the software stored in the memory 1006. The processor 1002 can be any custom or commercial single-core or multi-core processor, central processing unit (CPU), auxiliary processor among multiple processors associated with the system 1000, semiconductor-based microprocessor (in the form of a microchip or chipset), macroprocessor, or any device generally used for executing software instructions.
[0139] The memory 1006 can include any one or combination of volatile storage elements (e.g., random access memory (RAM), such as DRAM, SRAM, SDRAM, etc.) and non-volatile storage elements (e.g., ROM, hard disk drive, magnetic tape, CDROM, etc.). Moreover, the memory 1006 can incorporate electronic, magnetic, optical, and / or other types of storage media. Note that the memory 1006 can have a distributed architecture where the individual components are located remotely from each other but can be accessed by the processor 1002.
[0140] According to the present invention, software 1008 defines the functions to be performed by system 1000. The software 1008 in the memory 1006 may include one or more individual programs, each of which contains an ordered list of executable instructions for implementing the logical functions of the system 1000, as described below. The memory 1006 may contain an operating system (O / S) 1020. The operating system substantially controls the execution of programs in the system 1000 and provides scheduling, input-output control, file and data management, memory management, and communication control and related services.
[0141] The I / O device 1010 may include input devices such as, but not limited to, a keyboard, a mouse, a scanner, a microphone, etc. In addition, the I / O device 1010 may further include output devices such as, but not limited to, a printer, a display, etc. Finally, the I / O device 1010 may further include devices that communicate via both input and output, such as, but not limited to, a modem (modulator / demodulator; for accessing another device, system, or network), a radio frequency (RF) or other transceiver, a telephone interface, a bridge, a router, or other devices.
[0142] When the system 1000 is in operation, the processor 1002 is configured to execute the software 1008 stored in the memory 1006 to transfer data to and from the memory 1006 and generally control the operation of the system 1000 according to the software 1008, as explained above.
[0143] When the functions of the system 1000 are in operation, the processor 1002 is configured to execute the software 1008 stored in the memory 1006 to transfer data to and from the memory 1006 and generally control the operation of the system 1000 according to the software 1008. The operating system 1020 is read by the processor 1002, perhaps buffered in the processor 1002, and then executed.
[0144] When the system 1000 is implemented in software 1008, it should be noted that the instructions for implementing the system 1000 can be stored on any computer-readable medium for use by or in conjunction with any computer-related device, system, or method. In some embodiments, such a computer-readable medium can correspond to either or both of the memory 1006 or the storage device 1004. In the context of this document, a computer-readable medium is an electronic, magnetic, optical, or other physical device or apparatus that can contain or store a computer program for use by or in conjunction with a computer-related device, system, or method. The instructions for implementing the system can be embodied in any computer-readable medium for use by or in conjunction with a processor or other such instruction-executing system, apparatus, or device. Although the processor 1002 is mentioned by way of example, in some embodiments such an instruction-executing system, apparatus, or device can be any computer-based system, a system that includes a processor, or other systems that can obtain and execute instructions from the instruction-executing system, apparatus, or device. In the context of this document, a "computer-readable medium" can be any device that can store, communicate, propagate, or transport a program for use by or in conjunction with a processor or other such instruction-executing system, apparatus, or device.
[0145] Such a computer-readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium include the following: an electrical connection (electronic) having one or more wires, a portable computer disk (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium can even be paper or another suitable medium with a program printed thereon, as the program can be electronically captured, for example, via optical scanning of the paper or other medium and then compiled, interpreted, or otherwise processed in a suitable manner and then stored in a computer memory.
[0146] In an alternative embodiment, when system 1000 is implemented in hardware, system 1000 can be implemented using any one or combination of the following techniques, each of which is well known in the art: discrete logic circuits having logic gates for implementing logical functions for data signals, application specific integrated circuits (ASICs) having appropriate combinational logic gates, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), and the like.
[0147] Embodiments can be used in an automated manufacturing process of a physical structure based on a modeling structure. For example, the support elements identified and created by the embodiments can be added to an inventory list for ordering or for automatically manufacturing the proposed support elements added to the model during the execution of the embodiment method. Similarly, the resulting information regarding the orientation of the proposed support elements can be used to control the manufacturing machines for producing the components and / or sub-components of the actual physical structure.
[0148] In addition, the ergonomics of the CAD environment is improved by reducing the manual repetitions involved in duplicating support elements, e.g., reducing the repetitive stress injuries when operating input / output devices, and reducing the possible errors in the repetitive manual operations.
[0149] It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, the present invention is intended to cover modifications and variations of the present invention provided they fall within the scope of the appended claims and their equivalents.
Claims
1. A computer-based method for suggesting pairs of structural members based on a selected support element modeling a physical structure in a computer-aided drafting (CAD) environment, the method comprising the steps of: Receiving a selection of the selected support element; Designating a pair of seeds, the pair of seeds including a first seed structural member attached to the selected support element and a second seed structural member attached to the selected support element; Creating a feature vector for each of a plurality of candidate structural members in the modeled physical structure; Comparing the first seed structural member feature vector with the structural member feature vectors of each of the plurality of candidate structural members in the modeled physical structure to identify a first pair of member candidates; Comparing the second seed structural member feature vector with the structural member feature vectors of each of the plurality of candidate structural members in the modeled physical structure to identify a second pair of member candidates of a pair candidate, the pair candidate including the first pair of member candidates and the second pair of member candidates; Determining a pair of seed connection feature vectors and a pair of candidate connection feature vectors; Comparing the pair of seed connection feature vectors with the pair of candidate connection feature vectors; Based on the comparison, designating the pair candidate as a pair of suggested parts; And Indicating the pair of suggested parts in the displayed description of the modeled physical structure.
2. The method according to claim 1, the method further comprising the steps of: Receiving user acceptance of the pair of suggested parts.
3. The method according to claim 1, the method further comprising the step of creating a copy of the selected support element configured to be attached to the pair of suggested parts accepted by the user.
4. The method according to claim 1, wherein The support element is one of the group consisting of a plate-like member, a gusset plate, and an end cap.
5. A computer-based method for suggesting structural members based on a selected support element modeling a physical structure in a computer-aided drafting (CAD) environment, the method comprising the steps of: Receiving a selection of the selected support element; Designating a first seed structural member attached to the selected support element; Creating a feature vector for each of a plurality of candidate structural members in the modeled physical structure; Comparing the first seed structural member feature vector with the structural member feature vectors of each of the plurality of candidate structural members in the modeled physical structure; Identifying a candidate member among the plurality of candidate structural members as the suggested structural member based on the comparison; And Indicating the suggested structural member in the displayed description of the modeled physical structure, wherein the plurality of structural members in the modeled physical structure includes the first seed structural member, and the features of the suggested structural member match the corresponding features of the first seed structural member.
6. The method according to claim 5, the method further comprising the steps of: Receiving user acceptance of the selected structural member.
7. The method according to claim 5, the method further comprising the step of creating a copy of the selected support element configured to be attached to the selected structural member.
8. The method according to claim 5, wherein The support element is one of the group consisting of a plate-like member, a gusset plate, and an end cap.
9. The method according to claim 8, the method further comprising the following steps: Specifying a second seed structural member attached to the selected support element, wherein the plurality of structural members in the modeled physical structure includes the second seed structural member, and the pair of seeds includes the first seed structural member and the second seed structural member; Creating a connection feature vector that connects the first seed structural member and the second seed structural member; Comparing the connection feature vector with the pair of candidate part connection vectors and the pair of candidate part structural members of the proposed structural member; and Based on the comparison, designating the proposed structural member and the pair of candidate part structural members as a pair of proposed parts.