CN112182699A - Information extraction method based on revit primitive model - Google Patents

Information extraction method based on revit primitive model Download PDF

Info

Publication number
CN112182699A
CN112182699A CN202010981292.7A CN202010981292A CN112182699A CN 112182699 A CN112182699 A CN 112182699A CN 202010981292 A CN202010981292 A CN 202010981292A CN 112182699 A CN112182699 A CN 112182699A
Authority
CN
China
Prior art keywords
information
revit
project
acquiring
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010981292.7A
Other languages
Chinese (zh)
Other versions
CN112182699B (en
Inventor
薛建英
张翼飞
刘洋
廖金鹏
韩云山
孟繁敏
郑亮
李建军
寇锦德
王梦洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanxi Zhongbei Jianxin Industrial Technology Research Institute Co ltd
North University of China
Original Assignee
Shanxi Zhongbei Jianxin Industrial Technology Research Institute Co ltd
North University of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanxi Zhongbei Jianxin Industrial Technology Research Institute Co ltd, North University of China filed Critical Shanxi Zhongbei Jianxin Industrial Technology Research Institute Co ltd
Priority to CN202010981292.7A priority Critical patent/CN112182699B/en
Publication of CN112182699A publication Critical patent/CN112182699A/en
Application granted granted Critical
Publication of CN112182699B publication Critical patent/CN112182699B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computer Graphics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to an information extraction method based on a revit primitive model, belongs to the technical field of building information models, and solves the technical problems of difficult information interaction and data loss among various specialties in the BIM technical development process. The solution is as follows: according to the invention, BIM mainstream software revit is adopted, secondary development is carried out based on API of BIM mainstream software, and a plug-in for extracting component model information is created, so that information reading and one-key export are facilitated; seamless mutual conductance between software can be carried out by utilizing the extracted information, so that the extraction and interaction of the revit model information are simpler and more efficient. On the basis of the prior art, format conversion among software is not limited, information interaction and data transmission are carried out by using an original primitive model carrying parameters, the problem of information fracture fault among software can be effectively solved, and the efficiency of data interaction in the BIM application technology is improved.

Description

Information extraction method based on revit primitive model
Technical Field
The invention belongs to the technical field of building information models, and particularly relates to an information extraction method based on a revit primitive model.
Background
The BIM technology is the development trend of the current building industry, the so-called BIM (building information model) technology is the digital expression of the whole physical facilities and functional characteristics of a project by using a three-dimensional parameterized building information model, so that the core of the BIM technology information is to realize information sharing and data interaction at each stage of the building project and improve the information interaction degree.
In the prior art, because BIM software interfaces are not uniform, the development of the BIM software interfaces is greatly restricted due to the problem of data loss, information islands still exist, the BIM technology does not fully realize data collaboration, and all parties in each stage from design to delivery and use still need a large amount of manual participation. Most of the BIM software used at present is foreign software, and the produced results do not accord with the Chinese standard specification, so that the model information in the BIM software is completely extracted to realize the interaction of data on different platforms, reduce the data loss and realize the data sharing, and the method has practical significance.
Disclosure of Invention
In order to overcome the defects of the prior art and solve the technical problems of difficult information interaction and data loss among various specialties in the BIM technology development process, the invention provides an information extraction method based on a revit primitive model, and provides a novel method for data interaction and transmission with high efficiency and feasibility on the basis of the prior art.
The design concept of the invention is as follows: according to the invention, BIM mainstream software revit is adopted, secondary development is carried out based on API of BIM mainstream software, and a plug-in for extracting component model information is created, so that information reading and one-key export are facilitated; seamless mutual conductance between software can be carried out by utilizing the extracted information, so that the extraction and interaction of the revit model information are simpler and more efficient.
The invention is realized by the following technical scheme.
An information extraction method based on a revit primitive model comprises the following steps:
s1, Revit three-dimensional modeling: building information model software REVIT is utilized to build a three-dimensional building model, and the three-dimensional building model comprises a plurality of unit projects;
s2, building a Revit secondary development platform:
the operation of the RevitAPI for realizing the software function expansion is in any one of the following two modes:
A. the interface through external command accomplishes: the interface of the external command has and only has an abstract function Excute, when the plug-in runs, the plug-in is called as a main function, and the plug-in creation is completed by adding a function code to be realized in the main function;
B. the following steps are completed through an interface of an external application: the interface of the external application has two abstract functions OnStartup and OnShutdown, and the establishment of the function is completed by reloading the OnStartup and OnShutdown abstract functions when an external command is used;
s3, extracting revit primitive model information:
the revit primitive model information comprises project information parameters and component parameters, the project information parameters comprise project benchmark information and project material library parameter information, and the revit primitive model information is extracted and executed by the following operations:
s31, acquiring project parameters:
firstly, acquiring basic properties of an item: including project name, project number, project release date and project address;
the second step is that: acquiring project reference primitive information: the method comprises the steps that an elevation axis network and a reference plane are included, the class corresponding to the elevation is Level and is inherited from an Element class, the elevation height is obtained through a Level.
Thirdly, acquiring the information of the project material library:
creating a collector and a filter, and calling a Wherepass function of the collector to filter elements;
traversing the element elements in the collector and converting the element elements into material, and acquiring material attribute information corresponding to each material element, wherein the material attribute information comprises UniqueId, name, RGB color and transparency;
obtaining the appearance attribute information of the Material, and obtaining the AperanceAssetId by utilizing the AperanceAssetId attribute of the Material; obtaining the appearance element through the appearance AssetId;
invoking a method AperanceAssetElement GetRenderingasset () to obtain an Asset set;
analyzing the acquired Asset set, analyzing each object AssetProperty in the set one by one, traversing the attributes in the AssetProperty one by one, and respectively acquiring the attribute values of the attributes;
sixth, the material information is packaged and called: packaging the material attribute information by establishing a List < Material model > GetMaterial (document revitDoc) set, and calling the method by a main function to realize the complete extraction of a material information base and write the material information base into a database for unified management;
s32, acquiring component attribute parameters:
firstly, creating a filter for filtering according to categories, and collecting each component by using a collector so as to obtain specific information of the corresponding component;
extraction of parameter information: the method comprises the steps that component parameter information comprises instance parameters and type parameters, firstly, traversed element elements are converted into familyinstance, parameter information of corresponding primitive instances is checked by using a LookUp, then, a get _ parameter (BuiltInParameter) method is called, parameters of family instances are obtained through enumeration according to a built-in parameter BuiltInParameter, parameter information contained in a component, including locating points, rotation angles, deformation matrixes and sizes, is extracted from a BIM (building information modeling) model, finally, attribute parameter information of the component is completely extracted and packaged, and calling is carried out through a main function;
extracting the geometric entity information of the component: acquiring geometric data of an entity object through an element.
A. For a family of systems: the geometry attribute directly contains the geometric entity of the example, and elements in the geometric entity can be directly traversed to acquire geometric data of the example;
B. for the standard family: the geometric data of the standard family is defined by a family file, the geometric data of the standard family is stored in a geotry instance, wherein the geometric data of the family type is obtained by a geotry instance GetSymbolGeometry method, and the geometric data of the family instance is obtained by a Getry instance GetInstance method;
when acquiring geometric data, firstly, acquiring a family type geometric element symbolgeometry, and sequentially acquiring the edge, the face and the body of the component by traversing the family type geometric elements layer by layer;
s33, acquiring component graphic information:
firstly, defining two list sets to store data in a classified manner, defining an XYZ list to store vertex coordinates of a triangular patch, and defining an Int list to store a face index of the triangular patch;
traversing each surface in the entity to convert the surface into a triangular surface patch;
obtaining the vertex coordinates of the triangular patch, and putting the vertex coordinates into an XYZ list;
and fourthly, corresponding the vertex coordinates to the index values: creating a dictionary, storing vertex coordinates of the triangular patch into the dictionary by traversing an XYZ list, removing repeated vertex coordinates, and finally obtaining an index value of a corresponding point coordinate by traversing the vertex coordinates in the dictionary;
s4, creating an information extraction plug-in:
create class libraries and add references: creating a class library, and sequentially adding a database API, an interface API, an application service API, an attribute API, a selection function API, a Windows form control and a namespace of data stream operation according to functions to be realized;
creating a transaction: submitting a series of operations for modifying the Revit model to an object of a document;
thirdly, compiling main codes: writing the main function code of the extracted information;
creating a plug-in button: firstly, adding an embedded panel, then calling a PushButton class to add a button control, and finally calling a Uri class to introduce a corresponding icon into a button;
registering and operating an expansion module: after the button is manufactured, writing an Add-in file as an internal starting file, so that the button can be led into the interior of Revit software;
sixthly, writing the path of the dll file and the ID of the dll generated by the component information extraction plug-in function program into the file, opening Revit software to obtain the plug-in of the extracted component information, and clicking the button to extract the BIM model component information.
Further, in the step S1, the unit project includes building, structure, and electromechanical installation.
Further, in step S2, the Revit plug-in call needs to complete registration by loading a Revit.
Further, in step S2, the tool used for building the Revit secondary development platform includes Visual Studio2017, Revit SDK, Revit Lookup and AddinManager.
The invention has the following beneficial effects:
the invention is not limited to format conversion among software any more, utilizes the original primitive model carrying parameters to carry out information interaction and data transmission, can effectively solve the problem of information fracture and fault among software, and provides a new idea for solving the problem of low data interaction efficiency in the prior BIM application technology.
Drawings
FIG. 1 is a general flow chart of data extraction according to the present invention;
FIG. 2 is a flow chart of the secondary development platform construction of the invention;
FIG. 3 is a flow chart of information extraction according to the present invention;
FIG. 4 is a flow chart of the present invention for creating plug-ins;
FIG. 5 is a view of a push button of the insert of the present invention;
FIG. 6 is a diagram illustrating an example of BIM model component information obtained by the method of the present invention.
Detailed Description
The invention is described in further detail below with reference to the figures and examples.
As shown in fig. 1 to fig. 6, an information extraction method based on a revit primitive model includes the following steps:
s1, Revit three-dimensional modeling: building information model software REVIT is utilized to build a three-dimensional building model, wherein the three-dimensional building model comprises a plurality of unit projects such as buildings, structures, electromechanical installation and the like;
s2, building a Revit secondary development platform:
the operation of the RevitAPI for realizing the software function expansion is in any one of the following two modes:
A. interface through external Command (IExternal Command) completes: the interface of the external command has and only has an abstract function Excute, when the plug-in runs, the plug-in is called as a main function, and the plug-in creation is completed by adding a function code to be realized in the main function;
B. this is done through the interface of an External Application (External Application): the interface of the external application has two abstract functions OnStartup and OnShutdown, and the establishment of the function is completed by reloading the OnStartup and OnShutdown abstract functions when an external command is used;
the method comprises the steps that a Revit plug-in call needs to complete registration by loading a Revit.
S3, extracting revit primitive model information:
the revit primitive model information comprises project information parameters and component parameters, the project information parameters comprise project benchmark information and project material library parameter information, and the revit primitive model information is extracted and executed by the following operations:
s31, acquiring project parameters:
firstly, acquiring basic properties of an item: including project name, project number, project release date and project address;
the second step is that: acquiring project reference primitive information: comprises an elevation axis network and a reference plane; the elevation is the benchmark of the whole building model, and most elements are positioned based on the elevation, such as walls, floors, ceilings, roofs and the like. The elevation corresponding to the Level is Level, inherits from an Element class, and acquires the elevation height through a Level.
Thirdly, acquiring the information of the project material library:
creating a collector materialcollecter and filter ElementClassFilter materialFilter, new ElementClassFilter (typeof (material)), and calling a collector's wheepases function to filter elements, the materialcollecter, new filteredexementcollector (revitDoc), wheepases (materialFilter);
traversing the element elements in the collector and converting the element elements into material, and acquiring material attribute information corresponding to each material element, wherein the material attribute information comprises UniqueId, name, RGB color and transparency;
foreach(Element element in MaterialCollector)
{
Material material=elem as Material;
materialModel.MaterialId=elem.UniqueId;
//...
}
obtaining Appearance attribute information Aperance of the Material, and obtaining AperanceAssetId by using the AperanceAssetId attribute of the Material; obtaining an appearance element appearance assessetlement element through appearance assesetId;
invoking a method AperanceAssetElement GetRenderingasset () to obtain an Asset set;
analyzing the acquired Asset set, analyzing each object AssetProperty in the set one by one, traversing the attributes in the AssetProperty one by one, and respectively acquiring the attribute values of the attributes;
sixth, the material information is packaged and called: packaging the material attribute information by establishing a set List < materialModel > GetMaterial (document revitDoc), and calling List < ApplieranceAssetModel > AppearareesLists which is GetAppeanceAssetElementsElements (revitDoc, library yAsset) by a main function performing method; the complete extraction of the material information base is realized, and the material information base is written into a database for unified management;
s32, acquiring component attribute parameters:
firstly, creating a filter for filtering according to categories, and collecting each component by using a collector so as to obtain specific information of the corresponding component; the core code is as follows:
ElementClassFilter wallFilter=new ElementClassFilter(typeof(Wall));
ElementClassFilter floorFilter=new ElementClassFilter(typeof(Floor));
extraction of parameter information: the method comprises the steps that component parameter information comprises instance parameters and type parameters, firstly, traversed element elements are converted into familyinstance, parameter information of corresponding primitive instances is checked by using a LookUp, then, a get _ parameter (BuiltInParameter) method is called, parameters of family instances are obtained through enumeration according to a built-in parameter BuiltInParameter, parameter information contained in a component, including locating points, rotation angles, deformation matrixes and sizes, is extracted from a BIM (building information modeling) model, finally, attribute parameter information of the component is completely extracted and packaged, and calling is carried out through a main function; the core code is as follows:
LocationPoint lp=elem.Location as LocationPoint;
double lp1=lp.Rotation/(Math.PI/180);
Transform transform=familyInstance.GetTransform();
columnHeight=familyInstance.get_Parameter(BuiltInParameter.INSTANCE_LENGTH_PARAM);
extracting the geometric entity information of the component: acquiring geometric data of an entity object through an element.
A. For a family of systems: the geometry attribute directly contains the geometric entity solid of the example, and elements in the geometric entity solid can be directly traversed to obtain geometric data of the example;
B. for the standard family: the geometric data of the standard family is defined by a family file, the geometric data of the standard family is stored in a geotry instance, wherein the geometric data of the family type is obtained by a geotry instance GetSymbolGeometry method, and the geometric data of the family instance is obtained by a Getry instance GetInstance method;
when acquiring geometric data, firstly, acquiring a family type geometric element symbolgeometry, and sequentially acquiring an edge, a face and a body of a component by traversing the family type geometric elements layer by layer;
the extraction flow chart and the core code are as follows:
Figure BDA0002687609320000061
s33, acquiring component graphic information:
the three-dimensional model is essentially presented in the form of a triangular mesh (mesh), and a geometry needs to be created by two attributes of triangular patch point coordinates (vertices) and face indices (faces). Therefore, obtaining the point coordinates and the face indexes of the triangular mesh is the key for realizing the cross-platform transmission of the data. The extraction of the graphic information still takes the graphic element as the center, and the information is associated to each graphic element component through the ID, and the specific steps are as follows:
firstly, defining two list sets to store data in a classified manner, defining an XYZ list to store vertex coordinates of a triangular patch, and defining an Int list to store a face index of the triangular patch; the core code is as follows:
List<XYZ>triangularPoints=new List<XYZ>();
List<int>index=new List<int>();
traversing each surface in the entity to convert the surface into a triangular surface patch; the core code is as follows:
foreach(Face face in solid.Faces)
{
Mesh mesh=face.Triangulate();
//...
obtaining the vertex coordinates of the triangular patch, and putting the vertex coordinates into an XYZ list; the core code is as follows:
For(int n=0;n<3;n++)
{
XYZ point=triangular.get_Vertex(n);
triangularPoints.Add(point);
}
and fourthly, corresponding the vertex coordinates to the index values: creating a dictionary, storing vertex coordinates of the triangular patch into the dictionary by traversing an XYZ list, removing repeated vertex coordinates, and finally obtaining an index value of a corresponding point coordinate by traversing the vertex coordinates in the dictionary;
Figure BDA0002687609320000071
s4, creating an information extraction plug-in:
functional plug-ins for automatically extracting building information models are manufactured on Revit software through custom programming interfaces, Revit API.DLL and Revit API.DLL of Revit2016 versions are quoted on a Visual Studio2017 platform, a part of naming space provided by Revit API is quoted, and plug-in development is realized by using C # language;
the information extraction function plug-in is used for extracting component information in a mode of expanding functions based on external application (Externalapplication), wherein the component information is started from the inside of Revit software through an Add-in file, called along with the starting of the Revit software and stopped along with the closing of the Revit software;
the method comprises the following specific steps:
create class libraries and add references: creating a class library, and sequentially adding a database API, an interface API, an application service API, an attribute API, a selection function API, a Windows form control and a namespace of data stream operation according to functions to be realized; the core code is as follows:
Using Autodesk.Revit.UI;
Using Autodesk.Revit.DB;
Using System.Windows.Forms;
Using System.IO;
creating Transaction transactions: submitting a series of operations for modifying the Revit model to an object of a document, wherein any one operation for modifying the document needs to be contained in an opened transaction belonging to the document, and otherwise, the operation is abnormally thrown out; the core code is as follows:
Figure BDA0002687609320000081
thirdly, compiling main codes: writing the main function code of the extracted information;
creating a plug-in button GetInfo: firstly, adding an embedded panel, then calling a PushButton class to add a button control, and finally calling a Uri class to introduce a corresponding icon into a button;
registering and operating an expansion module: after the button is manufactured, writing an Add-in file as an internal starting file, so that the button can be led into the interior of Revit software;
writing the path of the dll file and the ID of the dll generated by the component information extraction plug-in function program into the file, opening the Revit software to obtain the plug-in (shown in the figure) for extracting the component information, and clicking the button to extract the BIM model component information;
the core code of the XML file of addin is as follows:
<?xml version="1.0"encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Application">
<Name>ClickMe</Name>
<Assembly>E:\ECKF\TQXX\column\column\bin\Debug\column.dll</Assembly>
<ClientId>db506a0f-a313-4c6d-a7e6-459ee261a263</ClientId>
<FullClassName>column.Loader</FullClassName>
<VendorId>ADSK</VendorId>
</AddIn>
</RevitAddIns>。
further, in the step S1, the unit project includes building, structure, and electromechanical installation.
Further, in step S2, the Revit plug-in call needs to complete registration by loading a Revit.
Further, in step S2, the tool used for building the Revit secondary development platform includes Visual Studio2017, Revit SDK, Revit Lookup and AddinManager.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and the technical solutions of the embodiment are equally replaced by one or more technical parameters to form a new technical solution, which is also within the scope of the present invention; it will be apparent to those skilled in the art that various modifications and variations can be made in the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (4)

1. An information extraction method based on a revit primitive model is characterized by comprising the following steps:
s1, Revit three-dimensional modeling: building information model software REVIT is utilized to build a three-dimensional building model, and the three-dimensional building model comprises a plurality of unit projects;
s2, building a Revit secondary development platform:
the operation of the Revit API for realizing the software function expansion is in any one of the following two modes:
A. the interface through external command accomplishes: the interface of the external command has and only has an abstract function Excute, when the plug-in runs, the plug-in is called as a main function, and the plug-in creation is completed by adding a function code to be realized in the main function;
B. the following steps are completed through an interface of an external application: the interface of the external application has two abstract functions OnStartup and OnShutdown, and the establishment of the function is completed by reloading the OnStartup and OnShutdown abstract functions when an external command is used;
s3, extracting revit primitive model information:
the revit primitive model information comprises project information parameters and component parameters, the project information parameters comprise project benchmark information and project material library parameter information, and the revit primitive model information is extracted and executed by the following operations:
s31, acquiring project parameters:
firstly, acquiring basic properties of an item: including project name, project number, project release date and project address;
the second step is that: acquiring project reference primitive information: the method comprises the steps that an elevation axis network and a reference plane are included, the class corresponding to the elevation is Level and is inherited from an Element class, the elevation height is obtained through a Level.
Thirdly, acquiring the information of the project material library:
creating a collector and a filter, and calling a Wherepass function of the collector to filter elements;
traversing the element elements in the collector and converting the element elements into material, and acquiring material attribute information corresponding to each material element, wherein the material attribute information comprises UniqueId, name, RGB color and transparency;
obtaining Appearance attribute information of the Material, and obtaining an Appearance AssetId by utilizing the Appearance AssetId attribute of the Material; obtaining the Appearance element through the Appearance AssetId;
invoking a method AperanceAssetElement GetRenderingasset () to obtain an Asset set;
analyzing the acquired Asset set, analyzing each object AssetProperty in the set one by one, traversing the attributes in the AssetProperty one by one, and respectively acquiring the attribute values of the attributes;
sixth, the material information is packaged and called: packaging the material attribute information by establishing a List < Material model > GetMaterial (document revitDoc) set, and calling the method by a main function to realize the complete extraction of a material information base and write the material information base into a database for unified management;
s32, acquiring component attribute parameters:
firstly, creating a filter for filtering according to categories, and collecting each component by using a collector so as to obtain specific information of the corresponding component;
extraction of parameter information: the method comprises the steps that component parameter information comprises instance parameters and type parameters, firstly, traversed element elements are converted into familyinstance, parameter information of corresponding primitive instances is checked by using a LookUp, then, a get _ parameter (BuiltInParameter) method is called, parameters of family instances are obtained through enumeration according to a built-in parameter BuiltInParameter, parameter information contained in a component, including locating points, rotation angles, deformation matrixes and sizes, is extracted from a BIM (building information modeling) model, finally, attribute parameter information of the component is completely extracted and packaged, and calling is carried out through a main function;
extracting the geometric entity information of the component: acquiring geometric data of an entity object through an element.
A. For a family of systems: the geometry attribute directly contains the geometric entity of the example, and elements in the geometric entity can be directly traversed to acquire geometric data of the example;
B. for the standard family: the geometric data of the standard family is defined by a family file, the geometric data of the standard family is stored in a geotry instance, wherein the geometric data of the family type is obtained by a geotry instance GetSymbolGeometry method, and the geometric data of the family instance is obtained by a Getry instance GetInstance method;
when acquiring geometric data, firstly, acquiring a family type geometric element symbolgeometry, and sequentially acquiring the edge, the face and the body of the component by traversing the family type geometric elements layer by layer;
s33, acquiring component graphic information:
firstly, defining two list sets to store data in a classified manner, defining an XYZ list to store vertex coordinates of a triangular patch, and defining an Int list to store a face index of the triangular patch;
traversing each surface in the entity to convert the surface into a triangular surface patch;
obtaining the vertex coordinates of the triangular patch, and putting the vertex coordinates into an XYZ list;
and fourthly, corresponding the vertex coordinates to the index values: creating a dictionary, storing vertex coordinates of the triangular patch into the dictionary by traversing an XYZ list, removing repeated vertex coordinates, and finally obtaining an index value of a corresponding point coordinate by traversing the vertex coordinates in the dictionary;
s4, creating an information extraction plug-in:
create class libraries and add references: creating a class library, and sequentially adding a database API, an interface API, an application service API, an attribute API, a selection function API, a Windows form control and a namespace of data stream operation according to functions to be realized;
creating a transaction: submitting a series of operations for modifying the Revit model to an object of a document;
thirdly, compiling main codes: writing the main function code of the extracted information;
creating a plug-in button: firstly, adding an embedded panel, then calling a PushButton class to add a button control, and finally calling a Uri class to introduce a corresponding icon into a button;
registering and operating an expansion module: after the button is manufactured, writing an Add-in file as an internal starting file, so that the button can be led into the interior of Revit software;
sixthly, writing the path of the dll file and the ID of the dll generated by the component information extraction plug-in function program into the file, opening Revit software to obtain the plug-in of the extracted component information, and clicking the button to extract the BIM model component information.
2. The method for extracting information based on revit primitive model according to claim 1, wherein: in the step S1, the unit project includes building, structure, and electromechanical installation.
3. The method for extracting information based on revit primitive model according to claim 1, wherein: in step S2, the Revit plug-in call needs to complete registration by loading a Revit.
4. The method for extracting information based on revit primitive model according to claim 1, wherein: in step S2, the tool built and used by the Revit secondary development platform includes Visual Studio2017, Revit SDK, Revit Lookup and addin manager.
CN202010981292.7A 2020-09-17 2020-09-17 Information extraction method based on revit primitive model Active CN112182699B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010981292.7A CN112182699B (en) 2020-09-17 2020-09-17 Information extraction method based on revit primitive model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010981292.7A CN112182699B (en) 2020-09-17 2020-09-17 Information extraction method based on revit primitive model

Publications (2)

Publication Number Publication Date
CN112182699A true CN112182699A (en) 2021-01-05
CN112182699B CN112182699B (en) 2022-11-18

Family

ID=73921640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010981292.7A Active CN112182699B (en) 2020-09-17 2020-09-17 Information extraction method based on revit primitive model

Country Status (1)

Country Link
CN (1) CN112182699B (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860701A (en) * 2021-03-01 2021-05-28 成都理工大学 Non-modal frame data transmission system and method based on Revit
CN113609556A (en) * 2021-07-20 2021-11-05 国网河北省电力有限公司雄安新区供电公司 GIM format and XDB format lossless conversion method of basic C #, and base XDB format lossless conversion method
CN113744406A (en) * 2021-08-31 2021-12-03 中建五局第三建设有限公司 Revit-based component outer surface relation analysis method
CN113902877A (en) * 2021-09-30 2022-01-07 中北大学 Method for mutual conductance based on revit group primitive models
CN114239012A (en) * 2021-12-15 2022-03-25 成都飞机工业(集团)有限责任公司 RSA offline encryption technology suitable for CAA secondary development software
CN114398694A (en) * 2021-11-29 2022-04-26 中冶天工集团有限公司 Method for realizing rapid building information model based on Dynamo program
CN115097974A (en) * 2022-07-06 2022-09-23 成都建工第四建筑工程有限公司 Intelligent auxiliary consultation system and method for BIM (building information modeling)
CN115115787A (en) * 2022-07-22 2022-09-27 重庆筑信云智建筑科技有限公司 Method for converting two-dimensional drawing into 3D model based on DirectVR
CN116126809A (en) * 2023-04-19 2023-05-16 中亿丰数字科技集团有限公司 Building information model data storage conversion method based on national standard
CN116822486A (en) * 2023-04-28 2023-09-29 广州优比建筑咨询有限公司 Cheating behavior detection method, storage medium and device for Revit modeling examination

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130338971A1 (en) * 2012-06-13 2013-12-19 International Business Machines Corporation Building information management (bim) enablement platform of bim data model, data management services apis, restful apis for bim content and meta data hosting, format exchange, and workflow enablement
CN109408044A (en) * 2018-10-19 2019-03-01 宁波睿峰信息科技有限公司 A kind of integration method of BIM data and GIS data based on glTF
CN110096484A (en) * 2019-04-12 2019-08-06 华东师范大学 A kind of 3D model batch deriving method based on Revit
JP2019168976A (en) * 2018-03-23 2019-10-03 株式会社ジオ技術研究所 Three-dimensional model generation device
CN110414148A (en) * 2019-07-30 2019-11-05 中北大学 The cross-platform online method for visualizing of open BIM based on WebGL
CN110941871A (en) * 2019-12-16 2020-03-31 山东建筑大学 Automatic labeling method and system based on room information in Revit three-dimensional model

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130338971A1 (en) * 2012-06-13 2013-12-19 International Business Machines Corporation Building information management (bim) enablement platform of bim data model, data management services apis, restful apis for bim content and meta data hosting, format exchange, and workflow enablement
US20130339403A1 (en) * 2012-06-13 2013-12-19 International Business Machines Corporation Interoperability format translation and transformation between ifc architectural design file and simulation file formats
JP2019168976A (en) * 2018-03-23 2019-10-03 株式会社ジオ技術研究所 Three-dimensional model generation device
CN109408044A (en) * 2018-10-19 2019-03-01 宁波睿峰信息科技有限公司 A kind of integration method of BIM data and GIS data based on glTF
CN110096484A (en) * 2019-04-12 2019-08-06 华东师范大学 A kind of 3D model batch deriving method based on Revit
CN110414148A (en) * 2019-07-30 2019-11-05 中北大学 The cross-platform online method for visualizing of open BIM based on WebGL
CN110941871A (en) * 2019-12-16 2020-03-31 山东建筑大学 Automatic labeling method and system based on room information in Revit three-dimensional model

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A.H.OTI等: "Structural sustainability appraisal in BIM", 《AUTOMATION IN CONSTRUCTION》 *
张翼飞: "基于BIM+AR技术的建筑模型信息提取及应用研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 *
薛建英 等: "基于IFC的建筑模型信息提取研究及应用", 《土木工程新材料、新技术及其工程应用交流会论文集(上册)》 *
钟辉 等: "面向BIM模型二次开发数据提取与应用技术", 《沈阳建筑大学学报(自然科学版)》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860701B (en) * 2021-03-01 2023-06-30 成都理工大学 System and method for modeless frame data transmission based on Revit
CN112860701A (en) * 2021-03-01 2021-05-28 成都理工大学 Non-modal frame data transmission system and method based on Revit
CN113609556A (en) * 2021-07-20 2021-11-05 国网河北省电力有限公司雄安新区供电公司 GIM format and XDB format lossless conversion method of basic C #, and base XDB format lossless conversion method
CN113609556B (en) * 2021-07-20 2023-09-08 国网河北省电力有限公司雄安新区供电公司 GIM format and XDB format lossless conversion method based on C#
CN113744406A (en) * 2021-08-31 2021-12-03 中建五局第三建设有限公司 Revit-based component outer surface relation analysis method
CN113744406B (en) * 2021-08-31 2024-03-26 中建五局第三建设有限公司 Revit-based component outer surface relation analysis method
CN113902877A (en) * 2021-09-30 2022-01-07 中北大学 Method for mutual conductance based on revit group primitive models
CN113902877B (en) * 2021-09-30 2024-05-17 中北大学 Method for mutual conductance based on revit-family primitive model
CN114398694A (en) * 2021-11-29 2022-04-26 中冶天工集团有限公司 Method for realizing rapid building information model based on Dynamo program
CN114239012A (en) * 2021-12-15 2022-03-25 成都飞机工业(集团)有限责任公司 RSA offline encryption technology suitable for CAA secondary development software
CN115097974A (en) * 2022-07-06 2022-09-23 成都建工第四建筑工程有限公司 Intelligent auxiliary consultation system and method for BIM (building information modeling)
CN115097974B (en) * 2022-07-06 2024-05-31 成都建工第四建筑工程有限公司 BIM intelligent auxiliary consultation system and method
CN115115787A (en) * 2022-07-22 2022-09-27 重庆筑信云智建筑科技有限公司 Method for converting two-dimensional drawing into 3D model based on DirectVR
CN115115787B (en) * 2022-07-22 2024-04-16 重庆筑信云智建筑科技有限公司 DirectVR-based two-dimensional drawing to 3D model method
CN116126809A (en) * 2023-04-19 2023-05-16 中亿丰数字科技集团有限公司 Building information model data storage conversion method based on national standard
CN116822486A (en) * 2023-04-28 2023-09-29 广州优比建筑咨询有限公司 Cheating behavior detection method, storage medium and device for Revit modeling examination

Also Published As

Publication number Publication date
CN112182699B (en) 2022-11-18

Similar Documents

Publication Publication Date Title
CN112182699B (en) Information extraction method based on revit primitive model
CN112182698B (en) Depth extraction method based on revit wall body component
US8026910B2 (en) Offline optimization pipeline for 3D content in embedded devices
US7492364B2 (en) System and method for creating and updating a three-dimensional model and creating a related neutral file format
US20080163159A1 (en) System and method for extracting UML models from legacy applications
EP3163436A1 (en) Visual software modeling method based on software meta-view for constructing software view
CN108280291A (en) Reusable simulation model Interface design and interconnection method, device and computer equipment
WO2005089238A2 (en) Knowledge management system with integrated product document management for computer-aided design modeling
US20170235550A1 (en) General software modeling method to construct software models based on a software meta model
WO2003036469A2 (en) A template-based method and system for reverse engineering
CN112465958A (en) WebGL-based BIM model lightweight display method
CN114969586A (en) BIM (building information modeling) graphic engine loading method and device based on WEB side
CN113051650A (en) Real-time acquisition method and device for building information model component data
CN113778961B (en) Production management method, device and system for CIM model data
CN106250134A (en) The code automatic generation method of unicity language
CN109858059B (en) Application method of virtual reality technology based on CAD (computer-aided design) super-large model in hydropower station simulation
CN117077256A (en) Method for converting rvt format into b3d format, plug-in and system thereof
CN115981659B (en) IFC-based range structure tree reconstruction method
CN116483707A (en) Test method, test device, test apparatus, test program, and test program
CN110162731A (en) A kind of method that IFC model component spatial information is shown in Web
CN114443158B (en) Method, device, equipment and storage medium for processing BIM file based on Naviswerks software
CN115130186A (en) Method for quickly creating pipeline system based on modeling software
CN112182705B (en) BIM technology-based simulation model data analysis method
CN113486421A (en) Offshore wind power digital visual display method, system, medium and device
CN112015560A (en) Device for constructing IT infrastructure

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant