Three-dimensional representation method, interference detection method, and Boolean operation method for building member

By converting the building component into a polygonal blooming model, and providing corresponding interference detection and Boolean computing methods, the three -dimensional component of the building component in the existing technology has been complicated and error in computing and errors. Project calculation.

CN119378048AActive Publication Date: 2025-01-28CHINA NORTHEAST ARCHITECTURAL DESIGN & RES INST CO LTD

Patent Information

Application Number
CN202310921371.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-26
Publication Date
2025-01-28
Estimated Expiration
2043-07-26

AI Technical Summary

Technical Problem

In the three-dimensional representation method of building components, existing triangle mesh or quadrilateral mesh representations have problems such as complex interference detection and Boolean calculations and error-prone, especially when processing redundant information and model standards are different.

Method used

Putting a three -dimensional representation method of a building component, by determining the type of building component (such as rectangular columns, rectangular beams, cylinders, and arc), the local coordinate system of polygonal border is constructed, so as to convert the building component into a polygonal bandadosis into Model. At the same time, it provides interference detection and Boer computing methods. By dividing the top surface as a triangle, calculating interference, and performing Boolean calculation differences, combined or intersecting.

Benefits of technology

Simplify the modeling process of building components, improve the modeling efficiency, and achieve more efficient, more standard and reliable processing results in engineering computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119378048A_ABST
    Figure CN119378048A_ABST
Patent Text Reader

Abstract

The present invention relates to a three-dimensional representation method, interference detection method, and Boolean operation method of a building component, the three-dimensional representation method converting a building component of a common shape into a three-dimensional representation form of a polygon prism to form a polygon prism model of the building component; the interference detection method and the Boolean operation method are carried out based on the building component of a polygon prism model, a universal three-dimensional representation method is provided for the building components of different shapes, the modeling process of the building component is simplified, the modeling efficiency is improved, and the modeling cost is reduced. Meanwhile, when the building component is used for interference detection and Boolean operation on engineering, more efficient, more standard and more reliable engineering processing can be achieved through calculation based on the polygon prism model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of architecture, and in particular to a three-dimensional representation method, an interference detection method and a Boolean operation method of building components. Background Art

[0002] Generally, three-dimensional graphics are represented by triangular meshes or quadrilateral meshes. This method can express arbitrarily complex graphics, has high degrees of freedom, and is suitable for a wide range of scenarios. However, mesh representation also has the disadvantages of complex interference detection and Boolean operations, which are prone to errors.

[0003] The geometric figures of building components usually have horizontal top and bottom surfaces, and rarely have slopes. Using a grid to represent information will result in a large amount of redundant information, which will also be involved in the calculation, affecting the calculation efficiency. In addition, it is very common for building components to overlap or be tangent to each other, which happens to be a situation where interference detection and Boolean operations of the grid are prone to errors.

[0004] In summary, building components are not suitable for the currently commonly used triangular mesh or quadrilateral mesh representation, and it is necessary to find a simplified and reliable representation method for building components. Summary of the invention

[0005] In view of this, the present invention aims to propose a three-dimensional representation method, an interference detection method and a Boolean operation method for building components, so as to solve the problem that building components of different shapes are difficult to form standard three-dimensional modeling, and the problem that interference detection and Boolean operations of building components of different shapes cannot be completed efficiently and reliably due to different model standards.

[0006] In a first aspect, a first embodiment of the present invention provides a three-dimensional representation method for a building component, the three-dimensional representation method for a building component comprising:

[0007] S100, determining the type of building component;

[0008] There are four types of building components, namely rectangular columns, rectangular beams, cylinders and arc-shaped bodies;

[0009] S200, constructing a local coordinate system for representing the building component in a three-dimensional form of a polygonal prism according to the type of the building component, thereby converting the building component into a polygonal prism model;

[0010] Among them, the rectangular column building component has a rotation angle parameter for establishing the local coordinate system, the rectangular beam building component has a line segment, thickness and height parameters for establishing the local coordinate system, the cylindrical building component has a cylinder parameter for establishing the local coordinate system, and the arc-shaped building component has an arc, thickness and height parameters for establishing the local coordinate system.

[0011] Furthermore, in S200, for the rectangular column building component:

[0012] Define the original x-axis direction as east (1,0,0), the original y-axis direction as north (0,1,0), and the original z-axis direction as up (0,0,1);

[0013] Define the center point of the bottom surface as O, the length of the bottom surface in the x-axis direction as l, the length of the bottom surface in the y-axis direction as w, the height as h, the rotation angle around the z-axis as α, and the vertices of the bottom surface defined in the counterclockwise direction as P 0 , P 1 , P 2 , P 3 ,have:

[0014] P 0 =O+(l*cosa+w*sina,-l*sina+w*cosa,0)

[0015] P 1 =O+(-l*cosa+w*sina,-l*sina+w*cosa,0)

[0016] P 2 =O+(-l*cosa+w*sina,l*sina+w*cosa,0)

[0017] P 3 =O+(l*cosa+w*sina,l*sina+w*cosa,0)

[0018] Then the local coordinate system of the rectangular column building component is the x-axis, y-axis and original z-axis after rotation around the z-axis by an angle of α as the coordinate axes, and the homogeneous matrix of the bottom center point O as the translation, which is:

[0019]

[0020] Among them, Ox, Oy, Oz are the components of point O on the xyz axis; the rotation angle α≥0.

[0021] Furthermore, in S200, for the rectangular beam building component:

[0022] Define the endpoints of the midline segment of the bottom surface as A and B, the width of the bottom surface in the direction perpendicular to the midline as w, the height as h, and obtain the length of the midline segment of the bottom surface as l according to the endpoints A and B of the midline segment of the bottom surface, and the tangent direction T of the building component of the rectangular beam, and determine the normal direction N of the building component of the rectangular beam according to the z-axis direction, and then:

[0023] l=|BA|

[0024]

[0025]

[0026] The vertices defining the bottom surface in the counterclockwise direction are P 0 , P 1 , P 2 , P 3 ,have:

[0027]

[0028]

[0029]

[0030]

[0031] Then the local coordinate system of the building component of the rectangular beam is a homogeneous matrix with the tangent direction T, the normal direction N and the z-axis direction as coordinate axes and the end point A of the line segment in the bottom surface as translation:

[0032]

[0033] Among them, Tx, Ty are the xy-axis components of T; Nx, Ny are the xy-axis components of N; Ax, Ay, Az are the xyz-axis components of A.

[0034] Furthermore, in S200, for the cylindrical building component:

[0035] Define the original x-axis direction as east (1,0,0) and the original z-axis direction as up (0,0,1);

[0036] Define the center of the bottom circle as O, the radius of the bottom as r, and the height as h, and transform the cylindrical building component into a polygonal prism with a predetermined number of side segments i, and define the vertices of the bottom polygon in the counterclockwise direction as P 0 , P 1 , P 2 ,…,P i-1 , then for a given number of side segments i, we have:

[0037]

[0038]

[0039]

[0040] …

[0041]

[0042] Then the local coordinate system of the cylindrical building component is a cylindrical coordinate system with the bottom circle center O as the circle center, the original x-axis as the polar axis, and the original z-axis as the height.

[0043] Furthermore, in S200, for the arc-shaped building component:

[0044] Define the center of the arc as O, the two endpoints of the arc as A and B, the radius of the arc as r, the radial width as w, and the height as h, and convert the building component of the arc into a polygonal prism with a predetermined number of side segments i, and calculate the arc positions of the two endpoints of the arc:

[0045] θ A =arctan 2(Ay-Oy,Ax-Ox)

[0046] θ B =arctan 2(By-Oy,Bx-Ox)

[0047] Define α as the distance from θ in the counterclockwise direction. A to θ B The angle between , and α is a positive number, we have:

[0048] α=(θ B +2π-θ A )%2π

[0049] For a given number of side segments i, calculate the step length θ according to the size of the angle α Δ :

[0050] θ Δ =α / i

