Automatic corner trimming for component creation
The automatic corner trimming method in CAD/CAE systems addresses the tediousness of manual corner trimming by applying predefined rules, enhancing efficiency and reducing errors in structural design.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- DASSAULT SYSTEMES SOLIDWORKS CORP
- Filing Date
- 2026-03-12
- Publication Date
- 2026-05-19
AI Technical Summary
Achieving the required trim geometry for each individual corner within a structure in CAD/CAE systems is a tedious and time-consuming task, requiring manual specification of trim options and order for multiple corners.
A method and system for automatically applying corner trimming at the intersection of structural members based on predefined rules, reducing the need for manual intervention and improving efficiency.
Significantly reduces user time and effort in corner trimming, minimizes human error, and ensures consistent application of trim geometry across complex structures.
Smart Images

Figure 2026083365000001_ABST
Abstract
Description
Background Art
[0001] Related Applications This application claims priority to U.S. Provisional Patent Application No. 63 / 512,447, filed Jul. 7, 2023, and U.S. Patent Application No. 18 / 498,219, filed Oct. 31, 2023. The entire teachings of the above applications are incorporated herein by reference.
[0002] Many existing products and systems are available in the market for the design and simulation of objects such as humans, parts, assemblies of parts, etc. Such systems typically employ computer-aided design (CAD) programs and / or computer-aided engineering (CAE) programs. These systems enable a user to construct, manipulate, and simulate a complex three-dimensional (3D) model of an object or an assembly of objects. Thus, these CAD and CAE systems use edges, lines, surfaces, polygons, or closed volumes to represent the modeled object. The lines, edges, surfaces, polygons, and closed volumes can be represented in various manners, such as non-uniform rational B-splines (NURBS).
[0003] A CAD system mainly manages parts or assemblies of a modeled object, which are mainly geometric specifications. In particular, a CAD file contains specifications for generating a geometric shape. From the geometric shape, a representation is generated. The specifications, geometry, and representation may be stored in a single CAD file or multiple CAD files. A CAD system includes graphic tools for a designer to represent a modeled object, and these tools are dedicated to the display of complex objects. For example, an assembly can include thousands of parts. A CAD system can be used to manage a model of an object stored in an electronic file.
[0004] CAD and CAE systems represent objects using various CAD and CAE models. These models may be programmed to have the properties of the underlying real-world object that the model represents (e.g., physical, material, and / or other physics-based). Furthermore, CAD / CAE models may be used to perform simulations of the real-world object / environment that the model represents. [Overview of the project]
[0005] CAD / CAE-based design of structures, such as steel and timber structures, involves the formation of structural members, including vertical, horizontal, and inclined supports. Where two or more such members intersect, they are generally called corners or joints. Structures are typically complex and include multiple corners / joints.
[0006] In structural design within a CAD environment / system, the user of the CAD system defines "trimming" for each corner (i.e., joint) of the modeled structure. To define trimming, the user selects the endpoints of one or more members (structural members) at the corner and trims them appropriately (i.e., defines the geometry). This trimming creates the desired placement and orientation of the corner members. Users can trim corner members in various ways. For example, trimming can be performed by manipulating the orientation of the members and / or a combination of trim planes. Corner trimming usually requires the user to specify a trim order, which defines the order in which the corner members are trimmed at the corner.
[0007] Achieving the required trim geometry for each individual corner within a structure by specifying trim options and order is a tedious and time-consuming task. This embodiment solves this problem by providing a function that automatically applies corner trim at the intersection of two or more members, for example, three members.
[0008] In exemplary embodiments, trimming is applied based on how the ends of structural members connect, i.e., intersect. In other words, in such embodiments, trimming can be applied based on the location of the joint where the structural members intersect, and the position and orientation of the structural members within the joint. Furthermore, embodiments can automatically apply trimming to members belonging to one or more patterns, such as a linear pattern, a circular pattern, etc. One such embodiment applies automatic corner trimming based on how the structural members connect at their ends.
[0009] In one embodiment, a user can automate the corner trimming process on a pattern instance (e.g., a structural member instance) formed as part of a pattern feature creation function, such as a CAD tool and application, for example, a pattern creation function available in xFrame provided by the applicant - Assignee Dassault Systemes SolidWorks Corporation (Waltham, MA). In one embodiment, the automatic trimming is performed using predefined trim rules that automatically execute various commands that previously had to be performed / used manually. In one embodiment, the patterned structural member instance is automatically trimmed in the 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 one embodiment, the trim rules applied to the created pattern instance (i.e., the structural member instance) are the same trim rules applied to the SEED structural member when the SEED structural member is created and trimmed using user commands.
[0010] An exemplary embodiment first relates to a computer implementation method for identifying (i) SEED structural members in a 3D CAD assembly, (ii) patterns associated with SEED structural members, and (iii) instances of identified patterns and associated structural members in a 3D CAD assembly. Next, an automatic trimming function (e.g., rules described herein) is applied to the identified structural members in the assembly.
[0011] Another exemplary embodiment relates to a computer implementation method for automatically trimming structural members in a CAD model. In one embodiment, the method begins by acquiring a CAD model. The acquired CAD model includes a joint where a first structural member and a second structural member intersect at at least one end of the first structural member and the second structural member. Automatic trimming is then applied to the joint using one or more processor execution rules, for example, the rules described herein. According to one embodiment, one or more rules instruct the trimming to be applied based on at least one of (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 intersect.
[0012] According to one embodiment, the geometry of a first structural member includes the cross-sectional profile of the first structural member, and the geometry of a second structural member includes the cross-sectional profile of the second structural member. Furthermore, in one embodiment, the geometry of a member may include the dimensions, position, arrangement, and orientation of the member. In yet another embodiment, automatically applying trimming to a joint includes trimming at least one of the first structural member and the second structural member.
[0013] Another embodiment further includes receiving (i) an instruction that a first or second structural member is a SEED structural member, and (ii) an instruction for a required pattern. Such an embodiment then generates instances of one or more structural members in the CAD model based on the SEED structural member and the instruction for the required pattern. Subsequently, trimming is automatically applied to each joint of the one or more instances of structural members using one or more processor execution rules. In one embodiment, the instruction for a SEED structural member and the instruction for the required pattern may be user-input instructions or user-two-way communication instructions.
[0014] The embodiment can also automatically trim members in a joint having three or more structural members. For example, in such an embodiment, in a joint, a first structural member, a second structural member, and a third structural member intersect at at least one end of the first structural member, the second structural member, and the third structural member. In such an embodiment, one or more rules dictate the trimming to be applied 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 structural member, the second structural member, and the third structural member intersect. Furthermore, in such an embodiment, automatically applying trimming to a joint includes trimming at least one of the first structural member, the second structural member, and the third structural member.
[0015] 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 memory are configured to use the computer code instructions to cause the system to implement any embodiment or combination of embodiments described herein.
[0016] Another embodiment relates to the implementation of cloud computing for automatically trimming structural members. Such an embodiment relates to a computer program product executed by a server communicating over a network with one or more clients, the computer program product, if implemented by a processor, includes instructions causing the processor to implement any embodiment or combination of embodiments described herein.
[0017] It should be noted that embodiments of methods, systems, and computer program products may be configured to implement any embodiment or combination of embodiments described herein. [Brief explanation of the drawing]
[0018] The foregoing will become clear from the following more specific description of the exemplary embodiments, as similar reference letters throughout the different figures are illustrated in the attached drawings to refer to the same parts. The drawings are not necessarily to exact scale and are instead intended to emphasize that they illustrate embodiments.
[0019] [Figure 1] Figure 1 shows a CAD model with trimmed structural members. [Figure 2] Figure 2 is a flowchart of a method for automatically trimming structural members according to one embodiment. [Figure 3] Figure 3 shows how to apply an automatic trimming rule to a CAD model according to the embodiment. [Figure 4] Figure 4 shows how to apply an automatic trimming rule to a CAD model according to the embodiment. [Figure 5] Figure 5 shows how to apply an automatic trimming rule to a CAD model according to the embodiment. [Figure 6] Figure 6 shows how to apply an automatic trimming rule to a CAD model according to the embodiment. [Figure 7] Figure 7 shows how to apply an automatic trimming rule to a CAD model according to the embodiment. [Figure 8] Figure 8 shows applying automatic trimming rules to a CAD model according to an embodiment. [Figure 9] Figure 9 shows applying automatic trimming rules to a CAD model according to an embodiment. [Figure 10] Figure 10 shows applying automatic trimming rules to a CAD model according to an embodiment. [Figure 11A] Figure 11A shows a user interface when automatic member trimming is not selected. [Figure 11B] Figure 11B shows the resulting CAD model. [Figure 12A] Figure 12A shows a user interface of an embodiment where automatic member trimming is selected. [Figure 12B] Figure 12B shows the resulting CAD model. [Figure 13] Figure 13 is a flowchart of a method for trimming a pattern generation structural member according to an embodiment. [Figure 14A] Figure 14A shows a user interface when automatic member trimming is not selected for a structural member formed in a linear pattern. [Figure 14B] Figure 14B shows the resulting CAD model. [Figure 15A] Figure 15A shows a user interface when automatic member trimming is selected for a structural member formed in a linear pattern. [Figure 15B] Figure 15B shows the resulting CAD model. [Figure 16A] Figure 16A shows a user interface when automatic member trimming is not selected for a structural member formed in a circular pattern. [Figure 16B] Figure 16B shows the resulting CAD model. [Figure 17A]Figure 17A shows the user interface when automatic member trimming is selected for a structural member formed with a circular pattern. [Figure 17B] Figure 17B shows the resulting CAD model. [Figure 18] Figure 18 shows a computer network or similar digital processing environment in which the embodiment can be implemented. [Figure 19] Figure 19 shows an example of the internal structure of a computer in the environment shown in Figure 18. [Modes for carrying out the invention]
[0020] A description of an exemplary embodiment is provided below.
[0021] As described above, in the design of structures in a CAD environment / system, the user of the CAD system specifies "trimming" for each corner of the modeled structure. Figure 1 shows an exemplary CAD model 100 having multiple corners / joints. For example, Figure 1 shows a joint 101 with trimmed members 102a-c, a joint 103 with trimmed members 104a-b, and member 105 (not trimmed at joint 103).
[0022] Applying corner trimming to joints is a common task when creating structural members. Trimming can define how a structural member, such as a beam, is constructed at its start and / or end points. To define trimming, the user selects the endpoints of one or more members at a corner, i.e., a joint, and trims them appropriately (i.e., defines their geometry) using existing methods. This trimming forms the desired placement and orientation of the corner member. Users can trim corner members in various ways. For example, trimming can be performed by the user manipulating a combination of member orientation and / or trim planes. Corner trimming often requires the user to specify a trimming sequence that defines a continuous sequence in which the corner member is trimmed, i.e., cut, modified, etc., at the corner.
[0023] Achieving the required trim geometry by specifying trim options and order for each individual corner within a structure is a tedious task that consumes a considerable amount of user time and effort. For example, a structural model typically contains a large number of joints / corners, e.g., joints 101 and 103 in model 100, which must be selected by rotating and zooming the model to apply corner trim. The embodiment solves these problems and provides a function for automatically trimming members. The embodiment significantly reduces stress and human error in structural models. Furthermore, the embodiment reduces the repeated selection of similar corners required by existing methods when applying corner trim. While the terms member, structural member, and structural member are used herein, it should be noted that the embodiment is not limited to the automatic trimming of members, and instead, the embodiment may be used to trim any computer-based model element.
[0024] Figure 2 is a flowchart of an exemplary method 220 for automatically trimming structural members in a CAD model according to one embodiment. Method 220 is performed on a computer, and therefore its functions and effective operation, such as steps 221-222, can be performed automatically by one or more digital processors. Furthermore, Method 220 can be performed using any computer device or combination of computing devices known in the art. As another example, Method 220 can be performed using a computer network environment described below herein in relation to Figure 18, and / or a computer system described below herein in relation to Figure 19.
[0025] Method 220 begins in step 221 by acquiring a CAD model. In one embodiment, the acquired CAD model includes a joint, i.e., a location where a first structural member and a second structural member intersect at at least one end, i.e., endpoint, of the first and second structural members. As an example, Figure 3 includes a joint 331a where structural members 332 and 334 intersect at the endpoint, i.e., end 336a, of structural member 332. Returning to Figure 2, in step 222, automatic trimming is applied to the joint using one or more processor execution rules, e.g., rules 1 to 9 described below herein in relation to Figures 3 to 10. According to one embodiment, one or more rules instruct the trimming to be applied based on at least one of (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 and second structural members intersect.
[0026] In embodiments of Method 220, the CAD model acquired in step 221 may be any CAD model known in the art. Furthermore, the CAD model may be acquired automatically in step 221 or in response to a user command. Furthermore, the model may be acquired from either a computer memory / storage that is communicably connected or can be communicably connected to a computing device performing Method 220. Furthermore, the CAD model may be acquired in step 221 in response to a user creating a model, for example, by the user drawing the CAD model in CAD design software.
[0027] In embodiments of Method 220, the geometries of structural members, for example, a first structural member and a second structural member, whose trimming can be instructed by the rules, may be any geometries / geometric properties known to those skilled in the art. For example, in one embodiment, the geometry of a member may include the dimensions, position, arrangement, and orientation of the member, etc. Furthermore, according to one 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. As another example, the cross-sectional profile may indicate that the structural member has a circular, square, C-shaped, I-shaped, T-shaped, angle block-shaped, or custom-ordered cross-sectional profile, etc. In exemplary embodiments, a structural member having a circular cross-sectional profile is trimmed in step 222 according to a specific rule, and a structural member having other cross-sectional profiles, such as a square, angle block-shaped, etc., is trimmed in step 222 according to a different rule (from the rule used to trim the member having a circular cross-sectional profile).
[0028] In one embodiment of Method 220, the position where the rule can instruct the trimming to be applied in step 222 indicates the location where the members intersect. For example, the position may include the arrangement and orientation of the members relative to each other, as well as the location where the members intersect. For example, in one embodiment, an exemplary position includes intersecting members in a position where, for example, the members are arranged and oriented perpendicular to each other, or where the members are at a certain angle to each other. As an example, in Figure 3, as described below, member 332 intersects member 334 at a position where member 332 is perpendicular to member 334 (e.g., joint 331a). Similarly, in Figure 4, as described below, member 442 intersects member 444 at a position where member 442 is at a certain angle to member 444 (e.g., at joint 441a).
[0029] According to one embodiment, automatically applying trimming to a joint includes trimming at least one of a first structural member and a second structural member. For example, applying trimming in step 222 may include defining the geometry of the endpoints of one or more members at a corner. The trimming performed in step 222 can form the required placement and orientation of the corner members. Trimming can be performed in step 222 by manipulating a combination of member orientation and / or trim planes. In one embodiment, applying a trim plane includes applying an existing trimming function (i.e., a “trim plane” function) available in the CAD tool / software in which the embodiment is implemented. In such an embodiment, one or more rules are used in step 222 to automatically select the trimming function to be applied. For example, according to one embodiment, when the endpoint of a member (member 1) intersects the “midpoint” of another member (member 2), if member 1 is perpendicular to member 2, the “planar-first contact” trim type (trim plane function) is applied; if member 1 is not perpendicular to member 2, (if member 2 has a non-circular cross-sectional profile) the “planar-full contact” (trim plane function) trim type is applied. The “circular” cross-sectional profile may include, for example, any profile that does not contain any “line” portions, such as an elliptical profile, and it should be noted that the profile does not need to be perfectly circular in order to be treated as circular with respect to the functions described herein. Continuing this example, if member 2 has a “circular” cross-sectional profile, one embodiment applies the “body” trim type (trim plane function) regardless of the angle between member 1 and member 2. Furthermore, the corner / joint trimming in step 222 may include specifying a trim order that defines a continuous sequence in which members are trimmed at joints / corners.
[0030] Method 220 performs trimming in step 222 as indicated by one or more rules. In one embodiment of Method 220, applying trimming in step 220 includes identifying the geometric characteristics of each structural member and the locations of corners / joints where the structural members intersect. Then, a rule is searched to identify a given rule that is relevant to the identified geometric characteristics and locations, for example, matching, and the trimming indicated by the given rule is applied to the structural members / joints. Examples of rules that may be used in step 222 are described below with reference to Figures 3-10.
[0031] Another embodiment of Method 220 further includes receiving (i) an instruction that a first or second structural member is a SEED structural member, and (ii) an instruction for the required pattern. Such an embodiment then generates one or more structural member instances, i.e., separate instances / copies of the SEED structural member, within the CAD model based on the instructions for the SEED structural member and the required pattern. Trimming is then automatically applied to each joint of the one or more structural member instances using one or more processor execution rules. According to one embodiment, the instruction for the required pattern may include at least one instruction from the following: pattern type, pattern direction, spacing between structural member instances, pattern length, and number of structural member instances. In one embodiment, the instructions for the SEED structural member and the instructions for the required pattern may be user-input instructions or user-bidirectional communication instructions.
[0032] Embodiments of Method 220 may also automatically trim members in a joint having 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 intersect at at least one end of the first structural member, the second structural member, and the third structural member. In such embodiments, one or more rules dictate the trimming to be applied 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 structural member, the second structural member, and the third structural member intersect. Furthermore, in such embodiments, automatically applying trimming to a joint includes trimming at least one of the first structural member, the second structural member, and the third structural member.
[0033] An embodiment, for example, Method 220, may use multiple rules that instruct the trimming to be applied to a corner / joint, based on the characteristics of the corner / joint and the structural members of the joint. Rules 1 to 9 are exemplary rules that may be used, for example, in step 222 of Method 220. Figures 3 to 10 are attached to illustrate the execution of exemplary automatic trimming rules 1 to 9. In rules 1 to 9 described below, position relates to how the members intersect in the joint, for example, whether the members intersect at a right angle or at an angle that is not right angle. Furthermore, in rules 1 to 9 described below, geometry includes the cross-sectional profile of the member, for example, the member may have a cross-sectional profile such as circular, square, C, I, custom, etc. In one embodiment, a member having a circular cross-sectional profile is trimmed according to rule 4 (Figure 5) and rule 7 (Figure 8), while members having other types of cross-sectional profiles are trimmed according to rules 1 (Figure 5), 2 (Figure 3), 3 (Figure 4), 5 (Figure 6), 6 (Figure 7), 8 (Figure 9), and 9 (Figure 10).
[0034] Rule 1
[0035] First, Rule 1 stipulates that if a member's endpoint terminates in space, for example, if it does not intersect with another member, the member is not trimmed. Figure 5 shows the application of Rule 1, and as will be explained below, the endpoint 556b of member 552 and the endpoint 557b of member 554 are not trimmed.
[0036] Rule 2
[0037] Rule 2 instructs first contact trimming when the endpoint of one member terminates perpendicular to a point that is not the endpoint of another member, for example, a midpoint. The application of Rule 2 is shown in joints 331a to 331d of the CAD model 330 in Figure 3. Figure 3 also shows a user interface 338 that instructs the trimming to be applied. In joint 331a, member 332 terminates perpendicular to member 334, and similarly in joint 331b, member 332 terminates perpendicular to member 335. Similarly, in joint 331c, member 333 terminates perpendicular to member 335, and in joint 331d, member 333 terminates perpendicular to member 334. When Rule 2 is applied, in joint 331a, the endpoint 336a of member 332 is trimmed planarly at the point of contact with member 334. Similarly, in joint 331b, the endpoint 336b of member 332 is trimmed planarly at the point of contact with member 335. Similar trimming is applied to joints 331d and 331c, where in joint 331d, the endpoint 337a of member 333 is trimmed planarly at the point of contact with member 334, and in joint 331c, the endpoint 337b of member 333 is trimmed planarly at the point of contact with member 335.
[0038] Rule 3
[0039] Rule 3 instructs a full-contact trim when the endpoint of one member terminates at an angle to a point that is not an endpoint of another member, such as a midpoint. According to one embodiment, a full-contact trim means trimming so that the entire endpoint of one member contacts a point that is not an endpoint of another member. The execution of Rule 3 is shown in joints 441a and 441b of the CAD model 440 in Figure 4. Figure 4 also includes a user interface 448 that instructs the trimming to be applied. In joint 441a, member 442 terminates at an angle to a point that is not an endpoint of member 444, and similarly, in joint 441b, member 442 terminates at an angle to a point that is not an endpoint of member 445. When Rule 3 is applied to joints 441a and 441b, the endpoint 446a of member 442 is trimmed planarly to make full contact with member 444. Similarly, in joint 441b, the endpoint 446b of member 442 is trimmed planarly to make full contact with member 445.
[0040] Rule 4
[0041] Rule 4 instructs trimming to a body when the endpoint of a cylindrical member terminates at a point that is not the endpoint of another member, for example, at the midpoint. According to one embodiment, trimming to a body means trimming the entire endpoint to fit into the body shape of another member, for example, a cylinder. The execution of Rule 4 is shown in joints 551a and 551b of the CAD model 550 in Figure 5. Figure 5 also includes a user interface 558 that instructs the trimming to be applied. In joint 551a, cylindrical member 552 terminates at an angle to a point that is not the endpoint of cylindrical member 553, and similarly, in joint 551b, cylindrical member 554 terminates perpendicular to a point that is not the endpoint of member 552. When Rule 4 is applied to joints 551a and 551b, the endpoint 556a of member 552 is trimmed to fit into the cylindrical body of member 553. Similarly, in joint 551b, the endpoint 557a of member 554 is trimmed to fit into the cylindrical body of member 552.
[0042] Rule 5
[0043] Rule 5 instructs that when two members intersect at a right angle, a planar trim should be created at the first contact point. The execution of Rule 5 is shown in joints 661a-661d of the CAD model 660 in Figure 6. Figure 6 also shows the user interface 668 that instructs the trimming to be applied. In joint 661a, members 662 and 663 intersect at a right angle; in joint 661b, members 663 and 664 intersect at a right angle; in joint 661c, members 664 and 665 intersect at a right angle; and in joint 661d, members 665 and 662 intersect at a right angle. In each of joints 661a-661d, members 662-665 are trimmed planarly at the first contact point.
[0044] Rule 6
[0045] Rule 6 instructs that when two members intersect at a non-right angle, a miter contact trim should be created, i.e., each member should be trimmed to an angle that engages with the angle of the other member. The execution of Rule 6 is shown in joints 771a-d of the CAD model 770 in Figure 7. Figure 7 also includes a user interface 778 that instructs the trimming to be applied. In joint 771a, members 772 and 773 intersect at a non-right angle; in joint 771b, members 773 and 774 intersect at a non-right angle; in joint 771c, members 774 and 775 intersect at a non-right angle; and in joint 771d, members 775 and 772 intersect at a non-right angle. In each of joints 771a-d, members 772-775 are trimmed to an angle that engages with the angle of the other member. Specifically, in joint 771a, members 772 and 773 are trimmed to a certain engagement angle; in joint 771b, members 773 and 774 are trimmed to a certain engagement angle; in joint 771c, members 774 and 775 are trimmed to a certain engagement angle; and in joint 771d, members 775 and 772 are trimmed to a certain engagement angle. In one embodiment, the engagement angle between two members is determined by dividing the angle between the two members in half. As an example, consider joint 771a where members 772 and 773 intersect. The angle between members 772 and 773 is 45°, and therefore the engagement angle between the members is 22.5°, and members 772 and 773 are each cut at an angle of 22.5°.
[0046] Rule 7
[0047] Rule 7 instructs that when three circular members intersect at a right or non-right angle, a three-way miter corner should be created, i.e., each member should be trimmed to an angle that engages with the angle of the other members. The execution of Rule 7 is shown in joint 881 of CAD model 880 (showing members intersecting at a right angle) and joint 891 of CAD model 890 (showing members intersecting at a non-right angle) in Figure 8. Figure 8 also shows an exemplary user interface 888 (within CAD model 880) that instructs the trimming to be applied. In joint 881, members 882, 883, and 884 intersect at a right angle. When Rule 7 is applied to joint 881, each member 882-884 is trimmed to an angle that engages with the angle of the other members. Specifically, in joint 881, members 882, 883, and 884 are each trimmed to a certain engagement angle. In joint 891, members 892, 893, and 894 intersect at a non-right angle. When Rule 7 is applied to joint 891, each member 892-894 is trimmed to a certain angle so as to engage with the angle of the other members. Specifically, in joint 891, members 892, 893, and 894 are each trimmed to a certain engagement angle. In one embodiment, the trimming is applied to members 882-884 and 892-894 by automatically selecting and executing a miter trim function (using one or more rules) in an existing CAD software application.
[0048] Rule 8
[0049] Rule 8 instructs that when three members intersect at a right angle, the three members should be trimmed in the following order of priority: (i) trim two members planar at the first contact point, and (ii) trim the remaining member planar at the first contact point with the other member. The application of Rule 8 is shown in joint 991 of CAD model 990 in Figure 9. Figure 9 also shows an exemplary user interface 998 that instructs the trimming to be applied. At joint 991, members 992, 993, and 994 intersect at a right angle. When Rule 8 is applied to joint 991, members 992 and 994 are trimmed planar at the first contact point, and then member 993 is trimmed planar at the first contact point with the trimmed members 992 and 994. In this example, the trimming of members 992 and 994 is given first priority, and the trimming of member 993 is given second priority.
[0050] Rule 9
[0051] Rule 9 instructs that when three or more members intersect at non-right angles, a miter corner should be created between the members that intersect at a certain angle, and the third member should be planar trimmed at the first contact point with the members that intersect at a certain angle. The execution of Rule 9 is shown in joint 1001 of CAD model 1000 in Figure 10. When Rule 9 is applied to joint 1001, members 1002 and 1003 are trimmed at a certain angle, i.e., mitered, and then member 1004 is planar trimmed at the first contact point with the trimmed members 1002 and 1003. In this example, the trimming of members 1002 and 1003 is given first priority, and the trimming of member 1004 is given second priority.
[0052] In one embodiment, the user can choose whether to apply the automatic corner trimming function described herein to an existing model and the structural members therein. In one embodiment, such a selection is made via a user interface. Figure 11A shows an example of the user interface 1100 when automatic member trimming is not selected for CAD model 1102 (for example, the automatic corner trimming checkbox 1101 is not checked). Figure 11B shows CAD model 1103, which is CAD model 1102 to which corner trimming has not been applied. In model 1103, it can be seen that without trimming, penetration occurs, for example, at joint 1104, and overhang occurs, for example, at joint 1105.
[0053] In contrast, Figure 12A shows an example of user interface 1200 where automatic member trimming is selected for CAD model 1202 (for example, the automatic corner trim checkbox 1201 is checked). Figure 12B shows CAD model 1203, which is CAD model 1202 with corner trimming applied. In contrast to model 1103 shown in Figure 11B, model 1203 removes, for example, penetration at joint 1204 and, for example, overhang at joint 1205.
[0054] In this embodiment, trimming can be applied not only to existing members of a CAD model, but also to CAD model members during the creation of the members. Figure 13 is a flowchart of an example of such a method embodiment 1320 in which a structural member is created according to a pattern selected by the user, and the created structural member is automatically trimmed.
[0055] Method 1320 begins in step 1321, where instructions for a selected SEED structural member are received, the SEED structural member is processed, and information about the SEED structural member is determined. According to one embodiment, the information determined in step 1321 includes the structural system of the SEED member, the container of the SEED member, the start and end points of the SEED member, and the pattern formation criteria. According to one embodiment, the structural system is an ordered set of geometry that holds structural entities, the container is the structure / arrangement for storing objects, and the criteria is the direction in which pattern instances are created. In step 1322, pattern features, e.g., structural member instances, are created based on the information determined in step 1321, as well as user input, e.g., the direction, spacing, and number of instances. In one embodiment, the start and end points of the SEED member obtained in step 1321 are used in step 1322 to find the pattern formation reference point (i.e., a point used to calculate the positions of other members, etc.), and this reference point is used in step 1322 as a basis for user-specified parameters such as direction and spacing for pattern formation. Next, in step 1323, the user is provided with the ability to turn the automatic corner trim function on or off. In one embodiment, the user can turn the trim function on or off using a checkbox provided in the user interface. Step 1324 checks whether the trim function is on or off. If the trim function is off, method 1320 moves to step 1325, and the pattern formation command is terminated, for example, depending on whether the user clicks the OK button. Returning to step 1324, if the automatic corner trim function is on, method 1320 moves to step 1326, where the structural member instances created according to the information determined in step 1321 and the user input from step 1322 are obtained. According to one embodiment, obtaining structural member instances includes identifying the structural member instances and storing the identifier of each identified structural member instance.Next, in step 1327, for example, in response to the user clicking the OK button, an instruction is received to apply trimming to the created structural member instance. In response, in step 1328, the created structural member instance is automatically trimmed. In one embodiment, performing trimming in step 1328 includes obtaining the endpoint of the structural member instance using a previously stored identifier, and then applying trimming to the obtained endpoint. According to one embodiment, the structural member is automatically trimmed using the methods described herein, for example, method 220 and / or rules 1 to 9.
[0056] Figures 14A-B, 15A-B, 16A-B, and 17A-B show the execution of method 1320 in Figure 13.
[0057] Figures 14A and 14B illustrate an embodiment of Method 1320. Figure 14A shows a user interface 1430 which includes a member creation graphical user interface (GUI) 1431 and also shows a CAD model 1444. The member creation interface 1431 includes a menu 1432 which the user uses to select a SEED structure. The GUI 1431 also includes menu items for the user to select a pattern type 1433 linear pattern and linear sub-pattern options 1434a to c (array, periphery, and primary, respectively), and further includes drop-downs / inputs 1435 to 1440 for providing the desired pattern characteristics, namely direction, instance spacing type, pattern length type, spacing distance, number of instances, and direction, respectively.
[0058] To explain Method 1320 in relation to Figures 14A-B, in step 1321, the user selects SEED structure 1441a using menu item 1432, and SEED structure 1441a is processed in step 1321. The user also indicates in the GUI 1431 dropdown 1433 that a linear pattern type and a linear sub-pattern option array 1434a are required. Next, in step 1322, the required properties provided by inputs 1433-1440 are processed, and another structural member instance 1441b-e is created. Subsequently, in step 1323, the user can turn corner trim on or off using checkbox 1442. In this example, in step 1324, the state of checkbox 1442 is analyzed and it is determined that the corner trim function is off. Next, Method 1320 moves to step 1325, where the CAD model 1450 in Figure 14B is created, and Method 1320 ends.
[0059] Similar to Figures 14A-B, Figures 15A-B show embodiments of Method 1320, but with automatic corner trimming applied. Figure 15A shows the user interface 1530, which includes the member creation GUI 1531 and the CAD model 1544. The member creation interface 1531 includes a menu item 1532 that the user uses to select a SEED structure. The GUI 1531 also includes a menu item for the user to select a pattern type 1533 linear pattern and linear sub-pattern options 1534a-c (array, perimeter, primary, respectively), and further includes drop-downs / inputs 1535-1540 to provide the desired pattern characteristics, namely, direction, instance spacing type, pattern length type, spacing distance, number of instances, and direction, respectively.
[0060] To explain method 1320 in relation to Figures 15A-B, in step 1321, the user selects SEED structure 1541a using menu item 1532, and SEED structure 1541a is processed in step 1321. The user also indicates in the dropdown 1533 of GUI 1531 that a linear pattern type and a linear sub-pattern option array 1534a are required. Next, in step 1322, the required properties provided by inputs 1533-1540 are processed, and another structural member instance 1541b-e is created. Subsequently, in step 1323, the user can turn corner trim on or off using checkbox 1542. In this example, in step 1324, the state of checkbox 1542 is analyzed, and it is determined that the corner trim function is on. Next, method 1320 moves to step 1326, where the structural member instances 1541b-e created according to the inputs are retrieved. In step 1327, an instruction is received to begin applying trim to members 1541b-e (for example, in response to the user clicking button 1543). Finally, in step 1328, member instances 1541b-e are automatically trimmed by processing them using, for example, the automatic trim algorithm described herein, e.g., method 220 and / or rules 1-9. Figure 15B shows the resulting CAD model 1550, which includes the trimmed member instances 1551b-e, corresponding to the untrimmed instances 1541b-e.
[0061] Figures 16A and 16B show another embodiment in which an embodiment of Method 1320 is implemented. Figure 16A shows a user interface 1630 including a member creation GUI 1631 and a CAD model 1644. The member creation interface 1631 includes a menu item 1632 that the user uses to select a SEED structure. The GUI 1631 also includes a menu item for the user to select a pattern type 1633 circular pattern, and further includes drop-downs / inputs 1634 to 1638 to provide the desired pattern characteristics, namely, pattern axis, instance angle type, pattern angle type, angle, and number of instances, respectively.
[0062] To explain Method 1320 in relation to Figures 16A-B, in step 1321, the user selects SEED structure 1641a using menu item 1632, and processes SEED structure 1641a in step 1321. Next, in step 1322, the required properties provided by inputs 1634-1638 are processed, and other structural member instances 1641b-f are created. Subsequently, in step 1323, the user can turn corner trim on or off using checkbox 1642. In this example, in step 1324, the state of checkbox 1642 is analyzed, and it is determined that the corner trim function is off. Next, Method 1320 moves to step 1325, the CAD model 1650 in Figure 16B is created, and Method 1320 ends.
[0063] Similar to Figures 16A-B, Figures 17A-B show embodiments in which an embodiment of Method 1320 is implemented, but in Figures 17A-B, automatic corner trimming is applied. Figure 17A shows a user interface 1730 including a member creation GUI 1731 and a CAD model 1744. The member creation interface 1731 includes menu items 1732 that the user uses to select or specify a SEED structure. The GUI 1731 also includes menu items for the user to select a pattern type 1733 circular pattern, and further includes drop-downs / inputs 1734-1738 to provide the desired pattern characteristics, namely, pattern axis, instance angle type, pattern angle type, angle, and number of instances, respectively.
[0064] In relation to Figures 17A-B, Method 1320 is described as follows: In step 1321, the user selects SEED structure 1741a using menu item 1732, and SEED structure 1741a is processed in step 1321. Next, in step 1322, the required properties of the pattern provided by inputs 1734-1738 are processed, and other structural member instances 1741b-f are created. Subsequently, in step 1323, the user can turn corner trim on or off using checkbox 1742. In this example, in step 1324, the state of checkbox 1742 is analyzed, and it is determined that the corner trim function is on. Next, Method 1320 moves to step 1326, where the structural member instances 1741b-f created according to the inputs are retrieved. In step 1327, an instruction is received to start applying trim to members 1741b-f (for example, in response to the user clicking button 1743). Finally, in step 1328, member instances 1741b-f are automatically trimmed by processing them using, for example, the automatic trimming algorithm described herein, e.g., method 220 and / or rules 1-9. Figure 17B shows the resulting CAD model 1750, which includes the trimmed member instances 1751b-f, corresponding to the untrimmed instances 1741b-f.
[0065] Depending on the embodiment, the user can automate the corner trimming process of any structural member in a CAD model. The embodiment can be used in fields such as mechanical design, civil engineering design, and furniture design. For example, the automatic corner trimming function described herein can be used for designing real-world objects, such as bridges, and can be used for simulating existing real-world objects. For example, the embodiment can be used to simulate an existing bridge by measuring the structural members of the bridge and using those measurements to create a CAD model that reflects the measurements. The automatic corner trimming function described herein, for example, Method 220, can be used to speed up the process of creating a CAD model that reflects the measurements. The CAD model can then be used to determine the current operational capability of the bridge.
[0066] Furthermore, in some embodiments, the corner trimming process for pattern instances (e.g., structural member instances) created as part of xFrame's pattern feature creation functionality can be automated. In one embodiment, the automated trimming is performed using predefined trim rules that automatically execute various commands that previously had to be performed / used manually. In one embodiment, patterned structural member instances are automatically trimmed in the computer model based on their endpoints, i.e., one or more ends of the structural member, and how those endpoints terminate and interact with other structural members. According to one embodiment, the trim rules applied to the created pattern instances are the same as the trim rules applied to the SEED structural member when the SEED structural member is created and trimmed using user commands.
[0067] The embodiments provide a faster method for applying corner trims during member and pattern creation in computer-based models, such as CAD structural models. Advantageously, the embodiments reduce the possibility of human error due to selection or misunderstanding. Furthermore, as described herein, structural models are typically large, and navigating to members and applying corner trims is time-consuming and cumbersome. By automatically trimming corners using the functions described herein, the embodiments reduce the time required to create models with corner trims and also improve user ergonomics. For example, the embodiments reduce the number of corners / joints that need to be moved and trimmed manually by the user.
[0068] Computer support
[0069] Figure 18 shows a computer network or similar digital processing environment in which embodiments of the present invention can be implemented.
[0070] The client computer / device 50 and server computer 60 provide processing, storage, and input / output devices for running application programs, etc. The client computer / device 50 can also link to other computing devices, including other client devices / processes 50 and server computers 60, via a communication network 70. The communication network 70 can be part of a remote access network, a global network (e.g., the Internet), a collection of computers worldwide, a local area or wide area network, and a gateway communicating with each other using their respective protocols (TCP / IP, Bluetooth®, etc.). Other electronic device / computer network architectures are also suitable.
[0071] The client computers / devices 50 and / or the server 60 may be configured individually or in combination to implement embodiments described herein, such as methods 220 and 1320, etc. The server computer 60 may be part of the cloud network 70 rather than a separate server computer.
[0072] Figure 19 is a diagram illustrating an example of the internal structure of a computer (e.g., client processor / device 50 or server computer 60) within the computer system of Figure 18. Each computer 50, 60 includes a system bus 79, which 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 conduit that connects various components of the computer system (processor, disk storage, memory, I / O ports, network ports, etc.) and enables information transfer between these components. An input / output (I / O) device interface 82 is connected to the system bus 79 for connecting various input / output devices (e.g., keyboard, mouse, display, printer, speaker, etc.) to computers 50, 60. A network interface 86 allows the computer to connect to various devices connected to a network (e.g., network 70 in Figure 18). The memory 90 is provided with volatile storage for computer software instructions 92a and data 94a used to implement embodiments of the present invention (e.g., methods 220, 1320, etc.). The disk storage 95 is provided with non-volatile storage for computer software instructions 92b and data 94b used to implement embodiments of the present invention. The central processing unit 84 is also connected to the system bus 79 and executes computer instructions.
[0073] Embodiments or aspects thereof may be implemented in the form of hardware, including but not limited to hardware circuits, firmware, or software. If implemented in software, the software may be stored on any non-temporary computer-readable medium configured to allow a processor to read the software or a subset of its instructions. The processor is then configured to execute instructions and operate the device or to operate it in the manner described herein.
[0074] Furthermore, hardware, firmware, software, routines, or instructions may be described herein as performing specific operations and / or functions of a data processor. However, naturally, such descriptions included herein are merely for convenience, and such operations are actually the responsibility of the computing device, processor, controller, or other device that performs the firmware, software, routines, instructions, etc.
[0075] Naturally, flow diagrams, block diagrams, and network diagrams may contain more or fewer elements, be arranged differently, or be represented differently. However, even more naturally, a particular implementation may implement in a particular way the number of block diagrams and network diagrams, as well as the number of block diagrams and network diagrams illustrating the execution of an embodiment, are determined.
[0076] Therefore, other embodiments may also be implemented in various computer architectures, physical computers, virtual computers, cloud computers, and / or some combination thereof, and thus the data processors described herein are for illustrative purposes only and not to limit the embodiments.
[0077] All patents, published applications, and references cited herein are incorporated in their entirety by reference.
[0078] While exemplary embodiments have been specifically shown and described, those skilled in the art will understand that various modifications of form and detail can be made therein without departing from the scope of embodiments included in the appended claims.
Claims
1. A computer implementation method for automatically trimming structural members in a computer-aided design (CAD) model, wherein the computer implementation method is: The method involves obtaining a CAD model, wherein the obtained CAD model includes a joint where the first structural member and the second structural member intersect at at least one end of the first structural member and the second structural member. A computer implementation method comprising: automatically applying trimming to the joint using one or more processor execution rules, wherein the one or more processor execution rules instruct the applied trimming 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 intersect, wherein the location of the joint where the first structural member and the second structural member intersect is based on the arrangement and orientation of the first structural member and the arrangement and orientation of the second structural member.
2. The computer mounting method according to claim 1, wherein 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.
3. The computer mounting method according to claim 1, wherein automatically applying trimming to the joint includes trimming at least one of the first structural member and the second structural member.
4. (i) receiving an instruction that the first structural member or the second structural member is a SEED structural member, and (ii) receiving an instruction for the required pattern, Based on the SEED structural member and the required pattern instructions, one or more structural member instances are generated within the CAD model. The computer implementation method according to claim 1, further comprising automatically applying the one or more processor execution rules to each of the one or more structural member instances.
5. The computer mounting method according to claim 1, wherein in the joint, the first structural member, the second structural member, and the third structural member intersect at at least one end of the first structural member, the second structural member, and the third structural member.
6. The computer implementation method according to claim 5, wherein one or more processor execution rules instruct trimming to be applied 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 intersect.
7. The computer mounting method according to claim 5, wherein 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.
8. A system for automatically trimming structural members in a computer-aided design (CAD) model, wherein the system comprises: Processor and The system comprises a memory in which computer code instructions are stored, and the processor and the memory use the computer code instructions to the system, The method involves obtaining a CAD model, wherein the obtained CAD model includes a joint where the first structural member and the second structural member intersect at at least one end of the first structural member and the second structural member. A system for automatically applying trimming to a joint using one or more processor execution rules, wherein the one or more processor execution rules instruct 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 intersect, wherein the location of the joint where the first structural member and the second structural member intersect is based on the arrangement and orientation of the first structural member and the arrangement and orientation of the second structural member.
9. The system according to claim 8, wherein 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.
10. When automatically applying trimming to the joint, the processor and the memory use the computer code instructions to the system The system according to claim 8, further configured to trim at least one of the first structural member and the second structural member.
11. The processor and the memory use the computer code instructions to the system (i) an instruction that the first structural member or the second structural member is a SEED structural member, and (ii) an instruction for the required pattern, Based on the SEED structural member and the instructions for the required pattern, one or more structural member instances are generated within the CAD model. The system according to claim 8, further configured to automatically apply trimming to each joint of the one or more structural member instances using the one or more processor execution rules.
12. The system according to claim 8, wherein in the joint, the first structural member, the second structural member, and the third structural member intersect at at least one end of the first structural member, the second structural member, and the third structural member.
13. The system according to claim 12, wherein one or more processor execution rules instruct trimming to be applied 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 structural member, the second structural member, and the third structural member intersect.
14. When automatically applying trimming to the joint, the processor and the memory use the computer code instructions to the system The system according to claim 12, further configured to trim at least one of the first structural member, the second structural member, and the third structural member.
15. A non-temporary computer program for automatically trimming structural members in a computer-aided design (CAD) model, which, when executed by a processor, provides the processor with: The process involves obtaining the aforementioned CAD model, wherein the obtained CAD model includes a joint where the first structural member and the second structural member intersect at at least one end of the first structural member and the second structural member. A computer program comprising a program instruction that causes one or more processor execution rules to automatically apply trimming to the joint, wherein the one or more processor execution rules instruct 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 intersect, wherein the location of the joint where the first structural member and the second structural member intersect is based on the arrangement and orientation of the first structural member and the arrangement and orientation of the second structural member.
16. The computer program according to claim 15, wherein 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.
17. When the program instruction is executed by the processor when trimming is automatically applied to the joint, the processor will be instructed to: The computer program according to claim 15, which causes at least one of the first structural member and the second structural member to be trimmed.
18. When the aforementioned program instruction is executed by the processor, the processor will: (i) an instruction that the first structural member or the second structural member is a SEED structural member, and (ii) an instruction for the required pattern, Based on the SEED structural member and the instructions for the required pattern, one or more structural member instances are generated within the CAD model. The computer program according to claim 15, further configured to automatically apply trimming to each joint of the one or more structural member instances using the one or more processor execution rules.
19. In the joint, the first structural member, the second structural member, and the third structural member intersect at at least one end of the first structural member, the second structural member, and the third structural member. The computer program according to claim 15, wherein one or more processor execution rules instruct trimming to be applied 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 structural member, the second structural member, and the third structural member intersect.
20. When the program instruction is executed by the processor when trimming is automatically applied to the joint, the processor will be instructed to: The computer program according to claim 19, further configured to trim at least one of the first structural member, the second structural member, and the third structural member.