Automatic corner trimming for component creation

By automatically identifying and applying pruning rules in the CAD system, the cumbersome problem of manually defining corner pruning in the CAD system is solved, and more efficient structural model pruning is achieved, reducing human errors and time consumption.

CN119272360APending Publication Date: 2025-01-07DASSAULT SYSTEMES SOLIDWORKS CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410878366.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-31
Filing Date
2024-07-02
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In CAD systems, manually defining pruning for each corner of a structural model is a tedious and time-consuming task, especially in complex structures, requiring a lot of time and effort to specify pruning options and order to achieve the desired corner geometry .

Method used

Provide a computer-implemented method to automatically apply a trimming function by identifying seed structural members and their associated patterns in a 3D CAD component, and automatically trimming structural members at corners based on the geometry and rendezvous position of the structural members, using predefined rules, Reduce the need for user interaction and manual trimming.

Benefits of technology

This greatly reduces stress and human errors in structural models, improves trimming efficiency, reduces repeated choices when corner trimming is applied, significantly reduces the time required to create a model with corner trimming, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119272360A_ABST
    Figure CN119272360A_ABST
Patent Text Reader

Abstract

Embodiments relate to functionality for automatically trimming structural members in a computer-aided design (CAD) model. Embodiments obtain a CAD model that includes a joint where a first structural member and a second structural member meet at an end of at least one of the first structural member and the second structural member. The trim is then automatically applied to the joint using one or more processor-executed rules. The one or more rules indicate an applied trim based on (i) a geometry of the first structural member, (ii) a geometry of the second structural member, and (iii) a location of a junction where the first structural member and the second structural member meet.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related Applications

