Automatic corner trim for member creation

Automatic corner trimming in CAD systems addresses the tediousness and error-prone manual process of specifying trim geometry for structural members, enhancing efficiency and accuracy in CAD model creation.

JP2025010514AInactive Publication Date: 2025-01-21DASSAULT SYSTEMES SOLIDWORKS CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024108598
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-31
Filing Date
2024-07-05
Publication Date
2025-01-21
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Achieving desired trim geometry in CAD/CAE systems for structural members at corners or joints is a tedious and time-consuming task, requiring significant user effort and prone to human error.

Method used

Implementing automatic corner trimming functionality in CAD systems that applies predefined trim rules based on the geometry and intersection of structural members, reducing the need for manual specification of trim order and sequences.

Benefits of technology

Automates the corner trimming process, significantly reducing user time and effort, minimizing errors, and improving the efficiency of CAD model creation for complex structures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025010514000001_ABST
    Figure 2025010514000001_ABST
Patent Text Reader

Abstract

To provide functionality for automatically trimming structural members in computer-aided design (CAD) models.SOLUTION: An embodiment obtains a CAD model that includes a joint where a first structural member and a second structural member meet at an extremity of at least one of the first structural member and the second structural member. In turn, trimming is automatically applied to the joint using one or more processor-executed rules. The one or more rules indicate the applied trimming on the basis of (i) geometry of the first structural member, (ii) geometry of the second structural member, and (iii) location of the joint where the first structural member and the second structural member meet.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] Related Applications This application claims priority to U.S. Provisional Patent Application No. 63 / 512,447, filed July 7, 2023, and U.S. Patent Application No. 18 / 498,219, filed October 31, 2023. The entire teachings of the above applications are incorporated herein by reference.

[0002] There are many existing products and systems available on the market for designing and simulating objects, such as humans, parts, assemblies of parts, and the like. 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. Thus, these CAD and CAE systems represent the modeled objects using edges, lines, faces, polygons, or closed volumes. The lines, edges, faces, polygons, and closed volumes can be represented in various ways, such as non-uniform rational B-splines (NURBS).

[0003] A CAD system manages the parts or assemblies of parts of a modeled object, which are primarily specifications of geometry. In particular, a CAD file contains the specifications from which the geometric shapes are generated. From the geometric shapes, a representation is generated. The specifications, geometry, and representation may be stored in a single CAD file or in multiple CAD files. A CAD system includes graphic tools to represent the modeled object to the designer, and these tools are dedicated to the display of complex objects. For example, an assembly may include thousands of parts. A CAD system may be used to manage models of objects that are stored in electronic files.

[0004] CAD and CAE systems use various CAD and CAE models to represent objects. These models may be programmed such that they have the properties (e.g., physical, material, and / or other physics-based) of the underlying real objects they represent. Additionally, the CAD / CAE models may be used to perform simulations of the real objects / environments they represent. Summary of the Invention

[0005] CAD / CAE based design of structures, e.g. steel and timber structures, involves the formation of structural members with vertical, horizontal and inclined supports. The place where two or more such members intersect is commonly called a corner or joint. Usually, structures are complex and contain multiple corners / joints.

[0006] In designing a structure in a CAD environment / system, a user of the CAD system defines a "trim" for each corner (i.e., joint) of the modeled structure. To define the trim, the user selects the end points of one or more members (structural members) at the corner and trims them appropriately (i.e., defines the geometry). This trimming creates the desired corner member placement and orientation. The user trims the corner members in a variety of ways. For example, trimming can be performed by manipulating a combination of member orientation and / or trim planes. Corner trimming typically requires the user to specify a trim order, which defines the order in which corner members are trimmed at the corner.

[0007] Specifying trim options and orders for each corner in a structure to achieve the required trim geometry is a tedious task that consumes a significant amount of time and effort. The embodiments solve this problem by providing the ability to automatically apply corner trims at the intersection of two or more members, for example three members.

[0008] In exemplary embodiments, trimming is applied based on how ends of structural members connect, i.e., intersect. In other words, such embodiments may apply trimming based on the location of the joints where the structural members intersect and the position and orientation of the structural members within the joints. Additionally, embodiments may automatically apply trimming to members that belong to one or more patterns, e.g., linear patterns, circular patterns, etc. One such embodiment applies automatic corner trimming based on how the structural members connect at their ends.

[0009] According to an embodiment, a user can automate the corner trimming process on pattern instances (e.g., structural member instances) created as part of pattern feature creation functionality, e.g., pattern creation functionality available in CAD tools and applications, e.g., xFrame provided by Applicant-Assignee Dassault Systemes SolidWorks Corporation (Waltham, MA). In one embodiment, the automatic trimming is performed using predefined trim rules that automatically implement various commands that previously had to be performed / used manually. In one embodiment, the patterned structural member instances are automatically trimmed in the computer model based on (i) the endpoints of the structural member instances, 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 instances (i.e., structural member instances) are the same as the trim rules applied to the SEED structural members at the time the SEED structural members are created and trimmed using user commands.

[0010] Exemplary embodiments are directed to a computer-implemented method that first identifies (i) a SEED structural member in a 3D CAD assembly, (ii) a pattern associated with the SEED structural member, and (iii) an instance of the identified pattern and associated structural member in the 3D CAD assembly. Then, an auto-trim function (e.g., rules described herein) is applied to the identified structural member in the assembly.

