A method for obtaining a profile closure unit based on a three-dimensional structure model
Patent Information
- Application Number
- CN202310423105.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-19
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2043-04-19
AI Technical Summary
[0043] 1) This invention proposes a method for quickly obtaining structural cross-sectional lines by using the intersection of rib planes and structural components.
Smart Images

Figure CN116451352B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for obtaining sectional closed elements based on a three-dimensional structural model, belonging to the technical fields of CATIA ship three-dimensional design, hull beam strength verification, and cross-sectional shear flow calculation. Background Technology
[0002] Appendix 1 of Chapter 5, Hull Beam Strength, Part 9 of the 2018 Comprehensive Text of the Steel Seagoing Ship Classification Code introduces the direct calculation process for shear flow acting on the ship's cross section caused by the vertical shear force of the hull beams. Shear flow calculation is divided into fixed shear flow and indeterminate shear flow. When closed elements exist in the structural cross section, all closed elements need to be obtained to calculate the indeterminate shear flow. A closed element is the smallest structural cycle in the cross section, such as... Figure 1 As shown. Closed elements are described by line elements of the contour, and line elements are described by two nodes. For example, closed element 3 is composed of four line elements: 11, 12, 13, and 14, and line element 10 is composed of two nodes: 9 and 10. The composition relationship of the three types of elements is as follows: Figure 2 As shown.
[0003] To verify the strength of ship hull beam structures, various classification societies have developed calculation software applicable to different design specifications, such as BV's Mars software. Mars software creates hull sections following a two-dimensional drawing approach. Specifically, it first creates a series of nodes, then connects these nodes to create line elements representing panel objects, and sets the connectivity between these line elements. Next, nodes are created on the panel as positioning points for the reinforcement members, and the cross-sectional specifications and web / panel orientation of the reinforcement members are set, such as... Figure 3 As shown. Finally, different thickness plates are created on the Panel using the panel seam division function, as shown. Figure 4 As shown. After creating the profile, shear flow calculation can be performed directly in the verification module (Rule). The above analysis shows that using Mars software to verify shear flow requires creating a structural profile, and multiple structural profiles need to be verified for a single ship design, thus reducing verification efficiency. Furthermore, Mars software does not explain the method for obtaining closed elements in the profile and its development logic.
[0004] Gu Jun, Xu Yigang. Basic loop search method for profile shear flow calculation based on graph theory [J]. China Shipbuilding, 2017(12): 117-122. This paper uses a graph theory-based method to find the loop matrix. For the searched loop matrix, the user needs to manually determine whether to keep it, and not all search results are accurate.
[0005] Meng Fanchong. Closed-circuit search algorithm in hull profile shear flow calculation [J]. Ship Standardization Engineer, 2015(5). The article uses a node scanning algorithm, which first sorts the nodes in order from top to bottom and from left to right, and then searches for another line segment step by step through the two endpoints of the line segment until a closed contour is found. The disadvantage of this method is that there will be duplicate results, the same line segment is searched repeatedly, and the contour is judged to be closed after each search, which is inefficient.
[0006] Currently, digital design based on Dassault Systèmes' 3DE platform is being widely adopted in the shipbuilding industry, and how to deepen the application of 3D structural models has become a key research focus for various institutes. Based on the 3D structural model, structural cross-sections can be extracted directly from target ribs by creating intersection lines. If shear flow calculations can be performed based on the extracted structural cross-sections, there is no need to create structural cross-sections in Mars software, expanding the application scope of the structural model while saving considerable time on strength verification. From the perspective of customized development, a key challenge in shear flow calculations based on cross-sections is obtaining closed elements within the cross-section. Summary of the Invention
[0007] To achieve independent software development for shear flow calculation based on a three-dimensional structural model and improve the efficiency of strength verification of ship hull beam structures, this invention proposes a method for obtaining cross-sectional closed elements based on a three-dimensional structural model.
[0008] To solve the above technical problems, the technical solution of the present invention is implemented as follows:
[0009] A method for obtaining sectional closed elements based on a three-dimensional structural model, comprising:
[0010] 1) Obtain the cross-section by intersecting the selected rib plane with the 3D structural model;
[0011] 2) Obtain nodes through line elements in the profile and remove duplicate nodes with the same position to ensure that nodes and node numbers correspond one-to-one;
[0012] 3) Extract the bone positioning points attached to the Plate line object, and use the bone positioning points to divide the corresponding Plate line units.
[0013] 4) Determine the dependency relationship between nodes and line units by distance, and represent line units using two nodes;
[0014] 5) Obtain closed elements in the cross section along a fixed direction using the vector method, and express the closed elements using a series of line elements.
[0015] In step 1), the specific steps for obtaining the cross-section by intersecting the selected rib plane and the three-dimensional structural model are as follows:
[0016] Step S1.1: Select all 3D structural model nodes corresponding to the cross section and load the nodes into editable state, only acquiring the outer plate, deck, longitudinal ribs and other longitudinal components in the model;
[0017] Step S1.2: Select the target rib plane based on the calculated shear flow profile location;
[0018] Step S1.3: Create the intersection line between the target rib plane and the structural member. First, extract the web surface of the skeleton, and then create the intersection line between the web surface and the rib plane. All intersection lines are stored in the array lstE.
[0019] In step 2), nodes are obtained through line elements in the profile, and duplicate nodes with the same position are deduplicated. The specific steps for node deduplication are as follows:
[0020] Step S2.1: Obtain the starting point from all line objects of the cross section and store it in the array lstP;
[0021] Step S2.2: First, extract a node P from lstP. i Calculate the relationship between the node P and the subsequent node P in the array in sequence. j The distance; if the distance is 0, then remove P from the array. j Remove; then, extract the next node P from the array. i+1 After the same steps, the deduplication process ends when the last node of the array is reached.
[0022] In step 3), the specific steps for dividing the corresponding Plate line elements using the positioning points of the bone material are as follows:
[0023] Step S3.1: Extract a line object E from lstE. n As the line object to be cut, calculate the starting point P of the line object. s and P e ;
[0024] Step S3.2: Extract point objects P sequentially from lstP. n Calculate P n and E n The distance, if the distance is equal to 0 and P n and P s P e If the distances to all points are not equal to 0, then it means that P n The positioning point of the bone material attached to the line object;
[0025] Step S3.3: Store all the bone material positioning points in the array lstLP, and calculate the positioning points and the starting point P of the line object. sThe distance between them is calculated, and then the lstLP array is sorted according to the distance. The sorted points in the array are P in order. 12 P 14 P 16 P 18 P 20 P 22 P 24 ;
[0026] Step S3.4: Cut the line object based on two adjacent points, keeping the portion between the two points, and using the other portion as the object to be cut next. The first cut uses P. 11 and P 12 Two points, the resulting line object is E 20 The remaining dotted line portion represents the object to be cut; the second cut uses P... 12 and P 14 Two points, the resulting line object is E 21 The remaining dotted lines represent the objects to be cut; and so on. After the points in lstLP have been cycled through, the input Plate line objects are cut into E20, E21, E22, E23, E24, E25, E26, and E27.
[0027] Step S3.5: Add the new line object obtained through the above steps to the array lstE, and remove the original cut line object from lstE.
[0028] In step 4), the specific steps for using nodes to represent line units are as follows:
[0029] Step S4.1: Extract a line object E from lstE. n Calculate the starting point P of the line object. s and P e ;
[0030] Step S4.2: Extract nodes sequentially from lstP, and calculate the node sum and P. s The distance;
[0031] Step S4.3: Extract nodes sequentially from lstP, and calculate the node sum and P. e The distance;
[0032] Step S4.4: Record the node information corresponding to the line object for later use;
[0033] Step S4.5: Traverse the next line object from lstE, querying the corresponding node in the same way, until the last object in the array.
[0034] In step S4.2, if the distance is equal to 0, then the node is used to represent the starting point of the line unit.
[0035] In step S4.3, if the distance is equal to 0, then the node is used to represent the end point of the line unit.
[0036] In step S4.5, if a node is only the endpoint of a line object, it means that the line object cannot form a closed unit and is deleted from lstE.
[0037] In step 5), the closed elements in the cross-section are obtained along a fixed direction using the vector method. The specific steps for representing the closed elements using a series of line elements are as follows:
[0038] Step S5.1: Extract a line object E from lstE. n The starting points of the line objects are P. s and P e , with P e As the starting point for the search, P s As the search endpoint, the vector V1 of the line object is (P s P e );
[0039] Step S5.2: Find and P e If there is no line object with a distance of 0, it means that a closed contour cannot be found based on the input line object, and the loop continues to the next line object in lstE. If the distance is equal to 0, it means P e For one endpoint of the line object, get the other endpoint P of the line object. n Then the vector V2 of the line object is (P e P n If with P e If there is only one line vector with a distance of 0, then P n Repeat this step for the starting point of the search; if it is the same as P e If there are multiple line objects with a distance of 0, obtain the vectors V3, V4, ... of the line objects using the same method. Calculate the angle between vectors V1 and V2, V3, V4, ..., and take the line object corresponding to the smallest angle as the target line object;
[0040] Step S5.3: If the target line object is found, determine the endpoints P of the line object. n Is this the search endpoint P? s If P n That is, P s This indicates that all target line objects in the query process combine to form a closed contour; if P n Not for P s Then P n Repeat steps S5.2 and S5.3 as the starting point for the search.
[0041] In step 5), the vector method is used to search for closed cells, and the search direction is set to clockwise.
[0042] The beneficial effects of this invention are:
[0043] 1) This invention proposes a method for quickly obtaining structural cross-sectional lines by using the intersection of rib planes and structural components.
[0044] 2) The recursive cutting method proposed in this invention can quickly cut Plate line objects based on the attached bone material positioning points.
[0045] 3) This invention deletes line objects that cannot form a closed unit before searching, thus improving the search efficiency of closed units.
[0046] 4) The clockwise search method based on vector calculation proposed in this invention can quickly and accurately find all closed elements of the profile, providing conditions for subsequent shear flow calculation. Attached Figure Description
[0047] Figure 1 It is a closed unit;
[0048] Figure 2 This defines the correspondence between closed elements, line elements, and nodes.
[0049] Figure 3 A schematic diagram of the skeleton layout in Mars software;
[0050] Figure 4 A schematic diagram of columns of different thicknesses in Mars software;
[0051] Figure 5 Cut Plate lines for bone material positioning points;
[0052] Figure 6 For the process of cutting line objects;
[0053] Figure 7 Use nodes to represent line objects;
[0054] Figure 8 This is the process of searching for closed cells. Detailed Implementation
[0055] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0056] This invention proposes a method for obtaining cross-sectional closed elements based on a three-dimensional structural model, comprising:
[0057] (1) Obtain the cross section by intersecting the selected rib plane and the three-dimensional structural model;
[0058] (2) Obtain nodes through line elements in the section and remove duplicate nodes with the same position to ensure that nodes and node numbers correspond one-to-one;
[0059] (3) Extract the bone material positioning points (intersection of bone material traces and rib plane) attached to the Plate line object, and use the bone material positioning points to divide the corresponding Plate line units.
[0060] (4) Determine the dependency relationship between nodes and line units by distance, and express the line unit using two nodes;
[0061] (5) Obtain the closed elements in the profile along a fixed direction using the vector method, and express the closed elements using a series of line elements.
[0062] like Figures 5 to 8 As shown in the figure, an embodiment of the present invention proposes a method for obtaining cross-sectional closed elements based on a three-dimensional structural model, which includes the following steps:
[0063] Step S1: Obtain the cross section from the 3D structural model.
[0064] Step S1.1: Select all 3D structural model nodes corresponding to the cross section and load the nodes into an editable state. Since the shear flow calculation does not consider transverse members, only the outer plate, deck, longitudinal ribs, and other longitudinal members in the model are acquired.
[0065] Step S1.2: Select the target rib plane by calculating the profile position of the shear flow as needed.
[0066] Step S1.3: Create the intersection lines between the target rib plane and the structural member. Since the skeleton can be simplified during shear flow calculations, the web surface of the skeleton is extracted first, and then the intersection lines between the web surface and the rib plane are created. All intersection lines are stored in an array (ListOfEdge, abbreviated as lstE).
[0067] Step S2: Node deduplication.
[0068] Step S2.1: Obtain the starting point from all line objects of the cross section and store it in an array (ListOfPoint, abbreviated as lstP).
[0069] Step S2.2: First, extract a node P from lstP. i Calculate the relationship between the node P and the subsequent node P in the array in sequence. j The distance; if the distance is 0, then remove P from the array. j Remove it. Then, extract the next node P from the array. i+1 The same steps are followed. Reaching the last node of the array indicates the end of the deduplication process.
[0070] Step S3: Cut the Plate line object at the bone positioning point, such as... Figure 5 As shown.
[0071] Step S3.1: Extract a line object E from lstE. n This is the line object to be cut. The starting point P of the line object is calculated. s and P e (correspond Figure 5 P in 11 and P1).
[0072] Step S3.2: Extract point objects P sequentially from lstP. n Calculate P n and E n The distance, if the distance is equal to 0 and P n and P s P e If the distances to all points are not equal to 0, then it means that P n The positioning point of the bone material attached to the line object.
[0073] Step S3.3: Store all the bone material positioning points in an array (ListOfLocationPoint, abbreviated as lstLP), and calculate the positioning points and the starting point P of the line object. s The distance between them. Then, sort the lstLP array according to the distance. The sorted points in the array are P. 12 P 14 P 16 P 18 P 20 P 22 P 24 .
[0074] Step S3.4: Cut the line object based on two adjacent points, keeping the portion between the two points, and using the other portion as the object to be cut next, such as... Figure 6 As shown. The first cut uses P 11 and P 12 Two points, the resulting line object is E 20 The remaining green portion is the object to be cut; the second cut uses P. 12 and P 14 Two points, the resulting line object is E 21 The remaining dotted lines represent the objects to be cut; and so on. After the points in lstLP have been cycled through, the input Plate line objects are cut into E20, E21, E22, E23, E24, E25, E26, and E27.
[0075] Step S3.5: Add the new line object obtained through the above steps to the array lstE, and remove the original cut line object from lstE.
[0076] Step S4: Use nodes to represent line units, such as Figure 7 As shown.
[0077] Step S4.1: Extract a line object E from lstE. n Calculate the starting point P of the line object. s and P e .
[0078] Step S4.2: Extract nodes sequentially from lstP, and calculate the node sum and P. s The distance is such that if the distance is 0, then the node represents the starting point of the line element.
[0079] Step S4.3: Extract nodes sequentially from lstP, and calculate the node sum and P. e The distance is specified by the node. If the distance is 0, the node represents the endpoint of the line element. For example, line object E3 can be represented by nodes P4 and P5.
[0080] Step S4.4: Record the node information corresponding to the line object for later use.
[0081] Step S4.5: Traverse the next line object from lstE, querying the corresponding node in the same way, until the last object in the array.
[0082] Step S4.6: If a node is only the endpoint of a line object, it means that the line object cannot form a closed unit and should be deleted from lstE.
[0083] Step S5: Use the vector method to search for closed cells, with the search direction set to clockwise.
[0084] Step S5.1: Extract a line object E from lstE. n The starting points of the line objects are P. s and P e , with P e As the starting point for the search, P s As the search endpoint, the vector V1 of the line object is (P s P e ).
[0085] Step S5.2: Find and P e Line objects with a distance of 0. If no line object with a distance of 0 exists, it means that a closed contour cannot be found based on the input line object, and the loop continues to the next line object in lstE. If the distance is 0, it means P eFor one endpoint of the line object, get the other endpoint P of the line object. n Then the vector V2 of the line object is (P e P n If with P) e If there is only one line vector with a distance of 0, then P n Repeat this step for the starting point of the search; if it is the same as P e If there are multiple line objects with a distance of 0, obtain their vectors V3, V4, ... using the same method. Calculate the angle between vectors V1 and V2, V3, V4, ... Since the search direction is set to clockwise, select the line object with the smallest angle as the target line object.
[0086] Step S5.3: If the target line object is found, determine the endpoints P of the line object. n Is this the search endpoint P? s If P n That is, P s This indicates that all target line objects in the query process combine to form a closed contour. If P n Not for P s Then P n Repeat steps S5.2 and S5.3 as the starting point for the search.
[0087] This method can be used to search for 3 closed units, in order to Figure 8 The following example illustrates the search for a closed cell in C1:
[0088] 1)E 10 Let P7 be the starting line object, and P1 be the ending line object. There are E line objects whose distance from P7 is 0. 26 Based on the vector angle and clockwise search principle, the target line object obtained from P7 is E6.
[0089] 2) The other endpoint of E6 is P4. Using P4 as the starting point for the search, the target line object obtained is E4.
[0090] 3) The other endpoint of E4 is P3. Using P3 as the starting point of the search, the target line object obtained is E2.
[0091] 4) The other endpoint of E2 is P2. Using P2 as the starting point of the search, the target line object obtained is E1.
[0092] 5) The other endpoint of E1 is P1, which is the search endpoint.
[0093] 6) According to the search process, E 10 E6, E4, E2, and E1 form a closed unit C1.
Claims
1. A method for obtaining cross-sectional closed elements based on a three-dimensional structural model, characterized in that, include: 1) Obtain the cross-section by intersecting the selected rib plane with the 3D structural model; 2) Obtain nodes through line elements in the section and remove duplicate nodes with the same position to ensure that nodes and node numbers correspond one-to-one; 3) Extract the bone material positioning points attached to the Plate line unit, and use the bone material positioning points to divide this Plate line unit into several subdivided line units. After the division is completed, delete the original Plate line unit that was cut. 4) Determine the dependency relationship between nodes and line units by distance, find the nodes that coincide with the endpoints of the line units, and store the obtained nodes as line unit attributes. 5) Obtain closed elements in the cross section along a fixed direction using the vector method, and express the closed elements using a series of line elements.
2. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 1, characterized in that: In step 1), the specific steps for obtaining the cross-section by intersecting the selected rib plane and the 3D structural model are as follows: Step S1.1: Select all 3D structural model nodes corresponding to the cross section and load the nodes into editable state, only acquiring the outer plate, deck, longitudinal ribs and other longitudinal components in the model; Step S1.2: Select the target rib plane based on the calculated shear flow profile location; Step S1.3: Create the intersection line between the target rib plane and the structural member. For the skeleton, first extract its web surface, and then create the intersection line between the web surface and the rib plane. The outer plate, deck and other longitudinal members directly intersect with the rib plane. All intersection lines are stored in the array lstE.
3. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 2, characterized in that: In step 2), nodes are obtained through line elements in the profile, and duplicate nodes with the same position are deduplicated. The specific steps for node deduplication are as follows: Step S2.1: Obtain the starting point from all line elements of the cross section and store it in the array lstP; Step S2.2: First, extract a node P from lstP. i Calculate the relationship between the node P and the subsequent node P in the array in sequence. j The distance; if the distance is 0, then remove P from the array. j Remove; then extract the next node P from the array. i+1 After the same steps, the deduplication process ends when the last node of the array is reached.
4. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 3, characterized in that: In step 3), the specific steps for dividing the corresponding Plate line elements using the positioning points of the bone material are as follows: Step S3.1: Extract a line unit E from lstE. n As the line element to be cut, calculate the starting point P of the line element. s and P e ; Step S3.2: Extract point objects P sequentially from lstP. n Calculate P n and E n The distance, if the distance is equal to 0 and P n and P s P e If the distances to all points are not equal to 0, then it means that P n These are the positioning points for the skeleton attached to the line unit; Step S3.3: Store all the bone material positioning points in the array lstLP, and calculate the distance between the positioning point and the starting point Ps of the line unit. Then, sort the lstLP array according to the distance. The sorted points in the array are Ps in order. 12 P 14 P 16 P 18 P 20 P 22 P 24 ; Step S3.4: Cut line elements based on two adjacent points, retaining the portion between the two points, and using the remaining portion as the object to be cut next. The first cut uses Ps and P... 12 Two points, the obtained line element is E 20 The remaining part is the object to be cut; the second cut uses P. 12 and P 14 Two points, the obtained line element is E 21 The remaining part is the object to be cut; and so on, after the points in lstLP have been cycled, the input Plate line unit is cut into E20, E21, E22, E23, E24, E25, E26, and E27. Step S3.5: Add the new line units obtained through the above steps to the array lstE, and remove the original cut line units from lstE.
5. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 4, characterized in that: In step 4), the specific steps for using nodes to represent line units are as follows: Step S4.1: Extract a line unit E from lstE. n Calculate the starting point P of the line element. s and P e ; Step S4.2: Extract nodes sequentially from lstP, and calculate the node sum and P. s The distance; Step S4.3: Extract nodes sequentially from lstP, and calculate the node sum and P. e The distance; Step S4.4: Record the node information corresponding to the line unit for future use; Step S4.5: Traverse the next line unit from lstE, querying the corresponding node in the same way, until the last object in the array.
6. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 5, characterized in that: In step S4.2, if the distance is equal to 0, then the node is used to represent the starting point of the line unit.
7. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 5, characterized in that: In step S4.3, if the distance is equal to 0, then the node is used to represent the end point of the line unit.
8. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 5, characterized in that: In step S4.5, if a node is only the endpoint of a line element, it means that the line element cannot form a closed element and is deleted from lstE.
9. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 5, characterized in that: In step 5), the closed elements in the cross-section are obtained along a fixed direction using the vector method. The specific steps for representing the closed elements using a series of line elements are as follows: Step S5.1: Extract a line unit E from lstE after processing according to the step described in claim 5. n The starting points of the line units are P. s and P e , with P e As the starting point for the search, P s As the search endpoint, the vector V1 of the line unit is (P s P e ); Step S5.2: Find and P e If there are no line cells with a distance of 0, it means that a closed contour cannot be found based on the input line cells, and the loop continues to the next line cell in lstE. If the distance is equal to 0, it means P e Let P be one endpoint of the line element, and then obtain the other endpoint P of the line element. n Then the vector V2 of the line element is (P e P n If with P e If there is only one line vector with a distance of 0, then P n Repeat this step for the starting point of the search; if it is the same as P e If there are multiple line units with a distance of 0, obtain the vectors V3, V4... of the line units using the same method, calculate the angle between vectors V1 and V2, V3, V4..., and take the line unit corresponding to the minimum angle as the target line unit; Step S5.3: If the target line unit is found, determine the endpoint P of the line unit. n Is this the search endpoint P? s If P n That is, P s This indicates that all target line units in the query process combine to form a closed contour; if P n Not for P s Then P n Repeat steps S5.2 and S5.3 as the starting point for the search.
10. The method for obtaining sectional closed elements based on a three-dimensional structural model according to claim 9, characterized in that: In step 5), the vector method is used to search for closed cells, and the search direction is set to clockwise.
Citation Information
Patent Citations
A triangular mesh model-based automatic surface patching algorithm for a sectioned contour
CN109685914A
STL (Standard Template Library)-based elbow model skeleton extraction method and extraction system thereof
CN113205594A