[0051] According to the step size θ Δ In the counterclockwise direction from θ A to θ B Step by step, calculate the normal function f for any angle θ on the arc norm (θ) and position function f Pos (θ), we have:

[0052] f Norm (θ) = (cosθ, sinθ, 0)

[0053] f Pos (θ)=O+f Norm (θ)*r

[0054] Then the position function f of the vertex of the bottom polygon of the arc-shaped building component located outside the arc AB is P (θ) is:

[0055]

[0056] and the position function f of the vertex of the bottom polygon of the arc-shaped building component located inside the arc AB P '(θ) is

[0057]

[0058] Among them, when θ is taken as θ A ,θ A +θ Δ ,θ A +θ Δ *2、θ A +θ Δ *3, ..., θB, f P (θ) is the polygon vertex P on the outside of the arc endpoint A to B 0 , P 1 , P 2 ,…,P i , f P '(θ) is the inner polygon vertex P from the arc endpoint A to B 0 ',P 1 ',P 2 ', ..., P i ';

[0059] Then the local coordinate system of the arc-shaped building component is (x, y, z), where x is the arc length from point A, y is the radial distance from the arc, and z is the height, and:

[0060]

[0061] f(x,y,z)=O+f Pos (θ)+f Norm (θ)*y+(0,0,z)

[0062] Here, θ is the radian distance to point A.

[0063] In a second aspect, a second embodiment of the present invention provides an interference detection method for building components, which is used to perform interference detection on a building component represented in the form of a polygonal prism in the three-dimensional representation method of the building component as described in any one of the first aspects, and the interference detection method for building components comprises:

[0064] S300, obtaining a coordinate range of a building component in the form of a polygonal prism in its local coordinate system;

[0065] S400, dividing the top surface of the building component in S300 into a plurality of triangles;

[0066] S500, in the local coordinate system of the building component in S300, calculating interference conditions between each triangle on the top surface of the building component obtained in S400 and the point, straight line, line segment and other building components to be detected.

[0067] Further, the S400 includes:

[0068] S410, judging whether the top surface of the current building component is a convex polygon according to the angles of each inner angle of the top surface of the current building component;

[0069] When at least one internal angle with an angle greater than 180° exists, it is determined to be a concave polygon top surface, and the process goes to S222;

[0070] When the angles of all internal angles are less than 180°, it is determined to be a convex polygon top surface, and the process goes to S223;

[0071] S420, for any internal angle of the top surface of the current building component with an angle greater than 180°, connect two sides on one side of the internal angle end to end to form a first triangle and connect two sides on the other side end to end to form a second triangle, determine whether the first triangle and the second triangle are inside the top surface polygon of the current building component, if so, keep the connection line of the triangles, if not, cancel the connection line of the triangles, and then return to S410;

[0072] S430, starting from any vertex of the top surface of the current building component, connecting lines to all other vertices respectively, and dividing the top surface of the current building component into a plurality of triangles.

[0073] Furthermore, in S500, for the interference between the points:

[0074] Obtain the coordinate range of each triangle on the top surface of the current building component, and determine whether the coordinate of the point to be measured is within the coordinate range of any of the triangles;

[0075] Among them, to determine whether the coordinates of the point to be measured are within the triangle, the steps are as follows:

[0076] In the clockwise direction, the three vertices of the triangle are A, B and C. Connect the point P to be measured with points A, B and C respectively to obtain vectors AP, BP and CP;

[0077] Determine whether vector AP is located in the clockwise direction of vector AB or coincides with vector AB, and obtain result 1;

[0078] Determine whether vector BP is in the clockwise direction of vector BC or coincides with vector BC, and obtain result 2;

[0079] Determine whether vector CP is in the clockwise direction of vector CA or coincides with vector CA, and obtain result three;

[0080] If the first, second and third results are all yes, then the point P to be tested is inside the triangle ABC, otherwise the point P to be tested is not inside the triangle ABC;

[0081] If the point to be measured is not in any triangle on the top surface of the current building component, it is determined that there is no interference between the point to be measured and the current building component, otherwise there is interference.

[0082] Furthermore, in S500, for the interference with the straight line:

[0083] Obtain the projection line segment of the straight line to be measured on the top surface of the current building component;

[0084] If the straight line to be measured is a horizontal line, the endpoints of the projected line segment are the intersections of the straight line to be measured and the maximum and minimum value ranges of the x-axis and / or y-axis and / or z-axis coordinates of the current building component;

[0085] If the straight line to be measured is a non-horizontal line, the endpoints of the projected line segment are the intersection points of the straight line to be measured and the top and bottom surfaces of the current building component;

[0086] If any endpoint of the projected line segment is above or within the top polygon of the current building component, and / or the projected line segment is tangent to or intersects with any edge of the top polygon of the current building component, then it is determined that the straight line to be measured has interference with the current building component, otherwise the straight line to be measured has no interference with the current building component;

[0087] The steps for determining whether the projection line segment intersects with any edge of the top polygon of the current building component are as follows:

[0088] The endpoints of the projection line segment are A and B, and the endpoints of one side of the top surface polygon of the current building component are C and D. If vector AC and vector AD are in different clockwise directions of vector AB, and vector CA and vector CB are in different clockwise directions of vector CD, then it is determined that line segment AB and line segment CD intersect, otherwise line segment AB and line segment CD do not intersect.

[0089] Furthermore, in S500, for the interference with the line segment:

[0090] Obtaining the coordinates of the endpoints of the line segment to be measured in the local coordinate system of the current building component, if any endpoint of the line segment to be measured is above or within the top surface polygon of the current building component, and / or the line segment to be measured is tangent to or intersects with any edge of the top surface polygon of the current building component, then it is determined that the line segment to be measured has interference with the current building component, otherwise the line segment to be measured has no interference with the current building component;

[0091] The steps for determining whether the line segment to be tested intersects with any edge of the top polygon of the current building component are as follows:

[0092] The endpoints of the line segment to be tested are A and B, the endpoints of one side of the top surface polygon of the current building component are C and D, if vector AC and vector AD are in different clockwise directions of vector AB, and vector CA and vector CB are in different clockwise directions of vector CD, then it is determined that line segment AB and line segment CD intersect, otherwise line segment AB and line segment CD do not intersect.

[0093] Furthermore, in S500, regarding the interference with other building components:

[0094] Obtaining the coordinate range of the building component to be tested in the local coordinate system of the current building component, projecting the top surfaces of the two building components onto the same plane, and determining in turn whether each edge of the top surface of one of the building components interferes with each edge of the top surface of the other building component; if at least one set of edges interferes with each other, then it is determined that there is interference between the two building components; otherwise, there is no interference between the two building components;

[0095] The steps of determining the interference between any edge of the top surface of one building component and any edge of the top surface of another building component are as follows:

[0096] The endpoints of one side are A and B, and the endpoints of the other side are C and D. If vector AC and vector AD are in different clockwise directions of vector AB, and vector CA and vector CB are in different clockwise directions of vector CD, then line segment AB and line segment CD intersect, otherwise line segment AB and line segment CD do not intersect.

[0097] In a third aspect, a third embodiment of the present invention provides a Boolean operation method for building components, which is used to perform a Boolean operation on a building component in the form of a polygonal prism representation in the three-dimensional representation method of the building component as described in any one of the first aspects, and the Boolean operation method for the building component comprises:

[0098] S600, marking serial numbers on the vertices and intersections of the top surfaces of the building components in the form of two polygonal prisms in sequence in a clockwise or counterclockwise order;

[0099] S700: Calculate the Boolean difference, union or intersection between two building components in the form of polygonal prisms according to the sequence numbers in S600.

[0100] Furthermore, in the step S600, for any vertex or intersection on any one of the two building components, a serial number is marked (A m , B n );

[0101] When the marked point is a vertex on the top surface of the first building element, A m is the order of the points on the top surface of the first building element in a predetermined sequence, B n is -1;

[0102] When the marked point is a vertex on the top surface of the first building element, B n is the order of the points on the top surface of the second building element in a predetermined sequence, A m is -1;