[0011] Another exemplary embodiment is directed to a computer-implemented method for automatically trimming a structural member 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 an end of at least one of the first structural member and the second structural member. Then, automatic trimming is applied to the joint using one or more processor-executed rules, such as the rules described herein. According to one embodiment, the one or more rules dictate the trimming to be applied based on at least one of: (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 intersect.

[0012] In one 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. Further, in one embodiment, the geometry of the members can include dimensions, positions, arrangements, orientations, etc. In yet another embodiment, automatically applying the trimming to the joint includes trimming at least one of the first structural member and the second structural member.

[0013] Another embodiment further 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 required pattern. Such an embodiment then generates one or more structural member instances within the CAD model based on the SEED structural member and the indication of the required pattern. Trimming is then automatically applied to each joint of the one or more structural member instances using one or more processor-executed rules. In one embodiment, the SEED structural member indication and the indication of the required pattern may be user-entered or user-interactive instructions.

[0014] Embodiments may also automatically trim members in a joint having three or more structural members. For example, in such embodiments, at a joint, a first structural member, a second structural member, and a third structural member intersect at an end of at least one of the first structural member, the second structural member, and the third structural member. In such embodiments, the one or more rules dictate the trimming to be applied 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 structural member, the second structural member, and the third structural member intersect. Further, in such embodiments, automatically applying the trimming to the joint includes trimming at least one of the first structural member, the second structural member, and the third structural member.

[0015] Another embodiment is directed to a system for automatically trimming structural members in a computer-based model. In such an embodiment, 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] Yet another embodiment is directed to a cloud computing implementation for automatically trimming a structural member. Such an embodiment is directed to a computer program product executed by a server in communication with one or more clients over a network, the computer program product including instructions that, when implemented by a processor, cause the processor to implement any embodiment or combination of embodiments described herein.

[0017] It should be noted that the embodiments of the methods, systems, and computer program products may be configured to implement any embodiment or combination of embodiments described herein. [Brief description of the drawings]

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

[0019] [Figure 1] FIG. 1 shows a CAD model with a trimmed structural member. [Diagram 2] FIG. 2 is a flow chart of a method for automatically trimming a structural member according to one embodiment. [Diagram 3] FIG. 3 illustrates the application of automatic trimming rules to a CAD model according to an embodiment. [Figure 4] FIG. 4 illustrates the application of automatic trimming rules to a CAD model according to an embodiment. [Diagram 5] FIG. 5 illustrates the application of automatic trimming rules to a CAD model according to an embodiment. [Figure 6] FIG. 6 illustrates the application of automatic trimming rules to a CAD model according to an embodiment. [Figure 7] FIG. 7 illustrates the application of automatic trimming rules to a CAD model according to an embodiment. [Figure 8] FIG. 8 illustrates the application of automatic trimming rules to a CAD model according to an embodiment. [Figure 9] FIG. 9 illustrates the application of automatic trimming rules to a CAD model according to an embodiment. [Figure 10] FIG. 10 illustrates the application of automatic trimming rules to a CAD model according to an embodiment. [Figure 11A] FIG. 11A shows the user interface when automatic part trimming is not selected. [Figure 11B] FIG. 11B shows the resulting CAD model. [Figure 12A] FIG. 12A illustrates the user interface of an embodiment in which automatic part trimming is selected. [Figure 12B] FIG. 12B shows the resulting CAD model. [Figure 13] FIG. 13 is a flow chart of a method for trimming a pattern generating structure according to one embodiment. [Figure 14A] FIG. 14A illustrates the user interface when automatic member trimming is not selected for a structural member formed with a linear pattern. [Figure 14B] FIG. 14B shows the resulting CAD model. [Figure 15A] FIG. 15A shows the user interface when automatic member trimming is selected for a structural member formed with a linear pattern. [Figure 15B] FIG. 15B shows the resulting CAD model. [Figure 16A] FIG. 16A illustrates the user interface when automatic member trimming is not selected for a structural member formed in a circular pattern. [Figure 16B] FIG. 16B shows the resulting CAD model. [Figure 17A]FIG. 17A shows the user interface when automatic member trimming is selected for a structural member formed in a circular pattern. [Figure 17B] FIG. 17B shows the resulting CAD model. [Figure 18] FIG. 18 illustrates a computer network or similar digital processing environment in which embodiments may be implemented. [Figure 19] FIG. 19 is a diagram showing an example of the internal structure of a computer in the environment of FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] A description of an exemplary embodiment follows.

[0021] As mentioned above, in designing a structure in a CAD environment / system, a user of the CAD system defines a "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 joint 101 with trimmed members 102a-c, joint 103 with trimmed members 104a-b, and member 105 (not trimmed at joint 103).

[0022] Applying corner trims to joints is a common task when creating structural members. Trimming can dictate how a structural member, e.g., a beam, is created at the start and / or end of the member. Using existing methods to dictate trimming, a user selects one or more member end points at a corner, i.e., a joint, and trims them appropriately (i.e., defines its geometry). This trimming creates the desired corner member placement and orientation. Users trim corner members in a variety of 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 trim order, which dictates the sequential order in which corner members are trimmed at the corner, i.e., cut, modified, etc.

