Revit model batch integration method and device based on CityMaker, storage medium and equipment

By creating target models, merging feature classes, establishing configuration files and integrating source models on the CityMaker platform, the problem of cumbersome manual operations in Revit model integration is solved, efficient and automated integration of the Revit model is achieved, and the integration efficiency is improved.

CN119129031APending Publication Date: 2024-12-13POWER CHINA KUNMING ENG CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411153665.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

During the integration of CityMaker's Revit model, a large amount of data needs to be manually operated, resulting in low processing efficiency and many repetitive operations, especially when processing large amounts of data, it is difficult to operate.

Method used

By creating a target model, merging feature classes of a single source model, establishing configuration files for batch integration of models, integrating source models into target models, and performing invalid data clearing, Revit attribute extraction and spatial index calculation when necessary, realize batches of Revit models of Revit models Integration.

Benefits of technology

The automatic integration of the Revit model is realized, the data structure is simplified, the integration time is reduced, the integration efficiency is improved, and the amount of manual operations is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119129031A_ABST
    Figure CN119129031A_ABST
Patent Text Reader

Abstract

The invention discloses a CityMaker-based Revit model batch integration method and device, a storage medium and equipment. The CityMaker-based Revit model batch integration method comprises the following steps of S1, creating a target model; s2, combining element classes of single source models; s3, establishing a configuration file for batch integration of the models; and S4, integrating the source model into a target model. According to the method, data structure simplification from the Revit model to the FDB model, directional automatic replacement and integration from the source FDB model to the target FDB model, optimization of the integrated FDB model, batch conversion from the attributes of the Revit model to the attributes of the FDB model, and batch automatic calculation of the spatial index and the spatial range of the FDB model can be realized. According to the method, idle computer resources can be fully utilized, the model integration time is greatly shortened, and the model integration efficiency is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of CityMaker data processing technology, and in particular to a method, device, storage medium, and equipment for batch integration of Revit models based on CityMaker. Background Art

[0002] Revit is a BIM software developed by Otech, and is currently the mainstream BIM modeling, analysis, and application platform at home and abroad. The BIM model created by Revit has many professional types, huge data volume, complex software operation, and relatively closed data format. In actual engineering applications, other software is needed to lightweight the data and operations of the Revit model, and convert and integrate multi-professional models to make the Revit model meet the actual needs of BIM application in engineering projects. CityMaker software can meet the above needs.

[0003] CityMaker is a BIM model integration and application platform developed by Weijingxing Technology Co., Ltd. The platform can integrate BIM data in various formats, realize lightweight BIM model application and customized development and network application at the model component level.

[0004] However, in the practice of Revit model integration based on CityMaker, there are a large number of Revit models, and the model integration operation tools provided by CityMaker software are limited. Moreover, these tools require operators to manually operate each model. In the actual model integration process, a lot of manual repetitive operations are required, and the work efficiency is low.

[0005] The original integration method of Revit model to FDB model in CityMaker requires manual merging of the large number of feature classes in the FDB model. The merged feature classes need to be manually integrated and replaced into the corresponding feature classes in the target FDB. Invalid data in each integrated feature class needs to be manually filtered and cleared. In addition, the attributes in Revit can only be viewed but not used. The spatial index and range of each feature class in the integrated FDB need to be manually calculated one by one. To achieve the above integration steps through the original functions of CityMaker, the data needs to be manually merged, replaced, cleared, extracted, and calculated one by one. When the amount of Revit model data to be integrated is large, each operation takes a lot of time.

[0006] When a large amount of data needs to be processed, there is greater operational difficulty. Summary of the invention

[0007] The present application provides a method, device, storage medium, and equipment for batch integration of Revit models based on CityMaker, which is used to solve the technical problems in the prior art that in the Revit model integration operation of CityMaker, various operations need to be performed manually according to the number of different Revit models, the processing efficiency is low, the same operation is repeated a large number of times, and there is great difficulty in operation when a large amount of data needs to be processed.

[0008] This application provides a method for batch integration of Revit models based on CityMaker, including the following steps:

[0009] Step S1: Create a target model: Generate an FDB format model of CityMaker software through a model generation operation. The internal hierarchical structure and attribute fields of the FDB format model are automatically generated through the model generation operation. The resulting FDB format model is used as a target model and only contains an empty data structure, which is used to integrate the source model of the subsequent steps.

