A method for extracting and exporting project and family information based on Revit

By filtering invalid information in Revit and using B-rep boundary representation and feature reconstruction methods, the problems of data loss and file redundancy in model conversion were solved, realizing efficient and complete conversion of Revit data to the domestic BIM platform and improving cross-platform reuse capabilities.

CN121614633BActive Publication Date: 2026-04-17POWER CHINA KUNMING ENG CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
POWER CHINA KUNMING ENG CORP LTD
Filing Date
2026-02-03
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing technologies for converting Autodesk Revit models to other BIM platforms suffer from issues such as data loss, parametric features, or file redundancy, resulting in uneditable models or excessively long loading times, thus affecting cross-platform reusability.

Method used

By filtering invalid information in Revit, processing basic geometry and family information according to element type, and employing B-rep boundary representation and feature reconstruction methods, the target file size is optimized to ensure model integrity and efficiency.

Benefits of technology

It enables efficient and complete conversion of Revit data to the domestic BIM platform, improves cross-platform reusability, and ensures model editability and loading efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121614633B_ABST
    Figure CN121614633B_ABST
Patent Text Reader

Abstract

This invention relates to a method for extracting and exporting project and family information based on Revit, belonging to the field of building information technology. It receives input through a user interface and actively filters invalid information. Based on element type, it processes basic geometry, built-in family elements, and family instances separately, records the element list, collects element attributes and converts them into a target platform-readable format, stores them in an attribute set and binds element IDs, processes Boolean operations, separates solid and hollow volumes, performs union and difference operations and records the results, and, depending on the target platform's support, uses feature reconstruction or B-rep boundary representation to process various geometric elements. The processed data is then exported in batches to the target exchange format, and the completeness, accuracy, and efficiency of the exported results are verified. This invention effectively solves the problems of data loss, file redundancy, and low efficiency in existing conversion technologies, significantly improving the cross-platform reusability of BIM data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of building engineering information technology, and in particular to a method for extracting and exporting project and family information based on Revit. Background Technology

[0002] Building Information Modeling (BIM) technology, as a core digital tool in the field of engineering construction, directly impacts the efficiency of collaboration throughout the entire lifecycle through its cross-platform data interaction capabilities.

[0003] Existing cross-platform conversion tools have significant limitations: At the commercial plugin level, mainstream plugins (such as Navisworks and FME) only support geometric mesh conversion. While they can preserve the topological structure of triangular faces, they completely strip away parametric features (such as family type constraints and material properties), leaving the converted model as merely a "geometric shell." At the open-source solution level, while IFC open-source libraries (such as IfcOpenShell) support complete conversion using boundary representation (B-rep), the generated file size increases exponentially. Real-world testing shows that when a Revit model exceeds 500MB, the IFC file can reach 3-5 times the original size, and reconstruction efficiency decreases by more than 70%. Furthermore, IFC standards are not unified across different regions, making accurate reading difficult on various platforms even if conversion is achieved.

[0004] The two commonly used conversion methods in the industry today, Mesh simplification and Boundary representation (B-rep), both have fundamental flaws:

[0005] Mesh simplification method: Discretizes NURBS surfaces into triangular meshes through tessellation. Although it can compress file size (about 60-80% of the original model), it completely destroys the feature tree structure, resulting in the converted model being unable to support parametric editing and losing the core value of BIM.

[0006] Boundary representation method: Completely records the topology and geometric data of the geometry. Although it can theoretically achieve lossless conversion, in practical applications, redundant data (such as invalid Boolean operation history and repeated coordinate system definitions) leads to bloated files. A highway project case shows that the loading time of the model after B-rep conversion is increased by 400%, which seriously affects lightweight applications.

[0007] To address these issues, there is an urgent need to develop a universal tool plugin for exporting Autodesk Revit data to domestic BIM platforms. This plugin should balance data integrity and file efficiency through intelligent reconstruction algorithms, while preserving Revit's parametric features, truly realizing the value transfer of BIM data. Summary of the Invention