[0023] Achieving the required trim geometry by specifying trim options and order for each individual corner in a structure is a tedious task that consumes a significant amount of user time and effort. For example, structural models are typically large and include numerous joints / corners, e.g., joints 101 and 103 in model 100, that must be selected by rotating and zooming the model to apply corner trims. The embodiments solve these problems and provide functionality for automatically trimming members. The embodiments significantly reduce stress and human error in the structural model. Additionally, the embodiments reduce the repetitive selection of similar corners required by existing methods when applying corner trims. It should be noted that although the terms member, structural member, and structural member are used herein, the embodiments are not limited to the automatic trimming of members, and instead, the embodiments may be utilized to trim any computer-based model element.

[0024] 2 is a flow chart of an exemplary method 220 for automatically trimming a structural member in a CAD model, according to one embodiment. Method 220 is computer-implemented, such that functions and operations, such as steps 221-222, may be automatically performed by one or more digital processors. Additionally, method 220 may be implemented using any computer device or combination of computing devices known in the art. As another example, method 220 may be implemented using a computer network environment, as described herein below in connection with FIG. 18, and / or a computer system, as described herein below in connection with FIG. 19.

[0025] Method 220 begins at step 221 by acquiring a CAD model. In one embodiment, the acquired CAD model includes joints, i.e., locations where a first structural member and a second structural member intersect at an end or endpoint of at least one of the first structural member and the second structural member. By way of example, FIG. 3 includes joint 331a where structural members 332 and 334 intersect at an endpoint or end 336a of structural member 332. Returning now to FIG. 2, at step 222, automated trimming is applied to the joints using one or more processor-executed rules, such as rules 1-9 described herein below in connection with FIGS. 3-10. According to one embodiment, the one or more rules dictate 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.

[0026] In embodiments of method 220, the CAD model obtained in step 221 may be any CAD model known in the art. Additionally, the CAD model may be obtained in step 221 automatically or in response to a user command. Additionally, the model may be obtained from any device, e.g., computer memory / storage, that is communicatively coupled or that can be communicatively coupled to the computing device performing method 220. Additionally, the CAD model may be obtained in step 221 in response to a user creating the model, e.g., by a user drawing a CAD model in CAD design software.

[0027] In an embodiment of method 220, the geometry of the structural members, e.g., the first structural member and the second structural member, for which the rules can dictate the trimming, may be any geometry / geometric characteristic known to one of ordinary skill in the art. For example, in one embodiment, the geometry of the members may include the dimensions, location, arrangement, and orientation of the members, etc. Further, 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 dictate that the structural member has a circular, square, C-shaped, I-shaped, T-shaped, angle block shaped, or custom cross-sectional profile, etc. In an exemplary embodiment, structural members having a circular cross-sectional profile are trimmed in step 222 according to a particular rule, and structural members having other cross-sectional profiles, e.g., square, angle block shaped, etc., are trimmed in step 222 according to another rule (other than the rule used to trim the members having a circular cross-sectional profile).

[0028] In one embodiment of method 220, the locations where the rules may dictate the trimming to apply in step 222 indicate the locations of how members intersect. For example, the locations may include the arrangement and orientation of the members relative to one another at the locations, i.e., the locations, where the members intersect. For example, in one embodiment, exemplary locations include members intersecting at locations, e.g., arrangements and orientations where the members are perpendicular to one another, or locations where the members are at an angle to one another. By way of example, in FIG. 3, as described below, member 332 intersects member 334 at a location (e.g., at joint 331a) where member 332 is perpendicular to member 334. Similarly, in FIG. 4, as described below, member 442 intersects member 444 at a location (e.g., at joint 441a) where member 442 is at an angle to member 444.

[0029] According to one embodiment, automatically applying trimming to the joint includes trimming at least one of the first structural member and the second structural member. For example, applying trimming in step 222 may include defining the geometry of one or more members at the corner. The trimming performed in step 222 may form the required corner member placement and orientation. The trimming may be performed in step 222 by manipulating the member orientation and / or a combination of trim planes. In one embodiment, applying trim planes includes applying existing trimming functionality available in the CAD tool / software in which the embodiment is implemented (i.e., a "trim plane" functionality). In such an embodiment, one or more rules are used in step 222 to automatically select the trimming functionality to be applied. For example, according to one embodiment, in the case where a member end (member 1) intersects with the "midpoint" of another member (member 2), if member 1 is at a right angle with member 2, then the "plane-first contact" trim type (trim plane function) is applied, and if member 1 is not at a right angle with member 2, then the "plane-full contact" (trim plane function) trim type is applied (if member 2 has a non-circular cross-sectional profile). Note that a "circular" cross-sectional profile may encompass, for example, any profile that does not include any "line" portions, such as an elliptical profile, and a profile does not have to be perfectly circular to be treated as circular with respect to the functions described herein. Continuing with the example, if member 2 has a "circular" cross-sectional profile, then one embodiment applies the "body" trim type (trim plane function) regardless of the angle between member 1 and member 2. Additionally, corner / joint trimming in step 222 may include specifying a trim order that defines the sequential order in which members are trimmed at joints / corners.

