Method and device for extracting revit structure line model based on dynamo
By extracting beam and column component information and geometric position information in the Revit model in the custom node package in the dynamo software, a three-dimensional curve model is generated and exported as a dwg format file, the problem of low extraction efficiency of beam and column line modes in the Revit structural model in the existing technology is solved, and efficient and accurate three-dimensional line mode extraction and analysis are achieved.
Patent Information
- Application Number
- CN202510073925.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-06-06
AI Technical Summary
The prior art is difficult to extract the linear mode information of beams and columns directly from the Revit structural model, resulting in low efficiency of three-dimensional linear mode extraction in structural calculation and analysis, especially when the arc-shaped components are included, manual depiction accuracy is low and difficult.
By customizing the node package in dynamo software, the beam and column component information and geometric position information in the Revit model are extracted, beam lines and column lines are generated, and they are converted into a three-dimensional curve model. Finally, the connection relationship check is performed in the Revit model and exported to a dwg format file.
The rapid and accurate extraction of line mode information of beams and columns from the Revit structural model is achieved, which improves the efficiency of three-dimensional line mode extraction in structural calculation analysis, reduces the possibility of human error, and ensures the high accuracy of the size and spatial position of the generated model.
Smart Images

Figure CN120105528A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of building information modeling, and in particular to a method for extracting a Revit structural line model based on Dynamo, a device for extracting a Revit structural line model based on Dynamo, an electronic device and a computer-readable medium. Background Art
[0002] In the traditional building design and construction process, there are generally three ways to use model analysis and calculation in structural calculation software. The first is to perform modeling and calculation analysis in the structural calculation analysis software. The second is to convert the model format through other BIM software. However, the formats of models established by different software are mostly not universal, and it is necessary to purchase the specific format of the calculation analysis software for conversion. The third and most common method is to export the dwg format by drawing the CAD three-dimensional line model data for calculation analysis. This method is common to almost all structural calculation analysis software.
[0003] Revit is the most commonly used modeling software, but many of the structural models it creates cannot be directly used in structural calculation software such as SAP2000, PKPM, and Yingjianke. They need to be converted into formats through certain specific plug-ins, and there are cases where components are lost after the conversion. Manually drawing the three-dimensional line model of the structure in the Revit model is inefficient, especially for curved components, which have low accuracy and are difficult to draw manually.
[0004] In summary, this method of calculating three-dimensional line form data can meet the needs of structural calculation and analysis except for the case where the workload of depicting the structural model containing curved components is large. Therefore, there is an urgent need for a method to extract the line form information of beams and columns from the Revit structural model, so as to improve the efficiency of structural calculation and analysis in the three-dimensional line form extraction process. Summary of the invention
[0005] In view of the above problems, the present invention is proposed to provide a method for extracting Revit structural line molds based on Dynamo and a corresponding device for extracting Revit structural line molds based on Dynamo, an electronic device and a computer-readable medium to overcome the above problems or at least partially solve the above problems.
[0006] The present invention discloses a method for extracting a Revit structural line form based on Dynamo, the method comprising:
[0007] A node package customized in Dynamo software is run to extract beam and column component information of a Revit model; the beam and column component information includes family and family type name;
[0008] Extract the geometric position information of beam components and column components in the Revit model; the geometric position information includes the plane positioning XY coordinates of the beam components and column components, the floor elevation of the beam components, the Z-axis offset value of the beam components, and the bottom and top elevations of the column components;
[0009] Generate beam lines and column lines according to the extracted beam-column component information and the geometric position information of the beam components and the column components, and convert the beam lines and column lines into beam-column three-dimensional curve models;
[0010] Check the connection relationship of the generated beam-column 3D curve model in the Revit model. After confirming that the connection relationship is correct, export the beam-column 3D curve model in the 3D view as a DWG format file.
[0011] Optionally, extract the geometric position information of beam components and column components in the Revit model, including:
[0012] Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component;
[0013] Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model.
[0014] Optionally,
[0015] Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component, including:
[0016] Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam components in the Revit model and the floor elevation where the beam components are located, and use the CodeBlock node to extract the plane positioning XY coordinates of the column components in the Revit model;
[0017] Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model, including:
[0018] Add and configure the Element.GetParameterValueByName node, and use the CodeBlock node to extract the Z-axis offset value of the beam component in the Revit model, the floor elevation and Z-axis offset value of the bottom and top of the column component;
[0019] Add and configure the Element.GetParameterValueByName node, use the CodeBlock node to expand the elevation of the floor where the bottom and top of the column are located, and use the "+" node to superimpose the floor elevation of the bottom and top of the column with the Z-axis offset value to generate the bottom and top elevations of the column.
[0020] Optionally, generating beam lines and column lines according to the extracted beam-column component information and the geometric position information of the beam components and the column components, and converting the beam lines and column lines into beam-column three-dimensional curve models, includes:
[0021] Use the geometry node to perform geometric transformation on the plane positioning XY coordinates of the beam component, the floor elevation of the beam component, and the Z-axis offset value of the beam component to generate the beam line, and use the ModelCurve.ByCurve node to convert the beam line into a three-dimensional curve model of the beam;
[0022] Use the Point.ByCoordinates node to connect the plane positioning XY coordinates of the column component with the bottom and top elevations of the column component to generate the bottom spatial coordinates of the column component and the top spatial coordinates of the column component. Use the Geometry.Line.Create node to generate the column line for the bottom spatial coordinates of the column component and the top spatial coordinates of the column component, and use the ModelCurve.ByCurve node to convert the column line into a column three-dimensional curve model.
[0023] Optionally, the connection relationship of the generated beam-column 3D curve model is checked in the Revit model. After the connection relationship is checked and confirmed to be correct, the beam-column 3D curve model is exported in the 3D view as a DWG format file, including:
[0024] Check in the Revit model whether the intersection of each beam-column node in the generated beam-column 3D curve model is connected;
[0025] If there are any unconnected intersections of beam-column nodes, the user will be reminded to close the unconnected intersections of beam-column nodes.
[0026] After checking and confirming that the connection relationship is correct, export the beam-column 3D curve model in the 3D view as a dwg format file.
[0027] The present invention also discloses a device for extracting a Revit structural line form based on Dynamo, the device comprising:
[0028] A beam-column component information extraction module is used to run a node package customized in Dynamo software to extract beam-column component information of a Revit model; the beam-column component information includes a family and a family type name;
[0029] The geometric position information extraction module is used to extract the geometric position information of beam components and column components in the Revit model; the geometric position information includes the plane positioning XY coordinates of the beam components and column components, the floor elevation of the beam components, the Z-axis offset value of the beam components, and the bottom and top elevations of the column components;
[0030] A beam-column three-dimensional curve model generation module is used to generate beam lines and column lines according to the extracted beam-column component information and the geometric position information of the beam components and the column components, and convert the beam lines and column lines into a beam-column three-dimensional curve model;
[0031] The beam-column connection relationship check module is used to check the connection relationship of the generated beam-column 3D curve model in the Revit model. After checking and confirming that the connection relationship is correct, the beam-column 3D curve model is exported to a DWG format file in the 3D view.
[0032] Optionally, the geometric position information extraction module is further used to:
[0033] Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component;
[0034] Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model.
[0035] Optionally,
[0036] The geometric position information extraction module is also used to: add and configure the Element.GetLocation node, extract the plane positioning XY coordinates of the beam component in the revit model and the floor elevation where the beam component is located, and use the CodeBlock node to extract the plane positioning XY coordinates of the column component in the revit model;
[0037] The geometric position information extraction module is also used for:
[0038] Add and configure the Element.GetParameterValueByName node, and use the CodeBlock node to extract the Z-axis offset value of the beam component in the Revit model, the floor elevation and Z-axis offset value of the bottom and top of the column component;
[0039] Add and configure the Element.GetParameterValueByName node, use the CodeBlock node to expand the elevation of the floor where the bottom and top of the column are located, and use the "+" node to superimpose the floor elevation of the bottom and top of the column with the Z-axis offset value to generate the bottom and top elevations of the column.
[0040] Optionally, the beam-column three-dimensional curve model generating module is further used for:
[0041] Use the geometry node to perform geometric transformation on the plane positioning XY coordinates of the beam component, the floor elevation of the beam component, and the Z-axis offset value of the beam component to generate the beam line, and use the ModelCurve.ByCurve node to convert the beam line into a three-dimensional curve model of the beam;
[0042] Use the Point.ByCoordinates node to connect the plane positioning XY coordinates of the column component with the bottom and top elevations of the column component to generate the bottom spatial coordinates of the column component and the top spatial coordinates of the column component. Use the Geometry.Line.Create node to generate the column line for the bottom spatial coordinates of the column component and the top spatial coordinates of the column component, and use the ModelCurve.ByCurve node to convert the column line into a column three-dimensional curve model.
[0043] Optionally, the beam-column connection relationship checking module is further used for:
[0044] Check in the Revit model whether the intersection of each beam-column node in the generated beam-column 3D curve model is connected;
[0045] If there are any unconnected intersections of beam-column nodes, the user will be reminded to close the unconnected intersections of beam-column nodes.
[0046] After checking and confirming that the connection relationship is correct, export the beam-column 3D curve model in the 3D view as a dwg format file.
[0047] The present invention also discloses an electronic device, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;
[0048] The memory is used to store computer programs;
[0049] The processor is used to implement the method of extracting Revit structural line formwork based on Dynamo as described in the present invention when executing the program stored in the memory.
[0050] The present invention also discloses one or more computer-readable media on which instructions are stored. When executed by one or more processors, the processors execute the method for extracting Revit structural line forms based on Dynamo as described in the present invention.
[0051] The present invention includes the following advantages:
[0052] The method for extracting Revit structural line models based on Dynamo of the present invention, by customizing nodes in Dynamo software to obtain beam and column component information of Revit model, adding and configuring nodes to extract geometric position information of beam and column components of Revit model, and further using Dynamo nodes to process and convert beam and column component information and set position information of Revit model to obtain beam and column three-dimensional curve models, and finally exporting the beam and column three-dimensional curve models to DWG format files after checking the connection relationship. The method of the present invention realizes rapid extraction of three-dimensional line models of Revit structural models for analysis and calculation by other structural calculation software. By using nodes customized and configured in Dynamo, automated information extraction and processing can be realized, which greatly improves work efficiency and reduces the possibility of human error. On this basis, all necessary information is directly extracted from the Revit source file, ensuring the high accuracy of the generated three-dimensional curve model in size and spatial position. Further, exporting in DWG format files is convenient for seamless integration with other structural calculation software, and promotes cross-platform collaboration. The connection relationship is strictly verified before exporting, ensuring that the connection relationship between all beams and columns is correct, and enhancing the consistency and reliability of the structural system. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] Figure 1 It is a flowchart of the steps of a method for extracting a Revit structural line form based on Dynamo provided by an embodiment of the present invention;
[0054] Figure 2 It is a custom Python node package code diagram of “obtaining beam and column information in a model” provided in an embodiment of the present invention;
[0055] Figure 3 It is a flow chart of extracting beam component line form based on Dynamo provided by an embodiment of the present invention;
[0056] Figure 4 It is a flow chart of extracting column component line mold based on Dynamo provided by an embodiment of the present invention;
[0057] Figure 5 It is a schematic diagram of a beam-column structure three-dimensional entity and a beam-column three-dimensional curve model extracted based on Dynamo provided in an embodiment of the present invention;
[0058] Figure 6It is a structural block diagram of a device for extracting a revit structural line form based on dynamo provided by an embodiment of the present invention;
[0059] Figure 7 is a block diagram of an electronic device provided by an embodiment of the present invention;
[0060] Figure 8 It is a schematic diagram of a computer-readable medium provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0061] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0062] Reference Figure 1 , shows a flowchart of a method for extracting Revit structural line formwork based on Dynamo provided in an embodiment of the present invention, which may specifically include the following steps:
[0063] Step 101, running a node package customized in Dynamo software to extract beam and column component information of a Revit model; the beam and column component information includes a family class and a family type name;
[0064] Step 102, extracting geometric position information of beam components and column components in the Revit model; the geometric position information includes the plane positioning XY coordinates of the beam components and column components, the floor elevation of the beam components, the Z-axis offset value of the beam components, and the bottom and top elevations of the column components;
[0065] Step 103, generating beam lines and column lines according to the extracted beam-column component information and the geometric position information of the beam components and the column components, and converting the beam lines and column lines into a beam-column three-dimensional curve model;
[0066] Step 104, check the connection relationship of the generated beam-column three-dimensional curve model in the revit model. After checking and confirming that the connection relationship is correct, export the beam-column three-dimensional curve model in the three-dimensional view as a dwg format file.
[0067] The present invention is based on the method of extracting Revit structural line molds by Dynamo. By running a node package customized in Dynamo software, the beam and column component information in the Revit model can be efficiently and accurately obtained. This information can include basic attributes such as family and family type name, and Dynamo nodes are added and configured to extract the geometric position information of beam components and column components, including the plane positioning XY coordinates of beams and columns, floor elevations, Z-axis offset values, and the bottom and top elevations of columns, etc. The extracted information is further used by Dynamo nodes to generate beam lines and column lines, and these beam lines and column lines are converted into three-dimensional curve models. The generated three-dimensional curve model is then checked for connection relationships in the Revit environment to ensure that the connections between all structural elements are correct. Once the connection relationship is confirmed to be correct, these three-dimensional curve models can be exported as dwg format files in a three-dimensional view, which is convenient for integrated use with other structural calculation software, and promotes the seamless connection of the design process.
[0068] The method of the present invention greatly simplifies the data preparation process from the Revit model to other structural calculation software. Traditionally, this process may require manual input or conversion of data, which is error-prone and time-consuming. However, by using a node package customized in Dynamo and adding configured Dynamo nodes, automated information extraction and processing can be achieved, greatly improving work efficiency and reducing the possibility of human error. Since all necessary information is extracted directly from the Revit source file, the high accuracy of the generated three-dimensional curve model in size and spatial position is ensured. Finally, the processed beam-column three-dimensional curve model is exported as a dwg format file, which is convenient for seamless integration with other structural calculation software and promotes cross-platform collaboration. A connection relationship check step is added before exporting to ensure that the understanding relationship between all beams and columns is correct, thereby enhancing the consistency and reliability of the entire structural system.
[0069] In one embodiment of the present invention, extracting geometric position information of beam components and column components in a Revit model includes:
[0070] Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component;
[0071] Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model.
[0072] In order to accurately extract the geometric position information of beam and column components in the Revit model, the present invention adds and configures the Element.GetLocation node, which is specifically used to capture the plane positioning XY coordinates of the beam and column and the floor elevation. At the same time, the Element.GetParameterValueByName node is added and configured to extract the Z-axis offset value of the beam and the bottom and top elevations of the column. The application of these two nodes ensures a comprehensive understanding of the spatial position of the beam and column components in the model, thereby improving the accuracy of generating a three-dimensional curve model.
[0073] In one embodiment of the present invention,
[0074] Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component, including:
[0075] Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam components in the Revit model and the floor elevation where the beam components are located, and use the CodeBlock node to extract the plane positioning XY coordinates of the column components in the Revit model;
[0076] Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model, including:
[0077] Add and configure the Element.GetParameterValueByName node, and use the CodeBlock node to extract the Z-axis offset value of the beam component in the Revit model, the floor elevation and Z-axis offset value of the bottom and top of the column component;
[0078] Add and configure the Element.GetParameterValueByName node, use the CodeBlock node to expand the elevation of the floor where the bottom and top of the column are located, and use the "+" node to superimpose the floor elevation of the bottom and top of the column with the Z-axis offset value to generate the bottom and top elevations of the column.
[0079] This embodiment refines the method of obtaining the plane positioning XY coordinates of the beam component and the floor elevation thereof through the Element.GetLocation node, and adopts the CodeBlock node to obtain the plane positioning XY coordinates of the column component.
[0080] At the same time, this embodiment also describes in detail how to use the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the revit model. Specifically, the CodeBlock node is used to extract the Z-axis offset value of the beam component, as well as the floor elevation and Z-axis offset value of the bottom and top of the column component. By superimposing the floor elevation and Z-axis offset value of the bottom and top of the column component through the "+" node, the accurate elevation of the bottom and top of the column component can be generated, ensuring that the size and position of the generated three-dimensional curve model in the vertical direction are also accurate, providing reliable guarantee for subsequent structural analysis.
[0081] In one embodiment of the present invention, beam lines and column lines are generated according to the extracted beam-column component information and the geometric position information of the beam components and the column components, and the beam lines and column lines are converted into beam-column three-dimensional curve models, including:
[0082] Use the geometry node to perform geometric transformation on the plane positioning XY coordinates of the beam component, the floor elevation of the beam component, and the Z-axis offset value of the beam component to generate the beam line, and use the ModelCurve.ByCurve node to convert the beam line into a three-dimensional curve model of the beam;
[0083] Use the Point.ByCoordinates node to connect the plane positioning XY coordinates of the column component with the bottom and top elevations of the column component to generate the bottom spatial coordinates of the column component and the top spatial coordinates of the column component. Use the Geometry.Line.Create node to generate the column line for the bottom spatial coordinates of the column component and the top spatial coordinates of the column component, and use the ModelCurve.ByCurve node to convert the column line into a column three-dimensional curve model.
[0084] In the process of generating beam lines and column lines, the present invention uses the geometry node in Dynamo to perform geometric transformation on the plane positioning XY coordinates, the floor elevation and the Z-axis offset value of the beam component to generate the beam line, and uses the ModelCurve.ByCurve node to convert it into a three-dimensional curve model, thereby realizing the accurate representation of the beam component in three-dimensional space.
[0085] For column components, first use the Point.ByCoordinates node to generate the corresponding spatial coordinate points based on their plane positioning XY coordinates and the bottom and top elevations, and then connect these points through the Geometry.Line.Create node to form a column line. Finally, use the ModelCurve.ByCurve node to convert the column line into a three-dimensional curve model, achieving accurate representation of the column component in three-dimensional space and connection with the beam component.
[0086] In one embodiment of the present invention, a connection relationship check is performed on the generated beam-column three-dimensional curve model in the revit model. After the connection relationship is checked and determined to be correct, the beam-column three-dimensional curve model is exported in the three-dimensional view as a dwg format file, including:
[0087] Check in the Revit model whether the intersection of each beam-column node in the generated beam-column 3D curve model is connected;
[0088] If there are any unconnected intersections of beam-column nodes, the user will be reminded to close the unconnected intersections of beam-column nodes.
[0089] After checking and confirming that the connection relationship is correct, export the beam-column 3D curve model in the 3D view as a dwg format file.
[0090] After the generation of the beam-column three-dimensional curve model is completed, the present invention emphasizes the importance of connection relationship checking. In the Revit model, it is necessary to ensure that each intersection of the beam-column node has a correct connection. To this end, the beam-column connection relationship is automatically checked through this embodiment. When unconnected beam-column nodes are found, the user can be reminded to take measures to close these nodes to ensure the integrity of the structure. Once all connection relationships are verified and confirmed to be correct, these three-dimensional curve models can be exported as dwg format files.
[0091] The following is a complete process of designing the method of extracting Revit structural line formwork based on Dynamo of the present invention:
[0092] (1) Open Dynamo software and create a new script file;
[0093] (2) Create a custom node in the Dynamo interface. This node is mainly used to automatically obtain the information of beam and column components in the model (family category, family type name). Edit the node and complete the input, packaging, and publishing of the custom Python node package code. The Python code is as follows: Figure 2 As shown, the node is located at the initial end of the process, such as Figure 3 and Figure 4 As shown in process a;
[0094] (3) Add and configure the Element.GetLocation node and connect process a and process b, where:
[0095] 1) Extract the plane location of the beam component and the floor elevation where it is located, such as Figure 3 As shown in process b;
[0096] 2) Extract the plane positioning and floor elevation of the column component. Since the column component has bottom and top coordinates, and the default floor elevation obtained by this node is zero, a CodeBlock node is added here to extract the XY coordinates of the column plane positioning. The floor elevations of the bottom and top of the column need to be retrieved from other steps. Here, only the plane XY coordinates are extracted, such as Figure 4 As shown in process b;
[0097] (4) Add and configure the Element.GetParameterValueByName node and connect step a and step c, where:
[0098] 1) Extract the parameter value of the beam component: Use the CodeBlock node to obtain the Z-axis offset value parameter of the beam, such as Figure 3 As shown in process c;
[0099] 2) Extract the parameter values of the column components: Since step (3) cannot obtain the floor elevation and Z-axis offset value of the column, it is necessary to repeat the node here to obtain it. Use the four parameters of two sets of CodeBlock nodes to obtain the floor elevation and Z-axis offset value parameters of the bottom and top of the beam column respectively, such as Figure 4 As shown in process c; add an Element.GetParameterValueByName node, use the CodeBlock node to expand the elevation of the bottom and top of the column obtained in process c, and finally use the "+" node to superimpose the floor elevation of the bottom and top of the column with the Z-axis offset value to generate the elevation of the bottom and top of the column, as shown in Figure 4 As shown in process c and f;
[0100] (5) Beam curve generation: Use the geometry node to perform geometric transformation on the beam information extracted in the above steps to generate beam lines, such as Figure 3 As shown in process d, the ModelCurve.ByCurve node is finally used to convert the beam line into a three-dimensional curve model, such as Figure 3 As shown in process e;
[0101] (6) Generate the column spatial coordinates: Use the Point.ByCoordinates node to connect the column plane positioning coordinates of process b with the column bottom and top elevations obtained in process f to generate the column bottom spatial coordinates and column top spatial coordinates, such as Figure 4 Process g is shown as follows:
[0102] (7) Finally, use Geometry.Line.Create to generate the column line, and use the ModelCurve.ByCurve node to convert the column line into a three-dimensional curve model;
[0103] (8) Check the generated structural line form in the Revit model to see if the connection relationship is correct, and ensure that each beam-column node intersection is connected. Unsatisfactory nodes need to be closed manually, and finally export the DWG format in the 3D view, such as Figure 5 shown.
[0104] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0105] Reference Figure 6 , shows a structural block diagram of a device for extracting Revit structural line form based on Dynamo provided in an embodiment of the present invention, which may specifically include the following modules:
[0106] The beam and column component information extraction module 601 is used to run the node package customized in the Dynamo software to extract the beam and column component information of the Revit model; the beam and column component information includes the family and family type name;
[0107] The geometric position information extraction module 602 is used to extract the geometric position information of the beam components and column components in the revit model; the geometric position information includes the plane positioning XY coordinates of the beam components and the column components, the floor elevation of the beam components, the Z-axis offset value of the beam components, and the bottom and top elevations of the column components;
[0108] A beam-column three-dimensional curve model generation module 603 is used to generate beam lines and column lines according to the extracted beam-column component information and the geometric position information of the beam components and column components, and convert the beam lines and column lines into a beam-column three-dimensional curve model;
[0109] The beam-column connection relationship check module 604 is used to check the connection relationship of the generated beam-column three-dimensional curve model in the revit model. After checking and confirming that the connection relationship is correct, the beam-column three-dimensional curve model is exported to a dwg format file in the three-dimensional view.
[0110] Optionally, the geometric position information extraction module is further used to:
[0111] Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component;
[0112] Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model.
[0113] Optionally,
[0114] The geometric position information extraction module is also used to: add and configure the Element.GetLocation node, extract the plane positioning XY coordinates of the beam component in the revit model and the floor elevation where the beam component is located, and use the CodeBlock node to extract the plane positioning XY coordinates of the column component in the revit model;
[0115] The geometric position information extraction module is also used for:
[0116] Add and configure the Element.GetParameterValueByName node, and use the CodeBlock node to extract the Z-axis offset value of the beam component in the Revit model, the floor elevation and Z-axis offset value of the bottom and top of the column component;
[0117] Add and configure the Element.GetParameterValueByName node, use the CodeBlock node to expand the elevation of the floor where the bottom and top of the column are located, and use the "+" node to superimpose the floor elevation of the bottom and top of the column with the Z-axis offset value to generate the bottom and top elevations of the column.
[0118] Optionally, the beam-column three-dimensional curve model generating module is further used for:
[0119] Use the geometry node to perform geometric transformation on the plane positioning XY coordinates of the beam component, the floor elevation of the beam component, and the Z-axis offset value of the beam component to generate the beam line, and use the ModelCurve.ByCurve node to convert the beam line into a three-dimensional curve model of the beam;
[0120] Use the Point.ByCoordinates node to connect the plane positioning XY coordinates of the column component with the bottom and top elevations of the column component to generate the bottom spatial coordinates of the column component and the top spatial coordinates of the column component. Use the Geometry.Line.Create node to generate the column line for the bottom spatial coordinates of the column component and the top spatial coordinates of the column component, and use the ModelCurve.ByCurve node to convert the column line into a column three-dimensional curve model.
[0121] Optionally, the beam-column connection relationship checking module is further used for:
[0122] Check in the Revit model whether the intersection of each beam-column node in the generated beam-column 3D curve model is connected;
[0123] If there are any unconnected intersections of beam-column nodes, the user will be reminded to close the unconnected intersections of beam-column nodes.
[0124] After checking and confirming that the connection relationship is correct, export the beam-column 3D curve model in the 3D view as a dwg format file.
[0125] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0126] In addition, an embodiment of the present invention further provides an electronic device, such as Figure 7 As shown, it includes a processor 701, a communication interface 702, a memory 703 and a communication bus 704, wherein the processor 701, the communication interface 702, and the memory 703 communicate with each other through the communication bus 704.
[0127] Memory 703, used for storing computer programs;
[0128] The processor 701 is used to implement a method for extracting a Revit structural line form based on Dynamo when executing a program stored in the memory 703.
[0129] The communication bus mentioned in the above terminal can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0130] The communication interface is used for communication between the above terminal and other devices.
[0131] The memory may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0132] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
[0133] like Figure 8 As shown, in another embodiment provided by the present invention, a computer-readable storage medium 801 is also provided, in which instructions are stored. When the computer-readable storage medium is run on a computer, the computer executes the method for extracting Revit structural line molds based on Dynamo as described in the above embodiment.
[0134] In another embodiment provided by the present invention, a computer program product containing instructions is also provided, which, when executed on a computer, enables the computer to execute the method for extracting Revit structural line forms based on Dynamo as described in the above embodiment.
[0135] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk SolidStateDisk (SSD)), etc.
[0136] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0137] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0138] The above description is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.
Claims
1. A method for extracting Revit structural line form based on Dynamo, characterized in that: The method comprises: A node package customized in Dynamo software is run to extract beam and column component information of a Revit model; the beam and column component information includes family and family type name; Extract the geometric position information of beam components and column components in the Revit model; the geometric position information includes the plane positioning XY coordinates of the beam components and column components, the floor elevation of the beam components, the Z-axis offset value of the beam components, and the bottom and top elevations of the column components; Generate beam lines and column lines according to the extracted beam-column component information and the geometric position information of the beam components and the column components, and convert the beam lines and column lines into beam-column three-dimensional curve models; Check the connection relationship of the generated beam-column 3D curve model in the Revit model. After confirming that the connection relationship is correct, export the beam-column 3D curve model in the 3D view as a DWG format file.
2. The method according to claim 1, characterized in that Extract the geometric position information of beam components and column components in the Revit model, including: Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component; Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model.
3. The method according to claim 2, characterized in that Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component, including: Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam components in the Revit model and the floor elevation where the beam components are located, and use the CodeBlock node to extract the plane positioning XY coordinates of the column components in the Revit model; Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model, including: Add and configure the Element.GetParameterValueByName node, and use the CodeBlock node to extract the Z-axis offset value of the beam component in the Revit model, the floor elevation and Z-axis offset value of the bottom and top of the column component; Add and configure the Element.GetParameterValueByName node, use the CodeBlock node to expand the elevation of the floor where the bottom and top of the column are located, and use the "+" node to superimpose the floor elevation of the bottom and top of the column with the Z-axis offset value to generate the bottom and top elevations of the column.
4. The method according to claim 1, characterized in that: Generate beam lines and column lines based on the extracted beam-column component information and the geometric position information of the beam components and column components, and convert the beam lines and column lines into a beam-column three-dimensional curve model, including: Use the geometry node to perform geometric transformation on the plane positioning XY coordinates of the beam component, the floor elevation of the beam component, and the Z-axis offset value of the beam component to generate the beam line, and use the ModelCurve.ByCurve node to convert the beam line into a three-dimensional curve model of the beam; Use the Point.ByCoordinates node to connect the plane positioning XY coordinates of the column component with the bottom and top elevations of the column component to generate the bottom spatial coordinates of the column component and the top spatial coordinates of the column component. Use the Geometry.Line.Create node to generate the column line for the bottom spatial coordinates of the column component and the top spatial coordinates of the column component, and use the ModelCurve.ByCurve node to convert the column line into a column three-dimensional curve model.
5. The method according to claim 1, characterized in that Check the connection relationship of the generated beam-column 3D curve model in the Revit model. After checking and confirming that the connection relationship is correct, export the beam-column 3D curve model in the 3D view to a DWG format file, including: Check in the Revit model whether the intersection of each beam-column node in the generated beam-column 3D curve model is connected; If there are any unconnected intersections of beam-column nodes, the user will be reminded to close the unconnected intersections of beam-column nodes. After checking and confirming that the connection relationship is correct, export the beam-column 3D curve model in the 3D view as a dwg format file.
6. A device for extracting Revit structural line form based on Dynamo, characterized in that: The device comprises: A beam-column component information extraction module is used to run a node package customized in Dynamo software to extract beam-column component information of a Revit model; the beam-column component information includes a family and a family type name; The geometric position information extraction module is used to extract the geometric position information of beam components and column components in the Revit model; the geometric position information includes the plane positioning XY coordinates of the beam components and column components, the floor elevation of the beam components, the Z-axis offset value of the beam components, and the bottom and top elevations of the column components; A beam-column three-dimensional curve model generation module is used to generate beam lines and column lines according to the extracted beam-column component information and the geometric position information of the beam components and the column components, and convert the beam lines and column lines into a beam-column three-dimensional curve model; The beam-column connection relationship check module is used to check the connection relationship of the generated beam-column 3D curve model in the Revit model. After checking and confirming that the connection relationship is correct, the beam-column 3D curve model is exported to a DWG format file in the 3D view.
7. The device according to claim 6, characterized in that The geometric position information extraction module is also used for: Add and configure the Element.GetLocation node to extract the plane positioning XY coordinates of the beam component in the Revit model, the floor elevation of the beam component, and the plane positioning XY coordinates of the column component; Add and configure the Element.GetParameterValueByName node to extract the Z-axis offset value of the beam component and the bottom and top elevations of the column component in the Revit model.
8. The device according to claim 7, characterized in that The geometric position information extraction module is also used to: add and configure the Element.GetLocation node, extract the plane positioning XY coordinates of the beam component in the revit model and the floor elevation where the beam component is located, and use the CodeBlock node to extract the plane positioning XY coordinates of the column component in the revit model; The geometric position information extraction module is also used for: Add and configure the Element.GetParameterValueByName node, and use the CodeBlock node to extract the Z-axis offset value of the beam component in the Revit model, the floor elevation and Z-axis offset value of the bottom and top of the column component; Add and configure the Element.GetParameterValueByName node, use the CodeBlock node to expand the elevation of the floor where the bottom and top of the column are located, and use the "+" node to superimpose the floor elevation of the bottom and top of the column with the Z-axis offset value to generate the bottom and top elevations of the column.
9. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; The memory is used to store computer programs; The processor is used to implement the method for extracting Revit structural line formwork based on Dynamo as described in any one of claims 1 to 5 when executing the program stored in the memory.
10. One or more computer-readable media having instructions stored thereon, which, when executed by one or more processors, enable the processors to execute the method for extracting Revit structural line formwork based on Dynamo as described in any one of claims 1 to 5.
Citation Information
Cited By
Positioning and assembling method and system for steel structure beam-column joints
CN120862700A