[0103] When the marked point is an intersection of the top surface of the first building element and the top surface of the second building element, A m is the A of the two vertices adjacent to the point on the top surface of the first building component m Decimal between values, B n is the B of the two adjacent vertices on the top surface of the second building component. n Decimals between values.

[0104] Furthermore, in S700, for the case of calculating the Boolean difference between two building components:

[0105] Project the top surfaces of the two building components onto the same plane, and obtain the marked serial numbers of all vertices and intersections of the top surfaces of the two building components;

[0106] placing the labeled serial numbers of the vertices of the top surface of the subtrahend building component that are inside the top surface of the subtrahend building component in the result list, placing the labeled serial numbers of the vertices of the top surface of the subtrahend building component that are not on or inside the top surface of the subtrahend building component in the result list, and placing the labeled serial numbers of the intersection of the top surfaces of two building components in the result list;

[0107] A according to the numbering of each point in the result list m The values ​​are sorted in positive order and in order of B n The values ​​are sorted in reverse order and connected in sequence according to the first rule to form a two-dimensional projection of the top surface of the difference set building component after the Boolean difference operation of the two building components, and the height of the minuend building component is used as the height of the difference set building component to obtain a three-dimensional model of the difference set building component;

[0108] The first rule includes:

[0109] When the top surfaces of two building components have two intersection points on the same edge, for all connection paths between the two intersection points, the positions of the midpoints of the line segments where the connection paths are located are determined respectively, and the connection paths whose midpoints are located within the minus polygon are eliminated;

[0110] When one edge of the top surfaces of two building components is tangent, all vertices of the top surfaces of the two building components are traversed in the same order. For the two end points of the line segment where the overlapping parts of the two tangent edges are located, if the order of traversal is the same during the two traversals, they are removed; if the order of traversal is opposite, they are retained.

[0111] Furthermore, in S700, for the case of calculating the Boolean union of two building components:

[0112] Project the top surfaces of the two building components onto the same plane, and obtain the marked serial numbers of all vertices and intersections of the top surfaces of the two building components;

[0113] Putting the marked serial numbers of the vertices located on the top surface of one of the building components but not on the top surface of the other building component into the result list, and putting the marked serial numbers of the intersection points of the top surfaces of the two building components into the result list;

[0114] The building components where each vertex in the result list is located are sorted in a positive order according to the marked serial numbers, and are sequentially connected according to the second rule to form a two-dimensional projection of the top surface of the union building component after the Boolean operation union of the two building components, and the union of the heights of the two building components is used as the height of the union building component to obtain a three-dimensional model of the union building component;

[0115] The second rule includes:

[0116] When the top surfaces of two building components have two intersection points on the same edge, determine the midpoint position of the line segment where the connection path between any two points in the result list is located, eliminate the connection path whose midpoint is inside or above the top surface of any building component, and retain the connection path that is not inside or above the top surface of any building component;

[0117] When one edge of the top surfaces of two building components is tangent, all vertices of the top surfaces of the two building components are traversed in the same order. For the two end points of the line segment where the overlapping parts of the two tangent edges are located, if the order of traversal is the same during the two traversals, they are retained; if the order of traversal is opposite, they are discarded.

[0118] Furthermore, in S700, for calculating the Boolean intersection between two building components:

[0119] Project the top surfaces of the two building components onto the same plane, and obtain the marked serial numbers of all vertices and intersections of the top surfaces of the two building components;

[0120] Putting the marked serial numbers of the vertices simultaneously located in the top surfaces of the two building components into the result list, and putting the marked serial numbers of the intersection points of the top surfaces of the two building components into the result list;

[0121] The building components at which the vertices and intersections are located in the result list are sorted in a positive order, and are sequentially connected according to the third rule to form a two-dimensional projection of the top surface of the intersection building component after the Boolean operation intersection of the two building components, and the intersection of the heights of the two building components is used as the height of the intersection building component to obtain a three-dimensional model of the intersection building component;

[0122] The third rule includes:

[0123] When the top surfaces of two building components have two intersection points on the same edge, determine the midpoint position of the line segment where the connection path between any two points in the result list is located, eliminate the connection paths whose midpoints are above or outside the top surfaces of the two building components, and retain the connection paths whose midpoints are within the top surface of any one of the building components;

[0124] When one edge of the top surfaces of two building components is tangent, all vertices of the top surfaces of the two building components are traversed in the same order. For the two end points of the line segment where the overlapping parts of the two tangent edges are located, if the order of traversal is the same during the two traversals, they are retained; if the order of traversal is opposite, they are discarded.

[0125] The embodiments of the present invention provide a universal three-dimensional representation method for building components of different shapes, simplify the modeling process of building components, and improve the modeling efficiency. At the same time, when the building components are used for interference detection and Boolean operations in engineering, calculations based on polygonal prism models can achieve more efficient, more standardized and more reliable engineering processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0126] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0127] Figure 1 A schematic flow chart of a three-dimensional representation method for building components according to a first embodiment of the present invention;

[0128] Figure 2is a schematic flow chart of an interference detection method for building components according to a second embodiment of the present invention;

[0129] Figure 3 A schematic flow chart of a Boolean operation method for building components according to a third embodiment of the present invention;

[0130] Figure 4 A schematic diagram of converting a rectangular column building component into a polygonal prism model according to a three-dimensional representation method of a building component according to a first embodiment of the present invention;

[0131] Figure 5 A schematic diagram of converting a rectangular beam building component into a polygonal prism model according to a three-dimensional representation method of a building component according to a first embodiment of the present invention;

[0132] Figure 6 A schematic diagram of converting a cylindrical building component into a polygonal prism model according to the three-dimensional representation method of the building component according to the first embodiment of the present invention;

[0133] Figure 7 A schematic diagram of converting an arc-shaped building component into a polygonal prism model according to the three-dimensional representation method of the building component of the first embodiment of the present invention;

[0134] Figure 8 is a schematic diagram of point interference in an interference detection method for building components according to a second embodiment of the present invention;

[0135] Fig. 9 is a schematic diagram of interference with a straight line in an interference detection method for a building component according to a second embodiment of the present invention;

[0136] Figure 10-Figure 14 Schematic diagrams of several situations of calculating difference sets in the Boolean operation method of building components in the third embodiment of the present invention;

[0137] Figure 15-19 Schematic diagrams of several situations of calculating union in the Boolean operation method of building components in the third embodiment of the present invention;

[0138] Figure 20-24 Schematic diagrams of several situations of calculating intersections in the Boolean operation method of building components in the third embodiment of the present invention;

[0139] Fig.25 and Fig.26 It is a schematic diagram of dividing the top surface of a building component into triangles in the interference detection method of a building component according to the second embodiment of the present invention. DETAILED DESCRIPTION

[0140] The description of the embodiments of this specification should be combined with the corresponding drawings, which should be considered as part of the complete specification. In the drawings, the shape or thickness of the embodiments may be enlarged and indicated for simplification or convenience. Furthermore, the parts of each structure in the drawings will be described separately. It is worth noting that the elements not shown in the drawings or not described in words are in a form known to ordinary technicians in the relevant technical field.

[0141] The description of the embodiments herein and any reference to directions and orientations are only for the convenience of description and are not to be construed as any limitation on the scope of protection of the present invention. The following description of the preferred embodiments may involve combinations of features, which may exist independently or in combination, and the present invention is not particularly limited to the preferred embodiments. The scope of the present invention is defined by the claims.

[0142] In the present invention, a polygonal prism refers to a prism with a polygonal cross section, wherein the polygon may be a convex polygon or a concave polygon, rather than a multi-prism as referred to in mathematics.

[0143] like Figure 1 As shown, the three-dimensional representation method of the building component of the first embodiment of the present invention includes:

[0144] S100, determining the type of building component.