[0030] Method 220 performs trimming at step 222 as directed by one or more rules. In one embodiment of method 220, applying the trimming at step 220 includes identifying geometric properties of each structural member and locations of corners / joints where the structural members intersect. The rules are then searched to identify a given rule that is associated with, e.g., matches, the identified geometric properties and locations, and the trimming as directed by the given rule is applied to the structural members / joints. Examples of rules that may be used at step 222 are described below in conjunction with FIGS. 3-10.

[0031] Another embodiment of the method 220 further 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 required pattern. Such an embodiment then generates 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 required pattern. Trimming is then automatically applied to each joint of the one or more structural member instances using one or more processor-executed rules. According to one embodiment, the indication of the required pattern may include an indication of at least one of a pattern type, a pattern direction, a spacing between structural member instances, a pattern length, and a number of structural member instances, etc. In one embodiment, the indication of the SEED structural member and the indication of the required pattern may be a user-entered indication or a user-interactive communication indication.

[0032] Embodiments of method 220 may also automatically trim members in a joint having three or more structural members. For example, in such embodiments, at a joint, a first structural member, a second structural member, and a third structural member intersect at an end of at least one of the first structural member, the second structural member, and the third structural member. In such embodiments, the one or more rules dictate the trimming to be applied 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 structural member, the second structural member, and the third structural member intersect. Further, in such embodiments, automatically applying the trimming to the joint includes trimming at least one of the first structural member, the second structural member, and the third structural member.

[0033] An embodiment, such as method 220, may employ multiple rules that direct the trimming to be applied to the corner / joint based on the characteristics of the corner / joint and the structural members of the joint. Rules 1-9 are exemplary rules that may be utilized, for example, in step 222 of method 220. Attached Figures 3-10 illustrate the execution of exemplary automatic trimming rules 1-9. In Rules 1-9 described below, position refers to how the members in the joint intersect, for example, whether the members intersect at a right angle or whether the members intersect at a non-right angle. Additionally, in Rules 1-9 described below, geometry includes the cross-sectional profile of the members, for example, the members may have a cross-sectional profile that is round, square, C, I, custom, etc. In one embodiment, members having a circular cross-sectional profile are trimmed according to rules 4 (FIG. 5) and 7 (FIG. 8), and members having other types of cross-sectional profiles are trimmed according to rules 1 (FIG. 5), 2 (FIG. 3), 3 (FIG. 4), 5 (FIG. 6), 6 (FIG. 7), 8 (FIG. 9), and 9 (FIG. 10).

[0034] Rule 1

[0035] First, rule 1 dictates that if an endpoint of a member terminates in space, e.g., does not intersect with another member, the member will not be trimmed. The application of rule 1 is shown in Figure 5, where, as described below, endpoint 556b of member 552 and endpoint 557b of member 554 are not trimmed.

[0036] Rule 2

[0037] Rule 2 dictates a first contact trim when an endpoint of a member terminates orthogonally at a point that is not an endpoint of another member, e.g., a midpoint. Execution of Rule 2 is illustrated for joints 331a-d of CAD model 330 in FIG. 3. FIG. 3 also illustrates a user interface 338 that directs the trimming to be applied. At joint 331a, member 332 terminates orthogonally to member 334, and similarly at joint 331b, member 332 terminates orthogonally to member 335. Similarly, at joint 331c, member 333 terminates orthogonally to member 335, and similarly at joint 331d, member 333 terminates orthogonally to member 334. Applying Rule 2, at joint 331a, endpoint 336a of member 332 is trimmed planar at its tangent point with member 334. Similarly, at joint 331b, endpoint 336b of member 332 is trimmed planar at its tangent point with member 335. Similar trimming is applied to joints 331d and 331c, where endpoint 337a of member 333 is trimmed to be planar at its tangent point with member 334, and where endpoint 337b of member 333 is trimmed to be planar at its tangent point with member 335, in joint 331d.

[0038] Rule 3

[0039] Rule 3 dictates a full contact trim when an endpoint of a member terminates at an angle to a point that is not an endpoint of another member, such as a midpoint. According to one embodiment, full contact trimming means trimming a member so that its entire endpoint is in contact with a point that is not an endpoint of another member. Execution of Rule 3 is shown at joints 441a-b of CAD model 440 in FIG. 4. FIG. 4 also includes a user interface 448 that indicates the trim to be applied. At joint 441a, member 442 terminates at an angle to a point that is not an endpoint of member 444, and similarly, at joint 441b, member 442 terminates at an angle to a point that is not an endpoint of member 445. Applying Rule 3 to joints 441a-b results in endpoint 446a of member 442 being trimmed planarly to make full contact with member 444. Similarly, at joint 441b, endpoint 446b of member 442 is trimmed planarly to make full contact with member 445.

[0040] Rule 4