[0010] Step S2: Merge feature classes of a single source model: Use the CityMaker plug-in to batch convert multiple Revit models into multiple FDB format models of CityMaker. Since each converted FDB model contains a large number of feature classes, the numerous feature classes in each FDB model are batch merged into one feature class through a merge operation, and the multiple FDB models obtained after the feature class merging are used as source models;

[0011] Step S3: Establish a configuration file for batch integration of models: extract the three-layer structure of data source, data set, and feature class in the target model in step S1 and the source model in step S2 through an extraction operation, establish a one-to-one mapping relationship list according to the three-layer structure of data source, data set, and feature class of the target model and the source model according to the integration requirements, and save the mapping relationship list as a configuration file;

[0012] Step S4: Integrate the source model into the target model: parse the configuration file through the parsing configuration operation, and integrate the source model into the target model in batches according to the parsing results.

[0013] Preferably, the method further comprises the following operations:

[0014] Step S5: Clear invalid data in the integrated model: Through the clearing operation, invalid data in the integrated target model is automatically cleared.

[0015] Preferably, the method further includes the following operations: Step S6: extracting Revit properties as common properties: parsing the Revit properties in binary format through property parsing operations, and extracting family names and type names in batches as common properties of the FDB model.

[0016] Preferably, the method also includes the following operations: Step S7: Calculate the spatial index and spatial range of the integrated model: By calculating the integration operation, calculate the spatial index and spatial range of each feature class in the integrated FDB model to obtain a Revit integrated model; to ensure that the model can be displayed normally.

[0017] Preferably, step S1 comprises the following steps:

[0018] Step S12: define the spatial reference system of the target FDB model in the configuration file, as well as the data set, feature class, and attribute field data structure contained therein to obtain a definition file;

[0019] Step S13: parsing the definition file of step S12 through a model generation operation to generate a target FDB model that meets the requirements. The FDB model is an empty data structure used to store models that need to be integrated in subsequent steps.

[0020] Preferably, step S3 comprises the following steps:

[0021] Step S32: extracting the three-layer structure of the target model, the source model's data source, the data set, and the feature class respectively through extraction operation;

[0022] Step S33: Create a one-to-one mapping relationship list for the target model structure and the three-layer structure of the source model extracted in step S32 to form a configuration file that meets the model batch integration requirements. The above operation can achieve accurate integration of data and improve the accuracy of the integrated data.

[0023] Another aspect of the present application further provides a Revit model batch integration device based on CityMaker, comprising:

[0024] Create a target model module, which is used to generate the FDB format model of CityMaker software through the model generation operation. The internal hierarchical structure and attribute fields of the FDB format model are automatically generated through the model generation operation; the obtained FDB format model is used as the target model, which only contains an empty data structure and is used to integrate the source model of the subsequent steps;

[0025] The module for merging feature classes of a single source model is used to batch convert multiple Revit models into multiple FDB format models of CityMaker using the CityMaker plug-in. Since each converted FDB model contains a large number of feature classes, the numerous feature classes in each FDB model are batch merged into one feature class through the merge operation, and the multiple FDB models obtained after the feature class merging are used as source models;

[0026] Establish a configuration file module for batch integration of models, which is used to extract the three-layer structure of data source, data set, and feature class in the target model in step S1 and the source model in step S2 through an extraction operation, establish a one-to-one mapping relationship list according to the three-layer structure of data source, data set, and feature class of the target model and the source model according to the integration requirements, and save the mapping relationship list as a configuration file;

[0027] The module for integrating source models into target models is used to parse configuration files through parsing operations, and integrate source models into target models in batches according to the parsing results.

[0028] Another aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed, the steps of the above-mentioned Revit model batch integration method based on CityMaker are implemented.

[0029] Another aspect of the present application provides a computer device, including a processor, a memory, and a computer program stored in the memory, characterized in that when the processor executes the computer program, the steps of the above-mentioned Revit model batch integration method based on CityMaker are implemented.

[0030] The beneficial effects of this application include:

[0031] 1) The CityMaker-based Revit model batch integration method provided in this application realizes data structure simplification from Revit model to FDB model, directional automatic replacement and integration of source FDB model to target FDB model, optimization of integrated FDB model, batch conversion of Revit model attributes to FDB model attributes, and batch automatic calculation of FDB model spatial index and spatial range through automatic merging of feature classes, automatic integration of model data, batch removal of invalid data, batch extraction of Revit attributes, and batch recalculation of spatial index.

[0032] 2) The CityMaker-based Revit model batch integration method provided in this application can realize the manual merging of feature classes with a large number and categories of FDB models. The merged feature classes need to be manually integrated and replaced one by one into the corresponding feature classes in the target FDB. The invalid data in each integrated feature class needs to be manually filtered and cleared to realize automated batch processing. By making full use of idle computer resources, the model integration time can be greatly reduced and the model integration efficiency can be effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1 A flow chart of the batch integration method of Revit models based on CityMaker provided for this application;

[0034] Figure 2 Provides an interface for creating a target model in an embodiment of the present application;

[0035] Figure 3 Provide the configuration file required to create the target model data structure in the embodiment of this application;

[0036] Figure 4 Provides an interface for merging feature classes of a single source model in an embodiment of the present application;

[0037] Figure 5 Provide an interface for extracting the three-layer structure of target model and source model data in the embodiment of this application;

[0038] Figure 6 Provide a configuration file for the integration relationship between the target model and the source model in the embodiment of this application;

[0039] Figure 7 Provide an interface for integrating a source model into a target model in an embodiment of the present application;

[0040] Figure 8 Provide an interface for clearing invalid data in the integrated model in the embodiment of this application;

[0041] Fig. 9 Provide an interface for extracting Revit properties as common properties in the embodiment of this application;

[0042] Fig.10 Provides an interface for calculating spatial index and spatial range in an embodiment of the present application;

[0043] Fig.11 A schematic diagram of the device module structure in an embodiment is provided for this application. DETAILED DESCRIPTION

[0044] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.

[0045] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0046] Technical features that are not used to solve the technical problems of the present application are all set or installed according to the commonly used methods in the prior art and will not be described here.

[0047] See also Figure 1 The Revit model batch integration method based on CityMaker provided in this application includes the following steps:

[0048] Step S1: Create a target model: Generate an FDB format model of CityMaker software through a model generation operation. The internal hierarchical structure and attribute fields of the FDB format model are automatically generated through the model generation operation. The resulting FDB format model is used as a target model and only contains an empty data structure, which is used to integrate the source model of the subsequent steps.

[0049] Step S2: Merge feature classes of a single source model: Use the CityMaker plug-in CityMakerRevitPlugin_2018_v8.0.171117.exe to batch convert multiple Revit models into multiple FDB format models of CityMaker. Since each converted FDB model contains a large number of feature classes, the numerous feature classes in each FDB model are batch merged into one feature class through a merge operation, and the multiple FDB models obtained after the feature class merging are used as source models;

[0050] Step S3: Establish a configuration file for batch integration of models: extract the three-layer structure of data source, data set, and feature class in the target model in step S1 and the source model in step S2 through an extraction operation, establish a one-to-one mapping relationship list according to the three-layer structure of data source, data set, and feature class of the target model and the source model according to the integration requirements, and save the mapping relationship list as a configuration file;

[0051] Step S4: Integrate the source model into the target model: parse the configuration file through the parsing configuration operation, and integrate the source model into the target model in batches according to the parsing results.

[0052] This method realizes automatic merging of feature classes of Revit models through various steps, and then establishes a one-to-one mapping relationship list between the target model and the source model's three-layer structure of data source, data set, and feature class as a configuration file. Then, through the parsing configuration operation, the parsed results of the configuration file are integrated into the source model in batches, thereby realizing batch integration of Revit models in CityMaker.

[0053] This method does not require manual operation on each model one by one, has high operating efficiency, and can accurately and efficiently realize batch integration of multiple Revit models.

[0054] Preferably, the method further comprises the following operations:

[0055] Step S5: Clear invalid data in the integrated model: Through the clearing operation, invalid data in the integrated target model is automatically cleared.

[0056] The invalid data in step S5 include model lines, elevation points, and temporary models generated during the Revit modeling process. The target FDB model integrated in step S4 still contains the above invalid data, which will affect the standardized operation of the model and need to be cleared. Based on the secondary development interface of CityMaker, an invalid data clearing program is developed, in which the features of the invalid models to be cleared are defined, and the defined invalid data can be cleared in batches and automatically through the program.