[0145] There are four types of building components, namely rectangular columns, rectangular beams, cylinders and arcs. All building components can be classified into one of the above four types, for example, basement exterior walls, shear wall columns and shear wall bodies can be classified as rectangular beams. Compared with the commonly used triangular mesh or quadrilateral mesh representation, the three-dimensional model of building components represented by polygonal prisms will not lose the information required for construction engineering in most cases, and can greatly improve the efficiency and reliability of engineering calculations.

[0146] S200: constructing a local coordinate system for representing the building component in a three-dimensional form of a polygonal prism according to the type of the building component, thereby converting the building component into a polygonal prism model.

[0147] Among them, the building components of rectangular columns, rectangular beams, cylinders and arc-shaped bodies respectively have parameters for conversion into polygonal prism models. Therefore, the classification of building components of different shapes into one of the four types is determined by the parameter characteristics of the building components themselves, which will be specifically introduced below.

[0148] The polygonal prism model should have a convenient local coordinate system, which can be a rectangular coordinate system, a cylindrical coordinate system, etc., depending on the characteristics of the building component itself. Any point on the polygonal prism can be conveniently located for applications such as generating steel bars. For various geometric description parameter methods, the definition of the local coordinate system is also different. After being converted into a local coordinate system (i.e., a polygonal prism model), the efficiency and reliability of building components in engineering calculations can be greatly improved.

[0149] like Figure 4 As shown, for a rectangular column building component, it has a rotation angle parameter for establishing a local coordinate system. The method for establishing a local coordinate system for a rectangular column building component is as follows:

[0150] Define the original x-axis direction as east (1, 0, 0) and the original y-axis direction as north (0, 1, 0);

[0151] Define the center point of the bottom surface as O, which is a three-element vector of double-precision floating point numbers;

[0152] Define the length of the bottom surface in the x-axis direction as l, the length of the bottom surface in the y-axis direction as w, the height as h, and the rotation angle around the z-axis as α, all of which are double-precision floating-point numbers;

[0153] The vertices defining the bottom surface in the counterclockwise direction are P 0 , P 1 , P 2 , P 3 ,have:

[0154] P 0 =O+(l*cosa+w*sina,-l*sina+w*cosa,0)

[0155] P 1 =O+(-l*cosa+w*sina,-l*sina+w*cosa,0)

[0156] P 2 =O+(-l*cosa+w*sina,l*sina+w*cosa,0)

[0157] P 3 =O+(l*cosa+w*sina,l*sina+w*cosa,0)

[0158] The height h of the polygonal prism model remains unchanged as the height h of the original rectangular column;

[0159] Then the local coordinate system of the rectangular column building component is the x-axis, y-axis and original z-axis after rotation around the z-axis by an angle of α as the coordinate axes, and the homogeneous matrix of the bottom center point O as the translation, which is:

[0160]

[0161] Among them, the rotation angle α≥0;

[0162] When the rotation angle α = 0, the transformed polygonal prism model is as follows Figure 4 As shown in the rectangular column RC1; when the rotation angle α>0, the polygonal prism model after transformation is as follows Figure 4 As shown in the middle rectangular column RC2.

[0163] like Figure 5 As shown, for a rectangular beam building component, it has line segment, thickness and height parameters for establishing a local coordinate system. Among them, the rectangular beam building component such as a rectangular beam, a basement exterior wall, a shear wall column and a shear wall body, etc., the method for establishing a local coordinate system is as follows:

[0164] Define the midline segment of the bottom surface (some rectangular beam building components usually use the top surface in actual use, but can still be converted to be processed according to the bottom surface) with endpoints A and B, which are three-element vectors of double-precision floating point numbers;

[0165] Define the width of the bottom surface perpendicular to the midline as w, and the height as h, both of which are double-precision floating point numbers;

[0166] According to the endpoints A and B of the midline segment of the bottom surface, the length of the midline segment of the bottom surface is obtained as l, and the tangent direction T of the building component of the rectangular beam is obtained. According to the z-axis direction, the normal direction N of the building component of the rectangular beam is determined, and:

[0167] l=|BA|

[0168]

[0169]

[0170] The vertices defining the bottom surface in the counterclockwise direction are P 0 , P 1 , P 2 , P 3 ,have:

[0171]

[0172]

[0173]

[0174]

[0175] The height h of the polygonal prism model remains unchanged as the height h of the original rectangular beam;

[0176] Then the local coordinate system of the building component of the rectangular beam is a homogeneous matrix with the tangent direction T, the normal direction N and the z-axis direction as coordinate axes and the end point A of the line segment in the bottom surface as translation:

[0177]

[0178] Among them, the polygonal prism model after transformation from rectangular beam is as follows Figure 5 The rectangular beam RB1 in the middle is shown in Figure 1. The polygonal prism model after transformation from the basement exterior wall (essentially also a rectangular beam) is as follows: Figure 5 The exterior wall of the middle basement is shown in PW1.

[0179] like Figure 6 As shown, for a cylindrical building component, it has cylindrical parameters for establishing a local coordinate system. The method for establishing a local coordinate system is as follows:

[0180] Define the center of the bottom circle as O, which is a three-element vector of double-precision floating-point numbers;

[0181] Define the bottom radius as r and the height as h, both of which are double-precision floating point numbers;

[0182] The cylindrical building component is transformed into a polygonal prism with a predetermined number of side segments i. The vertices of the bottom polygon are defined in the counterclockwise direction as P 0 , P 1 , P 2 ,…,P i-1 , then for a given number of side segments i, we have:

[0183]

[0184]

[0185]

[0186] …

[0187]

[0188] Among them, i is an integer. In order to ensure the accuracy of the positions of the four extreme points, i is generally specified as a multiple of 4.

[0189] Then the local coordinate system of the cylindrical building component is a cylindrical coordinate system with the bottom center O as the center, the x-axis as the polar axis, and the z-axis as the height.

[0190] When i=60, the cylindrical building component is transformed into a polygonal prism model as shown in Figure 6 As shown, i=60 is a preferred value that takes both computational efficiency and computational accuracy into consideration.

[0191] like Figure 7 As shown, for an arc-shaped building component, it has arc, thickness and height parameters for establishing a local coordinate system. For an arc-shaped building component such as an arc beam, the method for establishing a local coordinate system is as follows:

[0192] Define the center of the arc as O, and the two endpoints of the arc in the counterclockwise direction as A and B, both of which are three-element vectors of double-precision floating-point numbers;

[0193] Define the arc's radius as r, radial width as w, and height as h, all of which are double-precision floating-point numbers;

[0194] The arc-shaped building component is converted into a polygonal prism with a predetermined number of side segments i, and the arc positions of the two end points of the arc are calculated:

[0195] θ A =arctan 2(Ay-Oy,Ax-Ox)

[0196] θ B =arctan 2(By-Oy,Bx-Ox)

[0197] Where i is an integer. To ensure the accuracy of the extreme point position, the arc angle is 360° (full circle) and the number of time segments is i', then i' should be a multiple of 4. At the same time, the actual number of segments i should be calculated using i' through the ratio of the actual angle to 360°;

[0198] The following example uses i'=60 when specifying 360° and the arc of the building component is 120°. Then i should be specified as 1 / 3 of i', that is, 20;

[0199] Define α as the distance from θ in the counterclockwise direction. A to θ B The angle between , and α is a positive number, we have:

[0200] α=(θ B +2π-θ A )%2π

[0201] Traverse the arc by angle, starting from θA, and calculate the step length θ based on the angle α and the number of segments i Δ , let the angle increase until θ B ,have:

[0202] θ Δ =α / i

[0203] According to the step size θ Δ In the counterclockwise direction from θ A to θ B Step by step, calculate the normal function f for any angle θ on the arc norm (θ) and position function fPos (θ), we have:

[0204] f Norm (θ) = (cosθ, sinθ, 0)

[0205] f Pos (θ)=O+f Norm (θ)*r

[0206] Then the position function f of the vertex of the bottom polygon of the building component located outside the arc AB is P (θ) is:

[0207]

[0208] and the position function f of the vertex of the bottom polygon of the building component located inside the arc AB P '(θ) is

[0209]