[0041] Rule 4 directs trimming to the body when an endpoint of a cylindrical member terminates at a point that is not an endpoint of another member, e.g., a midpoint. According to one embodiment, trimming to the body means trimming the entire endpoint to fit the body shape of another member, e.g., cylindrical. Execution of Rule 4 is shown in FIG. 5 at joints 551a-b of CAD model 550. FIG. 5 also includes a user interface 558 that directs the trimming to be applied. At joint 551a, cylindrical member 552 terminates at an angle to a point that is not an endpoint of cylindrical member 553, and similarly, at joint 551b, cylindrical member 554 terminates orthogonally to a point that is not an endpoint of member 552. Applying Rule 4 to joints 551a-b results in endpoint 556a of member 552 being trimmed to fit into the cylindrical body of member 553. Similarly, in joint 551 b , endpoint 557 a of member 554 is trimmed to fit into the cylindrical body of member 552 .

[0042] Rule 5

[0043] Rule 5 dictates that if two members intersect at a right angle, then a planar trim is created at the first contact point. The implementation of rule 5 is illustrated in FIG. 6 for joints 661a-d of CAD model 660. FIG. 6 also illustrates a user interface 668 that indicates the trimming to be applied. At joint 661a, members 662 and 663 intersect at a right angle, at joint 661b, members 663 and 664 intersect at a right angle, at joint 661c, members 664 and 665 intersect at a right angle, and at joint 661d, members 665 and 662 intersect at a right angle. At each of joints 661a-d, members 662-665 are trimmed to a planar shape at the first contact point.

[0044] Rule 6

[0045] Rule 6 dictates that when two members intersect at a non-perpendicular angle, a mitered contact trim is created, i.e., each member is trimmed to an angle that engages the angle of the other member. The implementation of Rule 6 is shown at joints 771a-d of CAD model 770 in FIG. 7. FIG. 7 also includes a user interface 778 that indicates the trimming to be applied. At joint 771a, members 772 and 773 intersect at a non-perpendicular angle, at joint 771b, members 773 and 774 intersect at a non-perpendicular angle, at joint 771c, members 774 and 775 intersect at a non-perpendicular angle, and at joint 771d, members 775 and 772 intersect at a non-perpendicular angle. At each of joints 771a-d, members 772-775 are trimmed at an angle that engages the angle of the other member. Specifically, at joint 771a, members 772 and 773 are each trimmed to an engagement angle, at joint 771b, members 773 and 774 are each trimmed to an engagement angle, at joint 771c, members 774 and 775 are each trimmed to an engagement angle, and at joint 771d, members 775 and 772 are each trimmed to an 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°, so the engagement angle between the members is 22.5°, and members 772 and 773 are each cut to an angle of 22.5°.

[0046] Rule 7

[0047] Rule 7 dictates that when three circular members intersect at a non-perpendicular angle or at a right angle, a three-way miter corner is created, i.e., each member is trimmed to an angle that engages the angle of the other members. The implementation of Rule 7 is illustrated in FIG. 8 at joint 881 of CAD model 880 (showing members intersecting at a right angle) and at joint 891 of CAD model 890 (showing members intersecting at a non-perpendicular angle). FIG. 8 also illustrates an exemplary user interface 888 that directs the trimming to be applied (within CAD model 880). At 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 at an angle to engage the angle of the other members. Specifically, at joint 881, members 882, 883, and 884 are each trimmed to an engagement angle. At joint 891, members 892, 893, and 894 intersect at a non-right angle. Applying rule 7 to joint 891 causes each member 892-894 to be trimmed at an angle to engage the angle of the other members. Specifically, at joint 891, members 892, 893, and 894 are each trimmed to an 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 dictates that when three members intersect at a right angle, the three members are trimmed in the following priority: (i) trim two members planar at the first contact points, (ii) trim the remaining member planar at the first contact points with the other members. Application of rule 8 is illustrated at joint 991 of CAD model 990 in FIG. 9. FIG. 9 also illustrates an exemplary user interface 998 that indicates 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 points, and then member 993 is trimmed planar at the first contact points with 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 dictates that when three or more members intersect at a non-perpendicular angle, create a mitered corner between the members that intersect at an angle and trim the third member planar at the first contact point with the member that intersects at the angle. The implementation of Rule 9 is shown in FIG. 10 for joint 1001 of CAD model 1000. When Rule 9 is applied to joint 1001, members 1002 and 1003 are trimmed, or mitered, at an angle and then member 1004 is trimmed planar at the first contact point with 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, a user may select whether to apply the automatic corner trimming functionality described herein to an existing model and the structural members therein. In one embodiment, such selection is performed via a user interface. FIG. 11A shows an example of a user interface 1100 where automatic member trimming has not been selected for CAD model 1102 (e.g., automatic corner trimming checkbox 1101 is not checked). FIG. 11B shows CAD model 1103, which is CAD model 1102 with no corner trimming applied. It can be seen in model 1103 that without applying trimming, penetration will occur, e.g., at joint 1104, and overhang will occur, e.g., at joint 1105.

[0053] In contrast, Figure 12A shows an example of a user interface 1200 in which automatic feature trimming has been selected (e.g., automatic corner trim checkbox 1201 is checked) for CAD model 1202. 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 has removed penetrations, e.g., at joint 1204, and overhangs, e.g., at joint 1205.

[0054] In embodiments, trimming can be applied to existing members of a CAD model, as well as to CAD model members as they are created. Figure 13 is a flow chart of one example of such a method embodiment 1320 in which structural members are created according to a user selected pattern and are automatically trimmed when created.

