Parameterized building body generation method
By constructing a basic shape library and parametric mathematical models, combined with a graphical user interface, the rapid assembly and modification of building shapes is realized, solving the problem of low efficiency in traditional modeling methods and improving design efficiency and consistency.
Patent Information
- Application Number
- CN202511525179.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-24
- Publication Date
- 2026-01-27
AI Technical Summary
Traditional architectural modeling methods are inefficient and struggle to respond quickly to design changes and engineering adjustments. In particular, they suffer from poor modeling consistency when dealing with irregular, curved, or multi-volume building forms, and existing tools lack systematic support.
This paper presents a parametric building form generation method. By building a basic form library, using parametric mathematical models and a graphical user interface, it enables the rapid assembly and modification of building forms, reducing the technical threshold and improving design efficiency.
By generating complex building shapes using parametric methods, the time and technical requirements for modeling are reduced, and the accuracy and consistency of the models are ensured, making them suitable for rapid comparison and iterative design.
Smart Images

Figure CN121413069A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of architectural modeling technology, and in particular to a parametric architectural shape generation method. Background Technology
[0002] As modern buildings become increasingly complex and diverse in form, their structural types are also becoming more abundant. Traditional architectural modeling methods often rely on manual operation using general-purpose modeling software, which is not only inefficient but also struggles to quickly respond to design changes and engineering adjustments when dealing with irregular shapes, curved surfaces, multi-volume combinations, or buildings with specific structural logic. Especially in the initial design and technical design phases, engineers need to frequently experiment with different shape combinations and parameter adjustments. However, existing tools lack systematic and modular support for common building forms, resulting in a large amount of repetitive work, poor modeling consistency, and seriously affecting design efficiency and quality.
[0003] Currently, while common Building Information Modeling (BIM) or Computer-Aided Design (CAD) software offers some parametric design capabilities, its general applicability is limited, and it does not provide in-depth optimization for basic shapes frequently encountered in the architectural field (such as planar shapes, shell shapes, space frames, and spatial structures). Users typically need to start modeling from the underlying geometry step by step, or rely on plugins and scripts to extend functionality. This approach has high technical requirements, limited applicability, and is difficult to widely apply in engineering practice. Summary of the Invention
[0004] (a) Technical problems to be solved
[0005] Based on this, the present invention provides a parametric building form generation method, which can identify and classify common building forms, use parametric means to achieve rapid assembly and modification, and assemble complex building forms from basic forms, thereby improving design efficiency, lowering technical threshold, and enhancing the controllability and expressiveness of complex building forms.
[0006] (II) Technical Solution
[0007] To achieve the above objectives, the present invention provides a parametric building shape generation method, comprising:
[0008] S1: Constructing a basic form library: Classifying and extracting several representative basic forms from commonly used architectural forms; each basic form corresponds to a unique parametric mathematical model;
[0009] S2: Parametrically represent all basic shapes, define a set of key parameters for each basic shape to control its geometry, size, position and orientation, and embed these key parameters as variables into its corresponding mathematical model;
[0010] S3: Creates a graphical user interface parameter configuration panel for each basic shape. This panel presents key parameters to the user in the form of intuitive controls, shielding the user from the complex underlying mathematical modeling language and providing an interactive experience.
[0011] S4: Based on the user's selection of the basic shape and the setting of key parameters, the corresponding basic shape is generated, and then the complex target building form is obtained.
[0012] Specifically, the shapes include: planar shapes, plate and shell shapes, spatial grids, and spatial frames; planar shapes include: planar grids, planar arches, and planar trusses; planar arches include circular arches, elliptical arches, and parabolic arches; planar trusses include parallel trusses, triangular trusses, and circular trusses; plate and shell shapes include: quadrilateral frustums and frustums of circles; spatial grids include: quadrilateral spatial grids and circular ring-ribbed spatial grids; spatial frames include: spatial frame grids and circular frame grids.
[0013] Specifically, the key parameters of the planar grid include: two mathematical sequences. , , representing the axis spacing in the X and Y directions respectively; the key parameters of the spatial frame grid include: three mathematical sequences , , , representing the axis spacing in the X, Y, and Z directions respectively; the key parameters of the circular frame grid include: radius, number of segments, and floor height, i.e., the floor height spacing in the Z direction;
[0014] The key parameters of a circular arch include: starting point, span, rise, and number of segments; the key parameters of an elliptical arch include: starting point, span, rise, and number of segments, where the segments of an ellipse are evenly distributed based on the major axis; the key parameters of a parabolic arch include: starting point, span, rise, and number of segments, where the segments of a parabola are evenly distributed based on the line segments between the starting and ending points.
[0015] Key parameters of parallel trusses include: number of bays, half-span length, top-span height, and whether they are symmetrical. The number of bays represents the number of segments at the beginning and end points in the horizontal direction. The half-span length represents the length of half of the truss. If it is only one side, it is the total length. If it is symmetrical, the total length is the length multiplied by 2. The top-span height represents the height of the upper and lower chords of the parallel truss.
[0016] Key parameters for triangular trusses and circular arch trusses include: number of bays, half-span length, span height, and symmetry. The number of bays represents the number of segments at the start and end points in the horizontal direction, with the segments evenly distributed across the lower chord length. The half-span length represents the length of half of the truss; if it's only one side, it's the total length; if symmetrical, the total length is this length multiplied by 2. The span height represents the height of the upper and lower chords of the parallel truss.
[0017] Key parameters of a quadrilateral space frame include: X-axis spacing of the upper chords, Y-axis spacing of the upper chords, number of horizontal upper chords, number of vertical upper chords, and height. Specifically, X-axis spacing represents the X-axis spacing of the upper chords; Y-axis spacing represents the Y-axis spacing of the upper chords; number of horizontal upper chords represents the number of chord members in the X-axis direction; number of vertical upper chords represents the number of chord members in the Y-axis direction; and height represents the vertical elevation difference of the upper chords.
[0018] Key parameters of a circular ribbed space frame include: chord height, inner diameter, outer diameter, number of radial cuts, and number of transverse cuts; where chord height represents the height of the top and bottom surfaces; inner diameter represents the radius of the inscribed circle of the top chord; outer diameter represents the radius of the inscribed circle of the bottom edge; number of radial cuts represents the number of segments along the warp direction from the top center of the space frame to the bottom edge; and number of transverse cuts represents the number of segments that evenly divide the entire circumference along the weft direction.
[0019] Key parameters of a quadrilateral truncated pyramid include: upper long side width, upper short side width, lower long side width, lower short side width, thickness, and subdivision dimension. The upper long side width represents the X-axis length of the upper quadrilateral; the upper short side width represents the Y-axis length of the upper quadrilateral; the lower long side width represents the X-axis length of the lower quadrilateral; the lower short side width represents the Y-axis length of the lower quadrilateral; the thickness represents the height of the pyramid; and the subdivision dimension represents the size of the mesh along the edges, used to determine the segment length of the edges, thereby controlling the model's accuracy.
[0020] The key parameters of a frustum include: top diameter, bottom diameter, height, and subdivision dimensions; where the top diameter represents the diameter of the upper surface circle; the bottom diameter represents the diameter of the lower surface circle; the height represents the height of the frustum; and the subdivision dimensions include the number of layers in the height direction and the number of cuts in the circumferential direction.
[0021] Specifically, S4 includes:
[0022] S401: The user selects several basic shapes from the basic shape library based on the overall shape of the target building;
[0023] S402: Through the parameter configuration panel corresponding to each basic shape, set or adjust its key parameters to match the design intent and generate the corresponding basic shape;
[0024] S403: By dragging, aligning, performing Boolean operations, and defining constraints, several basic shapes are positioned and assembled in three-dimensional space to form complex target building forms.
[0025] Specifically, the basic shape is generated based on the PyPCAE language.
[0026] Specifically, in S402, the basic shape generation algorithm is as follows:
[0027] Planar grid generation algorithm uses mathematical sequences , To convert to two-dimensional spatial spacing, a planar grid is created using the Node and Line functions of the PyPCAE language. The specific steps are as follows:
[0028] Step a: Based on the axis distance sequences in the X and Y directions , Calculate cumulative coordinates , Generate all possible grid points ,in From , From Create a unique Node for each point and store it;
[0029] Step b: For each fixed Y coordinate Connect all adjacent ones and This forms a Line in the X direction; for each fixed X coordinate... Connect all adjacent ones and This forms a line in the Y direction;
[0030] Step c: Automatically locate the intersection points and insert nodes to break the grid.
[0031] Step d: Using the paving method, traverse from the X and Y directions to establish discrete planar intersecting lines, forming a planar axial grid;
[0032] Spatial Frame Grid Generation Algorithm: Compared with the planar grid generation algorithm, the spatial frame grid generation algorithm adds the Z-axis distance sequence. It uses a spatial paving method to stretch the paved planar grid upwards, paving layer by layer to form a multi-layer spatial frame grid.
[0033] Circular frame grid generation algorithm: Based on the key parameters of the circular frame grid, the fan-shaped paving method is adopted. The grid is gradually rotated and laid in the horizontal plane according to the arc segment angle, and then stretched in the vertical direction to generate a multi-layer spatial grid.
[0034] Circular arch generation algorithm: Based on a determined starting point, span, and sag, the radius and interior angle of the circumcircle of the circular arch are calculated. Then, the arc is divided into multiple nodes according to the bisection method. Finally, the coordinates of each node are obtained through the parametric equation of the circumcircle to form the arch.
[0035] Elliptical arch generation algorithm: The sag of the elliptical arch is parallel to the minor axis, and the span is parallel to the major axis. The parameters of the ellipse equation, such as the axis radius and focal length, can be calculated based on the sag and span. Then, the coordinates of the nodes of the upper semicircle of the ellipse are recursively obtained by the bisection method according to the number of segments, and the Line function is used to establish a straight line connection between adjacent nodes.
[0036] Parabolic arch generation algorithm: Determine the parameters of the parabola equation based on the rise and span, then recursively calculate the coordinates of each segment point of the parabola using the bisection method based on the number of segments, and use the Line function to establish a straight line connection between adjacent segment points;
[0037] Parallel truss planar truss generation algorithm: First, establish two parallel chords, then use the bisection method to divide them into intersecting nodes, then use the method of alternating start and end nodes to establish figure-eight struts, and finally connect the line segments through the Line function to form a parallel truss;
[0038] Triangular truss generation algorithm: Adopting the principle of consistent node projection length, the X-direction projection of the upper and lower chords is evenly divided. Then, the method of alternating start and end nodes of the upper and lower chords is used to establish asymmetrical figure-eight struts. Finally, the line segments are connected by the Line function to form a triangular truss.
[0039] The algorithm for generating a circular arc truss is as follows: the X-direction projection of the upper and lower chords is evenly divided, and the arc of the upper chord is unified into a circle, but the arc length is different. Then, the method of alternating the start and end nodes of the upper and lower chords is used to establish asymmetrical figure-eight struts. Finally, the line segments are connected by the Line function to form a circular arc truss.
[0040] Algorithm for generating quadrilateral space frame: First, the upper chord of the quadrilateral is laid out using the paving method. Then, the center position is calculated based on the four nodes of the quadrilateral and translated to the lower chord to obtain the lower chord node. The lower chord structure is obtained by continuously paving. Finally, a petal-shaped bidirectional oblique strut is formed by connecting the center and the upper chord quadrilateral node with a one-to-many line.
[0041] Algorithm for generating circular ribbed space frame: Calculate the radius of the sphere based on the inner and outer diameters and height, then obtain the chord height of each node on the sphere and the angle with the horizontal axis of the sphere based on the segmentation method, then lay the frustum grid layer by layer, and finally connect the lines to form a circular ribbed space frame;
[0042] Quadrilateral truncated pyramid generation algorithm: a1) Calculate the number of mesh segments: Calculate the size of the trapezoidal mesh based on the side width of the quadrilaterals on the upper and lower surfaces, the number of segments, the thickness, and the subdivision size; where the number of segments represents the side width divided by the subdivision size;
[0043] b1) Calculate nodes: Calculate the center point of the quadrilateral on the upper and lower surfaces based on the four corner points of the quadrilateral on the upper and lower surfaces; note that the order of the four corner points of the quadrilateral on the upper and lower surfaces must strictly correspond, otherwise the subsequent connections will be distorted;
[0044] c1) For each edge connecting the upper and lower corresponding corner points, perform linear interpolation based on the number of edge segments to generate all intermediate nodes on this edge; where the number of edge segments represents the thickness divided by the subdivision dimension;
[0045] d1) For the edges of the quadrilaterals on the top and bottom surfaces, interpolate based on the number of segments corresponding to each edge to generate the intermediate nodes of each edge;
[0046] e1) Connect the nodes to generate horizontal loops and vertical lines to form a grid;
[0047] Connect nodes at a certain height in sequence to form a horizontal loop; connect nodes at different heights but with the same loop index to form a vertical line; similar to the order of the four corner points of the quadrilateral on the upper and lower surfaces, the same loop index means that the nodes at different heights are in the same order relative to a specific corner point.
[0048] f1) Traverse the mesh and form a quadrilateral face by combining four adjacent points to form a square frustum; where the four adjacent points represent two adjacent points on two adjacent height rings.
[0049] Frustum generation algorithm: a2) The center of the circle connecting the upper and lower surfaces is the central axis of the frustum;
[0050] b2) Generate mesh nodes: Interpolate the height based on the number of layers and the diameter of the top and bottom edges to calculate the radius and center point of each layer; on the plane where each layer is located, generate the circumferential points of each layer based on the radius, center point and number of cuts of the current layer;
[0051] c2) Connect the nodes to generate horizontal loops and vertical lines to form a mesh;
[0052] Connect nodes at a certain height sequentially with arcs to form a horizontal loop; connect nodes at different heights but with the same loop index to form a vertical line; the radius of the arc when connecting is the radius of the current height layer; the same loop index means that nodes at different heights have the same order relative to the central axis.
[0053] d2) Traverse the mesh and form a frustum by combining four adjacent points into a surface; where the four adjacent points represent two adjacent points on two adjacent height rings.
[0054] Specifically, in S403, the constraint relationships include: coplanar, concentric, and perpendicular.
[0055] (III) Beneficial Effects
[0056] As can be seen from the above technical solution, the parametric building shape generation method proposed in this invention has the following beneficial effects:
[0057] 1. By breaking down complex architectural forms into prefabricated, parametric basic shapes, the technical threshold and time cost of architectural modeling are greatly reduced. Engineers do not need to master professional scripting or programming knowledge; they can quickly build complex architectural models that meet design requirements through intuitive parameter adjustments and graphical assembly, ensuring the accuracy and consistency of the models. This is particularly suitable for rapid comparison and iteration in the scheme design phase.
[0058] 2. The generated building shapes can be converted into standard BIM or CAD file formats for subsequent engineering design, analysis (such as finite element analysis), drawing, or visualization applications. Attached Figure Description
[0059] The features and advantages of the invention will be more clearly understood by referring to the accompanying drawings, which are schematic and should not be construed as limiting the invention in any way. In the drawings:
[0060] Figure 1 This is a schematic diagram of the basic shape of an embodiment of the present invention;
[0061] Figure 2 Parallel axis grids generated for embodiments of the present invention;
[0062] Figure 3 The spatial frame grid generated for embodiments of the present invention;
[0063] Figure 4 The circular frame grid generated for an embodiment of the present invention;
[0064] Figure 5 A circular arch generated for an embodiment of the present invention;
[0065] Figure 6 An elliptical arch generated for an embodiment of the present invention;
[0066] Figure 7 The parabolic arch generated in an embodiment of the present invention;
[0067] Figure 8 Parallel trusses generated for embodiments of the present invention;
[0068] Figure 9 The triangular truss generated for the embodiments of the present invention;
[0069] Figure 10 The circular arc-shaped truss generated for an embodiment of the present invention;
[0070] Figure 11 The front and top views of the quadrilateral space frame generated in the embodiments of the present invention;
[0071] Figure 12A three-dimensional view of the quadrilateral space frame generated for an embodiment of the present invention;
[0072] Figure 13 The front and top views of the circular ribbed space frame generated according to an embodiment of the present invention are shown.
[0073] Figure 14 A three-dimensional view of the circular annular rib space frame generated in an embodiment of the present invention;
[0074] Figure 15 This is a three-dimensional solid image of a quadrilateral truncated pyramid generated according to an embodiment of the present invention;
[0075] Figure 16 This is a three-dimensional view of a frustum generated according to an embodiment of the present invention. Detailed Implementation
[0076] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0077] This invention provides a method for generating parametric building shapes, comprising:
[0078] S1: Constructing a basic form library: Classifying and extracting several representative basic forms from commonly used architectural forms; each basic form corresponds to a unique parametric mathematical model;
[0079] In this embodiment, based on the extraction of certain common shapes from conventional buildings and industrial buildings, four types of parametric shapes are formed, including: planar shapes, plate and shell shapes, spatial grids, and spatial frames.
[0080] Planar shapes include: planar grids, planar arches, and planar trusses; planar arches include circular arches, elliptical arches, and parabolic arches; planar trusses include parallel trusses, triangular trusses, and circular trusses.
[0081] Plate-shell shapes include: quadrilateral square frustum and round frustum.
[0082] Space frames include: quadrilateral space frames and circular ring-ribbed space frames.
[0083] The spatial frame includes: the spatial frame grid and the circular frame grid.
[0084] S2: Parametrically represent all basic shapes, define a set of key parameters for each basic shape to control its geometry, size, position and orientation, and embed these key parameters as variables into its corresponding mathematical model;
[0085] In this embodiment, the key parameters of the planar grid include: two mathematical sequences. , , representing the line spacing (i.e., axis spacing) in the X and Y directions respectively; the key parameters of the spatial frame grid include: three mathematical sequences , , , representing the axis spacing in the X, Y, and Z directions, respectively; key parameters of the circular frame grid include: radius, number of segments, and floor height (i.e., floor height spacing in the Z direction);
[0086] Key parameters for a circular arch include: starting point, span (distance from the starting point), elevation (distance from the vertex to the perpendicular from the starting point), and number of segments (the number of segments into which the curve is divided); key parameters for an elliptical arch include: starting point, span, elevation, and number of segments (the number of segments into which the curve is divided; elliptical segments are evenly distributed based on the major axis); key parameters for a parabolic arch include: starting point, span, elevation, and number of segments (parabolic segments are evenly distributed between the starting and ending points).
[0087] Key parameters of parallel trusses include: number of spans (i.e., the number of segments at the beginning and end points in the horizontal direction), half-span length (i.e., the length of half of the truss; if it is only one side, then it is the total length; if it is symmetrical, then the total length is the length multiplied by 2), top-span height (i.e., the height of the upper and lower chords of the parallel truss), and whether it is symmetrical (i.e., whether it is generated symmetrically).
[0088] Key parameters for triangular trusses and circular arch trusses include: number of spans (i.e., the number of segments at the beginning and end points in the horizontal direction; note that the segments are evenly distributed according to the length of the lower chord), half-span length (i.e., the length of half of the truss; if it is only one side, then it is the total length; if it is symmetrical, then the total length is the length multiplied by 2), top span height (i.e., the height of the upper and lower chords of the parallel truss), and whether it is symmetrical (i.e., whether it is generated symmetrically).
[0089] Key parameters for a quadrilateral space frame include: X-axis spacing of the upper chord (i.e., the X-axis spacing when the upper chords are arranged), Y-axis spacing of the upper chord (i.e., the Y-axis spacing when the upper chords are arranged), number of transverse upper chords (i.e., the number of chord members in the X-axis when the upper chords are arranged), number of vertical upper chords (i.e., the number of chord members in the Y-axis when the upper chords are arranged), and height (i.e., the vertical height difference of the upper chords). Key parameters for a circular ring-ribbed space frame include: chord height (i.e., the height of the top and bottom), inner diameter (i.e., the radius of the inscribed circle of the upper chord), outer diameter (i.e., the radius of the inscribed circle of the bottom edge), number of radial cuts (the number of segments along the warp direction from the top center of the space frame to the bottom edge), and number of transverse cuts (the number of segments that evenly divide the entire circumference in the weft direction).
[0090] Key parameters for a quadrilateral truncated cone include: upper long side width (i.e., the length of the upper quadrilateral in the X direction), upper short side width (i.e., the length of the upper quadrilateral in the Y direction), lower long side width (i.e., the length of the lower quadrilateral in the X direction), lower short side width (i.e., the length of the lower quadrilateral in the Y direction), thickness (i.e., the height of the truncated cone), and subdivision dimensions (i.e., the dimensions of the truncated cone's mesh along its edges, used to determine the segment length of the edges, thereby controlling the model's accuracy). Key parameters for a frustum of a cone include: upper diameter (i.e., the diameter of the upper circle), lower diameter (i.e., the diameter of the lower circle), height (i.e., the height of the truncated cone), and subdivision dimensions (including the number of layers in the height direction and the number of cuts in the circumferential direction).
[0091] S3: Create a graphical user interface (GUI) parameter configuration panel for each basic shape. This panel presents key parameters to the user in the form of intuitive controls (such as input boxes, sliders, and drop-down menus) to shield the user from the complex underlying mathematical modeling language and provide an interactive experience.
[0092] S4: Based on the user's selection of the basic shape and the setting of key parameters, generate the corresponding basic shape, and then obtain the complex target building form; specifically including:
[0093] S401: The user selects several basic shapes from the basic shape library based on the overall shape of the target building;
[0094] S402: Through the parameter configuration panel corresponding to each basic shape, set or adjust its key parameters to match the design intent and generate the corresponding basic shape;
[0095] In this embodiment, the building shape is generated based on the PyPCAE (Python Parametric Computer-Aided Engineering) language. PyPCAE is a Python-based engineering structural modeling scripting language used in the PkpmCAE software, possessing simple and efficient capabilities for rapid model generation. Based on the basic shape generation algorithm provided in this paper, it can also be implemented using other languages. The specific basic shape generation algorithm is as follows:
[0096] 1. Grid Generation Algorithm
[0097] Grid lines are a commonly used modeling foundation in architectural structures, enabling the rapid and effective creation of a preliminary or three-dimensional representation of civil or industrial buildings in planar or 3D space. Furthermore, grid lines are crucial for establishing connections with construction drawings and preliminary design drawings, leading to the development of grid line generation algorithms.
[0098] (1) Planar grid generation algorithm
[0099] like Figure 1 As shown, the mathematical sequence , Convert to two-dimensional spatial spacing, and create a planar grid using the Node and Line functions of the PyPCAE language. The specific steps are as follows:
[0100] Step a: Based on the axis distance sequences in the X and Y directions , Calculate cumulative coordinates , Generate all possible grid points ,in From , From ,For example: Create a unique Node for each point and store it.
[0101] Step b: For each fixed Y coordinate Connect all adjacent ones and This forms a Line in the X direction; for each fixed X coordinate... Connect all adjacent ones and This forms a line in the Y direction; at this point, the line is continuous at the intersection and has not yet broken.
[0102] Step c: Automatically locate the intersection points and insert nodes to break the grid. This step ensures that each intersection point in the grid is an independent node, and each line segment is a straight segment between two nodes without any intermediate intersections, thus meeting the requirements of finite element analysis.
[0103] Step d: Using the paving method, traverse from the X and Y directions to establish discrete planar intersecting lines, forming a planar axial grid.
[0104] (2) Algorithm for generating spatial frame grid
[0105] like Figure 2 As shown, compared with the planar grid generation algorithm, the spatial frame grid generation algorithm adds the Z-axis distance sequence and uses the spatial paving method to stretch the paved planar grid upwards, paving layer by layer to form a multi-layer spatial frame grid.
[0106] (3) Algorithm for generating the grid of a circular frame
[0107] like Figure 3 As shown, based on the key parameters of the circular frame grid, a fan-shaped paving method is adopted. The grid is laid gradually in the horizontal plane according to the segmented angle of the arc, and then stretched in the vertical direction to generate a multi-layer spatial grid.
[0108] 2. Arch generation algorithm
[0109] (1) Algorithm for generating circular arches
[0110] like Figure 4 As shown, based on the determined starting point, span, and elevation, the radius and interior angle of the circumcircle of the circular arch are calculated. Then, the arc is divided into multiple nodes according to the bisection method. Finally, the coordinates of each node are obtained through the circular function (parametric equation of the circumcircle) to form the arch.
[0111] (2) Elliptical Arch Generation Algorithm
[0112] like Figure 5 As shown, the sag of the elliptical arch is parallel to the minor axis, and the span is parallel to the major axis. Based on the sag and span, the parameters of the ellipse equation, such as the axial radius and focal length, can be calculated. Then, based on the number of segments, the coordinates of the nodes of the upper semicircular arc of the ellipse are recursively obtained using the bisection method, and the Line function is used to establish a straight line connection between adjacent nodes.
[0113] (3) Parabolic Arch Generation Algorithm
[0114] like Figure 6 As shown, the parameters of the parabola equation are determined based on the sag and span. Then, the coordinates of each segment point of the parabola are recursively calculated using the bisection method based on the number of segments. Finally, the Line function is used to establish a straight line connection between adjacent segment points.
[0115] 3. Planar Truss Generation Algorithm
[0116] Truss systems are widely used in industrial building structures, with parallel trusses, triangular trusses, and domed trusses being the most common. Truss systems achieve high stiffness and light weight by reducing the weight of the web and increasing the stiffness of the sides, making modeling a significant challenge. Based on the characteristics of trusses, a rapid truss generation algorithm is established.
[0117] (1) Parallel Truss Generation Algorithm
[0118] like Figure 7 As shown, the upper and lower chords of the parallel truss are parallel, and the intermediate struts can take various forms. This embodiment adopts the conventional figure-eight strut type. The generation algorithm first establishes two parallel chords, then uses the bisection method to divide them into intersecting nodes, and then uses the method of alternating upper and lower intersecting start and end nodes to establish figure-eight struts. Finally, the line segments are connected by the Line function to form the parallel truss.
[0119] (2) Triangular Truss Generation Algorithm
[0120] like Figure 8 As shown, the upper and lower chords of the triangular truss are not parallel, and the upper chord is inclined, resulting in different lengths of the upper and lower chords. Based on the characteristics of the triangular truss, the principle of consistent node projection length is adopted, and the X-direction projection of the upper and lower chords is evenly divided. Then, the method of alternating start and end nodes of the upper and lower chords is used to establish asymmetrical figure-eight struts. Finally, the line segments are connected by the Line function to form the triangular truss.
[0121] (3) Algorithm for generating circular arc top trusses
[0122] like Figure 9 As shown, the upper chord is a circular arc and the lower chord is a straight line, resulting in different lengths of the upper and lower chords. In order to control the force on the struts evenly, the principle of consistent node projection length is adopted. The X-direction projection of the upper and lower chords is evenly divided, and the arc of the upper chord is unified into a circle, but the arc length is different. Then, the method of alternating start and end nodes of the upper and lower chords is used to establish an asymmetrical figure-eight strut. Finally, the line segments are connected by the Line function to form a circular arc top truss.
[0123] 4. Space Grid Generation Algorithm
[0124] (1) Algorithm for generating quadrilateral space frame
[0125] like Figure 10-11As shown, quadrilateral space frames are used in large-span spatial structures. However, due to the large number of upper and lower chords and struts, it is difficult to model each one individually. Based on its characteristics, a large-scale quadrilateral space frame can be quickly generated by using parameters such as the spacing, number, and height of the upper and lower chords. In the generation algorithm, the upper quadrilateral chord is first laid out using a paving method. Then, the center position is calculated based on the four nodes of the quadrilateral and translated to the lower chord to obtain the lower chord node. The lower chord structure is obtained by continuously paving. Finally, a petal-shaped bidirectional oblique strut is formed by connecting the center with the quadrilateral node of the upper chord.
[0126] (2) Algorithm for generating circular ring-ribbed space frame
[0127] like Figure 12-13 As shown, a rapid generation algorithm is achieved by using parameters such as inner diameter, outer diameter, chord height, and number of cuts. The radius of the sphere is calculated based on the inner and outer diameters and height. Then, the chord height of each node on the sphere and the angle with the horizontal axis of the sphere are obtained by the segmentation method. Then, the frustum grid is laid layer by layer, and finally the lines are connected to form a circular ring rib space frame.
[0128] 5. Plate and Shell Shape Generation Algorithm
[0129] (1) Algorithm for generating quadrilateral squares
[0130] like Figure 14 As shown, a quadrilateral square platform can be understood as a room in a building structure, or it can be applied to the base of an industrial structure or a large factory. However, due to the different sizes of the openings at the top and bottom, the deviation of the top and bottom surfaces, and the control of the mesh size, the modeling is quite difficult. Based on its characteristics, a quadrilateral square platform can be quickly generated by using parameters such as the size, thickness, and subdivision dimensions of the quadrilaterals on the upper and lower surfaces.
[0131] In the generation algorithm, the size of the trapezoidal mesh is first calculated based on the perimeter of the quadrilaterals on the upper and lower surfaces and the number of segments. Then, the center position is calculated based on the four nodes of the quadrilateral, the segments of the edges are calculated, and the horizontal dimension lines are connected in a clockwise order. At the same time, the vertical lines are also connected one by one. Finally, the surface is created from top to bottom, forming a spiral ring that rises to form a quadrilateral square platform.
[0132] The specific steps of the generation algorithm are as follows:
[0133] a1) Calculate the number of mesh segments: Based on the side width of the quadrilaterals on the upper and lower surfaces and their number of segments (i.e., side width divided by the subdivision dimension, for example: number of segments on the upper long side = width of the upper long side). Subdivision dimensions), thickness, and subdivision dimensions are used to calculate the size of the trapezoidal mesh;
[0134] b1) Calculate the nodes: Calculate the center point of the quadrilateral on the upper and lower surfaces based on the four corner points of the quadrilateral; note that the order of the four corner points of the quadrilateral on the upper and lower surfaces must be strictly corresponding (e.g., both are arranged counterclockwise starting from the southeast corner), otherwise the subsequent connections will be distorted;
[0135] c1) For each edge connecting the upper and lower corresponding corner points, perform linear interpolation based on the number of edge segments (i.e., thickness divided by subdivision size) to generate all intermediate nodes on this edge.
[0136] d1) For the edges of the quadrilaterals on the top and bottom surfaces, interpolate based on the number of segments corresponding to each edge to generate the intermediate nodes of each edge;
[0137] e1) Connect the nodes to generate horizontal loops and vertical lines to form a grid;
[0138] Connect nodes at a certain height in sequence (clockwise or counterclockwise) to form a horizontal loop; connect nodes at different heights but with the same loop index to form a vertical line; similar to the order of the four corner points of the quadrilateral on the upper and lower surfaces, the same loop index means that nodes at different heights are in the same order relative to a specific corner point (e.g., the southeast corner point).
[0139] f1) Traverse the mesh and combine four adjacent points (two adjacent points on two adjacent height rings) into a quadrilateral facet to form a square platform;
[0140] (2) Frustum generation algorithm
[0141] like Figure 15 As shown, the frustum shape is a common structure in cooling towers, chimneys, storage tanks, and public buildings. The frustum cavity can be quickly generated by using parameters such as the diameter of the top and bottom sides, the number of layers, and the number of cuts.
[0142] In the generation algorithm, the edge lines of the trapezoidal surface are first calculated based on the circumference of the upper and lower surfaces, the number of layers, and the number of cuts. Then, the surface is generated based on the upper and lower edge lines of the trapezoidal surface. Finally, the surface is created from top to bottom to form a progressively rising frustum cavity. Alternatively, the inverted frustum cavity and cylindrical cavity shape can be realized based on the radius of the upper and lower surface circles.
[0143] The specific steps of the generation algorithm are as follows:
[0144] a2) The center of the circle connecting the upper and lower surfaces is the central axis of the frustum;
[0145] b2) Generate mesh nodes: Interpolate the height based on the number of layers and the diameter of the top and bottom edges to calculate the radius and center point of each layer; on the plane where each layer is located, generate the circumferential points of each layer based on the radius, center point and number of cuts of the current layer;
[0146] c2) Connect the nodes to generate horizontal loops and vertical lines to form a mesh;
[0147] Connect the nodes at a certain height in sequence (clockwise or counterclockwise) with arcs (the radius of the arc is the radius of the current height layer) to form a horizontal loop; connect nodes at different heights but with the same loop index to form a vertical line; where the same loop index means that the nodes at different heights are in the same order relative to the central axis (for example, they are all located due southeast of the central axis).
[0148] d2) Traverse the mesh and combine four adjacent points (two adjacent points on two adjacent height rings) into a surface to form a frustum;
[0149] S403: By dragging, aligning, Boolean operations (union, intersection, difference) and defining constraints (such as coplanarity, concentricity, perpendicularity), several basic shapes are positioned and assembled in three-dimensional space to form complex target building forms.
[0150] The building shapes generated by this invention can be converted into standard BIM or CAD file formats for subsequent engineering design, analysis (e.g., finite element analysis), drawing, or visualization applications.
[0151] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for generating parametric building shapes, characterized in that, include: S1: Constructing a basic form library: Classifying and extracting several representative basic forms from commonly used architectural forms; each basic form corresponds to a unique parametric mathematical model; S2: Parametrically represent all basic shapes, define a set of key parameters for each basic shape to control its geometry, size, position and orientation, and embed these key parameters as variables into its corresponding mathematical model; S3: Creates a graphical user interface parameter configuration panel for each basic shape. This panel presents key parameters to the user in the form of intuitive controls, shielding the user from the complex underlying mathematical modeling language and providing an interactive experience. S4: Based on the user's selection of the basic shape and the setting of key parameters, the corresponding basic shape is generated, and then the complex target building form is obtained.
2. The method according to claim 1, characterized in that, The shapes include: planar shapes, plate and shell shapes, spatial grids, and spatial frames; planar shapes include: planar grids, planar arches, and planar trusses; planar arches include circular arches, elliptical arches, and parabolic arches; planar trusses include parallel trusses, triangular trusses, and circular trusses; plate and shell shapes include: quadrilateral frustums and frustums of circles; spatial grids include: quadrilateral spatial grids and circular ring-ribbed spatial grids; spatial frames include: spatial frame grids and circular frame grids.
3. The method according to claim 2, characterized in that, The key parameters of the planar grid include: two mathematical sequences. , , representing the axis spacing in the X and Y directions respectively; the key parameters of the spatial frame grid include: three mathematical sequences , , , representing the axis spacing in the X, Y, and Z directions respectively; the key parameters of the circular frame grid include: radius, number of segments, and floor height, i.e., the floor height spacing in the Z direction; The key parameters of a circular arch include: starting point, span, rise, and number of segments; the key parameters of an elliptical arch include: starting point, span, rise, and number of segments, where the segments of an ellipse are evenly distributed based on the major axis; the key parameters of a parabolic arch include: starting point, span, rise, and number of segments, where the segments of a parabola are evenly distributed based on the line segments between the starting and ending points. Key parameters of parallel trusses include: number of bays, half-span length, top-span height, and whether they are symmetrical. The number of bays represents the number of segments at the beginning and end points in the horizontal direction. The half-span length represents the length of half of the truss. If it is only one side, it is the total length. If it is symmetrical, the total length is the length multiplied by 2. The top-span height represents the height of the upper and lower chords of the parallel truss. Key parameters for triangular trusses and circular arch trusses include: number of bays, half-span length, span height, and symmetry. The number of bays represents the number of segments at the start and end points in the horizontal direction, with the segments evenly distributed across the lower chord length. The half-span length represents the length of half of the truss; if it's only one side, it's the total length; if symmetrical, the total length is this length multiplied by 2. The span height represents the height of the upper and lower chords of the parallel truss. Key parameters of a quadrilateral space frame include: X-axis spacing of the upper chords, Y-axis spacing of the upper chords, number of horizontal upper chords, number of vertical upper chords, and height. Specifically, X-axis spacing represents the X-axis spacing of the upper chords; Y-axis spacing represents the Y-axis spacing of the upper chords; number of horizontal upper chords represents the number of chord members in the X-axis direction; number of vertical upper chords represents the number of chord members in the Y-axis direction; and height represents the vertical elevation difference of the upper chords. Key parameters of a circular ribbed space frame include: chord height, inner diameter, outer diameter, number of radial cuts, and number of transverse cuts; where chord height represents the height of the top and bottom surfaces; inner diameter represents the radius of the inscribed circle of the top chord; outer diameter represents the radius of the inscribed circle of the bottom edge; number of radial cuts represents the number of segments along the warp direction from the top center of the space frame to the bottom edge; and number of transverse cuts represents the number of segments that evenly divide the entire circumference along the weft direction. Key parameters of a quadrilateral truncated pyramid include: upper long side width, upper short side width, lower long side width, lower short side width, thickness, and subdivision dimension. The upper long side width represents the X-axis length of the upper quadrilateral; the upper short side width represents the Y-axis length of the upper quadrilateral; the lower long side width represents the X-axis length of the lower quadrilateral; the lower short side width represents the Y-axis length of the lower quadrilateral; the thickness represents the height of the pyramid; and the subdivision dimension represents the size of the mesh along the edges, used to determine the segment length of the edges, thereby controlling the model's accuracy. The key parameters of a frustum include: top diameter, bottom diameter, height, and subdivision dimensions; where the top diameter represents the diameter of the upper surface circle; the bottom diameter represents the diameter of the lower surface circle; the height represents the height of the frustum; and the subdivision dimensions include the number of layers in the height direction and the number of cuts in the circumferential direction.
4. The method according to claim 3, characterized in that, S4 specifically includes: S401: The user selects several basic shapes from the basic shape library based on the overall shape of the target building; S402: Through the parameter configuration panel corresponding to each basic shape, set or adjust its key parameters to match the design intent and generate the corresponding basic shape; S403: By dragging, aligning, performing Boolean operations, and defining constraints, several basic shapes are positioned and assembled in three-dimensional space to form complex target building forms.
5. The method according to claim 4, characterized in that, The basic shape is generated using the PyPCAE language.
6. The method according to claim 5, characterized in that, In S402, the specific basic shape generation algorithm is as follows: Planar grid generation algorithm uses mathematical sequences , To convert to two-dimensional spatial spacing, a planar grid is created using the Node and Line functions of the PyPCAE language. The specific steps are as follows: Step a: Based on the axis distance sequences in the X and Y directions , Calculate cumulative coordinates , Generate all possible grid points ,in From , From Create a unique Node for each point and store it; Step b: For each fixed Y coordinate Connect all adjacent ones and This forms a Line in the X direction; for each fixed X coordinate... Connect all adjacent ones and This forms a line in the Y direction; Step c: Automatically locate the intersection points and insert nodes to break the grid. Step d: Using the paving method, traverse from the X and Y directions to establish discrete planar intersecting lines, forming a planar axial grid; Spatial Frame Grid Generation Algorithm: Compared with the planar grid generation algorithm, the spatial frame grid generation algorithm adds the Z-axis distance sequence. It uses a spatial paving method to stretch the paved planar grid upwards, paving layer by layer to form a multi-layer spatial frame grid. Circular frame grid generation algorithm: Based on the key parameters of the circular frame grid, the fan-shaped paving method is adopted. The grid is gradually rotated and laid in the horizontal plane according to the arc segment angle, and then stretched in the vertical direction to generate a multi-layer spatial grid. Circular arch generation algorithm: Based on a determined starting point, span, and sag, the radius and interior angle of the circumcircle of the circular arch are calculated. Then, the arc is divided into multiple nodes according to the bisection method. Finally, the coordinates of each node are obtained through the parametric equation of the circumcircle to form the arch. Elliptical arch generation algorithm: The sag of the elliptical arch is parallel to the minor axis, and the span is parallel to the major axis. The parameters of the ellipse equation, such as the axis radius and focal length, can be calculated based on the sag and span. Then, the coordinates of the nodes of the upper semicircle of the ellipse are recursively obtained by the bisection method according to the number of segments, and the Line function is used to establish a straight line connection between adjacent nodes. Parabolic arch generation algorithm: Determine the parameters of the parabola equation based on the rise and span, then recursively calculate the coordinates of each segment point of the parabola using the bisection method based on the number of segments, and use the Line function to establish a straight line connection between adjacent segment points; Parallel truss planar truss generation algorithm: First, establish two parallel chords, then use the bisection method to divide them into intersecting nodes, then use the method of alternating start and end nodes to establish figure-eight struts, and finally connect the line segments through the Line function to form a parallel truss; Triangular truss generation algorithm: Adopting the principle of consistent node projection length, the X-direction projection of the upper and lower chords is evenly divided. Then, the method of alternating start and end nodes of the upper and lower chords is used to establish asymmetrical figure-eight struts. Finally, the line segments are connected by the Line function to form a triangular truss. The algorithm for generating a circular arc truss is as follows: the X-direction projection of the upper and lower chords is evenly divided, and the arc of the upper chord is unified into a circle, but the arc length is different. Then, the method of alternating the start and end nodes of the upper and lower chords is used to establish asymmetrical figure-eight struts. Finally, the line segments are connected by the Line function to form a circular arc truss. Algorithm for generating quadrilateral space frame: First, the upper chord of the quadrilateral is laid out using the paving method. Then, the center position is calculated based on the four nodes of the quadrilateral and translated to the lower chord to obtain the lower chord node. The lower chord structure is obtained by continuously paving. Finally, a petal-shaped bidirectional oblique strut is formed by connecting the center and the upper chord quadrilateral node with a one-to-many line. Algorithm for generating circular ribbed space frame: Calculate the radius of the sphere based on the inner and outer diameters and height, then obtain the chord height of each node on the sphere and the angle with the horizontal axis of the sphere based on the segmentation method, then lay the frustum grid layer by layer, and finally connect the lines to form a circular ribbed space frame; Quadrilateral truncated pyramid generation algorithm: a1) Calculate the number of mesh segments: Calculate the size of the trapezoidal mesh based on the side width of the quadrilaterals on the upper and lower surfaces, the number of segments, the thickness, and the subdivision size; where the number of segments represents the side width divided by the subdivision size; b1) Calculate nodes: Calculate the center point of the quadrilateral on the upper and lower surfaces based on the four corner points of the quadrilateral on the upper and lower surfaces; note that the order of the four corner points of the quadrilateral on the upper and lower surfaces must strictly correspond, otherwise the subsequent connections will be distorted; c1) For each edge connecting the upper and lower corresponding corner points, perform linear interpolation based on the number of edge segments to generate all intermediate nodes on this edge; where the number of edge segments represents the thickness divided by the subdivision dimension; d1) For the edges of the quadrilaterals on the top and bottom surfaces, interpolate based on the number of segments corresponding to each edge to generate the intermediate nodes of each edge; e1) Connect the nodes to generate horizontal loops and vertical lines to form a grid; Connect nodes at a certain height in sequence to form a horizontal loop; connect nodes at different heights but with the same loop index to form a vertical line; similar to the order of the four corner points of the quadrilateral on the upper and lower surfaces, the same loop index means that the nodes at different heights are in the same order relative to a specific corner point; f1) Traverse the mesh and form a quadrilateral face by combining four adjacent points to form a square frustum; where the four adjacent points represent two adjacent points on two adjacent height rings. Frustum generation algorithm: a2) The center of the circle connecting the upper and lower surfaces is the central axis of the frustum; b2) Generate mesh nodes: Interpolate the height based on the number of layers and the diameter of the top and bottom edges to calculate the radius and center point of each layer; on the plane where each layer is located, generate the circumferential points of each layer based on the radius, center point and number of cuts of the current layer; c2) Connect the nodes to generate horizontal loops and vertical lines to form a mesh; Connect nodes at a certain height sequentially with arcs to form a horizontal loop; connect nodes at different heights but with the same loop index to form a vertical line; the radius of the arc when connecting is the radius of the current height layer; the same loop index means that nodes at different heights have the same order relative to the central axis; d2) Traverse the mesh and form a frustum by combining four adjacent points into a surface; where the four adjacent points represent two adjacent points on two adjacent height rings.
7. The method according to claim 6, characterized in that, In S403, the constraint relationships include: coplanar, concentric, and perpendicular.