[0210] Among them, when θ is taken as θ A ,θ A +θ Δ ,θ A +θ Δ *2、θ A +θ Δ *3, ..., θB, f P (θ) is the polygon vertex P on the outside of the arc endpoint A to B 0 , P 1 , P 2 ,…,P i , f P '(θ) is the inner polygon vertex P from the arc endpoint A to B 0 ',P 1 ',P 2 ', ..., P i ';

[0211] The height h of the polygonal prism is the height h of the building element, which remains unchanged;

[0212] Then the local coordinate system of the arc-shaped building component is (x, y, z), where x is the arc length from point A, y is the radial distance from the arc, and z is the height, and:

[0213]

[0214] f(x,y,z)=O+f Pos (θ)+f Norm (θ)*y+(0,0,z)

[0215] Here, θ is the radian distance to point A.

[0216] In summary, the three-dimensional representation method of this embodiment converts building components of different shapes into polygonal prism models for expression, which can be conveniently used in subsequent engineering calculations to improve calculation efficiency and reliability.

[0217] like Figure 2 As shown, the interference detection method of the building component of the second embodiment of the present invention is used to perform interference detection on a polygonal prism building component or a building component converted into a polygonal prism model according to the method of the first embodiment, comprising:

[0218] S300: Obtain the coordinate range of the building component in the form of a polygonal prism in its local coordinate system.

[0219] The local coordinate system information of the corresponding building component can be acquired according to the three-dimensional representation method of the first embodiment.

[0220] S400, dividing the top surface of the building component in S300 into a plurality of triangles.

[0221] In this embodiment, it specifically includes:

[0222] S410, judging whether the top surface of the current building component is a convex polygon according to the angles of each inner angle of the top surface of the current building component;

[0223] When at least one internal angle with an angle greater than 180° exists, it is determined to be a concave polygon top surface, and the process goes to S222;

[0224] When the angles of all internal angles are less than 180°, it is determined to be a convex polygon top surface and the process proceeds to S223.

[0225] S420, such as Fig.25 and Fig.26 As shown, for any internal angle of the top surface of the current building component with an angle greater than 180°, two sides on one side of the internal angle are connected end to end to form a first triangle, and two sides on the other side are connected end to end to form a second triangle, and it is determined whether the first triangle and the second triangle are inside the top surface polygon of the current building component, if so, the connection line of the triangles is retained, if not, the connection line of the triangles is cancelled, and then the process returns to S410;

[0226] After this step, an inner angle with an angle greater than 180° may be segmented. If the angle after segmentation is still greater than 180°, the process returns to S410 and then enters S420 for segmentation again until all segmented angles of the inner angle are less than 180°.

[0227] S430, starting from any vertex of the top surface of the current building component, connecting lines to all other vertices respectively, and dividing the top surface of the current building component into a plurality of triangles.

[0228] S500, in the local coordinate system of the building component in S300, calculating interference conditions between each triangle on the top surface of the building component obtained in S400 and the point, straight line, line segment and other building components to be detected.

[0229] like Figure 8 As shown, for the interference between points, the detection method is as follows:

[0230] Obtain the coordinate range of each triangle on the top surface of the current building component, and determine whether the coordinate of the point to be measured is within the coordinate range of any of the triangles;

[0231] Among them, the cross multiplication method is used to determine whether the coordinates of the point to be measured are within the triangle, and the steps are as follows:

[0232] like Figure 8 As shown, along the clockwise direction, the three vertices of any triangle on the top surface of the building component are A, B and C respectively. Connect the point P to be measured with points A, B and C respectively to obtain vector AP, vector BP and vector CP; point P is inside or on the triangle, and the triangle is defined clockwise, then vector AP should be in the clockwise direction of vector AB, or coincide with vector AB; vector BP should be in the clockwise direction of vector BC or coincide with vector BC; vector CP should be in the clockwise direction of vector CA or coincide with vector CA, that is:

[0233] AB×AP≥0∧BC×BP≥0∧CA×CP≥0

[0234] If the above conditions are met, point P is on triangle ABC or inside triangle ABC, that is, the coordinates of point P are within the coordinate range of triangle ABC.

[0235] According to the above process, by detecting each triangle between the measured point and the top surface of the building component, it can be known whether the measured point interferes with the building component. If the measured point is not in any triangle on the top surface of the current building component, it is judged that there is no interference between the measured point and the current building component, otherwise there is interference.

[0236] like Fig. 9 As shown, for the interference with the straight line, the detection method is as follows:

[0237] First, determine whether the measured straight line interferes with the maximum and minimum range of the xyz axis of the polygonal prism. This requires determining the intersection of the measured straight line with the xy plane, yz plane, and zx plane, and whether the intersection is within the maximum and minimum range of the xy axis, yz axis, and zx axis. If at least one of the above three items is met, it means that the measured straight line may interfere with the polygonal prism. Otherwise, the result is directly returned as no interference. If there may be interference, determine whether there is interference according to the following method:

[0238] Obtain the projection line segment of the straight line to be measured on the top surface of the current building component; if the straight line to be measured is a horizontal line, the endpoints of the projection line segment are the intersection points of the straight line to be measured and the maximum and minimum value ranges of the x-axis and / or y-axis and / or z-axis coordinates of the current building component; if the straight line to be measured is a non-horizontal line, the endpoints of the projection line segment are the intersection points of the straight line to be measured and the top surface and bottom surface of the current building component respectively; in addition, if the straight line to be measured is a vertical line, the two endpoints of the projection line segment coincide on the projection surface.

[0239] If any endpoint of the projected line segment is above or within the top polygon of the current building component, and / or the projected line segment is tangent to or intersects with any edge of the top polygon of the current building component, then it is determined that the straight line to be measured has interference with the current building component, otherwise the straight line to be measured has no interference with the current building component;

[0240] The method for determining whether the projection line segment intersects with any edge of the top polygon of the current building component is as follows:

[0241] like Fig. 9 As shown, the endpoints of the projection line segment are A and B, and the endpoints of one side of the top polygon of the current building component are C and D. If vector AC and vector AD are in different clockwise directions of vector AB, and vector CA and vector CB are in different clockwise directions of vector CD, that is:

[0242] (AB×AC)*(AB×AD)<0∧(CD×CA)*(CD×CB)<0

[0243] Then it is determined that line segment AB and line segment CD intersect, otherwise line segment AB and line segment CD do not intersect.

[0244] According to the above process, by detecting the straight line to be measured and each triangle on the top surface of the building component, it can be known whether the straight line to be measured interferes with the building component. If the straight line to be measured is not tangent to or intersects with any triangle on the top surface of the current building component, it is judged that the straight line to be measured has no interference with the current building component, otherwise there is interference.

[0245] For interference with line segments, the detection method is as follows:

[0246] Obtaining the coordinates of the endpoints of the line segment to be measured in the local coordinate system of the current building component, if any endpoint of the line segment to be measured is above or within the top surface polygon of the current building component, and / or the line segment to be measured is tangent to or intersects with any edge of the top surface polygon of the current building component, then it is determined that the line segment to be measured has interference with the current building component, otherwise the line segment to be measured has no interference with the current building component;

[0247] The method for judging whether the line segment to be tested intersects with any edge of the top polygon of the current building component is the same as the judgment principle of the projection line segment when judging the straight line interference mentioned above, which will not be repeated here.

[0248] For interference with other building components, the detection method is as follows:

[0249] Obtaining the coordinate range of the building component to be tested in the local coordinate system of the current building component, projecting the top surfaces of the two building components onto the same plane, and determining in turn whether each edge of the top surface of one of the building components interferes with each edge of the top surface of the other building component; if at least one set of edges interferes with each other, then it is determined that there is interference between the two building components; otherwise, there is no interference between the two building components;

[0250] The method for judging the interference between any edge of the top surface of one building component and any edge of the top surface of another building component is the same as the judgment principle of the projection line segment when judging the interference of straight lines, which will not be repeated here.

