1. Introduction
With the improvement in construction standards, large and complex public buildings are constantly emerging, each with its own unique structural shapes. While the Autodesk Revit modeling system typically comes with commonly used families such as beams, slabs, and columns, for structures with slightly more complex shapes, new families need to be created, increasing the workload of modeling. Additionally, the parameterization in the Revit modeling system often relies on reference planes to drive shape variations, resulting in limited flexibility. This exposes the shortcomings of Revit’s parametric modeling system, particularly for complex, repetitive, curved, and procedural parameterization. The research objective of this paper is to establish a three-dimensional (3D) parametric BIM-modeling method for complex engineering structures in architectural engineering through Grasshopper visual programming, so as to improve design efficiency.
“Parameter” originates from a mathematical concept, referring to a complex system or function where the parameterized object of a quantity maintains an invariant relationship. Parameterization is the process of abstracting the internal organizational order (i.e., parameter relationships) between various parts of a system, and then using the relevant computer technology to describe it, obtaining a parameter model. In a parameter model, the relationships between components are dynamic, and making changes to any component will affect the components associated with it, thereby affecting the entire complex system. Engineering structural design has typical characteristics of complex systems. In the design process, various problems and contradictions are intertwined, forming a dynamic system containing many relationships. In the realm of engineering design, parametric design represents an advanced approach that incorporates a comprehensive consideration of various influencing factors. Through the utilization of computer languages, it delineates the intrinsic logical relationships and constructs parametric models on a digital platform. This methodology enables the acquisition of physical forms by controlling the input values of variables. In parametric design, parameters reflect the logical relationships between various influencing factors in architectural design. These parameters are not fixed and can vary depending on changes in design conditions. However, the variation of parameters differs from the variation of variables, as the former represents a qualitative change, while the latter signifies a quantitative change.
Building information modeling (BIM) technology is a data-driven tool that combines architectural data models with information models, which are applied to engineering design, construction, and management. The parameterization function is integrated into BIM software, such as the typical BIM software (version 2019), Autodesk Revit (version 2019). It enables Revit to provide co-ordination and change management capabilities, for instance, the process of specifying and controlling the properties, characteristics, and behavior of elements in the Revit model [
1,
2]. BIM modeling for engineering structures serves as an essential foundation for structural analysis and construction. The parametric 3D modeling of architectural structures has a significant impact on the entire structural engineering process, including conceptual design, structural analysis, layout plans, detailed drawings, and construction, as well as on structural engineering design practices. However, there exists a certain contradiction between complex model data and modeling automation, which leads to a waste of time on basic modeling tasks. BIM parametric modeling is a set of modeling methods that utilize professional knowledge and rules (rather than geometric rules to determine the method of generating graphics) to determine parameters and constraints. Therefore, numerous researchers have conducted extensive research on parametric modeling methods for engineering structures.
Singh et al. [
3] integrated domain-specific knowledge into modeling tools by modeling rule-based BIM objects, parametric constraints, and visual programming tools, thereby reducing the time and effort invested by designers in the design process. Bai et al. [
4] introduced IFC into BIM and proposed a digital graphic medium mapping model to address common design issues in prefabricated buildings. Lee et al. [
5] proposes a comprehensive framework for parametric semi-automatic BIM and bridge member segmentation, generate BIM bridge models by automatically extracting shape information from each parameter. Zhao et al. [
6] focused on hydraulic and hydroelectric engineering and established a hydraulic engineering information model based on existing BIM parametric design software. In the modeling of irregular architectural structures, Niu et al. [
7] have opted for a method for the parametric generation of irregular architectural surfaces using Dynamo-Revit, and developed an integrated program of “logic–parameter–model–information” for architectural components. Considering the complexity of special structures in residential projects, Zhang et al. [
8] reported a theory and method for the parametric modeling of irregular curved surfaces in residential buildings based on the combined parametric modeling capability of Rhino + Grasshopper. In the modeling of prefabricated structures, Tong [
9] proposed a parametric BIM-modeling method for prefabricated buildings based on Dynamo-Python, improving modeling efficiency and reducing rework probability. Bianconi et al. [
10] used the BIM tools Rhinoceros + Grasshopper to realize the parametric design and modeling of large-scale prefabricated houses. However, the parameterization in Grasshopper is not specific to individual components, and information integration and transmission are limited. Deng et al. [
11] proposed a method that uses PBR and parametric modeling to construct woven textured materials with centimeter and millimeter level 3D structures. The design can be directly applied to mainstream 3D modeling software for virtual presentations in different applications. Zhang et al. [
12] found that the introduction of modularized BIM design can simultaneously consider the diversity of architectural forms, but this method is also faced with the problem of component information integration and transmission. To improve modeling efficiency, scholars have also researched the development of component libraries. Wei et al. [
13] adopted an architecture component library based on the IFC and the Part Library (PLIB) standards. In this study, IFC was used for the open data representation of building products, presenting product model data in the form of generic models, functional models, and functional view models, and providing a useful framework for the concept of a household. Bai et al. [
14] developed a locally parametric BIM component database for prefabricated structural components and templates based on application programming interfaces (APIs) and custom component databases. Lu et al. [
15] designed an open-access BIM object library by conceptualizing the ontology structure of components, defining BIM parameters, and implementing the object processing modules. However, this family library does not support IFC-based information sharing. Compared with geological structure modeling, engineering structure modeling is more flexible and its methods are more diversified.
Compared with conventional structures such as beams, slabs, and columns, they have been integrated into modeling software and can be directly accessed and used. However, in housing construction projects, there are still many other structures that cannot be integrated into modeling software and require efforts to recreate. Through the analysis of typical complex structural forms in residential construction projects, the objective setting of structural parametric control points is established using visual programming languages. This method addresses issues such as the parametrization of structural shapes, including batch processing, realizes the coupling of geometric data and attribute data, and forms a digital link design approach that integrates the “numerical” and “geometric” aspects.
2. Engineering Structural Graphical Parameterization Theory Method
Parameterization is a practical technology established in the field of computer-aided design (CAD), which has gradually evolved into the parametric technology seen today through continuous updates and optimizations. The term “parameter” refers to the mathematical concept of a “quantity” that maintains the invariant mapping relationship of a system or function. However, in the context of building information modeling (BIM) technology, parameters not only refer to the geometric parameters that constrain graphics, but also include non-geometric parameters such as physical and social attributes related to the model system. Therefore, a significant concept of BIM technology is parametric design.
“Graphics” are widely used to express complex relationships between various engineering entities, because they can intuitively reflect the relationships between engineering objects [
16]. Graphics generally consists of two parts: the complete geometric information of the building (the external contours) and the topological information of the building (the relationship formed by the graphic elements). Initial drawings often lack depth in engineering representation, favoring functionality over clarity, resulting in a suboptimal reuse potential and obstacles to accommodating changing design intentions. Conversely, parametric graphics seamlessly integrate a diverse array of data throughout the lifecycle of a building, facilitating the precise alignment of digital representations with actual or prospective structures in the physical world. Through the graphical and digital abstraction of engineering knowledge, parametric modeling significantly diminishes the intricacy of engineering design, hastens the design process, and enhances design efficiency. BIM’s parametric digital graphics can be aptly described as:
In the equation,
G represents the parametric digital graph (overall graphic),
E represents the elements involved in this parametric graph,
C represents the set of parametric constraints,
P represents the set of parameters attached to the graph,
I represents the dimensionality of information, and
T represents the transfer of information. As shown in
Figure 1, this is an illustrative representation of the parametric digital graph in BIM.
The parameterization of BIM digital graphics primarily encompasses two aspects: the model dimension and the information dimension. This model is a parametric-driven digital model. Primary modeling and secondary modeling constitute the two primary geometric models of BIM digital graphics. Primary modeling can be achieved through conventional methods such as extrusion, rotation, scanning, and lofting. Secondary modeling involves refinement operations such as punching, chamfering, and mold extraction, with their mathematical models described jointly by convex geometric models and rotational extrusion body geometric models [
17]. Their mathematical expression is shown in Equations (2)–(6). Model parameters are divided into graphics-driven parameters (geometric properties) and custom parameters (non-geometric properties), which can be represented by numbers, expressions, or complex functions compiled by the program. The information dimension of BIM digital graphics mainly includes topological information, parametric information, material information, section information, prefabrication information, construction installation information, and other construction process content.
(1) The mathematical model of convex geometric models can typically be expressed as follows:
Among them, u1 ≤ u ≤ u2, v1 ≤ v ≤ v2; the convex geometric model is a generalized region enclosed by S1(u, v) and S(u, v).
(2) The mathematical model of rotating and scanning geometric models can usually be expressed as follows.
When 0 ≤ m ≤ 1, the geometric model of the rotational scanned geometric body is the generalized region enclosed by and .
3. Grasshopper Parameterized Modeling Logic
Algorithms and data constitute the fundamental building blocks of all parametric design solutions. However, modeling software capable of handling their intricate interplay with agility is rare. The evolution of the Grasshopper (GH) visual programming language has profoundly strengthened the nexus between algorithms, data, and models. GH stands apart from other parametric tools in its ability to comprehensively document the modeling journey from inception to completion in the form of batteries or nodes [
18]. This process enables the parametrization and modification of any nodal parameter or overarching logic, thereby bridging design concepts with the modeling process, streamlining repetitive tasks, and, ultimately, shaping the desired outcomes of the model. The modeling logic of this study is as follows: First, the geometric composition of complex structures is analyzed to find out their common features. Then, based on the operators in the Grasshopper visualization programming, the geometric description methods of these common features are summarized. For the missing operators, they need to be developed and obtained by oneself. Finally, the parametric closed loop of complex common structures is achieved by the point constraint parameterization method.
3.1. Parametric Modeling Vector Method
A vector is a quantity that combines both “direction” and “magnitude”, such as velocity, force, etc. In a two-dimensional co-ordinate system, a vector is represented by two real numbers, for example,
. Similarly, in a 3D environment, an additional real number
can be added to represent
. The availability of vector data manipulation in Grasshopper is a concept rarely found in other BIM-modeling software (version 2019). This functionality offers programming capabilities to flexibly move, array, and control components and models. It allows designers to input data and programs for automatic calculations, thus freeing them from manually defining distances and directions repeatedly. For instance, within the Vector tab of Grasshopper, you can find the Vector 2Pt tool, which is the standard tool for defining vector objects in Grasshopper. For instance, within the Rhino environment, you can position two point objects: Point 1 and Point 2. Subsequently, in Grasshopper, you would employ two point components to retrieve these two points from Rhino. Link these point components to the respective A and B terminals of the Vector 2Pt tool in Grasshopper. This integration will spawn a vector in Grasshopper, oriented from Point 1 to Point 2, with its magnitude equivalent to the distance between the two points, as depicted in
Figure 2.
3.2. Data Structures and Data Matching in Parametric Modeling
Algorithms and data structures are closely related. A data structure refers to the organization of data, and an algorithm is the steps taken to operate on that data. The parametric modeling process in Grasshopper visual programming involves the processing of data, that is, compiling a series of input parameters into logical operations to generate a new set of output data that meets the expected requirements. The data needs to be stored in the appropriate data structures in order to play a role in process handling. This allows for the faster manipulation and application of the data. The design of data structures determines whether the parametric modeling program can run successfully and smoothly.
Tree data, list data, and single data represent three pivotal data structure types that underlie the programmatic flow within Grasshopper. Collectively, these data structures orchestrate the logical progression of the program. GH components perform diverse operations contingent upon the configuration of the input data; thus, a profound understanding of the data structures prior to their application is imperative. GH manifests varying outcomes dependent on the specific data structure. For example, when utilizing the Mass Addition component to manipulate single data and list data, the data-processing paradigm amalgamates all numerals to yield a solitary numerical outcome as the output. However, the processing of tree data is different. The results are presented in the form of a list, generating a summing list of numbers, with each numeric result mapping to the sum of each numeric branch. Visualization tools in GH show the differences in the form of single data, list data, and tree data, as well as the results of their operations, as shown in
Figure 3.
In architectural engineering, many components exhibit various patterns and common characteristics in terms of shape, such as stairs, railings, retaining walls, and so on. Based on this, it is often necessary to perform the batch processing of components or graphical elements in Grasshopper, such as making mass modifications to meshes, levels, component positions, or quantities. In such scenarios, it is essential to store these variables in lists and convert them into the aforementioned data structures when required. Index numbers are used to index and call the data in the list, with the index order increasing from 0. During data processing, multiple sets of data are often paired, which means that multiple lists are paired. In Grasshopper, you can modify or manipulate the pairing mode of the data. The matching data paradigms encompass the longest list, shortest list, and cross-reference, each representing a distinct connection method for amalgamating the longest list, integrating the shortest list, and interlinking lists through cross-referencing. These three matching modalities offer immense versatility in data manipulation. Now, I shall elaborate on these three matching data paradigms in a visually intuitive manner.
The Longest List node operator performs calculations based on the length of the longest list. When matching between two data lists of varying lengths, the match is first made according to the corresponding index in the shorter list. After the short list data are matched, the last data in the short list are matched with all the remaining data in the long list. This process is represented by operators in Grasshopper, as shown in
Figure 4a.
The shortest list node operator conducts computations according to the length of the shortest list. During the matching of two data lists with varying lengths, it aligns the shortest list with corresponding data from the other list. Upon the successful matching of the short list data flow, the matching mode ceases. At this point, any remaining data from the longer list are discarded. This operation is denoted by an operator in Grasshopper, as shown in
Figure 4b.
The Cross Reference node operator is relatively complex. It performs a cross-matching of data between two lists, which means that all data are involved in the process. This process involves matching each piece of data from one list with all the data in the other list. After this matching is completed, the process is repeated in the opposite way, meaning that each piece of data in the second list is also matched with all the data in the first list. This establishes mutual connections between the two lists. This process is represented in Grasshopper through operators, as shown in
Figure 4c.
In Grasshopper, the flexibility and effectiveness of building the required data structures to handle model variations by changing the types of operators is a unique characteristic that is not found in other BIM parametric modeling software such as Revit 2019, MicroStation V8i, and CATIA V5. This facilitates subsequent parametric modeling in methodological terms.
3.3. Line and Surface Processing and Geometric Transformations in Parametric Modeling
In the parametric modeling environment based on Rhino and Grasshopper, the point, line, surface, volume, and various attributes in the structure are driven by various battery nodes to realize parametric modeling. Compared with other BIM-modeling software that is based on reference planes, the parametric control in Grasshopper is more refined and comprehensive. It allows the precise control of the position of the lines and the shape of surfaces by inputting co-ordinate points, thus driving the deformation of components. For example, three co-ordinate points (x, y, and z) can be input to control the position of a point and form a closed cross-section with multiple points. The initial data points can be directly controlled by parameters, and the process of forming points, lines, and surfaces is shown in
Figure 5.
After the model is formed in Grasshopper, various transformations can be made to the model such as Euclidean transformations, affine transformations, similar transformations, and deformation transformations. More intricate transformations can be executed through the integration of these transformations or specific operators. Euclidean transformation issues can be reduced to transformations between co-ordinate origins. Given that both local and absolute co-ordinates adhere to a right-handed co-ordinate system, this facilitates their mutual transformations. Typically, Euclidean transformations are implemented via a series of combined transformations employing translation and rotation matrices [
19]. In a BIM system, if there is a component with co-ordinates
and it is desired to move the local co-ordinate origin of that component to an absolute co-ordinate position
, it would require converting the absolute co-ordinates to a Cartesian co-ordinate system. This is because co-ordinate
P0 needs to undergo rotation and translation to transform it to point
P. Let the local co-ordinates
Z and
Y be perpendicular to the ground and point to true north, and let
represent the rotation angles with respect to the
x,
y, and
z axes of the spatial co-ordinates. The rotation matrix of each spatial co-ordinate axis
can be expressed by a homogeneous matrix. Then, the component can be translated to a specified position using the translation matrix
T.
According to the aforementioned rules, if a component needs to be translated in Grasshopper, it is necessary to define a unit direction Vector that indicates the direction of movement within the system. Then, the encapsulated translation command is utilized to achieve the translation along this unit direction. The translation process is illustrated in
Figure 6a; if the component needs to be rotated, the axis of rotation must be defined around the line and then moved around the axis using the move command. The rotation process is shown in
Figure 6b.
Certainly, Grasshopper also provides many other operators to achieve object affine transformations, graph mapping, solid deformations, and other operations. These operators or battery nodes can be logically combined to achieve the parametric modeling of structures.
4. Parametric Modeling Method for Engineering Structures Based on Grasshopper
Parametric modeling in building projects encounters challenges beyond complex geological structures, such as specialized structures like retaining walls, railings, and irregular surfaces. These structures exhibit a high degree of variability, require precision, and involve complex relationships in parametric control. The conventional parametric BIM-modeling methods based on Revit may have limitations in handling these structures, particularly in terms of parametric flexibility and logic in dealing with complex structures. In general, it still requires manual adjustments to the spatial position and attribute parameters of components, making it difficult to achieve the detailed parametric modeling of complex structures, logical processing of batch components, and precise surface parameterization. Therefore, this study proposes to utilize Grasshopper as a parametric programming tool and Rhino as the modeling data kernel; by defining the shape-driving parameters within the unified Grasshopper operator, a parametric modeling method for complex engineering structures in building projects is established.
4.1. Method for Parameterized Creation of Irregular Structures
In addition to a large number of regularly shaped structures with singular functions, such as beams, slabs, and columns, building projects also involve many other irregular structures influenced by factors like irregular forces, irregular shapes, irregular lateral stiffness, local discontinuities in beams and slabs, and sudden changes in the load-bearing capacity at special locations. These irregular structures include landscape retaining wall structures, irregular column structures, irregular floor slab structures, and architectural facade structures. It is difficult for conventional parameterization methods to achieve the refinement and constraint of these structures. In order to achieve parametric sustainability, it is necessary to identify commonalities among them, implying that a single or a few parametric models can generate many other similar structures. Below, we will take the retaining wall structure in the construction project as an example to illustrate the parameterization.
The foundation conditions for building projects are not always ideal. The construction foundation conditions vary widely, sometimes involving soft soil, expansive soil, collapsible loess, and sometimes even liquefied soil, permafrost, or other special structures in specific areas. Retaining walls can serve as a typical load-bearing structure to prevent the instability of fill or soil due to deformation. In this case, the retaining wall structure model becomes the modeling target [
20,
21,
22]. In the building projects, according to the needs of the project, the retaining wall has many types, such as inclined, inclined-backfill, vertical, counterweight, and reinforced concrete cantilever retaining walls, as shown in
Figure 7. Its uses mainly include public retaining walls, vehicle ramp retaining walls, riverbank retaining walls, and landscape ecological retaining walls. While these retaining walls vary in structural forms, their common structural characteristics can be summarized, thereby developing a standardized retaining wall design method based on building information modeling (BIM).
Due to the widespread use of BIM software such as Revit 2019 in building projects, the creation of parametric models is typically driven by reference planes and is better suited to regular structures. However, for retaining wall structures with varying slopes and angles, it is inconvenient to use a reference plane to control the structure flexibility. Therefore, a more refined parametric mode driven by point constraints is required. Meanwhile, although there are many types of retaining wall structures with various cross-sectional sizes, they always maintain a narrow top and wide bottom structure topology, as shown in
Figure 8. Structures with the same color lines can be represented in Grasshopper using generic parameterization. Additionally, because it is necessary to calculate the dimensions of other parts of the structure based on the slope information in the structure, the slope information can be encapsulated and defined in the operation nodes in Grasshopper. Most importantly, this parametric program can encapsulate the parameters that need to be adjusted into its own operator. In other words, the parameters in the model creation process can be externalized and freely adjusted according to needs, facilitating their use in similar projects in the future.
In Grasshopper, the parameterized model can be created through process-based modeling approaches. Firstly, the point is used as the basic parameterized unit, as shown in
Figure 7a. Starting from point
A (0, 0) or the base point, the first step is the
A →
B segment. Here, as long as any two of the three parameters
Bb,
hn, and
n are known, the position co-ordinates of point
B can be expressed as GH by an operator and can be set to adjustable parameters; because there are currently not enough parameters in section
B →
C to locate point
C, it is necessary to infer from
A →
F. In general, the slope surface of a retaining wall is fixed, and the position of point F can be obtained in GH by the parameter operator based on the height of the retaining wall. The width of
F →
E is a variable, and the position of point E can be directly set in GH through co-ordinates; If
hn and
hj are known, the vertical height of
E →
D can be obtained through (
H-
hn hj) and the slope information, and the position co-ordinates of point
D can be obtained through the slope parameter information; because
D →
C is horizontal, the position information of point
C can be directly located, forming a closed-loop cross-section. The data from this process can be parameterized in Grasshopper (GH), and the GH process for forming control points is illustrated in
Figure 9. Then, using the line operator in GH, the control points are connected to form a closed-loop boundary line. The boundary line needs to be generated through a boundary surface command, and, subsequently, based on the structural surface, a structure is created through commands such as extrusion, lofting, or extrusion. Here, the extrude command in GH is used, and the extrusion direction can be controlled by vectors. We use the unit
Z direction as the extrusion unit and direction, and connect controllable parameters to control the extrusion length. At this point, the model has been created, and, finally, the parameterized model is added with the required color or material through “Colour Picker” or “Colour Swatch”. The entire process is shown in
Figure 8. The yellow icon on the left represents a modifiable parameter. Through this parameterized retaining wall model, many other types of retaining wall structures can be deformed. In the future, these operators shown in
Figure 8 can be encapsulated into one operator, retaining only the input parameters and output model.
4.2. Common Structural Parameterized Array Creation Method
In addition to conventional structures, there are many structures with common characteristics in housing construction projects, such as railings, stairs, curtain walls, floor tiles, etc. Traditionally, the creation method of these structures is usually performed manually via arrays. When compared to the manual creation of individual components, this approach offers a significantly greater efficiency. Nonetheless, integrating parameterization with array modeling can further elevate the modeling efficiency to an even higher level. Because the shape, spacing, height, etc. of common structures have strong regularity, they follow certain principles, so it is more suitable to program these principles and patterns through Grasshopper visual programming. The user can quickly create the desired model by simply providing the placement path of the structure. The parameterization creation method of common structures is similar, which will be explained in detail in the following example of railings in construction projects.
The railing is a common structure in construction engineering, and the conventional modeling method is relatively cumbersome. A single modification to the model may result in a complete rework and rebuild. Therefore, based on Grasshopper visual programming, a railing modeling method with wide applicability and controllable parameters is designed. Firstly, it is evident that the ultimate goal is to achieve the arrayed drawing of railings by drawing a line (including straight lines, broken lines, curves, etc.) in which the linear dimensions of the railing are defined. In GH, the base points of the main posts are primarily determined by the length operator based on the drawn curve. Since the main vertical pole is not a single line, the resulting base points of the main vertical pole form a numerical sequence, as shown in
Figure 10. Then, the shatter operator is mainly used, and a series of operations are combined to obtain the segmented curve. Similarly, the remaining length of the two ends is obtained from the given distance, and the base point and segmented curve of the small vertical pole are obtained. Then, the segmented curves are obtained by the unit direction vector, geometric transformation, and extrusion. When obtaining a parameterized model of a small vertical pole by combining commands, it should be noted that this is not limited to a straight line here, so more curvy operators are used. The process of these steps is shown in
Figure 9.
Once the structure is determined, parameters need to be set to enable the parameterized creation of each component. The main parameters include dimensions for the upper handrail, main baluster, vertical baluster, total railing height, and cross-section parameters for the horizontal railing. These parameters can be adjusted through parameter tuning. Due to the constraints among them, there are range limitations when applying these parameters. Therefore, the constructor operator is used to construct the corresponding interval for each parameter type. Then, utilizing discontinuous operators, the positions of different components along a curve are determined, and the modeling plane of the components is adjusted based on the normal direction of the curve. Since these components have a rectangular structure, the rectangle operator is used in the program to construct the corresponding cross-sections. The cross-section is then extruded or swept to create the corresponding geometry. Finally, the merge operator is used to merge these structures together. The key parameter settings and the process of parametric model creation are illustrated in
Figure 10.
Furthermore, stair structures in architectural engineering are also a common type of structure similar to railing structures. However, achieving the flexible parametrization of stair structures in general BIM software such as Revit 2019 is challenging due to the limited controllable parameters available in Revit, which cannot provide an adequate solution. To achieve the parameterized creation of staircase structures, it is necessary to control a series of key parameters that determine the staircase’s characteristics, such as height, tread height, width, stringer dimensions, segment lengths, railing height, handrail height, and number of steps. This paper defines these parameters in a unified Grasshopper package. The shape of the staircase is formed by picking or drawing straight lines or curves. Additionally, the geometric shape of the staircase can be changed arbitrarily by adjusting parameters such as the staircase height, tread height, and width. This process is illustrated in
Figure 11.
The study on the parameterization of stair structures begins with the stair projection line. By drawing the stair line, a parametric effect for stair creation is achieved. In this parameterization context, a series of logical operations are defined to associate parameters such as stair height, width, tread height, etc., with the stair projection line. Firstly, use the “Explore” operator to explode the drawn inner edge of the stairs. Then, calculate the lengths of these exploded curves and perform a cumulative calculation. Based on the preset step height, calculate the number of steps on the stairs. After that, create a step model that includes the height, direction, and movement distance of each step. The process is shown in
Figure 12.
Based on the compiled parametric battery, it is encapsulated into a structural module, as shown in
Figure 11. The “One-Click Staircase Generation” battery module contains the core logical structure, which is generally fixed. The parametric part of the battery module can be adjusted externally, and the parameters on the left can be used to adjust the desired stair structure, as shown in
Figure 13. By using these parameters, different shapes of stair structures can be formed based on the drawn stair projection line.
5. Discussion
Design institutes commonly consider design requirements based on intricate geometric relationships within a project. The fundamental nature of parametric design lies in achieving co-ordinated updates of the design entity through the variation of geometric shape variables driven by variables. Given the abundance of irregular structures in architectural engineering, traditional modeling methods are limited to one-to-one modeling. Therefore, by developing parameterized batteries (arithmetic units), a unique universal parametric model can be formed, which can achieve similar changes to the universal model. The system uses the Grasshopper visual programming language to connect the battery logic to some common structures in construction engineering, and stores each battery module in a visual interface to form a family library for design and construction personnel to choose from. Parametric modeling is considered a “propagation” system, which expresses the designer’s design ideas through the constraints in the parametric model. This can simplify the design process of designers and improve production efficiency. For batch model operation and the creation of some irregular components, the BIM software Revit commonly used in building projects will show corresponding drawbacks. Generally, the software has a strong rule structural model parameterization function, and can flexibly deal with the parameterization within and between models. However, it can be cumbersome for irregular structures, such as creating surfaces and batch component arrays that require complex mathematical model parameterization.
Turrin and Brown et al. [
23,
24] applied parametric modeling to research related to building energy to achieve the benefits of a performance-oriented building design process. Xie et al. [
25] proposed a parameterized segment library to achieve the information management and spatial constraints of shield tunnel lining segments. Andriasyan et al. [
26] proposed a parameterized modeling method based on remote sensing point cloud data using the combination of Rhino + Grasshopper ArchiCAD. The above research has developed relevant parametric methods for different fields and purposes. The research purpose of this article is to implement parametric modeling methods for irregular buildings, repetitive structures, etc. in complex buildings. Therefore, the contribution of the visual programming language (Grasshopper) to this study is greater. Banihashemi et al. [
27] studied modular co-ordination (MC) and parametric design. A generative algorithm is developed through the Rhinoceros 3D–Grasshopper platform, subject to MC rules. Two sets of horizontal and vertical modules are obtained from a prototype model, while an evolutionary solver function is applied in order to reduce the generated construction waste volume. This method may encounter some parameterization limitations when dealing with a large number of design constraints, but this study can accommodate enough architectural geometric logic parameters to ensure a smooth parameterization operation; Yuan et al. [
28] combined prefabricated building design with parameterized design in building information modeling (BIM) to develop a parametric design process for manufacturing and assembly design. The parametric process is based on Autodesk Revit, and the parametric method discussed in this article offers greater flexibility and finer parametric control, making it more suitable for complex architectural structures. Its application in the future prefabricated building design process will bring more advantages. Therefore, the method proposed in this paper can flexibly handle multiple models and improve the efficiency of model operation and parameterization in the architectural design process.
6. Conclusions
This study integrates the Grasshopper parametric modeling method with the complex structures in architectural projects, developing a process-oriented parametric modeling method that uniquely documents the entire modeling process from the initial model (point or box) to the final model. Compared with traditional parameterized design, by writing algorithm programs, mechanical repetitive operations and a large number of logical evolution processes can be replaced with computational loop calculations, effectively improving the efficiency of designers’ work. Overall, this paper analyzes the technical difficulties in the process of 3D parametric modeling for special structures in construction engineering, and puts forward a method of developing component batteries (arithmetic units) through Grasshopper to realize a universal parametric modeling process of special structures. Firstly, a theoretical analysis is conducted on the vector method of parametric modeling in GH, data structure and data matching methods, line and surface processing, and geometric transformation methods. Then, in view of common structures such as complex retaining walls, irregular structures, and balustrades in construction projects, the ideas of a parametric battery connection are sorted out and logical battery nodes are established to realize the parametric modeling process of BIM for engineering structures of construction projects.
The Grasshopper algorithm developed in this research has limitations. There are many types of irregular structures in building projects, such as various irregular steel structures, curtain wall structures, landscape models, etc., all of which are non-standardized customization. In the future, Grasshopper algorithms should be further expanded to develop more and more comprehensive parameterized component templates suitable for the structural modeling of building projects, improving the quality and efficiency of BIM design; this may also provide methodological support for the future development of BIM.