[0057] Preferably, the method also includes the following operations: Step S6: Extract Revit attributes as common attributes: parse the Revit attributes in binary format through the attribute parsing operation, and extract the family name and type name in batches as common attributes of the FDB model. The Revit attributes in step S6 include the component name, category, size, material and other information formed in the Revit modeling process. This information is an important basis for BIM application. After the Revit model is converted into the FDB model format of CityMaker, these attributes are converted into binary information that is difficult to read and apply in the FDB model and saved. Based on the secondary development interface of CityMaker, a batch attribute extraction program is developed to batch extract binary Revit attributes from a large number of FDB model components to improve the attribute information of the integrated target FDB model.

[0058] Preferably, the method also includes the following operations: Step S7: Calculate the spatial index and spatial range of the integrated model: By calculating the integration operation, calculate the spatial index and spatial range of each feature class in the integrated FDB model to obtain a Revit integrated model; to ensure that the model can be displayed normally.

[0059] Through the above steps, it is possible to clear invalid data in the integrated model, extract common attributes, and integrate spatial indexes and spatial ranges, thereby increasing the probability of normal model display and improving the integration processing effect.

[0060] Step S7: The spatial index and spatial range are key factors that affect whether the integrated target FDB model can be correctly rendered and displayed. After the integration of step S4 and the clearing of step (5), there is uncertainty in the spatial index and spatial range of the target model. Based on the secondary development interface of CityMaker, a batch processing program is developed to realize the batch and automatic calculation of the spatial index and spatial range in the target FDB model.

[0061] In a specific embodiment, the model generation operation is obtained through secondary interface development of CityMaker.

[0062] Preferably, step S1 comprises the following steps:

[0063] Step S12: define the spatial reference system of the source FDB model in the configuration file, as well as the data set, feature class, and attribute field data structure contained therein to obtain a definition file;

[0064] Step S13: parsing the definition file of step S12 through a model generation operation to generate a target FDB model that meets the requirements. The FDB model is an empty data structure used to store models that need to be integrated in subsequent steps.

[0065] Through the above operations, the spatial reference system of the FDB model, as well as the data structures of the datasets, feature classes, and attribute fields contained therein can be accurately defined, thus avoiding the omission of key data during the integration process and improving the integration accuracy.

[0066] Since the source model in step S2 comes from many BIM models created by Revit software in actual engineering projects, these models are batch converted into FDB models via the Revit plug-in provided by CityMaker. When multiple Revit models are converted into multiple corresponding FDB models, each FDB model contains a large number of feature classes. Such a complicated data structure is not conducive to data integration. Through the merge operation in step S2, multiple feature classes under the same data set in each FDB can be merged into one, and the model hierarchy can be simplified. The processed FDB models are used as source models in subsequent steps.

[0067] In a specific embodiment, the extraction operation, the merging operation, the analysis and preparation operation, the clearing operation, the analysis operation, and the calculation and integration operation are all developed through the secondary development interface of CityMaker.

[0068] Preferably, step S3 comprises the following steps:

[0069] Step S32: extracting the three-layer structure of the target model, the source model's data source, the data set, and the feature class respectively through extraction operation;

[0070] Step S33: Create a one-to-one mapping relationship list for the target model structure and the three-layer structure of the source model extracted in step S32 to form a configuration file that meets the model batch integration requirements. The above operation can achieve accurate integration of data and improve the accuracy of the integrated data.

[0071] Specifically, the parsing and configuration operation in step S4 can parse the Excel configuration file in step S3, and through the one-to-one correspondence in the configuration file, a feature class in the source FDB model is automatically transferred or appended to the feature class corresponding to the target FDB model. The processed target model is no longer an empty data structure, but a target FDB model that integrates multiple source FDB models.

[0072] Example

[0073] See also Figures 1 to 9 ,Step (1): Determine the FDB data structure of the target model to be created, including the data source name, dataset name and alias, dataset spatial coordinate system, feature class name and alias, feature class database field information (field name, field alias, field type, whether it can be empty, etc.). Then, based on the above settings, create an FDB data structure containing only empty data through the model generation operation as the target model, which is used to integrate the source model in the subsequent steps.