[0251] like Figure 3 As shown, the interference detection method for building components of the third embodiment of the present invention is used to perform Boolean operations on a polygonal prism building component or a building component converted into a polygonal prism model according to the method of the first embodiment, comprising:

[0252] S600: sequentially mark the vertices and intersections of the top surfaces of the building components in the form of two polygonal prisms with serial numbers in a clockwise or counterclockwise order.

[0253] For each vertex or intersection, two serial numbers can be used to represent it. The first is the serial number A located in the minuend polygon, and the second is the serial number B located in the subtrahend polygon. If a result vertex is not on the minuend or subtrahend polygon, then -1 is used to represent the null value. If a result vertex is not a vertex of the minuend or subtrahend polygon, but is located on the edge of the top polygon, then the serial number can be represented by a decimal.

[0254] S700: Calculate the Boolean difference, union or intersection between two building components in the form of polygonal prisms according to the sequence numbers in S600.

[0255] like Fig.10As shown, for the case of computing the Boolean difference between two building components:

[0256] There are two cases: one is that the xy axis position of the top polygon of the first polygonal prism remains unchanged, and the z axis range of the two polygons is subtracted to obtain the z axis position and height of the top polygon of the result. This method is relatively simple and will not be described in detail here; the other is to subtract the top polygons of the two polygonal prisms to obtain the top polygon of the result, and use the height of the first polygonal prism as the height of the result, as follows:

[0257] The top surfaces of the two building components are projected onto the same plane (such as the top surface of the minuend polygonal prism), so that the two three-dimensional polygonal prisms can be converted into polygons on the plane for processing.

[0258] The marked serial numbers of the vertices of the top surface of the minuend building component that are inside the top surface of the minuend building component are placed in the result list, and the marked serial numbers of the vertices of the top surface of the minuend building component that are not on or inside the top surface of the minuend building component are placed in the result list, and the marked serial numbers of the intersection of the top surfaces of two building components are placed in the result list.

[0259] After the above process, the sequence numbers contained in the result list are as follows Fig.11 As shown. It can be seen that by sorting the subtrahend polygon numbers in a positive direction and the subtrahend polygon numbers in a reverse direction, the vertex order of the difference polygon can be obtained. However, there are some common problems that need to be dealt with:

[0260] like Fig.12 As shown in the figure, when there are multiple intersection points on the same side of the minuend polygon or the subtrahend polygon, it is more complicated to determine the connection path. According to the serial number arrangement principle, ABCD and AD are both reasonable. The former is sorted in reverse order according to the subtrahend polygon serial number, while the latter is sorted in forward order according to the minuend polygon serial number. In fact, ABCD should be selected. Fig.13 As shown, the problem is solved by using a binary search method: for each line path, determine whether the midpoint is inside the subtrahend polygon. If so, remove the path. Since the midpoint of AD is inside the subtrahend polygon, it is removed; while the midpoints of AB, BC, and CD are all on the subtrahend polygon, so they are retained.

[0261] like Fig.14As shown in the figure, when the minuend polygon and the subtrahend polygon are tangent, the direction method is used to judge: for the case of internal tangency, the AB edge is in the same direction in the minuend and subtrahend polygons, both are clockwise, so it is removed; for the case of external tangency, the CD edge is in different directions in the minuend and subtrahend polygons, clockwise in the minuend polygon and counterclockwise in the subtrahend polygon, so it is retained. That is, the AB edge in the left figure is internal tangency and needs to be removed in the result; the CD edge in the right figure is external tangency and needs to be retained in the result.

[0262] After the above processing, the vertices in the result list are sorted forward according to the serial number A, and sorted reversely according to the serial number B to obtain the correct arrangement order. The result polygons are generated after being connected in sequence, thereby obtaining the result polygon prism of the Boolean operation subtraction.

[0263] like Fig.15 As shown, for the case of computing the Boolean union between two building blocks:

[0264] Project the top surfaces of the two building components onto the same plane, put the annotation serial numbers of the vertices located on the top surface of one of the building components but not on the top surface of the other building component into the result list, and put the annotation serial numbers of the intersection points of the top surfaces of the two building components into the result list.

[0265] After the above process, the sequence numbers contained in the result list are as follows Fig.16 As shown. It can be seen that by sorting these vertices in the order of the polygons they are in, the vertex order of the union polygon can be obtained. However, there are some common problems that need to be dealt with:

[0266] like Fig.17 As shown in the figure, when there are multiple intersection points on the same side of the minuend polygon or the subtrahend polygon, according to the serial number arrangement principle, ABCD and AD are both reasonable. The former is sorted in a positive order according to the serial number of the first polygon, while the latter is sorted in a positive order according to the serial number of the second polygon. In fact, ABCD should be selected. Fig.18 As shown, the problem is solved by using the binary search method: for each line path, determine whether the point in it is inside a certain polygon. If so, remove the path. Since the midpoint of AD is inside the second polygon, it is removed; and the midpoints of AB, BC, and CD are not inside any polygon, so they are retained.

[0267] like Fig.19 As shown in the figure, when two polygons are tangent, the direction method is used to judge: if the AB edge is in the same direction in the two polygons, then it is retained; in the right figure, the CD edge is in different directions in the two polygons, then it is removed. That is, the AB edge in the left figure is inscribed and needs to be retained; the CD edge in the right figure is circumscribed and needs to be removed.

[0268] After the above processing, the vertices in the result list are sorted according to the serial number A and the serial number B to obtain the correct arrangement order, generate the result polygon, and thus obtain the result polygon prism of the Boolean operation union.

[0269] like Fig. 20 As shown, for the case of computing the Boolean intersection between two building components:

[0270] Project the top surfaces of the two building components onto the same plane, add the marked serial numbers of the vertices simultaneously located in the top surfaces of the two building components into the result list, and add the marked serial numbers of the intersection points of the top surfaces of the two building components into the result list;

[0271] After the above process, the sequence numbers contained in the result list are as follows Fig.21 As shown. It can be seen that by sorting these vertices in the order of the polygons they are in, the vertex order of the intersection polygon can be obtained. However, there are some common problems that need to be dealt with:

[0272] like Fig. 22 As shown in the figure, when there are multiple intersection points on the same side of the minuend polygon or the subtrahend polygon, where the first polygon is a rectangle and the second polygon is a large C shape, the intersection should be a small C shape. According to the principle of serial number arrangement, ABCD and AD are both reasonable. The former is sorted in a positive order according to the serial number of the first polygon, while the latter is sorted in a positive order according to the serial number of the second polygon. In fact, ABCD should be selected. Fig.23 As shown in the figure, the problem is solved by binary search: for each line path, determine whether the point in it is inside any polygon. If so, remove the path. Since the midpoint of AD is outside two polygons, it is removed; while the midpoints of AB, BC, and CD are inside at least one polygon, so they are retained.

[0273] like Fig.24 As shown in the figure, when two polygons are tangent, the direction method is used to judge: if the AB side is in the same direction in the two polygons, then it is retained; if the CD side is in different directions in the two polygons, then it is removed. That is, the AB side in the left figure is inscribed and needs to be retained; the CD side in the right figure is tangent and needs to be removed.

[0274] After the above processing, the vertices in the result list are sorted according to the serial number A and the serial number B to obtain the correct arrangement order, generate the result polygon, and thus obtain the result polygon prism of the Boolean operation intersection.

[0275] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A three-dimensional representation method for building components, characterized in that: The three-dimensional representation method of the building component comprises: S100, determining the type of building component; There are four types of building components, namely rectangular columns, rectangular beams, cylinders and arc-shaped bodies; S200, constructing a local coordinate system for representing the building component in a three-dimensional form of a polygonal prism according to the type of the building component, thereby converting the building component into a polygonal prism model; Among them, the rectangular column building component has a rotation angle parameter for establishing the local coordinate system, the rectangular beam building component has a line segment, thickness and height parameters for establishing the local coordinate system, the cylindrical building component has a cylinder parameter for establishing the local coordinate system, and the arc-shaped building component has an arc, thickness and height parameters for establishing the local coordinate system.