[0055] 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 one embodiment, the information determined at 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 a reference for patterning. According to one embodiment, the structural system is an ordered geometry set that holds structural entities, the container is a structure / arrangement for storing objects, and the reference is the direction in which the pattern instances are created. At step 1322, pattern features, e.g., structural member instances, are created based on the information determined at step 1321 as well as user input, e.g., orientation, spacing, and number of instances. In one embodiment, the start and end points of the SEED member obtained at step 1321 are used to find reference points for patterning (i.e., points used to calculate the positions of other members, etc.) at step 1322, which are used as references for parameters such as orientation and spacing specified by the user for patterning at step 1322. Next, at step 1323, the user is provided with the ability to turn the automatic corner trim feature off or on. In one embodiment, the user can turn the trim feature on / off using a check box provided in the user interface. Step 1324 checks whether the trim feature is on or off. If the trim feature is off, the method 1320 moves to step 1325 to terminate the pattern formation command, for example, in response to the user clicking an OK button. Returning to step 1324, if the automatic corner trim feature is on, the method 1320 moves to step 1326 to retrieve the structural member instances that were created according to the information determined at step 1321 and the user input from step 1322. According to one embodiment, retrieving the structural member instances includes identifying the structural member instances and storing an identifier for each identified structural member instance.Next, at step 1327, an instruction to apply trimming to the created structural member instance is received, e.g., in response to a user clicking an OK button. In response, at step 1328, the created structural member instance is automatically trimmed. In one embodiment, performing the trimming at step 1328 includes obtaining an end point of the structural member instance using a previously stored identifier, and then applying the trimming to the obtained end point. According to one embodiment, the structural member is automatically trimmed using a method described herein, e.g., method 220 and / or rules 1-9.

[0056] 14A-B, 15A-B, 16A-B, and 17A-B illustrate an execution of the method 1320 of FIG.

[0057] 14A-B show an example of an embodiment of the method 1320. FIG. 14A shows a user interface 1430 that includes a part creation graphical user interface (GUI) 1431 and also shows a CAD model 1444. The part creation interface 1431 includes a menu 1432 through which a user selects a SEED structure. The GUI 1431 also includes menu items that allow a user to select a pattern type 1433, a linear pattern, and linear sub-pattern options 1434a-c (array, perimeter, and primary, respectively), and further includes dropdowns / inputs 1435-1440 for providing the desired pattern characteristics, i.e., orientation, instance spacing type, pattern length type, spacing distance, instance count, and orientation, respectively.

[0058] 14A-B, in step 1321, the user selects a SEED structure 1441a using menu item 1432, which is processed in step 1321. The user also indicates in dropdown 1433 of GUI 1431 that a linear pattern type and linear sub-pattern option 1434a sequence are desired. Next, in step 1322, the desired characteristics provided by inputs 1433-1440 are processed to create separate structural member instances 1441b-e. Next, 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 to determine that the corner trim feature is off. Next, method 1320 moves to step 1325, where CAD model 1450 of FIG. 14B is created, and method 1320 ends.

[0059] Similar to FIGS. 14A-B, FIGS. 15A-B show an embodiment of method 1320, but with automatic corner trim applied in FIGS. 15A-B. FIG. 15A shows a user interface 1530 including a part creation GUI 1531 and a CAD model 1544. The part creation interface 1531 includes a menu item 1532 through which the user selects a SEED structure. The GUI 1531 also includes menu items for the user to select a pattern type 1533, a linear pattern, and linear sub-pattern options 1534a-c (array, perimeter, primary, respectively), and further includes dropdowns / inputs 1535-1540 for providing the desired pattern characteristics, i.e., orientation, instance spacing type, pattern length type, spacing distance, instance count, and orientation, respectively.

[0060] 15A-B, in step 1321, the user selects a SEED structure 1541a using menu item 1532, which is processed in step 1321. The user also indicates in dropdown 1533 of GUI 1531 that a linear pattern type and linear sub-pattern option 1534a array are desired. Next, in step 1322, the desired characteristics provided by inputs 1533-1540 are processed to create separate structural member instances 1541b-e. Next, 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 to determine that the corner trim feature is on. Next, the method 1320 moves to step 1326, which obtains the structural member instances 1541b-e that are created according to the inputs. In step 1327, an instruction is received (e.g., in response to a user clicking button 1543) to begin applying the trim to members 1541b-e. Finally, in step 1328, member instances 1541b-e are automatically trimmed, for example, by processing the instances using an automatic trim algorithm described herein, such as method 220 and / or rules 1-9. Figure 15B shows the resulting CAD model 1550 including trimmed member instances 1551b-e that correspond to the untrimmed instances 1541b-e.

[0061] 16A-B show another example in which an embodiment of method 1320 may be implemented. FIG. 16A shows a user interface 1630 including a part creation GUI 1631 and a CAD model 1644. The part creation interface 1631 includes a menu item 1632 through which the user selects a SEED structure. The GUI 1631 also includes a menu item through which the user selects a pattern type 1633, a circular pattern, and further includes dropdowns / inputs 1634-1638 for providing the desired pattern characteristics, namely, pattern axis, instance angle type, pattern angle type, angle, and number of instances, respectively.