[0074] The specific examples are described as follows:

[0075] Model generation operation:

[0076] ①Create a new Excel file and add Figure 3 The six columns shown are "Serial number, target data source name (path), target dataset name | alias, target dataset spatial coordinate system, target feature class name | alias, target feature class field information". The "target feature class field information" can be configured with multiple fields. Each field is separated by "|", and each item of information in each field is separated by ",". After adding the six column headers, configure the data of each column according to the actual data. For example, the "target data source name (path)" is configured with the data "C:\Users\Administrator\Desktop\AA001AB01.fdb", the "target dataset name | alias" is configured with the data "AA001AB01AC01|Xiangjiang Road Municipal Engineering", the "target dataset spatial coordinate system" is configured with the data "CGCS2000", the "target feature class name | alias" is configured with the data "BA01|Road Engineering", and the "target feature class field information" is configured with the data "CON_Time_RealS,gviFieldDate,actual start time

[0077] |CON_Time_RealE,gviFieldDate,actual completion time".

[0078] ②Build based on WinForm in Visual Studio 2017 Figure 2In the interface, configure the location where the target FDB model needs to be saved in "FDB save path", and select the Excel file configured in the previous step in "Load excel configuration file".

[0079] ③Configure the secondary development environment of CityMaker and Aspose.Cells in Visual Studio 2017.

[0080] ④ Loop and call Worksheet.Cells.StringValue() of Aspose.Cells to obtain the value of the "target data source name (path)" column of each row in the selected Excel table, and pass it to CityMaker's IDataSourceFactory.CreateDataSource() to create the data source of the target FDB model. If the data source already exists in the next loop, it will not be created again. Through similar steps, obtain the remaining "target dataset name | alias, target dataset spatial coordinate system, target feature class name | alias, target feature class field information" data in the Excel table, and then call CityMaker's IDataSource.CreateFeatureDataset(), IFeatureDataSet.SpatialReference, IFeatureDataSet.CreateFeatureClass(), IFeatureClass.AddField(IFieldInfo) to complete the creation of the target FDB model and its data structure.

[0081] Step (2): Use the Revit plug-in of CityMaker to convert multiple Revit models into FDB data format. Then, through the merge operation, batch merge the numerous feature classes in each FDB model into one as the source model. The merge operation in the specific example is described as follows:…

[0082] ①Install CityMaker's Revit plug-in in Revit2018

[0083] CityMakerRevitPlugin_2018_v8.0.171117.exe, open the professional Revit models of Xiangjiang Road municipal engineering such as roads, pipeline projects, sponge projects, etc. in Revit2018, and export each professional Revit model into FDB format models through the installed plug-in.

[0084] ②Build based on WinForm in Visual Studio 2017 Figure 4In the "Load FDB (multiple selection)" interface, select the models in the FDB format exported in the previous step.

[0085] ③Configure the secondary development environment of CityMaker in Visual Studio 2017.

[0086] ④ Call CityMaker's IFeatureClass.GetCount() to obtain the number of records of each feature class in the dataset, and select the feature class with the largest number of records as the target feature class. Loop call IFeatureClass.GetFields() to obtain the fields of feature classes other than the target feature class, and call IFeatureClass.AddField(IFieldInfo) to add the fields that are not included in the target feature class to the target feature class. Loop call IRowBuffer.GetValue() for feature classes other than the target feature class to obtain their record values, call IRowBuffer.SetValue() for the target feature class, and merge the obtained record values ​​into the target feature. After all records are merged, call IFeatureDataSet.DeleteByName() to delete the merged feature class.

[0087] Step (3): Extract the target model of step (1) and the source model of step (2) in batches by using the extraction operation. In the Excel file, the target model and the source model are matched one by one with the data source, data set, and feature class of the three-layer structure according to the integration requirements. The corresponding Excel file is saved as a configuration file. The extraction operation in the specific example is described as follows:

[0088] ①Build based on WinForm in Visual Studio 2017 Figure 5 In the interface, select the target model processed in step (1) and the source model processed in step (2) in "Select FDB file". In "txt save path", set the path of the txt file where the three-layer structure information of the extracted full path, dataset name, and feature class name is saved.

[0089] ③Configure the secondary development environment of CityMaker in Visual Studio 2017.