[0008] In view of this, the purpose of this invention is to overcome the shortcomings of existing technologies and provide a method for extracting and exporting project and family information based on Revit. Current mainstream export methods convert model information into a mesh and then read the mesh in the target platform. This method loses the original model information, only restoring the model shape, and cannot be used for secondary development. This invention, while ensuring that family and project information are as complete as possible, reduces the size of the target file through model reconstruction. It overcomes the defect of traditional mesh conversion methods where the converted model can only be viewed and cannot be edited after being imported to other platforms, achieving a complete conversion of Revit data to a universal format and improving the cross-platform reusability of BIM data.

[0009] Meanwhile, some conversion plugins use the boundary representation method to extract all model information completely. Although the model can be completely reconstructed, the target file size is large and there is a lot of redundancy. This invention optimizes this by flexibly using both the boundary representation method and the feature reconstruction method, which reduces the size of the target file and improves reusability.

[0010] To achieve the above objectives, this application provides the following technical solution:

[0011] According to a first aspect of the present invention, the present invention claims protection for a method for extracting and exporting project and family information based on Revit, comprising the following steps:

[0012] S1 receives user-selected input through the user interface, actively filters invalid information in Revit files, and performs corresponding processing on different elements according to element type, including extracting feature information from basic geometry, extracting feature classification from built-in family elements in the project, extracting features from family instances using family methods, and recording the element list.

[0013] S2 collects element attributes from the element list, determines the attribute value type, converts strings, integers, floating-point numbers, booleans and other types into information that can be read by the target platform, stores the attributes in the attribute set, and records the correspondence between the attribute set and the element ID;

[0014] S3, obtain the IDs of all member elements participating in the Boolean operation, separate the solid and hollow bodies, take the union of the solid bodies, take the difference between the hollow bodies and the solid bodies, and record the Boolean operation result;

[0015] S4, the member elements are processed using B-rep boundary representation or feature reconstruction. For objects that can be directly represented by the target platform, features are extracted and reconstructed on the target platform. For objects that cannot be directly represented, B-rep is used to represent the point, edge, and surface information of the object.

[0016] S5 exports the processed element data in batches to the target data exchange format.

[0017] Furthermore, step S2 also includes:

[0018] After storing the attributes in an attribute set, the attribute set is bound to the element ID, and the attribute set is associated with the element during export.

[0019] Furthermore, the B-rep boundary representation method processes at least one of points, edges, and faces, wherein:

[0020] The processing points include two-dimensional points and three-dimensional points. For two-dimensional points, the inverse transformation matrix is ​​used to transform the point from world coordinates to local coordinates, extract the X and Y coordinates, ignore the Z coordinate, create a target platform object and set the coordinate values.

[0021] For a 3D point, use the inverse transformation matrix to transform the point from world coordinates to local coordinates, extract the X, Y, and Z coordinates, create a target platform object, and set the coordinate values;

[0022] Edge processing includes processing straight edges, circular arc edges, elliptical edges, and NURBS curve edges. For straight edges, the start and end points are extracted, and the inverse transformation matrix is ​​used to transform the start and end points to local coordinates to create a straight line object for the target platform.

[0023] For the arc edge, extract the center, radius, start point, and end point, use the inverse transformation matrix to transform the center, start point, and end point to local coordinates, calculate the start angle and end angle and normalize them to the range of [0, 2π], determine the arc direction, and create the target platform arc object;

[0024] For the ellipse edges, extract the center point, major axis radius, minor axis radius, start point, and end point. Use the inverse transformation matrix to transform the center point, start point, and end point to local coordinates, calculate the parameter angle range of the ellipse, determine the ellipse direction, and create the target platform ellipse object.

[0025] For NURBS curve edges, extract control points, node vectors, and weights. Use the inverse transformation matrix to transform all control points to local coordinates, create a target platform NURBS curve object, and set the order, control points, nodes, and weights.

[0026] The processing surfaces include planes, cylindrical surfaces, conical surfaces, surfaces of revolution, twisted surfaces, and regular surfaces. For planes, the origin, X-direction vector, and Y-direction vector are extracted. The origin, X-direction vector, and Y-direction vector are transformed to local coordinates using an inverse transformation matrix. The target platform plane object is created and the origin, U-direction, V-direction, and UV range are set.