2. The three-dimensional representation method of building components according to claim 1, characterized in that: In S200, for the rectangular column building component: Define the original x-axis direction as east (1,0,0), the original y-axis direction as north (0,1,0), and the original z-axis direction as up (0,0,1); Define the center point of the bottom surface as O, the length of the bottom surface in the x-axis direction as l, the length of the bottom surface in the y-axis direction as w, the height as h, the rotation angle around the z-axis as α, and define the vertices of the bottom surface in the counterclockwise direction as P0, P1, P2, and P3, respectively. P0=O+(l*cosa+w*sina,-l*sina+w*cosa,0) P1=O+(-l*cosa+w*sina,-l*sina+w*cosa,0) P2=O+(-l*cosa+w*sina,l*sina+w*cosa,0) P3=O+(l*cosa+w*sina,l*sina+w*cosa,0) Then the local coordinate system of the building component of the rectangular column is a homogeneous matrix with the x-axis, y-axis and original z-axis rotated by an angle α around the z-axis as the coordinate axes and the bottom center point O as the translation, which is: Among them, Ox, Oy, Oz are the components of point O on the xyz axis; the rotation angle α≥0.

3. The three-dimensional representation method of building components according to claim 1, characterized in that: In S200, for the rectangular beam building component: Define the endpoints of the midline segment of the bottom surface as A and B, the width of the bottom surface in the direction perpendicular to the midline as w, the height as h, and obtain the length of the midline segment of the bottom surface as l according to the endpoints A and B of the midline segment of the bottom surface, and the tangent direction T of the building component of the rectangular beam, and determine the normal direction N of the building component of the rectangular beam according to the z-axis direction, and then: l=|BA| The vertices defining the bottom surface in the counterclockwise direction are P0, P1, P2, and P3, respectively: Then the local coordinate system of the rectangular beam building component is a homogeneous matrix with the component tangent direction T, normal direction N and z-axis direction as coordinate axes and the end point A of the bottom midline segment as translation: Among them, Tx, Ty are the xy-axis components of T; Nx, Ny are the xy-axis components of N; Ax, Ay, Az are the xyz-axis components of A.

4. The three-dimensional representation method of building components according to claim 1, characterized in that: In S200, for the cylindrical building component: Define the original x-axis direction as east (1,0,0) and the original z-axis direction as up (0,0,1); Define the bottom circle center as O, the bottom radius as r, and the height as h, and transform the cylindrical building component into a polygonal prism with a predetermined number of side segments i, and define the vertices of the bottom polygon in the counterclockwise direction as P0, P1, P2, ..., P i-1 , then for a given number of side segments i, we have: …… Then the local coordinate system of the cylindrical building component is a cylindrical coordinate system with the bottom center O as the center, the original x-axis direction as the polar axis direction, and the original z-axis direction as the height direction.

5. The three-dimensional representation method of building components according to claim 2, characterized in that: In S200, for the arc-shaped building component: Define the center of the arc as O, the two endpoints of the arc as A and B, the radius of the arc as r, the radial width as w, and the height as h, and convert the building component of the arc into a polygonal prism with a predetermined number of side segments i, and calculate the arc positions of the two endpoints of the arc: θ A arctan 2(Ay-Oy,Ax-Ox) θ B =arctan 2(By-Oy,Bx-Ox) Define α as the distance from θ in the counterclockwise direction. A to θ B The angle between , and α is a positive number, we have: α=(θ B +2π-θ A )%2π Among them, % represents the remainder operation; For a given number of side segments i, calculate the step length θ according to the size of the angle α Δ : i Δ =a / i According to the step size θ Δ In the counterclockwise direction from θ A to θ B Step by step, calculate the normal function f for any angle θ on the arc norm (θ) and position function f Pos (θ), we have: f Norm (θ)=(cosθ,sinθ,0) f Pos (θ)=O+f Norm (i)*r Then the position function f of the vertex of the bottom polygon of the arc-shaped building component located outside the arc AB is P (θ) is: and the position function f of the vertex of the bottom polygon of the arc-shaped building component located inside the arc AB P '(θ) is Among them, when θ is taken as θ A ,θ A +θ Δ ,θ A +θ Δ *2、θ A +θ Δ *3, ..., θB, f P (θ) is the polygonal vertices P0, P1, P2, ..., P from the arc endpoint A to the outside of B. i , f P '(θ) is the inner polygon vertex P0', P1', P2', ..., P from the arc endpoint A to B i '; Then the local coordinate system of the arc-shaped building component is (x, y, z), where x is the arc length from point A, y is the radial distance from the arc, and z is the height, and: f(x,y,z)=O+f Pos (θ)+f Norm (θ)*y+(0,0,z) Here, θ is the radian distance to point A.

6. A method for detecting interference of building components, used for performing interference detection on building components in the form of polygonal prism representation in the three-dimensional representation method of building components according to any one of claims 1 to 5, characterized in that: The interference detection method of the building component comprises: S300, obtaining a coordinate range of a building component in the form of a polygonal prism in its local coordinate system; S400, dividing the top surface of the building component in S300 into a plurality of triangles; S500, in the local coordinate system of the building component in S300, calculating interference conditions between each triangle on the top surface of the building component obtained in S400 and the point, straight line, line segment and other building components to be detected.

7. The interference detection method of building components according to claim 6, characterized in that: The S400 includes: S410, judging whether the top surface of the current building component is a convex polygon according to the angles of each inner angle of the top surface of the current building component; When at least one internal angle with an angle greater than 180° exists, it is determined to be a concave polygon top surface, and the process goes to S222; When the angles of all internal angles are less than 180°, it is determined to be a convex polygon top surface, and the process goes to S223; S420, for any internal angle of the top surface of the current building component with an angle greater than 180°, connect two sides on one side of the internal angle end to end to form a first triangle and connect two sides on the other side end to end to form a second triangle, determine whether the first triangle and the second triangle are inside the top surface polygon of the current building component, if so, keep the connection line of the triangles, if not, cancel the connection line of the triangles, and then return to S410; S430, starting from any vertex of the top surface of the current building component, connecting lines to all other vertices respectively, and dividing the top surface of the current building component into a plurality of triangles.

8. The interference detection method of building components according to claim 7, characterized in that: In S500, for the interference between the points: Obtain the coordinate range of each triangle on the top surface of the current building component, and determine whether the coordinate of the point to be measured is within the coordinate range of any of the triangles; Among them, to determine whether the coordinates of the point to be measured are within the triangle, the steps are as follows: In the clockwise direction, the three vertices of the triangle are A, B and C. Connect the point P to be measured with points A, B and C respectively to obtain vectors AP, BP and CP; Determine whether vector AP is located in the clockwise direction of vector AB or coincides with vector AB, and obtain result 1; Determine whether vector BP is in the clockwise direction of vector BC or coincides with vector BC, and obtain result 2; Determine whether vector CP is in the clockwise direction of vector CA or coincides with vector CA, and obtain result three; If the first, second and third results are all yes, then the point P to be tested is inside the triangle ABC, otherwise the point P to be tested is not inside the triangle ABC; If the point to be measured is not in any triangle on the top surface of the current building component, it is determined that there is no interference between the point to be measured and the current building component, otherwise there is interference.

9. The interference detection method of building components according to claim 7, characterized in that: In S500, for interference with a straight line: Obtain the projection line segment of the straight line to be measured on the top surface of the current building component; If the straight line to be measured is a horizontal line, the endpoints of the projected line segment are the intersections of the straight line to be measured and the maximum and minimum value ranges of the x-axis and / or y-axis and / or z-axis coordinates of the current building component; If the straight line to be measured is a non-horizontal line, the endpoints of the projected line segment are the intersection points of the straight line to be measured and the top and bottom surfaces of the current building component; If any endpoint of the projected line segment is above or within the top polygon of the current building component, and / or the projected line segment is tangent to or intersects with any edge of the top polygon of the current building component, then it is determined that the straight line to be measured has interference with the current building component, otherwise the straight line to be measured has no interference with the current building component; The steps for determining whether the projection line segment intersects with any edge of the top polygon of the current building component are as follows: The endpoints of the projection line segment are A and B, and the endpoints of one side of the top surface polygon of the current building component are C and D. If vector AC and vector AD are in different clockwise directions of vector AB, and vector CA and vector CB are in different clockwise directions of vector CD, then it is determined that line segment AB and line segment CD intersect, otherwise line segment AB and line segment CD do not intersect.