[0090] ④ Call Path.GetFileName(), IDataSource.GetFeatureDatasetNames(), and IFeatureDataSet.GetNamesByType() for the target model and source model respectively to obtain the full path, dataset name, and feature class name, and call File.WriteAllLines() to save the obtained information to a txt file.

[0091] ⑤Create a new Excel file and add Figure 6 The eight columns shown are "Serial number, Replace (0) or Append (1), Source model data source, Source model dataset, Source model feature class, Target model data source, Target model dataset, Target model feature class". The three items of information "Full path, dataset name, Feature class name" in the txt file of the source model obtained in the previous step are copied to the three columns "Source model data source, Source model dataset, Source model feature class" in the Excel file respectively. On this basis, for each row of source model information in Excel, find the "Full path, dataset name, Feature class name" of the target model to be merged in the txt file of the target model obtained in the previous step, and copy them one by one to the Excel table for one-to-one correspondence. In addition, "Replace (0) or Append (1)" means that for the existing record data in the target feature class, you can choose to replace it or append it after the existing data.

[0092] Step (4): parse the Excel configuration file generated in step (3) through the parsing and configuration operation, and integrate the source model into the target model in batches. The parsing and configuration operation in the specific example is described as follows:

[0093] ①Build based on WinForm in Visual Studio 2017 Figure 7 In the Load Configuration File window, select the Excel file that has been configured one by one in the previous step.

[0094] ②Configure the secondary development environment of CityMaker and Aspose.Cells in Visual Studio 2017.

[0095] ③ Call Aspose.Cells.StringValue() cyclically to obtain each row of data in the selected Excel file, call IResourceManager.GetImage() for the source dataset to obtain the source model texture, and call IResourceManager.AddImage() for the target dataset to add the obtained source model texture to the target dataset. Similarly, call IResourceManager.GetModel() of the source dataset and IResourceManager.AddModel() of the target dataset to add the source model singleton from the source dataset to the target dataset. On this basis, call IRowBuffer.GetValue() cyclically for the source feature class to obtain its record value, call IRowBuffer.SetValue() for the target feature class, and merge the obtained record value into the target feature. In addition, for the target feature class with "0" in the "Replace (0) or Append (1)" column, you need to call IFeatureClass.Delete() to delete the existing record data before performing the above merge operation.

[0096] Step (5): Automatically clear invalid data such as model lines and elevation points in the target model integrated in step (4) through the clearing operation. The clearing operation in the specific example is described as follows: ...

[0097] ①Build based on WinForm in Visual Studio 2017 Figure 8 In the interface, select the target model integrated in step (4) in "Load FDB". In "Delete Condition", configure the characteristics of the record data in the feature class to be deleted. For example, configuring "Category = Line | Category = Elevation Point" means deleting the record data whose value of the field "Category" is "Line" or "Elevation Point" from the feature class.

[0098] ②Configure the secondary development environment of CityMaker in Visual Studio 2017.

[0099] ③Call IQueryFilter.WhereClause to set the deletion statement according to the configured "deletion condition", input the set IQueryFilter into IFeatureClass.Update(), obtain the record data that meets the "deletion condition", and call IFdeCursor.DeleteRow() cyclically to delete the obtained record data one by one.

[0100] Step (6): Through the secondary developed parsing property operation, batch extract the binary format Revit properties in the target model processed in step (5), and batch extract the family name, type name, etc. as common properties of the FDB model. The parsing property operation in the specific example is described as follows:

[0101] ①Build based on WinForm in Visual Studio 2017 Fig. 9 In the interface, select the target model processed in step (5) in "Load FDB (multiple selection)". In "P field name to be extracted", configure the name of the Revit attribute field to be extracted, and use "|" to separate each field. If the field already exists in the feature class of the existing FDB model, the value of the record data in the existing field will be overwritten by replacement.

[0102] ②Configure the secondary development environment of CityMaker and System.Xml in Visual Studio 2017.

[0103] ③Call IFieldInfoCollection.IndexOf() to determine whether the feature class already contains the "P field name to be extracted". If not, call IFeatureClass.AddField() to add it. If it exists, overwrite the value of the record data in the existing field by replacing it.