[0027] For a cylindrical surface, extract the axis, radius, and origin, construct a local coordinate system including the Z-axis as the axis direction, the X-axis as the cross product of a vector not orthogonal to the Z-axis, and the Y-axis as the cross product of the Z-axis and X-axis. Create a target platform cylindrical surface object and set the cross circle, origin, coordinate system direction, and range along the Z-axis.

[0028] For a conical surface, extract the vertices, axis, and half angle; calculate the range of the frustum by traversing the boundary vertices to calculate the maximum and minimum distances along the axis; calculate the radius of the reference plane; create the target platform conical surface object and set the reference plane coordinate system, reference plane circle, height, and range.

[0029] For a rotating surface, extract the rotation axis, origin, and contour curve, and construct the scan path, including creating a 3D circle as the rotation path with its center at the origin and its radius determined by the distance from the contour curve to the rotation axis. Project the contour curve onto a 2D plane, create a target platform rotating surface object, and set the scan path, contour, reference direction, and scan type.

[0030] For twisted and regular surfaces, convert them to NURBS surfaces, extract control points, node vectors, and weights, create a target platform NURBS surface object, and set the control points, nodes, weights, and UV parameter ranges.

[0031] Furthermore, the feature reconstruction method includes feature extraction and reconstruction for at least one of the following: stretched body, body of revolution, fused body, lofted body, and lofted fused body, wherein:

[0032] For an extruded body, creating a local coordinate system based on the sketch plane includes defining the XYZ axes and the origin, converting the sketch outline curve into a polygonal section, calculating the extrusion length based on the start and end offsets, and generating the target platform entity along the Z direction of the local coordinate system.

[0033] For a body of revolution, a local coordinate system is created based on the sketch plane, including defining the XYZ axes and the origin, converting the 2D contour into a section, extracting the start point and direction of the rotation axis and converting it to the local coordinate system to obtain the 2D position and direction vectors, calculating the total rotation angle based on the difference between the start and end angles, and generating the target platform body of revolution.

[0034] For the fused body, a local coordinate system is created based on the bottom sketch plane, including defining the XYZ axes and the origin, converting the bottom contour into the starting section, converting the top contour into the ending section, converting them into polygonal sections respectively, calculating the fused length based on the top and bottom offset difference, and generating the target platform variable cross-section extruded body along the Z-axis direction;

[0035] For the lofted body, the local coordinate system is created based on the path plane, including defining the XYZ axes and the origin, converting the sweep profile into a polygonal section, converting the sweep path curve into a set of continuous line segments, and generating the target platform sweep entity using the section and the path.

[0036] For the lofted fusion body, the local coordinate system is created based on the path plane, including defining the XYZ axes and the origin, converting the start and end contours into polygonal sections, converting the sweep path curve into a set of continuous line segments, and generating the target platform variable cross-section sweep entity using the start section, end section and path.

[0037] Furthermore, step S3 also includes wrapping the Boolean relation in a format required by the target platform.

[0038] Furthermore, in step S1, the active filtering includes filtering out elements in Revit that do not participate in the conversion.

[0039] Furthermore, the method also includes writing global data of project information, floor information, and building information to the target platform before step S5.

[0040] Furthermore, it also includes validating the exported results, including completeness verification, accuracy verification, and efficiency verification.

[0041] Furthermore, the integrity verification includes checking whether all building structures and electromechanical elements have been exported;

[0042] The accuracy verification includes comparing whether the geometric dimensions and attribute information before and after the conversion are consistent;

[0043] The efficiency verification includes testing the conversion time of large-scale elements.

[0044] Furthermore, in step S4, for objects that the target platform can directly represent, the extracted features include at least one of the following: extruded surface sketch and extrusion height, revolved surface sketch and revolving axis, loft profile and loft path, top sketch, bottom sketch and height, start sketch, end sketch and loft path.

[0045] This invention relates to a method for extracting and exporting project and family information based on Revit, aiming to achieve efficient and complete conversion of Building Information Modeling (BIM) data to a domestic BIM platform. The method receives input through a user interface and actively filters invalid information. It processes basic geometry, built-in family elements, and family instances according to element type, records the element list, collects element attributes and converts them to a format readable by the target platform, stores them in an attribute set and binds element IDs, performs Boolean operations, separates solid and hollow bodies, performs union and difference operations and records the results, and, depending on the target platform's support, uses feature reconstruction or B-rep boundary representation to process various geometric elements. The processed data is then exported in batches to the target exchange format, and the completeness, accuracy, and efficiency of the exported results are verified. This invention effectively solves the problems of data loss, file redundancy, and low efficiency in existing conversion technologies, significantly improving the cross-platform reusability of BIM data. Attached Figure Description

[0046] Figure 1 A flowchart illustrating a Revit-based method for extracting and exporting project and family information, as claimed in an embodiment of the present invention.

[0047] Figure 2 A schematic diagram of a Revit data conversion plugin for a method of extracting and exporting Revit-based project and family information as claimed in the embodiments. Detailed Implementation

[0048] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0049] The terms "first," "second," and "third" in this application are for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first," "second," or "third" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified. All directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of this application are only used to explain the relative positional relationships and movements between components in a specific orientation (as shown in the figures). If the specific orientation changes, the directional indications also change accordingly. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.

[0050] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0051] According to the first embodiment of the present invention, referring to Figure 1This invention claims protection for a method for extracting and exporting project and family information based on Revit, comprising the following steps:

[0052] S1 receives user-selected input through the user interface, actively filters invalid information in Revit files, and performs corresponding processing on different elements according to element type, including extracting feature information from basic geometry, extracting feature classification from built-in family elements in the project, extracting features from family instances using family methods, and recording the element list.

[0053] S2 collects element attributes from the element list, determines the attribute value type, converts strings, integers, floating-point numbers, booleans and other types into information that can be read by the target platform, stores the attributes in the attribute set, and records the correspondence between the attribute set and the element ID;

[0054] S3, obtain the IDs of all member elements participating in the Boolean operation, separate the solid and hollow bodies, take the union of the solid bodies, take the difference between the hollow bodies and the solid bodies, and record the Boolean operation result;

[0055] S4, the member elements are processed using B-rep boundary representation or feature reconstruction. For objects that can be directly represented by the target platform, features are extracted and reconstructed on the target platform. For objects that cannot be directly represented, B-rep is used to represent the point, edge, and surface information of the object.

[0056] S5 exports the processed element data in batches to the target data exchange format.

[0057] Furthermore, step S2 also includes:

[0058] After storing the attributes in an attribute set, the attribute set is bound to the element ID, and the attribute set is associated with the element during export.

[0059] Furthermore, the B-rep boundary representation method processes at least one of points, edges, and faces, wherein:

[0060] The processing points include two-dimensional points and three-dimensional points. For two-dimensional points, the inverse transformation matrix is ​​used to transform the point from world coordinates to local coordinates, extract the X and Y coordinates, ignore the Z coordinate, create a target platform object and set the coordinate values.

[0061] For a 3D point, use the inverse transformation matrix to transform the point from world coordinates to local coordinates, extract the X, Y, and Z coordinates, create a target platform object, and set the coordinate values;

[0062] Edge processing includes processing straight edges, circular arc edges, elliptical edges, and NURBS curve edges. For straight edges, the start and end points are extracted, and the inverse transformation matrix is ​​used to transform the start and end points to local coordinates to create a straight line object for the target platform.

[0063] For the arc edge, extract the center, radius, start point, and end point, use the inverse transformation matrix to transform the center, start point, and end point to local coordinates, calculate the start angle and end angle and normalize them to the range of [0, 2π], determine the arc direction, and create the target platform arc object;

[0064] For the ellipse edges, extract the center point, major axis radius, minor axis radius, start point, and end point. Use the inverse transformation matrix to transform the center point, start point, and end point to local coordinates, calculate the parameter angle range of the ellipse, determine the ellipse direction, and create the target platform ellipse object.

[0065] For NURBS curve edges, extract control points, node vectors, and weights. Use the inverse transformation matrix to transform all control points to local coordinates, create a target platform NURBS curve object, and set the order, control points, nodes, and weights.

[0066] The processing surfaces include planes, cylindrical surfaces, conical surfaces, surfaces of revolution, twisted surfaces, and regular surfaces. For planes, the origin, X-direction vector, and Y-direction vector are extracted. The origin, X-direction vector, and Y-direction vector are transformed to local coordinates using an inverse transformation matrix. The target platform plane object is created and the origin, U-direction, V-direction, and UV range are set.