10. The interference detection method of building components according to claim 7, characterized in that: In S500, for the interference with the line segment: Obtaining the coordinates of the endpoints of the line segment to be measured in the local coordinate system of the current building component, if any endpoint of the line segment to be measured is above or within the top surface polygon of the current building component, and / or the line segment to be measured is tangent to or intersects with any edge of the top surface polygon of the current building component, then it is determined that the line segment to be measured has interference with the current building component, otherwise the line segment to be measured has no interference with the current building component; The steps for determining whether the line segment to be tested intersects with any edge of the top polygon of the current building component are as follows: The endpoints of the line segment to be tested are A and B, the endpoints of one side of the top surface polygon of the current building component are C and D, if vector AC and vector AD are in different clockwise directions of vector AB, and vector CA and vector CB are in different clockwise directions of vector CD, then it is determined that line segment AB and line segment CD intersect, otherwise line segment AB and line segment CD do not intersect.

11. The interference detection method of building components according to claim 7, characterized in that: In S500, regarding the interference with other building components: Obtaining the coordinate range of the building component to be tested in the local coordinate system of the current building component, projecting the top surfaces of the two building components onto the same plane, and determining in turn whether each edge of the top surface of one of the building components interferes with each edge of the top surface of the other building component; if at least one set of edges interferes with each other, then it is determined that there is interference between the two building components; otherwise, there is no interference between the two building components; The steps for determining the interference between any edge of the top surface of one building component and any edge of the top surface of another building component are as follows: The endpoints of one side are A and B, and the endpoints of the other side are C and D. If vector AC and vector AD are in different clockwise directions of vector AB, and vector CA and vector CB are in different clockwise directions of vector CD, then line segment AB and line segment CD intersect, otherwise line segment AB and line segment CD do not intersect.

12. A Boolean operation method for building components, used for performing Boolean operation on building components in the form of polygonal prism representation in the three-dimensional representation method of building components according to any one of claims 1 to 5, characterized in that: The Boolean operation method of the building component includes: S600, marking serial numbers on the vertices and intersections of the top surfaces of the building components in the form of two polygonal prisms in sequence in a clockwise or counterclockwise order; S700: Calculate the Boolean difference, union or intersection between two building components in the form of polygonal prisms according to the sequence numbers in S600.

13. The Boolean operation method of building components according to claim 12, characterized in that: In the step S600, for any vertex or intersection point on any one of the two building components, a serial number is marked (A m , B n ); When the marked point is a vertex on the top surface of the first building element, A m is the order of the points on the top surface of the first building element in a predetermined sequence, B n is -1; When the marked point is a vertex on the top surface of the first building element, B n is the order of the points on the top surface of the second building element in a predetermined sequence, A m is -1; When the marked point is an intersection of the top surface of the first building element and the top surface of the second building element, A m is the A of the two vertices adjacent to the point on the top surface of the first building component m Decimal between values, B n is the B of the two adjacent vertices on the top surface of the second building component. n Decimals between values.

14. The Boolean operation method of building components according to claim 13, characterized in that: In S700, for the case of calculating the Boolean difference between two building components: Project the top surfaces of the two building components onto the same plane, and obtain the marked serial numbers of all vertices and intersections of the top surfaces of the two building components; placing the labeled serial numbers of the vertices of the top surface of the subtrahend building component that are inside the top surface of the subtrahend building component in the result list, placing the labeled serial numbers of the vertices of the top surface of the subtrahend building component that are not on or inside the top surface of the subtrahend building component in the result list, and placing the labeled serial numbers of the intersection of the top surfaces of two building components in the result list; A according to the numbering of each point in the result list m The values ​​are sorted in positive order and in order of B n The values ​​are sorted in reverse order and connected in sequence according to the first rule to form a two-dimensional projection of the top surface of the difference set building component after the Boolean difference operation of the two building components, and the height of the minuend building component is used as the height of the difference set building component to obtain a three-dimensional model of the difference set building component; The first rule includes: When the top surfaces of two building components have two intersection points on the same edge, for all connection paths between the two intersection points, the positions of the midpoints of the line segments where the connection paths are located are determined respectively, and the connection paths whose midpoints are located within the minus polygon are eliminated; When one edge of the top surfaces of two building components is tangent, all vertices of the top surfaces of the two building components are traversed in the same order. For the two end points of the line segment where the overlapping parts of the two tangent edges are located, if the order of traversal is the same during the two traversals, they are removed; if the order of traversal is opposite, they are retained.

15. The Boolean operation method of building components according to claim 13, characterized in that: In S700, for calculating the Boolean union of two building components: Project the top surfaces of the two building components onto the same plane, and obtain the marked serial numbers of all vertices and intersections of the top surfaces of the two building components; Putting the marked serial numbers of the vertices located on the top surface of one of the building components but not on the top surface of the other building component into the result list, and putting the marked serial numbers of the intersection points of the top surfaces of the two building components into the result list; The building components where each vertex in the result list is located are sorted in a positive order according to the marked serial numbers, and are sequentially connected according to the second rule to form a two-dimensional projection of the top surface of the union building component after the Boolean operation union of the two building components, and the union of the heights of the two building components is used as the height of the union building component to obtain a three-dimensional model of the union building component; The second rule includes: When the top surfaces of two building components have two intersection points on the same edge, determine the midpoint position of the line segment where the connection path between any two points in the result list is located, eliminate the connection path whose midpoint is inside or above the top surface of any building component, and retain the connection path that is not inside or above the top surface of any building component; When one edge of the top surfaces of two building components is tangent, all vertices of the top surfaces of the two building components are traversed in the same order. For the two end points of the line segment where the overlapping parts of the two tangent edges are located, if the order of traversal is the same during the two traversals, they are retained; if the order of traversal is opposite, they are discarded.

16. The Boolean operation method of building components according to claim 13, characterized in that: In S700, for calculating the Boolean intersection between two building components: Project the top surfaces of the two building components onto the same plane, and obtain the marked serial numbers of all vertices and intersections of the top surfaces of the two building components; Putting the marked serial numbers of the vertices simultaneously located in the top surfaces of the two building components into the result list, and putting the marked serial numbers of the intersection points of the top surfaces of the two building components into the result list; The building components at which the vertices and intersections are located in the result list are sorted in a positive order, and are sequentially connected according to the third rule to form a two-dimensional projection of the top surface of the intersection building component after the Boolean operation intersection of the two building components, and the intersection of the heights of the two building components is used as the height of the intersection building component to obtain a three-dimensional model of the intersection building component; The third rule includes: When the top surfaces of two building components have two intersection points on the same edge, determine the midpoint position of the line segment where the connection path between any two points in the result list is located, eliminate the connection paths whose midpoints are above or outside the top surfaces of the two building components, and retain the connection paths whose midpoints are within the top surface of any one of the building components; When one edge of the top surfaces of two building components is tangent, all vertices of the top surfaces of the two building components are traversed in the same order. For the two end points of the line segment where the overlapping parts of the two tangent edges are located, if the order of traversal is the same during the two traversals, they are retained; if the order of traversal is opposite, they are discarded.

Citation Information

Patent Citations

  • Automatic modeling approach for high precision model of complex building

    CN106683167A

  • Open type BIM cross-platform online visualization method based on WebGL

    CN110414148A

  • System and method of generating three-dimensional graphic

    JP2016015083A

  • Spatial information modeling of buildings using non-manifold topology via a 3D geometric modeling kernel and designscript

    US20140005986A1

Cited By

  • Method and system for three-dimensional design and modeling of building curtain wall based on PLM

    CN122712959A