[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 512,447, filed on July 7, 2023, and U.S. Patent Application No. 18 / 498,219, filed on October 31, 2023. The entire teachings of the above applications are incorporated herein by reference. Background Art

[0003] Many existing products and systems for designing and simulating objects (e.g., people, parts, and assemblies of parts, among other examples) are available on the market. Such systems typically employ computer-aided design (CAD) and / or computer-aided engineering (CAE) programs. These systems allow users to build, manipulate, and simulate complex three-dimensional (3D) models of objects or assemblies of objects. Therefore, these CAD systems and CAE systems provide representations of modeled objects using edges, lines, faces, polygons, or closed volumes. Lines, edges, faces, polygons, and closed volumes can be represented in various ways, such as non-uniform rational basis splines (NURBS).

[0004] CAD systems manage parts or assemblies of parts of modeled objects, which are primarily specifications of geometric shapes. In particular, CAD files contain specifications from which geometric shapes are generated. Representations are generated from geometric shapes. Specifications, geometry, and representations can be stored in a single CAD file or in multiple CAD files. CAD systems include graphical tools for representing modeled objects to designers; these tools are specialized for the display of complex objects. For example, an assembly can contain thousands of parts. CAD systems can be used to manage object models stored in electronic files.

[0005] CAD systems and CAE systems use various CAD models and CAE models to represent objects. These models can be programmed in a way that the model has the properties (e.g., physical, material, and / or other physics-based properties) of one or more underlying real-world objects represented by the model. In addition, CAD / CAE models can be used to perform simulations of the real-world objects / environments represented by the models. Summary of the invention

[0006] CAD / CAE-based design of structures such as steel structures and wood structures, as well as other examples, involves the creation of structural members, including vertical, horizontal, and inclined supports. The location where two or more such members meet is often referred to as a corner or joint. Typically, structures are complex and include multiple corners / joints.

[0007] In the context of designing structures in a CAD environment / system, a user of the CAD system manually defines a "trim" for each corner (i.e., joint) of the modeled structure. To define a trim, the user selects and appropriately trims (i.e., defines the geometry) the ends of one or more components (structural components) at the corner. This trimming creates the desired corner-component placement and orientation. Users trim corner-components in a variety of ways. For example, trimming can be performed by manipulating a combination of component orientation and / or trimming planes. Corner trimming typically involves the user specifying a trimming order that defines the order in which the corner-components are trimmed at the corner.

[0008] Achieving the desired trimming geometry by specifying trimming options and order for each individual corner in a structure is a tedious task that consumes a great deal of time and effort. Embodiments address this problem by providing functionality to automatically apply corner trimming where two or more members (eg, three members) meet.

[0009] In example embodiments, trim is applied based on the way the ends of the structural members connect, i.e., meet. In other words, such embodiments may apply trim based on the location of the joint where the structural members meet and the positioning and orientation of the structural members in the joint. Further, embodiments may automatically apply trim to members belonging to one or more patterns, such as linear patterns, circular patterns, etc. One such embodiment applies automatic corner trim based on the way the structural members connect at the ends.

[0010] Embodiments allow a user to automate the corner trimming process on pattern instances (e.g., structural member instances) created as part of a pattern feature creation function, such as a pattern creation function available in CAD tools and applications, such as xFrame provided by applicant-assignee Dassault Systèmes SolidWorks, Inc. (Waltham, Mass.). In embodiments, automatic trimming is implemented using predefined trimming rules that automatically implement various commands that previously had to be performed / used manually. In embodiments, patterned structural member instances are automatically trimmed in a computer model based on (i) the endpoints of the structural member instance, i.e., one or more ends of the structural member, and (ii) how the endpoints terminate and interact with other structural members. According to embodiments, the trimming rules applied to the created pattern instances (i.e., structural member instances) are the same as the trimming rules applied to the seed structural member when the seed structural member is created and trimmed using user commands.

[0011] Example embodiments are directed to a computer-implemented method that first identifies: (i) a seed structural component in a 3D CAD assembly, (ii) a pattern associated with the seed structural component, and (iii) instances of the identified pattern and associated structural component within the 3D CAD assembly. Next, an automatic trimming function (e.g., the rules described herein) is applied to the identified structural components in the assembly.

[0012] Another example embodiment relates to a computer-implemented method for automatically trimming structural members in a CAD model. In an embodiment, the method begins with obtaining a CAD model. The obtained CAD model includes a joint, where a first structural member and a second structural member meet at the end of at least one of the first structural member and the second structural member. Then, automatic trimming is applied to the joint using rules executed by one or more processors, such as the rules described herein. According to an embodiment, one or more rules indicate the applied trimming based on (i) the geometry of the first structural member, (ii) the geometry of the second structural member, and (iii) the position of the joint where the first structural member and the second structural member meet.

[0013] According to an embodiment, the geometry of the first structural member includes a cross-sectional profile of the first structural member, and the geometry of the second structural member includes a cross-sectional profile of the second structural member. Furthermore, in an embodiment, the geometry of the members may include the size, position, location, and orientation of the members, among other examples. Furthermore, in yet another embodiment, automatically applying trimming to the joint includes trimming at least one of the first structural member and the second structural member.

[0014] Another embodiment also includes receiving (i) an indication that the first structural member or the second structural member is a seed structural member, and (ii) an indication of a desired pattern. Such embodiments then create one or more structural member instances in the CAD model based on the seed structural member and the indication of the desired pattern. Then, trimming is automatically applied to corresponding joints of the one or more structural member instances using rules executed by one or more processors. In an embodiment, the indication of the seed structural member and the indication of the desired pattern can be user-entered indications or user-interactively transmitted indications.

[0015] Embodiments can also automatically trim components that are joined to three or more structural members. For example, in an embodiment, in a joint, a first structural member, a second structural member, and a third structural member meet at the end of at least one of the first structural member, the second structural member, and the third structural member. In such embodiments, one or more rules indicate the applied trimming based on (i) the geometry of the first structural member, (ii) the geometry of the second structural member, (iii) the geometry of the third structural member, and (iv) the position of the joint where the first structural member, the second structural member, and the third structural member meet. In addition, in such embodiments, automatically applying trimming to the joint includes trimming at least one of the first structural member, the second structural member, and the third structural member.

[0016] Another embodiment relates to a system for automatically trimming structural members in a computer-based model. In such embodiments, the system includes a processor and a memory having computer code instructions stored thereon. The processor and the memory are configured with the computer code instructions to cause the system to implement any embodiment or combination of embodiments described herein.

[0017] Yet another embodiment relates to a cloud computing implementation for automatically trimming structural members. Such embodiments relate to a computer program product executed by a server communicating with one or more clients over a network, wherein the computer program product includes instructions that, when executed by a processor, cause the processor to implement any embodiment or combination of embodiments described herein.

[0018] It should be noted that the method, system and computer program product embodiments may be configured to implement any embodiment or combination of embodiments described herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The foregoing will be apparent from the following more particular description of example embodiments, as illustrated in the accompanying drawings, in which like reference numerals refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the embodiments.

[0020] Figure 1 A CAD model with trimmed structural members is shown.

[0021] Figure 2 is a flow chart of a method for automatically trimming a structural member according to an embodiment.

[0022] Figure 3-10 The application of automatic pruning rules to a CAD model according to an embodiment is shown.

[0023] Fig.11A depicts a user interface with automatic component pruning not selected, and Fig. 11B The resulting CAD model is depicted.

[0024] Fig. 12A depicts a user interface in an embodiment for selecting automatic component pruning, and Fig. 12B The resulting CAD model is depicted.

[0025] Fig.13 is a flow chart of a method for trimming a structural member for pattern creation according to an embodiment.

[0026] Fig.14A depicts the user interface for selecting automatic member trimming for structural members created without linear patterns, and Fig. 14B The resulting CAD model is depicted.

[0027] Fig.15A depicts the user interface for selecting automatic member trimming for a structural member created with a linear pattern, and Fig. 15B The resulting CAD model is depicted.

[0028] Fig.16A depicts the user interface for selecting automatic member trimming for structural members created without circular patterns, and Fig. 16B The resulting CAD model is depicted.

[0029] Fig.17A depicts the user interface for selecting automatic member trimming for a structural member created with a circular pattern, and Fig. 17B The resulting CAD model is depicted.

[0030] Fig.18 A computer network or similar digital processing environment is shown in which embodiments may be implemented.

[0031] Fig.19 It shows that Fig.18 A diagram of an example internal structure of a computer in an environment. DETAILED DESCRIPTION

[0032] The following is a description of example embodiments.

[0033] As mentioned above, in the context of designing structures in a CAD environment / system, the user of the CAD system defines a "trim" for each corner of the modeled structure. Figure 1 An example CAD model 100 is shown having multiple corners / joints. For example, Figure 1 Joint 101 is shown with trimming members 102a - c and joint 103 is shown with trimming members 104a - b and member 105 (which is not trimmed in joint 103 ).

[0034] Applying corner trimming at a joint is a common task when creating structural components. Trimming can define the manner in which a structural component (e.g., a beam) is manufactured at the beginning and / or end of a component. To define trimming using existing methods, a user selects and appropriately trims (i.e., defines the geometry) the ends of one or more components at a corner (i.e., a joint). This trimming creates the desired corner-component placement and orientation. Users trim corner-components in a variety of ways. For example, trimming can be performed by a user manipulating a combination of component orientation and / or trimming planes. Corner trimming typically involves a user specifying a trimming order that defines the order in which the corner-components are trimmed (i.e., cut, modified, etc.) at the corner.

[0035] Achieving the desired trimming geometry by specifying trimming options and order for each individual corner in a structure is a tedious task that consumes a great deal of user time and effort. For example, structural models are typically large and include multiple joints / corners, such as joints 101 and 103 in model 100, which need to be selected by rotating and scaling the model to apply corner trimming. An embodiment solves these problems and provides functionality for automatically trimming components. An embodiment greatly reduces stress and human error in a structural model. In addition, an embodiment reduces repeated selection of similar corners required by existing methods when applying corner trimming. It should be noted that although the terms member, structure member, and structural member are used herein, the embodiments are not limited to automatically trimming members, but rather the embodiments can be used to trim any computer-based model element.

[0036] Figure 2 2 is a flow chart of an example method 220 for automatically trimming a structural member in a CAD model according to an embodiment. The method 220 is computer-implemented, and therefore, the functions and effective operations (e.g., steps 221-222) can be automatically implemented by one or more digital processors. In addition, the method 220 can be implemented using any computer device or combination of computing devices known in the art. Among other examples, the method 220 can be implemented using the following description of Fig.18 The computer network environment described and / or the following Fig.19 The computer system described is implemented.

[0037] The method 220 begins at step 221 by obtaining a CAD model. In an embodiment, the obtained CAD model includes a joint (i.e., a location) where a first structural member and a second structural member meet at a terminal end (i.e., an end) of at least one of the first structural member and the second structural member. For illustration, Figure 3The structure 332 and the structure 334 meet at the end point (i.e., the end) 336a of the structure 332. Figure 2 Then, at step 222, one or more processor-executed rules are used, such as the following about Figure 3-10 Rules 1-9 are described to apply automatic trimming to the joint. According to an embodiment, one or more rules indicate the trimming to be applied based on (i) the geometry of the first structural member, (ii) the geometry of the second structural member, and (iii) the location of the joint where the first structural member and the second structural member meet.

[0038] In an embodiment of the method 220, the CAD model obtained at step 221 may be any CAD model known in the art. Furthermore, the CAD model may be obtained at step 221 automatically or in response to a user command. Furthermore, the model may be obtained from any point (e.g., a computer memory / storage device) that is communicatively coupled or capable of being communicatively coupled to a computing device implementing the method 220. Furthermore, at step 221, the CAD model may be obtained in response to a user creating a model, such as by the user drawing the CAD model in CAD design software.

[0039] In an embodiment of method 220, the rule may indicate that the geometry of the structural member (e.g., the first structural member and the second structural member) to be trimmed may be any geometry / geometry property known to those skilled in the art. For example, in an embodiment, the geometry of the member may include the size, position, location and orientation of the member and other examples. In addition, according to an embodiment, the geometry of the first structural member includes the cross-sectional profile of the first structural member, and the geometry of the second structural member includes the cross-sectional profile of the second structural member. In addition to other examples, the cross-sectional profile may indicate that the structural member has a circular, square, C-profile, I-profile, T-profile, angle iron or custom cross-sectional profile and other examples. In an exemplary embodiment, a structural member having a circular cross-sectional profile is trimmed according to a specific rule at step 222, and a structural member having other cross-sectional profiles (e.g., square, angle iron, etc.) is trimmed according to different rules (compared to the rules for trimming members having a circular cross-sectional profile) at step 222.

[0040] In an embodiment of method 220, the rule may indicate that the position to which the trim is applied at step 222 refers to the position of how the components meet. For example, the position may include the position and orientation of the components relative to each other where the components meet (i.e., the position). For example, in an embodiment, example positions include components that meet at a position (e.g., position and orientation) where the components are perpendicular to each other or at a position where the components are at an angle to each other. For illustration, in the following description, Figure 3, member 332 meets member 334 at a position where member 332 is perpendicular to member 334 (eg, at joint 331a). Figure 4 , member 442 meets member 444 at a position where member 442 and member 444 are angled (eg, at joint 441 a ).

[0041] According to an embodiment, applying trimming automatically to the joint includes trimming at least one of the first structural member and the second structural member. For example, applying trimming at step 222 may include defining the geometry of the end of one or more members at the corner. The trimming performed at step 222 may create a desired corner-member placement and orientation. At step 222, trimming may be performed by manipulating a combination of member orientation and / or trimming planes. In an embodiment, applying a trimming plane includes applying an existing trimming function (i.e., a "trim plane" function) available in a CAD tool / software in which an embodiment is implemented. In such an embodiment, at step 222, one or more rules are used to automatically select the trimming function applied. For example, according to an embodiment, in the case where a member end (member 1) meets the "middle" of another member (member 2), if member 1 is perpendicular to member 2, a "plane-first contact" trimming type (trim plane function) is applied, and if member 1 is not perpendicular to member 2, a "plane-full contact" (trim plane function) trimming type (if member 2 has a non-circular cross-sectional profile) is applied. It should be noted that a "circular" cross-sectional profile may encompass any profile that does not include any "wire" portions, such as an elliptical profile, and that a profile need not be completely circular to be considered circular with respect to the functionality described herein. Continuing with this example, if component 2 has a "circular" cross-sectional profile, an embodiment applies a "body" trim type (trim plane functionality) regardless of the angle between component 1 and component 2. Additionally, the corner / joint trimming at step 222 may include specifying a trim order that defines the order in which components are trimmed at the joint / corner.

[0042] The method 220 implements the trimming indicated by the one or more rules at step 222. In an embodiment of the method 220, applying the trimming at step 220 includes identifying the geometric properties of each structural member and the location of the corner / joint where the structural members meet. Next, the rules are searched to identify a given rule that is related to (e.g., matches) the identified geometric properties and locations, and the trimming indicated by the given rule is applied to the structural member / joint. Figure 3-10 Example rules that may be employed at step 222 are described.

[0043] Another embodiment of method 220 also includes receiving: (i) an indication that the first structural member or the second structural member is a seed structural member, and (ii) an indication of a desired pattern. Then, such an embodiment creates one or more structural member instances, i.e., separate instances / copies of the seed structural member, in the CAD model based on the seed structural member and the indication of the desired pattern. Trimming is then automatically applied to the corresponding joints of the one or more structural member instances using rules executed by one or more processors. According to an embodiment, the indication of the desired pattern may include an indication of at least one of the following: pattern type, pattern direction, spacing between structural member instances, pattern length, and the number of structural member instances, as well as other examples. In an embodiment, the indication of the seed structural member and the indication of the desired pattern may be an indication input by a user or an indication transmitted interactively by a user.

[0044] Embodiments of method 220 can also automatically trim components that are joined to three or more structural members. For example, in such embodiments, in a joint, a first structural member, a second structural member, and a third structural member meet at the end of at least one of the first structural member, the second structural member, and the third structural member. In such embodiments, one or more rules indicate the applied trimming based on (i) the geometry of the first structural member, (ii) the geometry of the second structural member, (iii) the geometry of the third structural member, and (iv) the position of the joint where the first structural member, the second structural member, and the third structural member meet. In addition, in such embodiments, automatically applying trimming to the joint includes trimming at least one of the first structural member, the second structural member, and the third structural member.

[0045] Embodiments (e.g., method 220) may use multiple rules that indicate the trimming to be applied to a corner / joint based on the nature of the corner / joint and the structural components of the joint. Rules 1-9 are example rules that may be used, for example, at step 222 of method 220. Figure 3-10 1-9. In the context of Rules 1-9 described below, position relates to how the components in the joint meet, for example, whether the components meet at right angles or the components meet at non-right angles. In addition, in the context of Rules 1-9 described below, geometry may include a cross-sectional profile of a component, for example, a component having a cross-sectional profile of a circle, square, C, I, custom, etc. In an embodiment, according to Rule 4 ( Figure 5 ) and Rule 7( Figure 8 ) trims a member with a circular cross-sectional profile and according to Rule 1 ( Figure 5 )、2( Figure 3 )、3( Figure 4 )、5( Figure 6 )、6( Figure 7 )、8( Fig. 9 ) and 9( Fig.10 ) to trim members with other types of cross-sectional profiles.

[0046] Rule 1

[0047] First, Rule 1 states that if a component endpoint terminates in space, i.e. does not intersect another component, then the component is not trimmed. The application of Rule 1 is described below. Figure 5 , where endpoint 556b of member 552 and endpoint 557b of member 554 are not trimmed.

[0048] Rule 2

[0049] Rule 2 states that if a component endpoint terminates orthogonally to a non-endpoint (e.g., middle) of another component, trim to first contact. Figure 3 Execution of Rule 2 is shown in FIG. 3 at joints 331 a - d in CAD model 330 . Figure 3 Also shown is a user interface 338 indicating the applied trimming. In joint 331a, member 332 terminates orthogonally to member 334, and likewise in joint 331b, member 332 terminates orthogonally to member 335. Similarly, in joint 331c, member 333 terminates orthogonally to member 335, and in joint 331d, member 333 terminates orthogonally to member 334. Rule 2 is applied in joint 331a, and the plane trims endpoint 336a of member 332 at the point of contact with member 334. Similarly, in joint 331b, the plane trims endpoint 336b of member 332 at the point of contact with member 335. Similar trimming is applied to joints 331d and 331c, wherein in joint 331d, end point 337a of member 333 is plane-trimmed at the point of contact with member 334, and in joint 331c, end point 337b of member 333 is plane-trimmed at the point of contact with member 335.

[0050] Rule 3

[0051] Rule 3 indicates that if a component endpoint terminates at an angle with a non-endpoint (e.g., the middle) of another component, trim to full contact. According to an embodiment, trim to full contact means trimming so that the entire endpoint of the component contacts the non-endpoint of the other component. Figure 4 Execution of Rule 3 is shown in CAD model 440 at joints 441a - b . Figure 4Also included is a user interface 448 indicating the applied trimming. In joint 441a, member 442 terminates at an angle with a non-endpoint of member 444, and similarly in joint 441b, member 442 terminates at an angle with a non-endpoint of member 445. Applying Rule 3 to joints 441a-b causes endpoint 446a of member 442 to be plane-trimmed to fully contact member 444. Similarly, in joint 441b, endpoint 446b of member 442 is plane-trimmed to fully contact member 445.

[0052] Rule 4

[0053] Rule 4 indicates that if a circular component endpoint terminates at a non-endpoint (e.g., the middle) of another component, it is trimmed to the body. According to an embodiment, trimming to the body means trimming the entire endpoint to fit the body shape (e.g., a circle) of the other component. Figure 5 Execution of Rule 4 is shown in CAD model 550 at joints 551a - b . Figure 5 Also included is a user interface 558 indicating the applied trimming. In joint 551a, circular member 552 terminates at an angle to the non-endpoint of circular member 553, and similarly in joint 551b, circular member 554 terminates orthogonally to the non-endpoint of member 552. Applying Rule 4 to joints 551a-b causes end point 556a of member 552 to be trimmed to fit the circular body of member 553. Similarly, in joint 551b, end point 557a of member 554 is trimmed to fit the circular body of member 552.

[0054] Rule 5

[0055] Rule 5 states that if two members meet at right angles, a plane trim is created at the first point of contact. Figure 6 Execution of Rule 5 is shown in CAD model 660 at joints 661a - d . Figure 6 Also shown is a user interface 668 indicating the applied trimming. In joint 661a, members 662 and 663 meet at a right angle; at joint 661b, members 663 and 664 meet at a right angle; at joint 661c, members 664 and 665 meet at a right angle; and at joint 661d, members 665 and 662 meet at a right angle. At each of joints 661a-d, the planes trim members 662-665 at a first point of contact.

[0056] Rule 6

[0057] Rule 6 states that if two members meet at a non-right angle, a miter contact trim is created, that is, each member is trimmed to an angle that matches the angle of the other member. Figure 7 Execution of Rule 6 is shown in CAD model 770 at joints 771a - d . Figure 7 Also included is a user interface 778 that indicates the applied trimming. In joint 771a, members 772 and 773 meet at a non-right angle; at joint 771b, members 773 and 774 meet at a non-right angle; at joint 771c, members 774 and 775 meet at a non-right angle; and at joint 771d, members 775 and 772 meet at a non-right angle. At each of joints 771a-d, members 772-775 are trimmed at an angle that matches the angle of another member. Specifically, in joint 771a, members 772 and 773 are each trimmed to a matching angle; in joint 771b, members 773 and 774 are each trimmed to a matching angle; in joint 771c, members 774 and 775 are each trimmed to a matching angle; and in joint 771d, members 775 and 772 are each trimmed to a matching angle. In an embodiment, the mating angle between two components is determined by dividing the angle between the two components in half. For illustration, consider the joint 771a where components 772 and 773 meet. The angle between components 772 and 773 is 45°, so the mating angle between the two components is 22.5°, and components 772 and 773 are each cut into a 22.5° angle.

[0058] Rule 7

[0059] Rule 7 states that if three circular members meet at a non-right or perpendicular angle, a three-way miter corner is created, that is, each member is trimmed to an angle that matches the angles of the other members. Figure 8 The implementation of Rule 7 is shown in FIG. 8 at joint 881 in CAD model 880 (showing components meeting at a right angle) and at joint 891 in CAD model 890 (showing components meeting at a non-right angle). Figure 8Also shown is an example user interface 888 indicating the applied trimming (in the CAD model 880). In the joint 881, components 882, 883, and 884 meet at right angles. Rule 7 is applied to the joint 881 so that each component 882-884 is trimmed at an angle that matches the angle of other components. Specifically, in the joint 881, components 882, 883, and 884 are trimmed to a matching angle. In the joint 891, components 892, 893, and 894 meet at non-right angles. Rule 7 is applied to the joint 891 so that each component 892-894 is trimmed at an angle that matches the angle of other components. Specifically, in the joint 891, components 892, 893, and 894 are trimmed to a matching angle. In an embodiment, trimming is applied to components 882-884 and 892-894 by automatically selecting and executing the miter trimming function in an existing CAD software application (by using one or more rules).

[0060] Rule 8

[0061] Rule 8 indicates that if three components meet at right angles, the three components are trimmed with the following priority: (i) planar trimming of two components at the first contact point, and (ii) planar trimming of the remaining components at the first contact point with other components. Fig. 9 The application of Rule 8 is shown at joint 991 in CAD model 990 . Fig. 9 Also shown is an example user interface 998 indicating applied clipping. In joint 991, members 992, 993, and 994 meet at a right angle. Applying Rule 8 to joint 991 causes members 992 and 994 to be plane clipped at a first contact point, followed by member 993 being plane clipped at a first contact point with clipped members 992 and 994. In this example, the clipping of members 992 and 994 is given a first priority, and the clipping of member 993 is given a second priority.

[0062] Rule 9

[0063] Rule 9 indicates that if three or more members meet at a non-right angle, a miter corner is created between the members that meet at a certain angle, and the third member is plane-trimmed at the first contact point with the members that meet at the angle. Fig.10 Execution of Rule 9 is shown at joint 1001 in CAD model 1000. Application of Rule 9 to joint 1001 causes components 1002 and 1003 to be trimmed at an angle (i.e., mitered), followed by component 1004 being plane trimmed at a first point of contact with trimmed components 1002 and 1003. In this example, trimming of components 1002 and 1003 is given a first priority, and trimming of component 1004 is given a second priority.

[0064] In an embodiment, a user may select whether to apply the automatic corner trimming functionality described herein to an existing model and the structural members therein. In an embodiment, such selection is performed via a user interface. Fig.11A An example user interface 1100 is depicted where automatic component trimming is not selected for a CAD model 1102 (eg, the automatic corner trimming checkbox 1101 is not checked). Fig. 11B Depicted is a CAD model 1103, which is the CAD model 1102 without corner trimming applied. It can be seen that in model 1103, not applying trimming causes penetration, for example, in joint 1104, and overhangs, for example, in joint 1105.

[0065] In contrast, Fig. 12A An example user interface 1200 is depicted with automatic component trimming selected for a CAD model 1202 (eg, automatic corner trimming checkbox 1201 is checked). Fig. 12B Depicted is a CAD model 1203 which is the CAD model 1202 with corner clipping applied. Fig. 11B Compared to the model 1103 depicted in FIG. 1 , in the model 1203 , penetrations at the joint 1204 , for example, and overhangs at the joint 1205 , for example, are eliminated.

[0066] In addition to applying trimming to existing components of a CAD model, embodiments may also apply trimming to CAD model components when the components are created. Fig.13 is a flow diagram of one such example method embodiment 1320 in which a structural member is created according to a user-selected pattern, and in which the created structural member is automatically trimmed.

[0067] Method 1320 begins at step 1321, where an indication of a selected seed structural member is received and the seed structural member is processed to determine information about the seed structural member. According to an embodiment, the information determined at step 1321 includes a structural system of the seed member, a container of the seed member, a seed member start point and end point, and a reference for pattern creation. According to an embodiment, the structural system is an ordered geometric set that holds structural entities, the container is a structure / arrangement that holds objects, and the reference is a direction in which pattern instances are created. At step 1322, pattern features, such as structural member instances, are created based on the information determined at step 1321 and user input such as direction, spacing, and number of instances, as well as other examples. In an embodiment, the seed member start point and end point retrieved at step 1321 are used at step 1322 to find reference points for pattern creation (i.e., points used to calculate the positions of other members, etc.), and the reference points are used at step 1322 as a reference for parameters given by the user for pattern creation (such as direction and spacing). Next, at step 1323, the user is provided with the ability to turn off or on the automatic corner trimming function. In an embodiment, the user can use a check box provided in the user interface to turn off and on the trimming function. Step 1324 checks whether the trimming function is turned on or off. If the trimming function is turned off, the method 1320 moves to step 1325, which ends the pattern creation command, for example, in response to the user clicking an OK button. Returning to step 1324, if the automatic corner trimming function is turned on, the method 1320 moves to step 1326, wherein the structural member instance created according to the information determined at step 1321 and the user input from step 1322 is retrieved. According to an embodiment, retrieving the structural member instance includes identifying the structural member instance and storing an identifier of each identified structural member instance. Then, at step 1327, for example, in response to the user clicking an "OK" button, an instruction to apply trimming on the created structural member instance is received. In response, at step 1328, the created structural member instance is automatically trimmed. In an embodiment, performing trimming at step 1328 includes retrieving the endpoints of the structural member instance using a previously stored identifier, and then applying trimming to the retrieved endpoints. According to an embodiment, the structural member is automatically trimmed using the methods described herein, such as method 220 and / or rules 1-9.

[0068] Fig.14A -B, 15A-B, 16A-B and 17A-B show Fig.13 Implementation of method 1320.

[0069] Fig.14A -B shows an example implementation of an embodiment of method 1320. Fig.14AA user interface 1430 is depicted, which includes a component creation graphical user interface (GUI) 1431, and also displays a CAD model 1444. Component creation interface 1431 includes a menu 1432, which is used by the user to select a seed structure. GUI 1431 also includes menu items for the user to select pattern type 1433 linear pattern and linear sub-pattern options 1434a-c (array, perimeter and basic, respectively), and also includes drop-down boxes / inputs 1435-1440 to provide the desired pattern properties, namely, direction, instance spacing type, pattern length type, spacing distance, number of instances, and direction, respectively.

[0070] In order to Fig.14A -B, at step 1321, a user selects a seed structure 1441a via menu item 1432, and at step 1321, the seed structure 1441a is processed. The user also indicates in a drop-down box 1433 of the GUI 1431 that a linear pattern type and an array of linear sub-pattern options 1434a are desired. Next, at step 1322, the desired properties provided via inputs 1433-1440 are processed to create additional structural member instances 1441b-e. Next, step 1323 allows the user to turn corner trimming on or off via check box 1442. In this example, the state of check box 1442 is analyzed at step 1324, and it is determined that the corner trimming function is off. Next, the method 1320 moves to step 1325, where the creation Fig. 14B CAD model 1450 is generated, and method 1320 ends.

[0071] Similar to Fig.14A -B, Fig.15A -B shows an embodiment of method 1320, however, in Fig.15A -B, automatic corner trimming is applied. Fig.15A A user interface 1530 is depicted, which includes a component creation GUI 1531 and a CAD model 1544. Component creation interface 1531 includes menu items 1532, which are used by the user to select a seed structure. GUI 1531 also includes menu items for the user to select pattern type 1533 linear pattern and linear sub-pattern options 1534a-c (array, perimeter and basic, respectively), and also includes drop-down boxes / inputs 1535-1540 to provide the desired pattern properties, namely, direction, instance spacing type, pattern length type, spacing distance, number of instances, and direction, respectively.

[0072] In order to Fig.15A-B, at step 1321, the user selects a seed structure 1541a via menu item 1532, and the seed structure 1541a is processed at step 1321. The user also indicates in a drop-down box 1533 of the GUI 1531 that a linear pattern type and a linear sub-pattern option 1534a array are desired. Next, at step 1322, the desired characteristics provided via inputs 1533-1540 are processed to create additional structural member instances 1541b-e. Next, step 1323 allows the user to turn on or off corner trimming via checkbox 1542. In this example, the state of checkbox 1542 is analyzed at step 1324, and it is determined that the corner trimming function is turned on. Next, the method 1320 moves to step 1326, where the structural member instances 1541b-e created according to the input are retrieved. At step 1327, an instruction is received (e.g., in response to the user clicking button 1543) to continue applying trimming to members 1541b-e. Finally, at step 1328, component instances 1541b-e are automatically pruned, for example, by processing the instances using an automatic pruning algorithm (eg, method 220 and / or rules 1-9) described herein. Fig. 15B The resulting CAD model 1550 is shown having trimmed component instances 1551b-e corresponding to the untrimmed instances 1541b-e.

[0073] Fig.16A -B shows another example implementation in which an embodiment of method 1320 is implemented. Fig.16A A user interface 1630 is depicted, which includes a component creation GUI 1631 and a CAD model 1644. Component creation interface 1631 includes menu items 1632, which are used by the user to select a seed structure. GUI 1631 also includes a menu item for the user to select pattern type 1633 circular pattern, and also includes drop-down boxes / inputs 1634-1638 to provide the required pattern properties, namely, pattern axis, instance angle type, pattern angle type, angle degree, and number of instances, respectively.

[0074] In order to Fig.16A -B, at step 1321, a user selects a seed structure 1641a via menu item 1632, and at step 1321, the seed structure 1641a is processed. Next, at step 1322, the desired properties provided via inputs 1634-1638 are processed to create additional structural member instances 1641b-f. Next, step 1323 allows the user to turn corner trimming on or off via checkbox 1642. In this example, the state of checkbox 1642 is analyzed at step 1324, and it is determined that the corner trimming function is off. Next, method 1320 moves to step 1325, where the corner trimming function is created. Fig. 16BCAD model 1650 is generated, and method 1320 ends.

[0075] Similar to Fig.16A -B, Fig.17A -B shows an implementation of an embodiment in which method 1320 is implemented, however, Fig.17A -B, applies automatic corner trimming. Fig.17A A user interface 1730 is depicted, which includes a component creation GUI 1731 and a CAD model 1744. Component creation interface 1731 includes menu items 1732, which are used by the user to select or otherwise indicate a seed structure. GUI 1731 also includes a menu item for the user to select pattern type 1733 circular pattern, and also includes drop-down boxes / inputs 1734-1738 to provide the desired pattern properties, namely, pattern axis, instance angle type, pattern angle type, angle degree, and number of instances, respectively.

[0076] In order to Fig.17A -B, at step 1321, a user selects a seed structure 1741a via menu item 1732, and at step 1321, the seed structure 1741a is processed. Next, at step 1322, the desired characteristics of the pattern provided via inputs 1734-1738 are processed to create additional structural member instances 1741b-f. Next, step 1323 allows the user to turn on or off corner trimming via check box 1742. In this example, the state of check box 1742 is analyzed at step 1324, and it is determined that the corner trimming function is turned on. Next, method 1320 moves to step 1326, where the structural member instances 1741b-f created according to the input are retrieved. At step 1327, an instruction is received (e.g., in response to the user clicking button 1743) to continue applying trimming to members 1741b-f. Finally, at step 1328, component instances 1741b-f are automatically pruned, for example, by processing the instances using an automatic pruning algorithm (eg, method 220 and / or rules 1-9) described herein. Fig. 17B The resulting CAD model 1750 is shown having trimmed component instances 1751b-f corresponding to the untrimmed instances 1741b-f.

[0077] Embodiments allow a user to automate the corner trimming process on any structural member in a CAD model. Embodiments may be used in the fields of mechanical design, civil design, and furniture design, among other examples. For example, the automatic corner trimming functionality described herein may be used in the design of real-world objects, such as bridges, and may be used in the simulation of existing real-world objects. To illustrate, an embodiment may be used to simulate an existing bridge by measuring the structural members of the bridge and using the measurements to create a CAD model that reflects the measurements. The automatic corner trimming functionality described herein, such as method 220, may be used to speed up the process of creating a CAD model that reflects the measurements. The CAD model may then be used to determine the current working capacity of the bridge.

[0078] Additionally, an embodiment may automate the corner trimming process on pattern instances (e.g., structural member instances) created as part of the pattern feature creation functionality in xFrame. In an embodiment, automatic trimming is implemented using predefined trimming rules that automatically implement various commands that previously had to be performed / used manually. In an embodiment, patterned structural member instances are automatically trimmed in a computer model based on their endpoints (i.e., one or more ends of the structural member) and how their endpoints terminate and interact with other structural members. According to an embodiment, the trimming rules applied to the created pattern instances are the same as the trimming rules applied to the seed structural member when it is created and trimmed using user commands.

[0079] Embodiments provide a faster method of applying corner trimming during component creation and during pattern creation in a computer-based model such as a CAD structural model. Advantageously, embodiments reduce the possibility of human error due to selection or misunderstanding. In addition, as described herein, structural models are typically large, and navigating to components and applying corner trimming is time consuming and painful. By automatically trimming corners using the functionality described herein, embodiments reduce the time spent creating models with corner trimming and also improve ergonomics for the user. For example, embodiments reduce the number of corners / joints that a user must navigate to and manually trim.

[0080] Computer Support

[0081] Fig.18 A computer network or similar digital processing environment is shown in which embodiments of the present disclosure may be implemented.

[0082] The client computers / devices 50 and server computers 60 provide processing, storage, and input / output devices for executing application programs, etc. The client computers / devices 50 may also be linked to other computing devices, including other client devices / processors 50 and server computers 60, via a communications network 70. The communications network 70 may be a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, a local area network or a wide area network, and a plurality of network protocols currently used (TCP / IP, Other electronic device / computer network architectures are suitable.

[0083] The client computer / device 50 and / or the server 60 may be configured, alone or in combination, to implement the embodiments described herein, for example, methods 220 and 1320 and other examples. The server computer 60 may not be a separate server computer, but rather part of a cloud network 70.

[0084] Fig.19 yes Fig.18 1 is a diagram of an example internal structure of a computer (e.g., a client processor / device 50 or a server computer 60) in a computer system of FIG. 1 . Each computer 50, 60 includes a system bus 79, where a bus is a set of hardware lines used for data transfer between components of a computer or processing system. The system bus 79 is essentially a shared pipe that connects the different elements of the computer system (e.g., processor, disk storage devices, memory, input / output ports, network ports, etc.) so that information can be transferred between the elements. An input / output (I / O) device interface 82 is attached to the system bus 79 to connect various input and output devices (e.g., keyboard, mouse, display, printer, speakers, etc.) to the computer 50, 60. A network interface 86 allows the computer to connect to a computer attached to a network (e.g., Fig.18 The memory 90 provides volatile storage for computer software instructions 92a and data 94a for implementing embodiments of the present disclosure (e.g., method 220, 1320, etc.). The disk storage device 95 provides non-volatile storage for computer software instructions 92b and data 94b for implementing embodiments of the present disclosure. The central processor unit 84 is also attached to the system bus 79 and provides execution of computer instructions.

[0085] Embodiments or aspects thereof may be implemented in the form of hardware, including but not limited to hardware circuitry, firmware, or software. If implemented in software, the software may be stored on any non-transitory computer-readable medium that is configured to enable a processor to load the software or a subset of its instructions. The processor then executes the instructions and is configured to operate or cause the device to operate in the manner described herein.

[0086] Further, hardware, firmware, software, routines or instructions may be described herein as performing certain actions and / or functions of a data processor. However, it should be understood that such descriptions included herein are only for convenience and such actions are actually caused by a computing device, processor, controller or other device executing firmware, software, routines, instructions.

[0087] It should be understood that flow charts, block diagrams, and network diagrams may include more or fewer elements, be arranged in different ways, or be presented in different ways. However, it should be further understood that certain embodiments may indicate block diagrams and network diagrams and the number of block diagrams and network diagrams that illustrate the execution of an embodiment implemented in a particular manner.

[0088] Therefore, other embodiments may also be implemented in a variety of computer architectures, physical computers, virtual computers, cloud computers and / or some combination thereof, and therefore the data processor described herein is intended only for illustrative purposes and not as a limitation of the embodiments.

[0089] The teachings of all patents, published applications, and references cited herein are incorporated by reference in their entirety.

[0090] While example embodiments have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the embodiments as encompassed by the following claims.

Claims

1. A computer-implemented method for automatically trimming a structural member in a computer-aided design (CAD) model, the method comprising: obtaining the CAD model, wherein the obtained CAD model includes a joint where a first structural member and a second structural member meet at an end of at least one of the first structural member and the second structural member; as well as A trim is automatically applied to the joint using rules executed by one or more processors, the one or more rules indicating the applied trim based on (i) a geometry of the first structural member, (ii) a geometry of the second structural member, and (iii) a location of the joint where the first structural member and the second structural member meet. 2 . The method of claim 1 , wherein the geometry of the first structural member comprises a cross-sectional profile of the first structural member, and the geometry of the second structural member comprises a cross-sectional profile of the second structural member. 3 . The method of claim 1 , wherein automatically applying trim to the joint comprises trimming at least one of the first structural member and the second structural member.

4. The method according to claim 1, further comprising: receiving (i) an indication that the first structural member or the second structural member is a seed structural member, and (ii) an indication of a desired pattern; creating one or more structural member instances in the CAD model based on the seed structural member and an indication of the desired pattern; as well as Trims are automatically applied to corresponding joints of the one or more structural member instances using rules executed by the one or more processors.

5. The method according to claim 1, wherein: In the joint, the first structural member, the second structural member, and the third structural member meet at a distal end of at least one of the first structural member, the second structural member, and the third structural member.

6. The method of claim 5, wherein the one or more rules indicate the applied trimming based on (i) the geometry of the first structural member, (ii) the geometry of the second structural member, (iii) the geometry of the third structural member, and (iv) the location of the joint where the first, second, and third structural members meet. 7 . The method of claim 5 , wherein automatically applying trim to the joint comprises trimming at least one of the first structural member, the second structural member, and the third structural member.

8. A system for automatically trimming a structural member in a computer-aided design (CAD) model, the system comprising: processor; as well as a memory having computer code instructions stored thereon, the processor and the memory having the computer code instructions being configured to cause the system to: obtaining the CAD model, wherein the obtained CAD model includes a joint where a first structural member and a second structural member meet at an end of at least one of the first structural member and the second structural member; as well as A trim is automatically applied to the joint using rules executed by one or more processors, the one or more rules indicating the applied trim based on (i) a geometry of the first structural member, (ii) a geometry of the second structural member, and (iii) a location of the joint where the first structural member and the second structural member meet.

9. The system of claim 8, wherein the geometry of the first structural member comprises a cross-sectional profile of the first structural member, and the geometry of the second structural member comprises a cross-sectional profile of the second structural member.

10. The system according to claim 8, wherein: When automatically applying trim to the joint, the processor and the memory having the computer code instructions are further configured to cause the system to: At least one of the first structural member and the second structural member is trimmed.

11. The system of claim 8, wherein the processor and the memory having the computer code instructions are further configured to cause the system to: receiving (i) an indication that the first structural member or the second structural member is a seed structural member, and (ii) an indication of a desired pattern; creating one or more structural member instances in the CAD model based on the seed structural member and an indication of the desired pattern; as well as Trims are automatically applied to corresponding joints of the one or more structural member instances using rules executed by the one or more processors.

12. The system according to claim 8, wherein: In the joint, the first structural member, the second structural member, and the third structural member meet at a distal end of at least one of the first structural member, the second structural member, and the third structural member.

13. The system of claim 12, wherein the one or more rules indicate applied trimming based on (i) a geometry of the first structural member, (ii) a geometry of the second structural member, (iii) a geometry of the third structural member, and (iv) a location of the joint where the first, second, and third structural members meet.

14. The system according to claim 12, wherein: When automatically applying trim to the joint, the processor and the memory having the computer code instructions are further configured to cause the system to: At least one of the first structural member, the second structural member, and the third structural member is trimmed.

15. A non-transitory computer program product for automatically trimming a structural member in a computer-aided design (CAD) model, the computer program product being executed by a server in communication with one or more clients over a network, and comprising: A computer readable medium comprising program instructions which, when executed by a processor, cause the processor to: obtaining the CAD model, wherein the obtained CAD model includes a joint where a first structural member and a second structural member meet at an end of at least one of the first structural member and the second structural member; as well as A trim is automatically applied to the joint using rules executed by one or more processors, the one or more rules indicating the applied trim based on (i) a geometry of the first structural member, (ii) a geometry of the second structural member, and (iii) a location of the joint where the first structural member and the second structural member meet.

16. The computer program product of claim 15, wherein the geometry of the first structural member comprises a cross-sectional profile of the first structural member, and the geometry of the second structural member comprises a cross-sectional profile of the second structural member.

17. The computer program product of claim 15, wherein: When automatically applying trim to the joint, the program instructions, when executed by the processor, cause the processor to: At least one of the first structural member and the second structural member is trimmed.

18. The computer program product of claim 15, wherein the program instructions, when executed by the processor, are further configured to cause the processor to: receiving (i) an indication that the first structural member or the second structural member is a seed structural member, and (ii) an indication of a desired pattern; creating one or more structural member instances in the CAD model based on the seed structural member and an indication of the desired pattern; as well as Trims are automatically applied to corresponding joints of the one or more structural member instances using rules executed by the one or more processors.

19. The computer program product of claim 15, wherein: In the joint, the first structural member, the second structural member, and the third structural member meet at a distal end of at least one of the first structural member, the second structural member, and the third structural member; and The one or more rules indicate the applied trimming based on (i) the geometry of the first structural member, (ii) the geometry of the second structural member, (iii) the geometry of the third structural member, and (iv) the location of the joint where the first, second and third structural members meet.

20. The computer program product of claim 19, wherein: When automatically applying trim to the joint, the program instructions, when executed by the processor, are further configured to cause the processor to: At least one of the first structural member, the second structural member, and the third structural member is trimmed.