[0067] For a cylindrical surface, extract the axis, radius, and origin, construct a local coordinate system including the Z-axis as the axis direction, the X-axis as the cross product of a vector not orthogonal to the Z-axis, and the Y-axis as the cross product of the Z-axis and X-axis. Create a target platform cylindrical surface object and set the cross circle, origin, coordinate system direction, and range along the Z-axis.

[0068] For a conical surface, extract the vertices, axis, and half angle; calculate the range of the frustum by traversing the boundary vertices to calculate the maximum and minimum distances along the axis; calculate the radius of the reference plane; create the target platform conical surface object and set the reference plane coordinate system, reference plane circle, height, and range.

[0069] For a rotating surface, extract the rotation axis, origin, and contour curve, and construct the scan path, including creating a 3D circle as the rotation path with its center at the origin and its radius determined by the distance from the contour curve to the rotation axis. Project the contour curve onto a 2D plane, create a target platform rotating surface object, and set the scan path, contour, reference direction, and scan type.

[0070] For twisted and regular surfaces, convert them to NURBS surfaces, extract control points, node vectors, and weights, create a target platform NURBS surface object, and set the control points, nodes, weights, and UV parameter ranges.

[0071] Furthermore, the feature reconstruction method includes feature extraction and reconstruction for at least one of the following: stretched body, body of revolution, fused body, lofted body, and lofted fused body, wherein:

[0072] For an extruded body, creating a local coordinate system based on the sketch plane includes defining the XYZ axes and the origin, converting the sketch outline curve into a polygonal section, calculating the extrusion length based on the start and end offsets, and generating the target platform entity along the Z direction of the local coordinate system.

[0073] For a body of revolution, a local coordinate system is created based on the sketch plane, including defining the XYZ axes and the origin, converting the 2D contour into a section, extracting the start point and direction of the rotation axis and converting it to the local coordinate system to obtain the 2D position and direction vectors, calculating the total rotation angle based on the difference between the start and end angles, and generating the target platform body of revolution.

[0074] For the fused body, a local coordinate system is created based on the bottom sketch plane, including defining the XYZ axes and the origin, converting the bottom contour into the starting section, converting the top contour into the ending section, converting them into polygonal sections respectively, calculating the fused length based on the top and bottom offset difference, and generating the target platform variable cross-section extruded body along the Z-axis direction;

[0075] For the lofted body, the local coordinate system is created based on the path plane, including defining the XYZ axes and the origin, converting the sweep profile into a polygonal section, converting the sweep path curve into a set of continuous line segments, and generating the target platform sweep entity using the section and the path.

[0076] For the lofted fusion body, the local coordinate system is created based on the path plane, including defining the XYZ axes and the origin, converting the start and end contours into polygonal sections, converting the sweep path curve into a set of continuous line segments, and generating the target platform variable cross-section sweep entity using the start section, end section and path.

[0077] Furthermore, step S3 also includes wrapping the Boolean relation in a format required by the target platform.

[0078] Furthermore, in step S1, the active filtering includes filtering out elements in Revit that do not participate in the conversion.

[0079] Furthermore, the method also includes writing global data of project information, floor information, and building information to the target platform before step S5.

[0080] Furthermore, it also includes validating the exported results, including completeness verification, accuracy verification, and efficiency verification.

[0081] Furthermore, the integrity verification includes checking whether all building structures and electromechanical elements have been exported;

[0082] The accuracy verification includes comparing whether the geometric dimensions and attribute information before and after the conversion are consistent;

[0083] The efficiency verification includes testing the conversion time of large-scale elements.

[0084] Furthermore, in step S4, for objects that the target platform can directly represent, the extracted features include at least one of the following: extruded surface sketch and extrusion height, revolved surface sketch and revolving axis, loft profile and loft path, top sketch, bottom sketch and height, start sketch, end sketch and loft path.

[0085] This invention addresses the need for extracting and exporting Revit project and family information, and verifies the effectiveness of the method in a real-world engineering scenario. The following test case, based on a real pump station project, details the specific implementation process of this method in scenarios involving large-scale building structures, complex electromechanical systems, and a massive number of elements. The implementation of this invention is described in detail below with reference to specific embodiments.

