A method for batch creating parking space models based on Revit combined with Dynamo
By combining Revit with the Dynamo plugin, automated batch creation of parking space models was achieved, solving the problems of long development time and high cost in Revit secondary development, and improving design efficiency and functional expansion.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 安徽地平线建筑设计有限公司
- Filing Date
- 2022-07-07
- Publication Date
- 2026-04-28
AI Technical Summary
In the current process of Revit secondary development, there are problems such as long time, high cost and high technical threshold when creating underground parking space models. In addition, traditional methods are difficult to achieve rapid batch creation of parking space models that meet the requirements of drawings.
By using Revit in conjunction with the Dynamo plugin and employing a modular construction method, the Dynamo plugin is used to automatically create parking space models. This includes steps such as loading CAD plans, reading drawing lines, judging and filtering parking space lines, generating BoundingBoxes, rotating parking space angles, and adding numbers, thus achieving automated parking space design.
It improves the efficiency of creating parking space models in architectural design, simplifies the design process, lowers the technical threshold, and expands the functionality of Revit modeling.
Smart Images

Figure CN115391872B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of building information modeling technology, and in particular relates to a method for batch creation of parking space models based on Revit combined with Dynamo, enabling automatic creation of building parking spaces during the use of Revit using the Dynamo plugin. Background Technology
[0002] BIM technology is a visualized digital building model built based on advanced 3D digital design solutions. In the design phases of bridges, tunnels, and architectural engineering, BIM technology enables rapid modeling, model calculation, drawing output, quantity surveying, collaborative design, digital information-based construction, construction simulation, and the creation of 3D digital models containing complete engineering information, achieving consistency with the construction site and thus improving work efficiency. However, there are still shortcomings in the batch creation of components from geometric CAD drawings. For example, creating a parking space model requires identifying layers to create parking spaces in batches, and the size, orientation, and form of the parking spaces must match the drawings.
[0003] Traditional secondary development processes using Revit API are time-consuming, costly, and technically demanding. They are not easily mastered or implemented by architectural engineers.
[0004] Dynamo is a visual programming software launched by Autodesk in recent years. It uses the same programming mindset and can achieve the same functions as traditional Revit secondary development. However, it is different from traditional Revit secondary development. It is based on the concept of computational design and uses a "visual programming language". It has a low learning cost. Even if you don't know programming, you can simply use nodes to design. It is currently widely used abroad.
[0005] Therefore, using the Dynamo plugin in Revit to parametrically modify building components is a very convenient method. How to leverage the functionality of the Dynamo plugin to achieve unified construction and design of parking spaces, thereby improving the modeling efficiency of BIM modelers, is a problem that needs to be solved. In particular, regarding repetitive components in architectural design, simplifying repetitive parking space designs using Dynamo is of great significance and importance in improving the efficiency of modelers. Summary of the Invention
[0006] The purpose of this invention is to provide a method for batch creation of parking space models based on Revit and Dynamo. By using the Dynamo plugin during the Revit process, a method for automatically creating parking spaces in buildings is achieved. Modular construction is adopted to complete an integrated node for automatic parking space creation. By running the parking space creation node, the parking space design process in different building designs can be realized, which solves the problems of long development time, high cost and high technical threshold of existing Revit.
[0007] To solve the above-mentioned technical problems, the present invention is achieved through the following technical solution:
[0008] This invention discloses a method for batch creation of parking space models based on Revit and Dynamo, comprising the following steps:
[0009] Step S1: Load the required parking space layout CAD plan into the Revit model;
[0010] Step S2: Pick the required drawing using the Dynamo plugin;
[0011] Step S3: Read various parking space lines from the drawing using the Dynamo plugin;
[0012] Step S4: Using Dynamo's visual programming, convert the Element line type in Revit into Geometry lines in Dynamo, and read the information of each PolyCurve in list form;
[0013] Step S5: Use the Dynamo plugin to filter and determine the parking space outline and the parking space line; use the NumberSlider slider to set the length value of the parking space outline according to the different sizes of the parking spaces.
[0014] Step S6: Using the Dynamo plugin, generate BoundingBoxes from the Geometry of the parking space outlines in the list; query the two points BoudingBox.MaxPoint and BoudingBox.Minpoint;
[0015] Step S7: Using the Dynamo plugin, take the parking space insertion point P1 as the starting point and the parking stop center point P2 as the ending point, use Vector.ByTwoPoint to form a vector, and use Normalized to normalize the vector;
[0016] Step S8: Using the Dynamo plugin and the Vector.AngleAboutAxis node, calculate the rotation angle of the parking space unit vector and the Y-axis unit vector around the Z-axis;
[0017] Step S9: Using the Dynamo plugin, use the FamilyInstance.ByPointAndLevel node to select the center point of the parking space as the insertion point;
[0018] Step S10: Using the Dynamo plugin, rotate the parking space angle using the FamilyInstance.SetRotation node;
[0019] Step S11: Using the Dynamo plugin, add parking space numbers to the parking spaces and express them in the Revit model using linked model text.
[0020] As a preferred technical solution, in step S5, when the Dynamo plugin determines and filters the parking barrier lines and parking space outlines, it combines the List.FilterByBoolMask node with the Math inequality node to filter out the parking barrier lines as inlist and the parking space lines as outlist.
[0021] As a preferred technical solution, in step S6, a straight line is generated between two points using the Line.ByStartPointEndPoint node; the parking space insertion reference point P1 is found using the Curve.PointAtParameter node with the parameter set to 0.5; the center point P2 of the parking space is found using the same method; a vector is formed using Vector.ByTwoPoint; and the vector is normalized using Normalized.
[0022] As a preferred technical solution, in step S9, the Revit parking space family prepared for the project is selected using FamilyType, and the corresponding model is assigned an elevation-based model.
[0023] The present invention has the following beneficial effects:
[0024] This invention provides a method for automatically creating parking spaces in Revit using the Dynamo plugin. It employs modular construction to complete an integrated node for automatic parking space creation. By running the parking space creation node, the parking space design process in different building designs can be realized, improving design efficiency and expanding the existing Revit modeling functions.
[0025] Of course, any product implementing this invention does not necessarily need to achieve all of the advantages described above at the same time. Attached Figure Description
[0026] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0027] Figure 1 This is a flowchart of a method for batch creating parking space models based on Revit and Dynamo according to the present invention.
[0028] Figure 2 A schematic diagram for reading line data;
[0029] Figure 3 To determine the diagram of the vehicle stop line and the outline of the parking space;
[0030] Figure 4 To determine the surrounding diagram;
[0031] Figure 5 A schematic diagram of the parking space insertion base point;
[0032] Figure 6 To form a schematic diagram of the rotation vector;
[0033] Figure 7 A schematic diagram for obtaining the rotation angle;
[0034] Figure 8 A schematic diagram showing the layout of parking spaces based on the base points;
[0035] Figure 9 This is a schematic diagram of the parking space angle rotation. Detailed Implementation
[0036] 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, and 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.
[0037] Please see Figure 1 As shown, this invention is a method for batch creation of parking space models based on Revit and Dynamo, including the following steps:
[0038] Step S1: Load the required parking space layout CAD plan into the Revit model;
[0039] Step S2: Pick the required drawing using the Dynamo plugin;
[0040] Step S3: Read various parking space lines from the drawing using the Dynamo plugin;
[0041] like Figure 2 As shown, step S4: Through Dynamo's visual programming, the Element line type in Revit is converted into Geometry lines in Dynamo, and the information of each PolyCurve is read in the form of a list;
[0042] like Figure 3-4 As shown, in step S5: the Dynamo plugin is used to filter and determine the parking barrier lines and parking space outlines; the NumberSlider slider is used to set the parking space outline length value according to different parking space sizes; when the Dynamo plugin judges and filters the parking barrier lines and parking space outlines, the List.FilterByBoolMask node is combined with the Math inequality node to filter the parking barrier lines into the inlist; the parking space lines are placed in the outlist.
[0043] For example, the outline of a regular parking space is 15400; the outline of a mini parking space is 13000. The List.FilterByBoolMask node and the Math inequality node are combined to filter out the parking space lines as inlist; the parking space lines are placed in outlist.
[0044] like Figure 5 As shown, step S6: Using the Dynamo plugin, generate BoundingBoxes from the Geometry of the parking space outline in the list; query the two points BoudingBox.MaxPoint and BoudingBox.Minpoint; use the Line.ByStartPointEndPoint node to generate a straight line between the two points; use the Curve.PointAtParameter node with the parameter set to 0.5 to find the parking space insertion reference point P1, and use the same method to find the parking space center point P2, use Vector.ByTwoPoint to form a vector, and use Normalized to normalize the vector.
[0045] like Figure 6 As shown, in step S7: using the Dynamo plugin, take the parking space insertion point P1 as the starting point and the parking space center point P2 as the ending point, use Vector.ByTwoPoint to form a vector, and use Normalized to normalize the vector.
[0046] like Figure 7As shown, in step S8: using the Dynamo plugin and the Vector.AngleAboutAxis node, calculate the rotation angle of the parking space unit vector and the Y-axis unit vector around the Z-axis. Since this angle is a double-precision value, use Math.Round to round the angle.
[0047] like Figure 8 As shown, step S9: Using the Dynamo plugin, use the FamilyInstance.ByPointAndLevel node to insert the center point of the parking space as the insertion point; use FamilyType to select the Revit parking space family prepared for the project, and assign the corresponding model based on elevation.
[0048] like Figure 9 As shown, step S10: Using the Dynamo plugin, rotate the parking space angle using the FamilyInstance.SetRotation node;
[0049] Step S11: Using the Dynamo plugin, add parking space numbers to the parking spaces and express them in the Revit model using linked model text.
[0050] It is worth noting that the various units included in the above system embodiments are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection of the present invention.
[0051] Furthermore, those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing related hardware, and the corresponding program can be stored in a computer-readable storage medium.
[0052] The preferred embodiments of the present invention disclosed above are merely illustrative of the invention. These preferred embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the content of this specification. This specification selects and specifically describes these embodiments to better explain the principles and practical applications of the invention, thereby enabling those skilled in the art to better understand and utilize the invention. The invention is limited only by the claims and their full scope and equivalents.
Claims
1. A method for batch creation of parking space models based on Revit combined with Dynamo, characterized in that, Includes the following steps: Step S1: Load the required parking space layout CAD plan into the Revit model; Step S2: Pick the required drawing using the Dynamo plugin; Step S3: Read various parking space lines from the drawing using the Dynamo plugin; Step S4: Using Dynamo's visual programming, convert the Element line type in Revit into Geometry lines in Dynamo, and read the information of each PolyCurve in list form; Step S5: Use the Dynamo plugin to filter and determine the parking barrier lines and parking space outlines; use the Number Slider slider to set the parking space outline length value according to different parking space sizes; when the Dynamo plugin determines and filters the parking barrier lines and parking space outlines, it combines the List.FilterByBoolMask node with the Math inequality node to filter out the parking barrier lines as inlist; the parking space lines are placed in the outlist. Step S6: Using the Dynamo plugin, generate Bounding Boxes from the Geometry of the parking space outlines in the list; query the two points BoudingBox.MaxPoint and BoudingBox.Minpoint; use the Line.ByStartPointEndPoint node to generate a straight line between the two points; use the Curve.PointAtParameter node with the parameter set to 0.5 to find the parking space insertion reference point P1, and use the same method to find the center point P2 of the parking space, use Vector.ByTwoPoint to form a vector, and use Normalized to normalize the vector; Step S7: Using the Dynamo plugin, take the parking space insertion point P1 as the starting point and the parking stop center point P2 as the ending point, use Vector.ByTwoPoint to form a vector, and use Normalized to normalize the vector; Step S8: Using the Dynamo plugin and the Vector.AngleAboutAxis node, calculate the rotation angle of the parking space unit vector and the Y-axis unit vector around the Z-axis; Step S9: Using the Dynamo plugin, use the FamilyInstance.ByPointAndLevel node to insert the center point of the parking space as the insertion point; use Family Type to select the Revit parking space family prepared for the project, and assign the corresponding model based on elevation; Step S10: Using the Dynamo plugin, rotate the parking space angle using the FamilyInstance.SetRotation node; Step S11: Using the Dynamo plugin, add parking space numbers to the parking spaces and express them in the Revit model using linked model text.
Citation Information
Patent Citations
Rectangular family batch placement method based on Dynamo and Revit
CN114549776A