[0104] ③Call IRowBuffer.GetValue() to obtain the value of the "Properties" field in the feature class, call IBinaryBuffer.AsByteArray() to convert the obtained field value into a string, call XmlDocument.LoadXml() to parse the converted string, call XmlNode to filter out the field name and field value configured in the "P field name to be extracted" from the parsed result, and call IRowBuffer.SetValue() to save the filtered result to the feature class.

[0105] Step (7): Through the calculation and integration operation of secondary development, the spatial index and spatial range of each feature class in the target model processed by step (6) are automatically calculated so that the model can be displayed normally. The calculation and integration operation in the specific example is described as follows:

[0106] ①Build based on WinForm in Visual Studio 2017 Fig.10 In the “Load FDB” window, select the target model processed in step (6).

[0107] ②Configure the secondary development environment of CityMaker in Visual Studio 2017.

[0108] ③Call IFeatureClass.CalculateDefaultGridIndex() and IFeatureClass.CalculateDefaultRenderIndex() to calculate the spatial index and rendering index of the feature class respectively. On this basis, call IFeatureClass.AddSpatialIndex() and IFeatureClass.AddRenderIndex() to add the calculation results, and call IFeatureClass.

[0109] RebuildSpatialIndex() and IFeatureClass.RebuildRenderIndex() reconstruct the appended index.

[0110] ④Call IFeatureClass.CalculateExtent() and IFeatureClass.UpdateExtent() to recalculate the spatial extent of the reconstructed indexed features.

[0111] The above method and existing manual operation were used to process the Xiangjiang Road municipal engineering project, the Rainbow Road municipal engineering project, and the Kaixinjiu Road municipal engineering project models, respectively. The processing time required was 3 hours and 48 hours respectively, which greatly shortened the processing time.

[0112] The above describes a method and process for batch integration of Revit models based on CityMaker. For actual projects that require the integration of a large number of Revit models based on CityMaker, the above steps can be used to automatically process all the Revit models involved in batches.

[0113] See also Fig.11 Another aspect of the present application further provides a Revit model batch integration device based on CityMaker, comprising:

[0114] Create a target model module, which is used to generate the FDB format model of CityMaker software through the model generation operation. The internal hierarchical structure and attribute fields of the FDB format model are automatically generated through the model generation operation; the obtained FDB format model is used as the target model, which only contains an empty data structure and is used to integrate the source model of the subsequent steps;

[0115] The module for merging feature classes of a single source model is used to batch convert multiple Revit models into multiple FDB format models of CityMaker using the CityMaker plug-in. Since each converted FDB model contains a large number of feature classes, the numerous feature classes in each FDB model are batch merged into one feature class through the merge operation, and the multiple FDB models obtained after the feature class merging are used as source models;

[0116] Establish a configuration file module for batch integration of models, which is used to extract the three-layer structure of data source, data set, and feature class in the target model in step S1 and the source model in step S2 through an extraction operation, establish a one-to-one mapping relationship list according to the three-layer structure of data source, data set, and feature class of the target model and the source model according to the integration requirements, and save the mapping relationship list as a configuration file;

[0117] The module for integrating source models into target models is used to parse configuration files through parsing operations, and integrate source models into target models in batches according to the parsing results.

[0118] Another aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed, the steps of the above-mentioned Revit model batch integration method based on CityMaker are implemented.

[0119] For example, a memory including instructions, which can be executed by a processor to implement the device control method in the above embodiment. For example, the computer readable storage medium can be a read only memory (ROM), a random access memory (RAM), a compact disc read only memory (CDROM), a magnetic tape, a floppy disk, and an optical data storage device.

[0120] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0121] Another aspect of the present application provides a computer device, including a processor, a memory, and a computer program stored in the memory, characterized in that when the processor executes the computer program, the steps of the above-mentioned Revit model batch integration method based on CityMaker are implemented.

[0122] The electronic device may be provided as a server, which may be a cloud server, a host or a personal computer, etc. The server may implement the steps of the above-mentioned wireless station large-area fault priority protection method by a general bus architecture.