[0086] This method was validated using three typical engineering scenarios, covering building structures, electromechanical systems, and large-scale element conversion requirements, as shown in Table 1.

[0087] Table 1. Three Implementation Projects

[0088]

[0089] Project 1: Mercury Gas Power Plant Auxiliary Plant Building - Extraction and Export of Architectural Structural Elements

[0090] The main test project for the mercury gas power plant's auxiliary building was the export of architectural elements. This project file contains numerous structural components such as walls, columns, beams, doors, and windows. Testing showed that all structural elements were exported completely. Figure 2 Revit filter table and plug-in conversion result table for the auxiliary plant of the mercury gas power plant.

[0091] Step (1), Project Loading and Element Filtering: Load the sub-factory project file (.rvt) using the Revit Data Conversion plugin, and call the plugin's built-in "Building Structure Filter" to automatically identify and classify the following elements:

[0092] Building components: 94 walls, 5 floor slabs, 13 doors, 26 windows, and 7 sets of stairs (including 5 platforms and 10 stair flights);

[0093] Structural components: 31 structural columns, 21 structural frames (beams), and 1 structural foundation;

[0094] There are 36 model groups and 38 lines (electromechanical outline lines);

[0095] Step (2), information extraction and association binding;

[0096] Geometric information: For tensile components such as walls and floors, extract the contour curve, tensile length, and local coordinate system according to the "tensile body conversion process"; for combined components such as stairs, record the connection relationship between the stair flight and the platform.

[0097] Attribute information: Binds floor information, building information (such as wall material and window model) and project information (such as construction unit and structure type).

[0098] Step (3), Export and Verification;

[0099] Using batch export mode, the extracted elements are converted into BES format to generate an export file containing geometric models, attribute databases, and relationship graphs.

[0100] Verification results: All building structural elements were exported completely, and the nesting relationships between doors, windows, and walls were accurately preserved. The exported files can be directly used for subsequent quantity surveying and collision detection.

[0101] Pump house main pump house - electromechanical system element extraction and export

[0102] The main electromechanical components of the pump house were exported for testing. This project includes a large number of water pipes, valves, steel frames, and water-stop plates. After testing, all electromechanical elements were successfully exported.

[0103] Step (1), Electromechanical Element Identification and Classification: After loading the main pump house project file, the plugin identifies and classifies the elements through the "Electromechanical Professional Filter":

[0104] Piping system: Water pipes (10 types including DN1100 / DN2000), pipe fittings (4 expansion joints, 1 copper water stop);

[0105] Equipment: 4 horizontal double-suction pumps, 20 mechanical equipment, and a number of lighting equipment;

[0106] Structural auxiliary components: 64 walls, 8 floor slabs, and 20 sets of railings and handrails;

[0107] Step (2), handling complex relationships;

[0108] Pipeline connection relationship: Extract the interface parameters of water pipe and pump (inlet 1400mm, outlet 1200mm), and record the pipeline direction and slope (e.g., two drainage arrows).

[0109] Boolean relationship preservation: For the connection between the steel frame and the floor slab, and the fixing relationship between the equipment and the foundation, mark the "connection" type combination relationship to ensure that the spatial position matches after export.

[0110] Step (3), efficient conversion and result verification;

[0111] Conversion process: Complete the conversion of 300 elements (30 types), among which the electromechanical equipment attributes (such as power and model) are fully bound to the "Equipment Attribute Table" of the BES entity.

[0112] Verification results: The exported electromechanical model can be directly used for system hydraulic calculations. The pipeline collision points are consistent with the original Revit model, with an accuracy of 100%.

[0113] Hengchong Pumping Station – Extraction and Export of Elemental Quantities;

[0114] The main test project for the Hengchong pump station had more than 1,000 elements, and the conversion was successful within 30 seconds.

[0115] Step (1), Large Model Loading Optimization: For project files with 1500+ elements, the plugin enables "layered loading" mode:

[0116] The model was loaded in batches according to floor, and the main components such as 39 structural columns and 136 walls were extracted first.

[0117] For nested families (such as stairs: 7 platforms and 79 stair flights), the "family information pre-extraction" technique is used to reduce redundant calculations.

[0118] Step (2), parallel conversion of multiple professional elements: the plugin calls multi-core computing resources to process the following elements in parallel:

[0119] Architecture: 1 roof, 28 windows, 66 floors (including 1 special type of floor);

[0120] Structural Engineering: Three types of structural frames and one pier;

[0121] Equipment: 8 split-case pumps, 2 water pipelines, and 3 special equipment;

[0122] Other items: 8 plants, 23 conventional models;

[0123] Step (3), performance and integrity verification;

[0124] Conversion efficiency: 1658 elements (49 types) are converted within 30 seconds, with an average processing speed of 55 elements / second.

[0125] Completeness: The exported BES model contains all elements, with no omissions in the connection relationships between the 79 stair flights and the 7 platforms, and the geometric accuracy error of irregular components such as the working shaft (250×500mm) is ≤0.5m.

[0126] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.

[0127] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units. The above are merely embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made based on the description and drawings of this application, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

[0128] The specific embodiments of the invention have been described in detail above, but they are only examples, and this application is not limited to the specific embodiments described above. For those skilled in the art, any equivalent modifications or substitutions to the invention are also within the scope of this application. Therefore, all equivalent changes, modifications, and improvements made without departing from the spirit and principles of this application should be covered within the scope of this application.

Claims

1. A method for extracting and exporting project and family information based on Revit, characterized in that, Includes the following steps: S1 receives user-selected input through the user interface, actively filters invalid information in Revit files, and performs corresponding processing on different elements according to element type, including extracting feature information from basic geometry, extracting feature classification from built-in family elements in the project, extracting features from family instances using family methods, and recording the element list. S2 collects element attributes from the element list, determines the attribute value type, converts strings, integers, floating-point numbers, and boolean values ​​into information readable by the target platform, stores the attributes in the attribute set, records the correspondence between the attribute set and the element ID, binds the attribute set to the element ID after storing the attributes in the attribute set, and associates the attribute set with the element during export. S3, obtain the IDs of all member elements participating in the Boolean operation, separate the solid and hollow bodies, take the union of the solid bodies, take the difference between the hollow bodies and the solid bodies, record the Boolean operation results, and package the Boolean relationship in the format required by the target platform; S4, the member elements are processed using B-rep boundary representation or feature reconstruction. For objects that can be directly represented by the target platform, features are extracted and reconstructed on the target platform. For objects that cannot be directly represented, B-rep is used to represent the point, edge, and surface information of the object. The feature reconstruction method performs geometric processing including feature extraction and reconstruction for at least one of the following: stretched bodies, bodies of revolution, fused bodies, lofted bodies, and lofted fused bodies, wherein: For an extruded body, creating a local coordinate system based on the sketch plane includes defining the XYZ axes and the origin, converting the sketch outline curve into a polygonal section, calculating the extrusion length based on the start and end offsets, and generating the target platform entity along the Z direction of the local coordinate system. For a body of revolution, a local coordinate system is created based on the sketch plane, including defining the XYZ axes and the origin, converting the 2D contour into a section, extracting the start point and direction of the rotation axis and converting it to the local coordinate system to obtain the 2D position and direction vectors, calculating the total rotation angle based on the difference between the start and end angles, and generating the target platform body of revolution. For the fused body, a local coordinate system is created based on the bottom sketch plane, including defining the XYZ axes and the origin, converting the bottom contour into the starting section, converting the top contour into the ending section, converting them into polygonal sections respectively, calculating the fused length based on the top and bottom offset difference, and generating the target platform variable cross-section extruded body along the Z-axis direction; For the lofted body, the local coordinate system is created based on the path plane, including defining the XYZ axes and the origin, converting the sweep profile into a polygonal section, converting the sweep path curve into a set of continuous line segments, and generating the target platform sweep entity using the section and the path. For the lofted fusion body, the local coordinate system is created based on the path plane, including defining the XYZ axes and the origin, converting the start profile and end profile into polygonal sections, converting the sweep path curve into a set of continuous line segments, and generating the target platform variable cross section sweep entity using the start section, end section and path. S5 exports the processed element data in batches to the target data exchange format.