[0062] 16A-B, in step 1321, the user selects SEED structure 1641a using menu item 1632, and in step 1321 processes SEED structure 1641a. Next, in step 1322, the necessary properties provided by inputs 1634-1638 are processed to create additional structural member instances 1641b-f. Next, 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 to determine that the corner trim feature is off. Next, the method 1320 moves to step 1325, where the CAD model 1650 of FIG. 16B is created, and the method 1320 ends.

[0063] 16A-B, FIGS. 17A-B show an embodiment in which an embodiment of method 1320 is implemented, but in FIGS. 17A-B, automatic corner trim is applied. FIG. 17A shows a user interface 1730 including a part creation GUI 1731 and a CAD model 1744. The part creation interface 1731 includes a menu item 1732 that the user uses to select or indicate a SEED structure. The GUI 1731 also includes a menu item that allows the user to select a pattern type 1733, a circular pattern, and further includes dropdowns / inputs 1734-1738 for providing the desired pattern characteristics, i.e., pattern axis, instance angle type, pattern angle type, angle, and number of instances, respectively.

[0064] 17A-B, in step 1321, a user selects a SEED structure 1741a using menu item 1732, which is processed in step 1321. Next, in step 1322, the necessary characteristics of the pattern provided by inputs 1734-1738 are processed to create separate structural member instances 1741b-f. Then, 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 to determine that the corner trim feature is on. Next, method 1320 moves to step 1326, where the structural member instances 1741b-f that are created according to the inputs are obtained. In step 1327, an instruction is received (e.g., in response to a user clicking button 1743) to begin applying trim to members 1741b-f. Finally, in step 1328, part instances 1741b-f are automatically trimmed by processing the instances using, for example, an auto-trim algorithm described herein, such as method 220 and / or rules 1-9. Figure 17B shows the resulting CAD model 1750 including trimmed part instances 1751b-f that correspond to the untrimmed instances 1741b-f.

[0065] The embodiments allow a user to automate the corner trimming process of any structural member in a CAD model. The embodiments can be used in fields such as mechanical design, civil design, furniture design, and the like. For example, the automatic corner trimming functionality described herein can be used in the design of real-world objects, such as bridges, and can be used to simulate existing real-world objects. For example, the embodiments can 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, can be used to expedite 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] Additionally, embodiments can automate the corner trimming process of pattern instances (e.g., structural member instances) created as part of xFrame's pattern feature creation functionality. In one embodiment, the automatic trimming is performed using predefined trim rules that automatically implement 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., the end or ends of the structural members 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 members at the time they are created and trimmed using user commands.

[0067] The embodiments provide a faster method of applying corner trims during member creation and pattern creation in computer-based models, e.g., CAD structural models. Advantageously, the embodiments reduce the chance of human error due to selection or misinterpretation. Furthermore, as described herein, structural models are typically large and it is time-consuming and tedious to navigate to members and apply corner trims. By automatically trimming corners using the functionality described herein, the embodiments reduce the time it takes to create a model with corner trims and also improve user ergonomics. For example, the embodiments reduce the number of corners / joints that need to be navigated and manually trimmed by the user.

[0068] Computer Support

[0069] FIG. 18 illustrates a computer network or similar digital processing environment in which embodiments of the present invention may be implemented.

[0070] The client computers / devices 50 and server computers 60 provide processing, storage, and input / output devices for executing application programs and the like. The client computers / devices 50 may also be linked to other computing devices, including other client devices / processes 50 and server computers 60, via a communications network 70. The communications network 70 may be part of a remote access network, a global network (e.g., the Internet), a collection of computers around the world, local or wide area networks, and gateways that currently communicate with each other using their respective protocols (TCP / IP, Bluetooth, etc.). Other electronic device / computer network architectures are also suitable.

[0071] The client computer / device 50 and / or the server 60 may be configured, alone or in combination, to implement the embodiments described herein, such as methods 220 and 1320. The server computer 60 may be part of a cloud network 70 rather than being a separate server computer.

[0072] FIG. 19 is a diagram of an example of the internal structure of a computer (e.g., client processor / device 50 or server computer 60) in the computer system of FIG. 18. Each computer 50, 60 includes a system bus 79, which is a set of hardware lines used to transfer data between components of a computer or processing system. The system bus 79 is essentially a shared conduit that connects the various components of a computer system (processor, disk storage, memory, input / output ports, network ports, etc.) and allows information to be transferred between the components. Attached to the system bus 79 is an input / output (I / O) device interface 82 for connecting various input / 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 various devices that are connected to a network (e.g., network 70 of FIG. 18). The memory 90 provides volatile storage for computer software instructions 92a and data 94a used to implement embodiments of the present invention (e.g., methods 220, 1320, etc.). Disk storage 95 provides 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 coupled to the system bus 79 for executing computer instructions.

[0073] The 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-transitory computer-readable medium configured to enable a processor to load the software, or a subset of its instructions. The processor is then configured to execute the instructions to operate an apparatus or cause it to operate in a method described herein.

[0074] Furthermore, hardware, firmware, software, routines, or instructions may be described herein as performing certain operations and / or functions of a data processor, however, it will be understood that such descriptions contained herein are merely for convenience and that such operations may in fact be attributable to a computing device, processor, controller, or other device executing the firmware, software, routines, instructions, etc.

[0075] It will be understood that the flow diagrams, block diagrams, and network diagrams may include more or fewer elements, may be arranged differently, or may be represented differently, but it will also be understood that a particular implementation may implement the block diagrams and network diagrams, and the number of block diagrams and network diagrams illustrating the implementation of an embodiment, in a particular way.

[0076] Accordingly, alternative 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 intended to be illustrative only and not limiting of the embodiments.

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

[0078] While exemplary 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 encompassed by the appended claims.

Claims

1. 1. A computer-implemented method for automatically trimming a structural member in a computer-aided design (CAD) model, the method comprising: acquiring a CAD model, the acquired CAD model including 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; automatically applying trimming to the joint using one or more processor-executed rules, the one or more rules directing the applied trimming based on (i) a geometry of the first structural member, (ii) a geometry of the second structural member, and (iii) a position of the joint where the first structural member and the second structural member intersect.

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 a trimming to the joint comprises trimming at least one of the first structural member and the second structural member.

4. (i) receiving an indication that the first structural member or the second structural member is a SEED structural member, and (ii) an indication of a required pattern; generating an instance of one or more structural members within a CAD model based on the SEED structural members and the required pattern indication; The method of claim 1 , further comprising: automatically applying the one or more processor-executed rules to each joint of the one or more structural member instances.

5. 2. The method of claim 1, wherein at the joint, the first structural member, the second structural member, and the third structural member intersect at an end of at least one of the first structural member, the second structural member, and the third structural member.

6. 6. The method of claim 5, wherein the one or more rules dictate trimming to be applied 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 structural member, second structural member, and third structural member intersect.

7. The method of claim 5 , wherein automatically applying a trimming to the joint comprises trimming at least one of the first structural member, the second structural member, and the third structural member.

8. 1. A system for automatically trimming a structural member in a computer-aided design (CAD) model, the system comprising: A processor; and a memory having computer code instructions stored therein, the processor and the memory using the computer code instructions to cause the system to: acquiring a CAD model, the acquired CAD model including a joint where a first structural member and a second structural member intersect at an end of at least one of the first structural member and the second structural member; The system is configured to automatically apply trimming to the joint using one or more processor-executed rules, the one or more rules dictating the trimming to be applied based on (i) a geometry of the first structural member, (ii) a geometry of the second structural member, and (iii) a position of the joint where the first structural member and the second structural member intersect.

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. In automatically applying trimming to the joints, the processor and the memory use the computer code instructions to cause the system to: The system of 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 cause the system to: (i) receiving an indication that the first structural member or the second structural member is a SEED structural member, and (ii) an indication of a required pattern; generating one or more structural member instances within the CAD model based on the indication of the SEED structural member and the required pattern; The system of claim 8 , further configured to automatically apply trimming to joints of each of the one or more structural member instances using the one or more processor executing rules.

12. 9. The system of claim 8, wherein at the joint, the first structural member, the second structural member, and the third structural member intersect at an end of at least one of the first structural member, the second structural member, and the third structural member.

13. 13. The system of claim 12, wherein the one or more rules dictate 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) a location of the joint where the first structural member, second structural member, and third structural member intersect.

14. In automatically applying trimming to the joints, the processor and the memory use the computer code instructions to cause the system to: The system of claim 12 , further configured to trim at least one of the first structural member, the second structural member, and the third structural member.

15. 1. 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 A computer-readable medium, which when executed by a processor, causes the processor to: acquiring the CAD model, the acquired CAD model including 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; a program readable medium including program instructions for automatically applying trimming to the joint using one or more processor-executed rules, the one or more rules dictating the trimming to be applied based on (i) a geometry of the first structural member, (ii) a geometry of the second structural member, and (iii) a position of the joint where the first structural member and the second structural member intersect.

16. 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. When automatically applying a trim to the joint, the program instructions, when executed by the processor, cause the processor to: The computer program product of claim 15 , further comprising: causing at least one of the first structural member and the second structural member to be trimmed.

18. The program instructions, when executed by the processor, cause the processor to: (i) receiving an indication that the first structural member or the second structural member is a SEED structural member, and (ii) an indication of a required pattern; generating one or more structural member instances within the CAD model based on the indication of the SEED structural member and the required pattern; 16. The computer program product of claim 15, further configured to automatically apply trimming to joints of each of the one or more structural member instances using the one or more processor executing rules.

19. at the joint, the first structural member, the second structural member, and the third structural member intersect at an end of at least one of the first structural member, the second structural member, and the third structural member; 16. The computer program product of claim 15, wherein the one or more rules dictate 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) a location of the joint where the first structural member, second structural member, and third structural member intersect.

20. When automatically applying a trim to the joint, the program instructions, when executed by the processor, cause the processor to:

20. The computer program product of claim 19, further configured to trim at least one of the first structural member, the second structural member, and the third structural member.

Citation Information

Patent Citations

  • Component adjustment method and device in BIM model, computer equipment and storage medium

    CN113919027A

  • Device and program for reinforcing bar arrangement verification support

    JP2016056665A

  • Designing 3D modeled object representing mechanical structure

    JP2020035428A

  • Method and system for trimming intersecting bodies in a computer-aided design environment

    WO2021245451A1