[0123] Although the present invention has been described in detail with reference to the aforementioned embodiments, it is still possible for those skilled in the art to modify the technical solutions described in the aforementioned embodiments, or to make equivalent substitutions for some of the technical features therein. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for batch integration of Revit models based on CityMaker, characterized in that: The following steps are involved: Step S1: Create a target model: Generate an FDB format model of CityMaker software through a model generation operation. The internal hierarchical structure and attribute fields of the FDB format model are automatically generated through the model generation operation. The resulting FDB format model is used as a target model and only contains an empty data structure, which is used to integrate the source model of the subsequent steps. Step S2: Merge feature classes of a single source model: Use the CityMaker plug-in to batch convert multiple Revit models into multiple FDB format models of CityMaker. Since each converted FDB model contains a large number of feature classes, the numerous feature classes in each FDB model are batch merged into one feature class through a merge operation, and the multiple FDB models obtained after the feature class merging are used as source models; Step S3: Establish a configuration file for batch integration of models: extract the three-layer structure of data source, data set, and feature class in the target model in step S1 and the source model in step S2 through an extraction operation, establish a one-to-one mapping relationship list according to the three-layer structure of data source, data set, and feature class of the target model and the source model according to the integration requirements, and save the mapping relationship list as a configuration file; Step S4: Integrate the source model into the target model: parse the configuration file through the parsing configuration operation, and integrate the source model into the target model in batches according to the parsing results.

2. The method for batch integration of Revit models based on CityMaker according to claim 1, characterized in that: The method also includes the following operations: Step S5: Clear invalid data in the integrated model: Through the clearing operation, invalid data in the integrated target model is automatically cleared.

3. The method for batch integration of Revit models based on CityMaker according to claim 2, characterized in that: The method also includes the following operations: Step S6: extracting Revit properties as common properties: parsing Revit properties in binary format through property parsing operations, and extracting family names and type names in batches as common properties of the FDB model.

4. The method for batch integration of Revit models based on CityMaker according to claim 3, characterized in that: The method also includes the following operations: Step S7: Calculate the spatial index and spatial range of the integrated model: By calculating the integration operation, calculate the spatial index and spatial range of each feature class in the integrated FDB model to obtain a Revit integrated model; to ensure that the model can be displayed normally.

5. The method for batch integration of Revit models based on CityMaker according to claim 1, characterized in that: Step S1 includes the following steps: Step S12: define the spatial reference system of the target FDB model in the configuration file, as well as the data set, feature class, and attribute field data structure contained therein to obtain a definition file; Step S13: parsing the definition file of step S12 through a model generation operation to generate a target FDB model that meets the requirements. The FDB model is an empty data structure used to store models that need to be integrated in subsequent steps.

6. The method for batch integration of Revit models based on CityMaker according to claim 1, characterized in that: Step S3 includes the following steps: Step S32: extracting the three-layer structure of the target model, the source model's data source, the data set, and the feature class respectively through extraction operation; Step S33: Create a one-to-one mapping relationship list for the target model structure and the three-layer structure of the source model extracted in step S32 to form a configuration file that meets the model batch integration requirements. The above operation can achieve accurate integration of data and improve the accuracy of the integrated data.

7. A Revit model batch integration device based on CityMaker, characterized in that: include: Create a target model module, which is used to generate the FDB format model of CityMaker software through the model generation operation. The internal hierarchical structure and attribute fields of the FDB format model are automatically generated through the model generation operation; the obtained FDB format model is used as the target model, which only contains an empty data structure and is used to integrate the source model of the subsequent steps; The module for merging feature classes of a single source model is used to batch convert multiple Revit models into multiple FDB format models of CityMaker using the CityMaker plug-in. Since each converted FDB model contains a large number of feature classes, the numerous feature classes in each FDB model are batch merged into one feature class through the merge operation, and the multiple FDB models obtained after the feature class merging are used as source models; Establish a configuration file module for batch integration of models, which is used to extract the three-layer structure of data source, data set, and feature class in the target model in step S1 and the source model in step S2 through an extraction operation, establish a one-to-one mapping relationship list according to the three-layer structure of data source, data set, and feature class of the target model and the source model according to the integration requirements, and save the mapping relationship list as a configuration file; The module for integrating source models into target models is used to parse configuration files through parsing operations, and integrate source models into target models in batches according to the parsing results.

8. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed, the steps of the above-mentioned Revit model batch integration method based on CityMaker are implemented.

9. A computer device, characterized in that: The method comprises a processor, a memory and a computer program stored in the memory, wherein when the processor executes the computer program, the steps of the above-mentioned method for batch integration of Revit models based on CityMaker are implemented.