2. The method for extracting and exporting Revit-based project and family information as described in claim 1, characterized in that, The B-rep boundary representation method processes at least one of points, edges, and faces, wherein: The processing points include two-dimensional points and three-dimensional points. For two-dimensional points, the inverse transformation matrix is ​​used to transform the point from world coordinates to local coordinates, extract the X and Y coordinates, ignore the Z coordinate, create a target platform object and set the coordinate values. For a 3D point, use the inverse transformation matrix to transform the point from world coordinates to local coordinates, extract the X, Y, and Z coordinates, create a target platform object, and set the coordinate values; Edge processing includes processing straight edges, circular arc edges, elliptical edges, and NURBS curve edges. For straight edges, the start and end points are extracted, and the inverse transformation matrix is ​​used to transform the start and end points to local coordinates to create a straight line object for the target platform. For the arc edge, extract the center, radius, start point, and end point, use the inverse transformation matrix to transform the center, start point, and end point to local coordinates, calculate the start angle and end angle and normalize them to the range of [0, 2π], determine the arc direction, and create the target platform arc object; For the ellipse edges, extract the center point, major axis radius, minor axis radius, start point, and end point. Use the inverse transformation matrix to transform the center point, start point, and end point to local coordinates, calculate the parameter angle range of the ellipse, determine the ellipse direction, and create the target platform ellipse object. For NURBS curve edges, extract control points, node vectors, and weights. Use the inverse transformation matrix to transform all control points to local coordinates, create a target platform NURBS curve object, and set the order, control points, nodes, and weights. The processing surfaces include planes, cylindrical surfaces, conical surfaces, surfaces of revolution, twisted surfaces, and regular surfaces. For planes, the origin, X-direction vector, and Y-direction vector are extracted. The origin, X-direction vector, and Y-direction vector are transformed to local coordinates using an inverse transformation matrix. The target platform plane object is created and the origin, U-direction, V-direction, and UV range are set. For a cylindrical surface, extract the axis, radius, and origin, construct a local coordinate system including the Z-axis as the axis direction, the X-axis as the cross product of a vector not orthogonal to the Z-axis, and the Y-axis as the cross product of the Z-axis and X-axis. Create a target platform cylindrical surface object and set the cross circle, origin, coordinate system direction, and range along the Z-axis. For a conical surface, extract the vertices, axis, and half angle; calculate the range of the frustum by traversing the boundary vertices to calculate the maximum and minimum distances along the axis; calculate the radius of the reference plane; create the target platform conical surface object and set the reference plane coordinate system, reference plane circle, height, and range. For a rotating surface, extract the rotation axis, origin, and contour curve, and construct the scan path, including creating a 3D circle as the rotation path with its center at the origin and its radius determined by the distance from the contour curve to the rotation axis. Project the contour curve onto a 2D plane, create a target platform rotating surface object, and set the scan path, contour, reference direction, and scan type. For twisted and regular surfaces, convert them to NURBS surfaces, extract control points, node vectors, and weights, create a target platform NURBS surface object, and set the control points, nodes, weights, and UV parameter ranges.

3. The method for extracting and exporting Revit-based project and family information as described in claim 1, characterized in that, In step S1, the active filtering includes filtering out elements in Revit that are not involved in the conversion.

4. The method for extracting and exporting Revit-based project and family information as described in claim 1, characterized in that, It also includes writing global data of project information, floor information, and building information to the target platform before step S5.

5. The method for extracting and exporting Revit-based project and family information as described in claim 1, characterized in that, It also includes validating the exported results, including completeness verification, accuracy verification, and efficiency verification.

6. The method for extracting and exporting Revit-based project and family information as described in claim 5, characterized in that, The integrity verification includes checking whether all building structures and electromechanical elements have been exported. The accuracy verification includes comparing whether the geometric dimensions and attribute information before and after the conversion are consistent; The efficiency verification includes testing the conversion time of large-scale elements.

7. The method for extracting and exporting project and family information based on Revit as described in claim 1, characterized in that, In step S4, for objects that the target platform can directly represent, the extracted features include at least one of the following: extruded surface sketch and extrusion height, revolved surface sketch and revolving axis, loft profile and loft path, top sketch, bottom sketch and height, start sketch, end sketch and loft path.

Citation Information

Patent Citations

  • Method based on revit group primitive model mutual conductance

    CN113902877A

  • Building information model automatic construction method and system and storage medium

    CN121259204A