Standardized IFC entity data processing method
By converting the IFC model to IFC4 format, aligning the geometric expression accuracy and units, splitting it into single components and desensitizing it, the unit differences and security risks when merging IFC models are resolved, and efficient and accurate data processing is achieved.
Patent Information
- Application Number
- CN202510717057.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-10-14
AI Technical Summary
Existing IFC entity data processing methods have model merging errors, data inconsistencies and security risks caused by inconsistent units. They also rely on manual operations, which are inefficient and make it difficult to ensure the integrity and accuracy of the split components.
Through standardized IFC entity data processing methods, including converting different BIM software models into IFC4 format, aligning geometric expression accuracy and measurement units, splitting them into single building component entities, and desensitizing sensitive information, a multi-format visual data set is finally generated.
It solves the problem of unit system differences when merging different software models, ensures the interoperability and analysis accuracy of the models, improves the efficiency and accuracy of component splitting, and reduces safety risks.
Smart Images

Figure CN120780762A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of building information model data processing, and particularly relates to a standardized IFC entity data processing method. BACKGROUND
[0002] With the wide application of building information model (BIM) technology, IFC (Industry Foundation Classes) as an open data exchange format recognized by the International Organization for Standardization (ISO) plays an important role in data exchange in the whole life cycle of buildings. However, the existing IFC entity data processing method has many problems, which seriously restricts the efficient application of BIM technology.
[0003] At present, the data sources of IFC models are diverse. Due to different BIM software, such as Revit, Tekla, Archicad, etc., the models generated by these software have significant differences in geometric expression and measurement units, leading to inconsistent data. For example, different software may use different unit systems such as feet, inches, meters, and millimeters, which causes errors when merging or comparing models, affecting the interoperability and integration of data. In addition, models often contain a large amount of sensitive information, and if not effectively desensitized, it may cause security and compliance risks, and obstacles to data sharing and circulation. In addition, the existing IFC entity data processing method mostly relies on manual operation, which is not only inefficient but also prone to errors. For example, in the model splitting process, for the splitting of complex components such as curtain walls, stairs, ramps, and roofs, geometric boundaries and functional characteristics need to be considered comprehensively, and manual splitting is prone to classification errors and difficult to ensure the integrity and accuracy of the split components. SUMMARY
[0004] The purpose of the present application is to provide a standardized IFC entity data processing method, which aligns the geometric expression precision and measurement units of the IFC model dataset, effectively solving the problem of errors in IFC model merging or comparison due to different software using different unit systems.
[0005] The technical solution adopted by the present application is a standardized IFC entity data processing method, which specifically includes the following steps: Step 1, obtaining an original BIM model and performing preprocessing to obtain an IFC model dataset; Step 2, aligning the geometric expression precision and measurement units of the IFC model dataset in step 1, and performing sensitive information desensitization processing on the IFC model; Step 3, the IFC model processed in step 2 is split to obtain a single building component entity; Step 4, the geometric expression information of the single building component entity in step 3 is standardized, and the standardized geometric expression information is obtained; Step 5, the standardized geometric expression information in step 4 is format-converted and de-duplicated; Step 6, the data file generated in step 5 is subjected to multi-view rendering strategy and visual data generation to obtain a multi-format data set for further analysis.
[0006] The application is also characterized in that, The specific process of step 1 is as follows: Step 1.1, collect several original BIM models of different types from several BIM software to ensure data diversity, then uniformly convert the original BIM models of different types into IFC4 standard format, and form an initial IFC model set; The BIM software includes Revit, Tekla, Bentley, CATIA, Archicad, SketchUp; The specific process of uniformly converting the original BIM models of different types into IFC4 standard format is as follows: For BIM software native formats supporting API, automatically export IFC files through the API interface of each software, map software family types to IFC entities, and retain material parameters; For BIM software native formats not supporting API, parse the geometry kernel through the IfcOpenShell library, extract geometric information, reconstruct IFC entity attributes, and then generate IFC4 files conforming to the buildingSMART standard, ensuring that the geometry and semantic information of non-standard format models are not lost; The initial IFC model set is as follows: (1) Wherein, M represents the initial IFC model set, represents a single IFC model in the set; Step 1.2, according to the initial IFC model set obtained in step 1.1, building classification is performed, and the specific process is as follows: Step 1.2.1, according to the IFC model set obtained in step 1.1, extract IFC model metadata and geometric features as classification basis, then use decision tree algorithm to build classification model, analyze features and recommend candidate categories; Step 1.2.2, secondary artificial classification, domain experts perform secondary verification on the classification results in step 1.2.1, and correct the misjudgment results.
[0007] Step 1.3, IFC model integrity screening and preliminary processing, the specific process is as follows: Step 1.3.1, define the IFC model integrity and compliance screening standards, including: Core component existence screening standard: each IFC model contains at least 3 identifiable IFC standard building elements.
[0008] Attribute compliance screening standard: component attributes comply with IFC4 specification; Unit preliminary screening standard: metric unit is SI; Step 1.3.2, according to the standards in step 1.3.1, screen the IFC models classified in step 1.2, the specific process is as follows: First, according to the core component existence screening standard and the attribute compliance screening standard in step 1.3.1, screen the IFC models, retain the valid IFC models that meet both the core component existence screening standard and the attribute compliance screening standard, and eliminate invalid IFC models that do not meet any of the core component existence screening standard and the attribute compliance screening standard; Step 1.3.3, according to the valid IFC models retained in step 1.3.2, generate structured IFC model dataset, and store it by building category.
[0009] The specific process of step 2 is as follows: Step 2.1, get the IFC model dataset preprocessed in step 1, unify the geometric expression precision of IFC model, as follows: Use open source tools to traverse the geometric representation context of IFC model, set the geometric precision of all IFC models to a predefined unified standard, and ensure the geometric precision of all IFC models is consistent; The predefined unified standard is as follows: the coordinate precision value of IFC model is set to 1 × 10 −5 Meters, the vertex coordinate error is not more than 0.01 millimeter; Step 2.2, convert the metric unit of IFC model in step 2.1 with unified geometric expression precision, as follows: Step 2.2.1, identify all properties containing metric values in IFC model, for each IFC model, define a conversion function, as follows: (2) Where g represents the conversion function; m i Represents a single IFC model in the set; V(m i ) represents the set of original unit metric values in the model; V'(m i) represents a set of measurement values converted into SI units; Step 2.2.2, the conversion function g defined by step 2.2.1 drives the tool to realize batch conversion, ensuring unit uniformity; Step 2.3, the IFC model measured in step 2.2 is processed for information desensitization, as follows: Step 2.3.1, header information desensitization, specifically: replace the header information of the IFC model processed in step 2.2 with default values; Step 2.3.2, location information desensitization, specifically: reset the location information of the IFC model processed in step 2.2, set the origin of the IFC model's world coordinate system to (0.0, 0.0, 0.0), and clear the TrueNorth data.
[0010] Step 2.3.3, description information desensitization, specifically: process the description information of the IFC model processed in step 2.2 by choosing one of the following two ways: fuzzification processing and deletion processing; Step 2.3.4, entity information desensitization, specifically: process the entity information of the IFC model processed in step 2.2 by choosing one of the following two ways: replacing with a generic name and replacing with a random anonymous code.
[0011] The specific process of step 3 is as follows: Step 3, split the IFC model processed in step 2 to obtain single building component entities, as follows: Step 3.1, obtain the IFC model processed in step 2, identify building elements and split single building component entities, as follows: Step 3.1.1, basic component splitting, specifically: based on graph structure analysis algorithm and IFC parsing tool, decompose the IFC model processed in step 2 into single building component entities, and define a splitting function, as follows: (3) Where D represents the splitting function; represents the single building component entity after splitting; k is the total number of components contained in the IFC model The specific process of decomposing the IFC model into single building component entities based on graph structure analysis algorithm and IFC parsing tool is as follows: By traversing the hierarchical structure of the IFC model, according to the type attribute of the component, preliminary separation is performed, and in the splitting process, a component entity data structure is established, as follows: (4) Where For component unique identification, generated based on IFC global ID; For component type; For storing geometry information; For attribute information; Step 3.1.2, detailed division of special components: for special components, detailed division of sub-component hierarchy is carried out according to their geometric boundaries and functional characteristics; The specific process of detailed division of sub-component hierarchy is as follows: Firstly, identify the sub-component type based on IFC entity attributes, secondly, use the topology algorithm of B-Rep to analyze IFC geometry data, extract the interface coordinates or equations of adjacent sub-components, then according to the specification, divide the special component into several functional areas, each functional area meets the specification and has clear engineering significance, finally establish the association relationship between sub-components through three-dimensional coordinate offset and mechanical transmission path; Step 3.1.3, component splitting with opening features, specifically: for components containing openings, define the opening geometric feature set, then analyze the geometric relationship between the opening and the main component, define the relationship identifier, based on the opening recognition algorithm of CSG tree, separate the main component and the opening component, establish the bidirectional association attribute, realize the extraction and splitting of the main component and the opening component. After the splitting operation is completed, perform geometric integrity check to verify the boundary integrity of the main component after splitting.
[0012] Opening geometric feature set, specifically as follows: (5) Wherein, P=(x, y, z) is the opening center point coordinate based on the global coordinate system, S is the opening shape identifier, and D is the opening size; The bidirectional association attribute is specifically represented as follows: The main component attribute is represented as: (6) The opening component attribute is represented as: (7) Wherein, is the opening component; is the main component; Step 3.1.4, ProxyEntities processing, specifically: for ProxyEntities, firstly, preliminarily classify according to the position, geometric shape and connection relationship with other components of ProxyEntities in IFC model, specifically as follows: Firstly, define the proxy entity attribute set, specifically as follows: (8) Wherein, is the minimum bounding box coordinate; is the geometry description; is the connection relationship list; Next, the domain expert verification is carried out, and first, a preliminary classification report is generated, as follows: (9) wherein, is the agent entity ID; is the attribute set; is the algorithm suggestion type; Then, an expert feedback mechanism is established, and the report is handed over to the domain expert. The expert further marks and checks by viewing the model context, design documents, etc., and outputs the correction result; The expert feedback mechanism is as follows: (10) wherein, is the final correct type; is the correction reason; Step 3.2, the split result in step 3.1 is stored in a structured manner, as follows: The split single building component entity is stored as an independent IFC file according to the category, forming a component-level dataset, as follows: (11) wherein, E represents the component-level dataset; e i represents a single building component.
[0013] The specific process of step 4 is as follows: Step 4.1, the single building component entity obtained by splitting the IFC model in step 3 is obtained, and the single building component position and direction are standardized, as follows: 4.1.1, single building component position standardization, specifically: obtaining the single building component entity obtained by splitting the IFC model in step 3, aligning the global coordinate system, resetting the local coordinate system origin of each single building component to the global coordinate system origin (0.0, 0.0, 0.0) through the position resetting function, clearing Axis and RefDirection, and ensuring uniform reference positioning of all single building components. The position resetting function is defined as follows: (12) wherein, is the component placement parameter; Step 4.1.2: Standardize the orientation of a single building component. Specifically, perform orientation consistency correction, unify the axial direction of the component's local coordinate system, and ensure that the orientation description of all components is consistent with the global coordinate system. At the same time, traverse the component's geometric representation. If a local coordinate system definition exists, reset its axial parameters to the standard direction and clear non-standard orientation parameters.
[0014] The standard directions of the axial parameters are as follows: The Z-axis direction is set to (0.0, 0.0, 1.0), which corresponds to the vertical direction of the global coordinate system, that is, the direction in which the coordinate value increases is vertically upward; the X-axis direction is set to (1.0, 0.0, 0.0), which corresponds to the horizontal direction of the global coordinate system; Step 4.2: Standardize the geometric representation of a single building component as follows: Step 4.2.1: Filter non-core geometry items. Specifically, remove the representation items of a single building component that are not related to the core geometry. Specifically, only the geometry representation of the "Body" type is retained for the core geometry items. The specific process is as follows: Define the filter function: (13) in, For components All geometric representations of ; For components The geometric representation set , through the filter function traversal to filter out only the core geometric items and remove the non-core geometric items; Step 4.2.2: Check the geometric integrity of a single building component to see if there are gaps, overlaps, or non-manifold structures in the geometry of the single building component. The details are as follows: First, perform vertex coordinate verification: traverse the vertex set to verify that there are no NaN or infinity vertex coordinate values, and the number of duplicate vertices does not exceed 1%. The specific vertex set is as follows: (14) in, Represents a set of vertices; represents the jth target component; Represents the three-dimensional coordinate value of the i-th vertex in the vertex set, i = 1, 2, ..., n, where n is the total number of component vertices; Then perform boundary representation verification: For IfcFacetedBrep type geometry, check the association relationship between faces, edges, and vertices to ensure that each edge is shared by two faces and there are no isolated vertices; Finally, verify the size validity: calculate the minimum bounding box size of the component. If the minimum bounding box size is less than the engineering threshold, mark it as an abnormality and remove it; Step 4.2.3, semantic consistency check: verify the component type matches the geometry, and the mismatch is marked as a component to be manually checked; Step 4.3, establish a single building special component geometry correction, as follows: Step 4.3.1, IfcOpeningElement processing: for IfcOpeningElement, extract the opening geometry features, as follows: (15) Where, OpeningFeature is the opening feature extraction function; The jth target piece, that is, the main component with openings; P=(x, y, z) is the opening center point coordinates, S is the shape identifier, and D is the size parameter; And through the IfcRelVoidsElement entity, the association relationship between the main component and the opening component is established, as follows: (16) (17) Where, HasOening is the association relationship function, indicating that the main component contains the opening component; The main component; The opening component; BelongsTo is the ownership relationship function, indicating that the opening component belongs to the main component; Step 4.3.2, single building complex component subdivision: after completing the preliminary split, the independent geometry standardization and parameterization constraint verification of each sub-component is performed, as follows: Based on the component function decomposition, the sub-component parameter set is established, the topological relationship between the sub-components is recorded through IfcConnectionGeometry, and the parameter verification module traverses all the sub-components to verify the compliance of their geometric parameters with the design specifications.
[0015] Step 4.4, standardized result output, as follows: Generate a set of standardized components, as follows: (18) Where, Indicates a single component in a standardized format, i=1, 2,..., k, k is the total number of single components; and each component Must meet the following requirements: The geometry representation only contains Body type, through filter_representations( ) function to filter non-core items; the location coordinates are based on the global origin and are set by location_setup( ) function resets the coordinate system; the units are unified to SI system, and the accuracy is not less than 1× .
[0016] The specific process of steps 5 and 6 is as follows: The specific process of step 5 is as follows: Step 5.1: Convert and verify the geometric expression information standardized in step 4 into multiple formats; Step 5.1.1. Conversion tool selection and parameter configuration: For different target formats, different dedicated tools are selected and parameters are configured during the conversion process to ensure conversion accuracy and standardization, as follows: IFC format conversion to OBJ format: Use ifcconver for format conversion, use the command line parameter --world-coords to force the use of the global coordinate system, and combine --brep to retain B-Rep data to ensure complete conversion and accurate representation of complex surface geometry; IFC format conversion to PNG format: Based on Blender's automated rendering script, a four-point light source lighting system is configured: a main light intensity of 1500 lux, a fill light intensity of 800 lux; a white background with RGB 255, 255, 255 and a 512×512 pixel resolution. PNG format images are automatically generated and saved in the standard five perspectives (front view, left view, top view, axonometric view, and bottom view), achieving standardized multi-perspective visualization conversion of BIM models. IFC format to PLY format conversion: After completing the OBJ format conversion, CloudCompare's RandomSampling function is used to perform point cloud sampling processing. By setting the sampling density and supplementing the mesh vertex normal information, PLY format point cloud data is generated to meet the geometric expression requirements of different precision requirements; IFC format conversion to JSON format: A metadata extraction tool based on the IfcOpenShell library performs batch semantic information extraction on target building components, generating a JSON-formatted record file containing multi-dimensional attributes such as component ID, type, material, and association relationships. A CSV table containing component relationships is constructed through data organization and mapping mechanisms, enabling structured export and relationship mapping of BIM semantic data. Step 5.1.2: Perform standardized data conversion and define the format conversion function as follows: (19) Among them is the OBJ format mesh file; Render images for multiple perspectives; is a point cloud file; is a semantic metadata file; is a component relationship table; Step 5.1.3, format verification rule: format compliance verification is performed on the converted file. The OBJ file needs to verify the vertex and face syntax format to ensure that there are no invalid indexes and illegal characters. The PLY file needs to check the completeness of the point cloud data field to ensure that there are no missing and redundant attributes. The JSON / CSV file needs to verify the key-value pair and column alignment; At the same time, for the format errors found in the format verification process, the system will automatically process according to the preset correction rules: for the OBJ file, the invalid index is mapped to the nearest valid vertex, and the line containing illegal characters is removed; for the PLY file, the missing color field is automatically completed; for the JSON / CSV file, key name mapping and value type conversion are performed; Step 5.1.4, quality inspection standard: a three-level quality inspection system is established to automatically check the converted data through preset parameter thresholds and logical rules to ensure that the geometric data, image data and semantic data meet the requirements of engineering applications, as follows: Geometric data inspection: model integrity is evaluated by calculating the volume of the bounding box and verifying the consistency of vertex normal vectors; Image data inspection: interference factors affecting subsequent algorithm processing are eliminated by focusing on resolution and color mode; Semantic data inspection: the effectiveness and acyclic nature of logical connections between entities are ensured by traversing the association relationship network; Step 5.2, data file hash deduplication processing, as follows: Step 5.2.1, hash algorithm selection: the output is a 256-bit hexadecimal string to ensure unique mapping of file content with a collision probability of less than 10 -30 ; Step 5.2.2, hash value calculation and index construction: the files after format conversion in step 5.1 are obtained, as follows: (20) Where F represents the set of multi-format data files, i.e. the set of all files after format conversion in step 5.1; represents the i-th independent file in the set, i = 1, 2,..., n, n represents the total number of files in the set; The hash value of each file is calculated as follows: (21) Where, SHA-256 represents Secure Hash Algorithm 256; The hash index dictionary is established as follows: (22) H represents the hash index dictionary, which is used to store the mapping relationship between the hash value and the file; The key of the dictionary corresponds to a unique file hash value; The value of the dictionary, if multiple files have the same hash value, is determined as a duplicate file; Step 5.2.3, duplicate file screening and processing: traverse the hash index dictionary, for each hash value corresponding file list, if the list length is not less than 2, only the first file is retained, the remaining duplicate files are deleted, and the deleted file path is recorded to the log file. The log file contains the fields of file path, hash value and deletion time; Step 5.2.4, data set simplification and storage: after step 5.2.3 deduplication, a unique file set is generated, as follows: (23) F represents the unique file set generated after deduplication processing; The i-th unique file in the set, i=1, 2,..., m, m represents the total number of unique files in the set after deduplication; And store the file set in a four-level directory structure, the storage path is root directory / {category} / {tag} / {filename}.{format}.
[0017] The specific process of step 6 is as follows: Step 6.1, perform rendering parameter configuration, as follows: Use a three-dimensional rendering tool to visualize and render the data files generated in step 5 to ensure that the output results meet the engineering display and data analysis requirements; Rendering parameter configuration: uniformly set the lighting conditions to 4-point light source uniform illumination, the background to pure white, the RGB value to 255, 255, 255, and the resolution to 512x512 pixels; For OBJ three-dimensional grid files, enable PBR material pipeline; For PLY point cloud data, enhance the geometric feature visualization effect through pseudo-color coding; Step 6.2, multi-view rendering strategy and visual data generation for the data files generated in step 5, as follows: According to the standardized view acquisition specification, each component model is rendered without repetition coverage from the following 5 key perspectives, including the vertex perspective of the cuboid bounding box, the front view, the left view, the top view and the 45° axonometric view, and the control script of the perspective controls the virtual camera position and orientation through setting parameters, including position parameters, rotation parameters and projection parameters.
[0018] The beneficial effects of the present application are The standardized IFC entity data processing method of the present application effectively solves the problem of errors in the prior art due to the use of different unit systems by different software, ensuring the interoperability of cross-software models, by unifying the formats and aligning the geometric accuracy of multi-source BIM models. BRIEF DESCRIPTION OF DRAWINGS
[0019] Figure 1 is a flowchart of the standardized IFC entity data processing method of the present application; Figure 2 is a schematic diagram of sensitive information desensitization processing in the standardized IFC entity data processing method of the present application; Figure 3 is a schematic diagram of component geometric expression information standardization processing in the standardized IFC entity data processing method of the present application. DETAILED DESCRIPTION
[0020] The present application will be described in detail below in conjunction with the drawings and specific embodiments.
[0021] The standardized IFC entity data processing method of the present application, as shown in Figure 1 includes the following steps: Step 1, obtain the original BIM model and perform preprocessing to obtain the IFC model dataset; The specific process of step 1 is as follows: Step 1.1, collect several original BIM models of different types from several BIM software to ensure data diversity, then convert the original BIM models of different types into IFC4 standard format and form an initial IFC model set; Among them, the BIM software includes Revit, Tekla, Bentley, CATIA, Archicad and SketchUp; the original BIM model is collected through BIM software, for example, in a urban rail transit project, a station building model created by Revit and a steel structure truss model generated by Tekla are collected synchronously.
[0022] Different types of original BIM models are uniformly converted into IFC4 standard format, which is as follows: The formats of different types of original BIM models include IFC4 standard format and native formats of various software, such as.rvt format of Revit,.tekla format of Tekla,.CATPart format of CATIA,.skp format of SketchUp, etc.
[0023] For BIM software native formats that support API (Application Programming Interface), such as.rvt format and.tekla format, through the API interfaces of various software, such as Revit API (Revit Application Programming Interface) and Tekla API (Tekla Application Programming Interface), IFC files are automatically exported, software family types are mapped to IFC entities, and material parameters are preserved.
[0024] For example, "Revit Structure Column" is mapped to IfcColumn (IFC Column, an IFC entity type corresponding to column members in building structure); the material parameters are preserved, such as "Q345B steel" corresponding to the mechanical property attribute of IfcMaterial (IFC Material, an IFC entity type used to record material properties) For BIM software native formats that do not support API, such as.CATPart format and.skp format, the geometry kernel is parsed through the IfcOpenShell (an open-source IFC toolkit and geometry engine) library, the geometry information is extracted, the IFC entity attributes are reconstructed, such as member type and spatial position, and then the IFC4 file conforming to the buildingSMART (International Building Information Modeling Standard Organization) standard is generated, ensuring that the geometry and semantic information of non-standard format models are not lost; The initial IFC model set is as follows: (1) Where M represents the initial IFC model set, represents a single IFC model in the set; Step 1.2, according to the IFC model set obtained in step 1.1, building category division is performed, the specific process is as follows: Step 1.2.1, according to the IFC model set obtained in step 1.1, IFC model metadata and geometric features are extracted as classification basis, then a classification model is constructed using a decision tree algorithm, features are analyzed and candidate categories are recommended, wherein the IFC model metadata are, for example, project name, number of floors, and functional area label; the IFC model geometric features are, for example, floor area and building height; Step 1.2.2: Perform a second manual classification. Domain experts will conduct a second verification of the classification results in step 1.2.1 and correct any misclassified results.
[0025] For example, a medical building model was classified as a "hospital outpatient building" by the algorithm. However, experts discovered through inspection that the model contained key information such as "standard floor plan of the inpatient department" and "functional labeling of the operating room area." By combining the IfcSpace (IFC space) functional attributes in the IFC entity, for example, the classification of WardRoom (ward space) was revised to "hospital inpatient building" to ensure that the classification conforms to the actual functional characteristics.
[0026] Step 1.3: IFC model integrity screening and preliminary processing. The specific process is as follows: Step 1.3.1: Define the IFC model integrity and compliance screening criteria, including: Core component existence screening criteria: Each IFC model contains at least three identifiable IFC standard building elements; IFC standard building elements include any three of IfcWall (the entity type used to represent ordinary walls in the IFC standard), IfcBeam (the entity type used to represent beam components in the IFC standard), IfcWindow (the entity type used to represent window components in the IFC standard), IfcSlab (the entity type used to represent floor slabs and roof slabs in the IFC standard), and IfcColumn (the entity type used to represent column components in the IFC standard).
[0027] Property compliance screening criteria: component properties comply with the IFC4 specification, for example, the "Material" and "Function Type" fields are not empty; Unit system preliminary screening criteria: the measurement units are the International System of Units (SI); Step 1.3.2: Filter the IFC models classified in step 1.2 according to the criteria in step 1.3.1. The specific process is as follows: First, IFC models are screened according to the core component existence screening criteria and attribute compliance screening criteria in step 1.3.1. Valid IFC models that meet both the core component existence screening criteria and the attribute compliance screening criteria are retained, while invalid IFC models that do not meet either of the core component existence screening criteria and the attribute compliance screening criteria are eliminated. In other words, valid IFC models with complete structure and semantic information are retained, while invalid IFC models that cannot be resolved, have missing key components, or do not comply with the IFC4 specification are eliminated. Then, unit system marking is performed, and labels are added to IFC models with non-SI units, such as feet and inches. Labels such as "UnitStatus: Imperial" are added to IFC models with non-SI units. For example: a certain industrial plant model is invalid because it lacks the geometric representation of IfcWall, i.e. does not contain IfcExtrudedAreaSolid (IFC extruded solid, an entity defined by a swept profile defining a cross section) and other geometric entities, resulting in the inability to analyze the size and position of the wall, and is determined to be an invalid model and is rejected; while a certain office building model contains complete IfcBeam, IfcSlab and corresponding MaterialUsageRelationship (material usage relationship), and passes the integrity check to be retained as a valid model.
[0028] Step 1.3.3, according to the valid IFC model retained in step 1.3.2, generate a structured IFC model dataset, and store it by building category, providing standardized input for subsequent precision alignment and desensitization processing.
[0029] For example: “ / subway station / model 1. ifc” “ / residential building / model 2. ifc”.
[0030] Step 2, align the geometric expression precision and unit of measurement of the IFC model dataset in step 1, and desensitize the sensitive information of the IFC model; The specific process of step 2 is as follows: Step 2.1, obtain the preprocessed IFC model dataset in step 1, unify the geometric expression precision of the IFC model, and through the format unification and geometric precision alignment of multi-source BIM models, effectively solve the problem in the prior art that different software uses different unit systems, resulting in errors when merging or comparing IFC models, and ensure the interoperability of cross-software models, the specific process is as follows: An open source tool is used to traverse the geometric representation context of the IFC model, and the geometric precision of all IFC models is set to a predefined unified standard, ensuring that the geometric precision of all IFC models is consistent.
[0031] Among them, the predefined unified standard is specifically: the coordinate precision value of the IFC model is set to 1× m, the vertex coordinate error is not more than 0.01 mm; The open source tool can be selected according to actual needs, for example: IfcOpenShell library, in a certain commercial complex project, for IFC models generated by Revit and Tekla, through the geometric context analysis interface of IfcOpenShell (model.by_type (“IfcGeometricRepresentationContext (IFC geometric representation context) ”)), the Precision (precision) attribute of all IFC models is uniformly set to 1× , to ensure the accuracy of the vertex coordinates of the components such as walls, beams and columns generated by different software, and to avoid geometric splicing errors caused by accuracy differences.
[0032] Step 2.2, convert the geometric expression accuracy unified IFC model in step 2.1 to metric unit, as follows: Step 2.2.1, identify all properties containing metric values in the IFC model in step 2.1, such as: IfcLengthMeasure (IFC length measure), IfcAreaMeasure (IFC area measure), IfcVolumeMeasure (IFC volume measure), IfcPlaneAngleMeasure (IFC plane angle measure), for each IFC model m i , define the conversion function as follows: (2) Where m i represents a single IFC model in the set; V(m i ) represents the set of original unit metric values in the model, such as length, angle, volume, etc.; V'(m i ) represents the set of metric values converted to SI units, such as meters, radians, cubic meters, etc.; g represents the conversion function; all metric values in the model are converted from the original unit to SI unit through the conversion function; For example: there is a length attribute with ft unit in the bridge model, such as span = 50ft, which is automatically converted to meters by multiplying 0.3048 through the conversion function g, such as span = 15.24m; for angle unit: degree, such as bridge deck slope = 5°, which is converted to radian by π / 180, such as bridge deck slope = 0.0873 rad, to ensure that all metric values are unified to SI system.
[0033] Step 2.2.2, drive the tool to realize batch conversion through the conversion function g defined in step 2.2.1, to ensure unit consistency, as shown in Figure 2 For example: if F(mi) contains length attributes with ft unit, such as span = 50ft, the function g automatically calls the unit conversion interface to convert it to meters, such as span = 15.24m; if it contains degree unit of angle, such as bridge deck slope = 5°, it is converted to radian by π / 180, such as bridge deck slope = 0.0873 rad, to ensure unit consistency.
[0034] Among them, the driving tool can be selected according to the actual situation, for example: select IfcOpenShell library, through the unit conversion interface of IfcOpenShell.util.unit library, batch process 200 IFC models of a subway project, identify non SI units such as inches, Fahrenheit, and automatically convert, the success rate of conversion is 99.8%, the remaining 0.2% is marked as manual verification because the model definition is not clear, to ensure the unit consistency of the data set.
[0035] Step 2.3, information desensitization processing of the IFC model after unit conversion in step 2.2, as follows: Step 2.3.1, head information desensitization, specifically: replace the head information of the IFC model processed in step 2.2 with default values, such as author name, unit name, generation time, project address and other sensitive information.
[0036] For example, replace the author's name with "Anonymous", set the unit name to "DefaultOrganization", reset the generation time to "0000-00-00 00:00:00", and leave the project address field empty. Step 2.3.2, location information desensitization, specifically: reset the location information of the IFC model processed in step 2.2, such as geographic coordinates and direction, and set the world coordinate system origin of the IFC model to (0.0, 0.0, 0.0), and clear the TrueNorth (north direction) data.
[0037] For example, when processing a certain airport terminal model, the original model contains real geographic coordinates, longitude 116.3 degrees, latitude 39.9 degrees, and north direction parameters. Through desensitization operation, reset the coordinate system origin to the global origin, and delete all geographic reference information to avoid location information leakage.
[0038] Step 2.3.3, description information desensitization, specifically: the description information of the IFC model processed in step 2.2 is processed in one of the following ways: fuzzification and deletion. Among them, the description information is, for example: project name, purpose, technical details and other description information. Fuzzification and deletion can be selected according to the actual situation, for example: replace the project name with a general code, simplify the purpose description, such as replacing "XX airport terminal" with "aviation hub A", and deleting "technical parameter table" and other processing.
[0039] Step 2.3.4, entity information desensitization, specifically: the entity information of the IFC model processed in step 2.2 is processed in one of the following two ways: replacing it with a generic name and replacing it with a random anonymous code; Wherein, the entity information such as: component name, component identifier and other entity information, the entity information is replaced with a generic name or replaced with a random anonymous code can be selected according to the actual situation.
[0040] For example: the component name "steel column of steel plant workshop-01" in the industrial plant model is uniformly named "IfcColumn_001" after desensitization, and the identifier is converted from "GUID-20230801-001" to randomly generated "ANON-12345", ensuring that the component information is anonymous and meets the IFC entity naming specification.
[0041] As shown in Figure 2 Before desensitization: The header information is: FILE_DESCRIPTION(('ViewDefinition[DesignTransferView_V1.0]'),'2;1'); FILE_NAME('Project Number','......',(''),(''),'......','......',''); FILE_SCHEMA(('IFC4')); The location information is: #118=IFCPOSTALADDRESS($,$,$,$,('Enter address here'),$,'','','',' <default>); Model information is: #1=IFCORGANIZATION($,'Autodesk Revit 2018 (CHS)',$, $,$); #36=IFCPERSON($,'', '\X2\80969633\X0\', $,$,$,$,$); Entity information is: #107=IFCPROJECT('2QjTJmRQPCK8j1Ar6LLu7l',#42,'Project Number', $,$,'Project Name','Project Status',(#98),#93); #122=IFCBUILDING('2QjTJmRQPCK8j1Ar6LLu7k',#42,'', $,$,#33,$,'',.ELEMENT.,$,$,#118); After desensitization: Header information is: FILE_DESCRIPTION(('GeoIFCNet file'), ''); FILE_NAME('','',('None'),('None'),'None','',('None')); FILE_SCHEMA(('IFC4')); Location information is: #118=IFCPOSTALADDRESS($,$,$,$,$,$,$,$,$); Model information is: #1=IFCORGANIZATION($,'XUT_BIM606', $,$,$); #36=IFCPERSON($,$,$,$,$,$,$,$) Entity information is: #107=IFCPROJECT('2QjTJmRQPCK8j1Ar6LLu7l',#42,'Project Number', $,$,'Project Name','Project Status',(#98),#93); #122=IFCBUILDING('2QjTJmRQPCK8j1Ar6LLu7k',#42,'',$,$,#33,$,'',.ELEMENT.,$,$,#118); As can be seen, after desensitization, the original sensitive information in the IFC model's header, location, model, and entity information, such as author name, organization name, geographic coordinates, and project description, has been replaced with default values, universal codes, and random anonymous codes, retaining only the key element definitions in the IFC standard format. While ensuring the security and compliance of the model data, the structural integrity and data alignment of the IFC model are maintained, sensitive information leakage is avoided, and a balance is achieved between privacy protection and technical usability.
[0042] Step 3: Split the IFC model processed in step 2 to obtain a single building component entity; The specific process of step 3 is as follows: Step 3.1: Obtain the IFC model processed in step 2 and perform building element identification and single building component entity splitting as follows: Step 3.1.1: Decompose the basic components. Specifically, decompose the IFC model processed in step 2 into single building component entities based on the graph structure analysis algorithm and IFC parsing tools, and define the decomposition function as follows: (3) Where D represents the splitting function; Represents a single building component entity after splitting; k is the IFC model The total number of components included; The IFC model is decomposed into single building component entities based on the graph structure analysis algorithm and IFC parsing tools. The specific process is as follows: By traversing the hierarchical structure of the IFC model, for example: IfcProject→IfcBuilding→IfcBuildingStorey→IfcElement, preliminary separation is performed based on the type attributes of the components, such as: IfcBeam, IfcWall, and during the separation process, the component entity data structure is established, as follows: (4) in, It is the unique identifier of the component, generated based on the IFC global ID; The component type, for example: "beam" or "wall"; To store geometric information; For attribute information, such as material, size, etc. For example: "concrete" "height 3m" and so on.
[0043] The graph structure analysis algorithm can adopt the IFC graph traversal algorithm; the IFC parsing tool can adopt the IfcOpenShell library combined with a custom script for extracting the component hierarchy and attributes.
[0044] For example: in a commercial complex IFC model, by traversing the hierarchical structure of the IFC model, in turn: IfcProject (IFC project), IfcBuilding (IFC building), IfcBuildingStorey (IFC building floor), IfcElement (IFC element). Identify more than 200 IfcBeam, more than 300 IfcWall and more than 50 IfcSlab, use the by_type interface of IfcOpenShell to extract components, and generate unique identifiers based on IFC global IDs, such as: "Beam_001" (001 column) "Wall_023" (023 wall). Establish data structure S(ej) to record component type, geometric coordinates and material properties, geometric coordinates such as: beam vertex coordinate set V( )={(10,5,3), (20,5,3)}, material properties such as: "Q345B steel" "C25 concrete".
[0045] Step 3.1.2, detailed division of special components, specifically: for special components, such as: IfcCurtainWall (IFC curtain wall), IfcStair (IFC stairs), IfcRamp (IFC ramp) and IfcRoof (IFC roof) four types of special components, according to their geometric boundaries and functional characteristics to carry out detailed division of sub-component level; Among them, the geometric boundary refers to the geometric interface between components, such as: the fitting boundary of curtain wall panels and metal frames, the vertical interface of stair steps and handrails; functional characteristics refer to regional division based on building functions, such as: the traffic area of stair steps, the safety protection function area of handrails.
[0046] The specific process of detailed division of sub-component level is as follows: Firstly, the type of sub-component is identified based on the IFC entity attribute, such as IfcElement.Subtype; secondly, the topology algorithm based on boundary representation (B-Rep) is used to analyze the IFC geometric data and extract the coordinates or equation of the interface between adjacent sub-components; then, according to the specification, such as GB50352 "Unified Standard for Design of Civil Buildings", the special component is divided into several functional areas, each functional area meets the specification and has clear engineering significance; finally, the association relationship between sub-components is established through three-dimensional coordinate offset and mechanical transmission path.
[0047] Take four types of special components as an example, such as IFC curtain wall, which can be divided into glass panel and aluminum alloy keel, where the glass panel thickness is 12mm and the light transmittance is 65%; the aluminum alloy keel section is 100x50mm and the spacing is 1200mm; the fitting surface equation of the glass panel and the aluminum alloy keel is determined by the B-Rep algorithm as the z=0 plane in the local coordinate system, and the association relationship between the keel and the support panel is established; For IFC stairs, it is divided into steps and stainless steel handrails, where the step height is 150mm and the depth is 280mm; the stainless steel handrail height is 900mm; the y=900mm coordinate line of the interface between the steps and the handrails is extracted, and the mapping of the protection function and the passing function of the handrails is established after verifying that the handrail height meets the safety specification; For IFC ramp, it is divided into ramp body and anti-skid strip sub-components, where the ramp body slope is 1:12 and the width is 1200mm; the anti-skid strip spacing is 300mm, the anti-skid function area is determined by the intersection coordinates of the anti-skid strip and the ramp surface, and the association of the anti-skid strip passing through the friction force to enhance the safety of passing is defined; For IFC roof, it is divided into reinforced concrete structure layer and waterproof layer, where the reinforced concrete structure layer thickness is 150mm and the C30 concrete; the SBS waterproof layer thickness is 4mm, the fitting surface elevation of the structure layer and the waterproof layer is extracted, and the position constraint and load transmission relationship of the waterproof layer laid on the structure layer is established.
[0048] Step 3.1.3, split the component with opening feature, specifically: for components containing openings, such as walls with IfcOpeningElement, define the opening geometric feature set: (5) Where P=(x, y, z) is the opening center point coordinates based on the global coordinate system; S is the opening shape identifier, such as "Rect" for rectangle and "Circ" for circle; D is the opening size; Then analyze the geometric relationship between the opening and the main body component, such as intersection, inclusion, define the relationship identifier, for example: RelOpen-Main, based on the opening recognition algorithm of the Constructive Solid Geometry Tree (CSG tree), separate the main body component and the opening component, establish a bidirectional association attribute, and realize the extraction and splitting of the main body component and the opening component.
[0049] The bidirectional association attribute is specifically represented as follows: The main body component attribute is represented as: (6) The opening component attribute is represented as: (7) Wherein, is the opening component, is the main body component.
[0050] After the splitting operation is completed, geometric integrity checking is performed to verify the boundary integrity of the main body component after splitting, for example: the degree of fit between the opening edge and the surface of the main body component, to ensure that there is no geometric gap or overlap.
[0051] For example: the IfcWall component of an office building contains door and window openings, the opening position is identified by the CSG tree algorithm, such as: center point coordinates: (5, 3, 2), shape: rectangle, size: 1.2m wide x 2.4m high, the corresponding IFC opening element (IfcOpeningElement) is separated. Establish a bidirectional association attribute: the HasOpening (opening attribute) of the main wall points to the opening component ID, and the BelongsTo (main body attribute) of the opening component points to the main wall ID, to ensure that the degree of fit between the opening edge and the surface of the wall is more than 98%, and there is no geometric gap. Analyze the geometric relationship between the opening and the main body component, use the opening recognition algorithm based on the CSG tree, separate the main body component and the opening component, establish a bidirectional association attribute, and realize automatic extraction and splitting.
[0052] Step 3.1.4, Proxy Entities processing, specifically: for ProxyEntities, according to the position of ProxyEntities in the IFC model, geometric shape and connection relationship with other components, preliminary classification is carried out, specifically as follows: First, define the proxy entity attribute set, specifically as follows: (8) Wherein, is the minimum bounding box coordinates; is the geometric shape description, for example: "approximate prism"; For the connection relationship list, for example: "supported by ID_Beam001".
[0053] Next, the domain expert verification is carried out, and first, a preliminary classification report is generated: (9) Among them, is the agent entity ID, is the attribute set, is the algorithm suggestion type, for example: "UnknownStructure_001"; Then an expert feedback mechanism is established, and the report is handed over to the domain expert. The expert further marks and checks by checking the model context, design documents, etc., and outputs the correction result.
[0054] Among them, the expert feedback mechanism is established to ensure that the agent entity classification conforms to the actual engineering semantics, as follows: (10) Among them, is the final correct type, is the correction reason; For example: the agent entity in the industrial plant model, by calculating the minimum bounding box coordinates as "x_min=10, y_min=5, z_min=0, x_max=12, y_max=7, z_max=3", the geometric shape is described as "approximate prism", the connection relationship is "supported by ID_Beam005", and the preliminary classification report Report(p) suggests the type "UnknownStructure_001". The domain expert confirms that the entity is "ventilation equipment" through the design document, and the correction type is IfcSpecialEquipment (IFC special equipment), and the supplementary correction reason is "judged according to the equipment connection drawing and spatial position", to ensure that the classification conforms to the engineering semantics.
[0055] Step 3.2, the split results in step 3.1 are stored in a structured manner, as follows: The split single building component entity is stored as an independent IFC file according to the category, forming a component-level data set, as follows: (11) Among them, E represents the component-level data set, and e i represents a single building component. Each component file contains complete geometric information and semantic attributes, such as boundary representation B-Rep, semantic attributes such as component type, association relationship, providing standardized input for subsequent geometric correction and format conversion.
[0056] For example, the " / Component Datasets / Subway Station / Stairs / " directory stores the split stair sub-component files "Tread_001.ifc" and "Handrail_001.ifc." Each file contains independent geometric coordinates, parameter attributes, and parent-child relationships (for example, "BelongsTo=Stairs_001" is recorded in "Handrail_001.ifc"). This provides standardized input for subsequent geometric modification and format conversion.
[0057] Step 4: standardize the geometric expression information of the single building component entity in step 3 and obtain standardized geometric expression information; The specific process of step 4 is as follows: Step 4.1: Obtain the single building component entity after splitting the IFC model in step 3, and standardize the position and orientation of the single building component. By splitting the component in step 3 and standardizing the position and orientation of the split components, the analysis accuracy of the complex components is effectively improved. The details are as follows: 4.1.1. Standardize the position of a single building component. Specifically, obtain the single building component entities after splitting the IFC model in step 3, align them with the global coordinate system, reset the local coordinate system origin of each single building component to the global coordinate system origin (0.0, 0.0, 0.0) through the position reset function, clear the Axis (axis) and RefDirection (reference direction), and ensure that all single building components have a unified reference position.
[0058] The axis refers to the reference axis of the component's local coordinate system, such as the axis of symmetry, and the reference direction refers to the reference direction vector used to define the component's orientation, such as the north direction.
[0059] The position reset function is specifically defined as follows: (12) in, This function resets the origin of the local coordinate system of a single building component to the origin of the global coordinate system (0.0, 0.0, 0.0), clears the axial and reference directions, and ensures that all single building components are uniformly positioned. For example: box beam components in bridge engineering The original local coordinate system origin is (100, 200, 50). After being reset by this function, the position parameters in its RelativePlacement are updated to the global origin, and the axial and reference directions are marked as invalid to ensure positioning in a unified coordinate system with other bridge components, such as piers and bridge decks.
[0060] Step 4.1.2: Standardize the orientation of a single building component, specifically: Directional consistency correction unifies the axial direction of the local coordinate system of a single building component, such as: the Z axis is the vertical direction and the X axis is the horizontal direction; ensuring that the direction description of all components is consistent with the global coordinate system.
[0061] At the same time, it traverses the geometric representation of a single building component, such as IfcShapeRepresentation (IFC shape representation); if there is a local coordinate system definition, such as IfcAxis2Placement3D (IFC three-dimensional axis positioning); resets the axis parameters of the single building component to the standard direction and clears non-standard direction parameters to avoid geometric parsing errors caused by direction ambiguity; The standard directions of the axial parameters are as follows: The Z-axis direction is set to (0.0, 0.0, 1.0), which corresponds to the vertical direction of the global coordinate system, that is, the coordinate value increases in the vertical upward direction; the X-axis direction is set to (1.0, 0.0, 0.0), which corresponds to the horizontal direction of the global coordinate system, for example: the east direction in the building plane or the specified reference direction; Step 4.2: Standardize the geometric representation of a single building component as follows: Step 4.2.1: Filter non-core geometry. Specifically, remove any representations of a single building component that are not related to the core geometry, such as bounding boxes and surface meshes. Specifically, the core geometry is to retain only the "Body" type geometry. The specific process is as follows: Define the filter function: (13) in, For components All geometric representations of ; For components The geometric representation set , filter out only the Core geometric items (represented by the identifier "Body"), such as bounding boxes, surface meshes, etc.
[0062] For example: glass curtain wall components of an office building The original geometric representation includes "Body" (curtain wall panel), "BoundingBox" (bounding box) and "SurfaceMesh" (surface mesh). The filtering function only retains the "Body" representation and removes redundant bounding box and mesh data, reducing the data volume by 40% and improving subsequent processing efficiency.
[0063] Step 4.2.2: Verify the geometric integrity of a single building component. Check whether there are gaps, overlaps, or non-manifold structures in the geometry of a single building component. The details are as follows: First, the vertex coordinate check is performed: traverse the vertex set, verify that the vertex coordinate value is not NaN (Not a Number is invalid or undefined numerical value) and infinite, and the number of repeated vertices is not more than 1%, and the fixed point set is as follows: (14) Wherein, represents the vertex set, that is, the set of all vertices of a single building component; represents the jth target component; represents the three-dimensional coordinate value of the nth vertex in the vertex set, i=1, 2,..., n, where n is the total number of component vertices; Then, the boundary representation check is performed: for IfcFacetedBrep (IFC Faceted Brep) type geometry, check the association relationship of face (Face), edge (Edge), and vertex (Vertex), to ensure that each edge is shared by two faces, and there is no isolated vertex.
[0064] Finally, the size validity is verified: the minimum bounding box size of the component is calculated, and if the minimum bounding box size is less than the engineering threshold, it is marked as abnormal and removed; Step 4.2.3, semantic consistency check: verify whether the component type matches the geometric shape, and mark those that do not match as to-be-manually-verified components; For example: the length-section ratio of IfcBeam component should meet Length (length) / SectionDepth (section depth) not less than 5, a concrete beam component length 3 meters, section depth 0.6 meters, the calculated ratio is 5, which meets the requirements; another steel beam component length 2 meters, section depth 0.5 meters, ratio 4 less than 5, marked as to-be-manually-verified to avoid misjudging short columns as beam components.
[0065] Step 4.3, establish single building special component geometry correction, as follows: Step 4.3.1, opening component (IfcOpeningElement) processing: for opening component (IfcOpeningElement), extract opening geometric features, as follows: (15) Wherein, OpeningFeature is an opening feature extraction function for analyzing the geometric properties of the opening component; is the jth target, that is, the main component with openings, such as walls, floors, etc.; P=(x, y, z) is the opening center point coordinate, S is the shape identifier, and D is the size parameter; And through the IfcRelVoidsElement (IFC Associated Opening Element) entity, the association relationship between the main component and the opening component is established, as follows: (16) (17) HasOening is a relation function, indicating that the main component contains the opening component, is the main component, for example, a wall with a hole, type IfcWall, is the opening component, for example, a door or window, type IfcOpeningElement; BelongsTo is a membership function, indicating that the opening component belongs to the main component.
[0066] Step 4.3.2, subdivision of single building complex components: for single building complex components such as curtain walls, stairs, ramps, roofs, etc., after completing the initial split, each sub-component needs to be executed independently for geometric standardization and parameterization constraint verification.
[0067] The specific process is: based on the function decomposition of the component to establish a parameter set of sub-components, for example: define a parameter set for the steps of the stairs; define a parameter set for the panels of the curtain wall, including thickness, light transmittance, etc.; define the slope range for the ramp; define the drainage slope constraint for the roof, and record the topological relationship between sub-components through IfcConnectionGeometry (IFC Connection Geometry). The parameter verification module traverses all sub-components to verify their geometric parameters and compliance with design specifications.
[0068] For example: For the stair component: after splitting, the step height is 160mm, the depth is 280mm, the width is 1500mm, which meets the "Building Stair Modulus Coordination Standard"; the handrail is connected to the step through IfcConnectionGeometry (IFC Connection Geometry), the height is 950mm, the number of steps is 18, which is consistent with the design drawing.
[0069] For the curtain wall component: split into glass panels, thickness 12mm, light transmittance 65%, and aluminum alloy joist, cross section 100x50mm, define the connection point coordinates of the panel and the joist through IfcConnectionGeometry, verify that the joist spacing 1200mm meets the "Glass Curtain Wall Engineering Technical Specification".
[0070] For the ramp component: split into ramp body, slope 1:12, and anti-skid strip, spacing 300mm, constrain the fit relationship between the anti-skid strip and the ramp surface through IfcConnectionGeometry, verify that the slope and length meet the barrier-free design specification.
[0071] For roof component: split into structural layer, C30 concrete, thickness 150mm, waterproof layer, SBS modified asphalt, thickness 4mm, define layer interface parameters by IfcConnectionGeometry, verify that the drainage slope of 2% meets the requirements of "Roofing Engineering Technical Specification".
[0072] Step 4.4, standardized result output, as follows: Generate a standardized component set, as follows: (18) Wherein, represents a single component in standardized format, i=1, 2,..., k, k is the total number of single components; and each component must meet the following requirements: Geometric representation only contains Body type, filter non-core items through filter_representations( ) (geometric expression item filtering function); the position coordinates are based on the global origin, reset the coordinate system through location_setup( ) (location reset function); the unit is unified to SI system, and the precision is not less than 1× .
[0073] As shown in Figure 3 before standardization: #60=IFCCARTESIANPOINT((9692.15849161544,5084.79359848718,0.)); #198=IFCCARTESIANPOINT((10944.7979407311,4195.67778550493,3962.39999999952)); #199=IFCDIRECTION((0.,0.,1.)); #200=IFCDIRECTION((-0.679888946325535,0.733315089619977,0.)); #188=IFCBOUNDINGBOX(#187,1358.89999999999,203.200000000003,1346.19999999999); #189=IFCSHAPEREPRESENTATION($,'Box','BoundingBox',(#188)); The correction standard is: Coordinate: PlacementRelTo = None; RelativePlacement.Location = (0.0, 0.0, 0.0); Direction: RelativePlacement.Axis = None; RelativePlacement.RefDirection = None; DirectionRatios = (0.0, 0.0, 0.0); Geometric Representation: Remove the bounding box; After normalization: #198 = IFCCARTESIANPOINT((0, 0, 0)); #199 = IFCDIRECTION((0, 0, 0)); #200 = IFCDIRECTION((0, 0, 0)); #189 = IFCSHAPEREPRESENTATION($, 'Box', 'BoundingBox', ()); As can be seen, through the above processing, the normalized component set realizes coordinate system unification, lightweight geometric expression and unit precision standardization, ensuring data consistency and compliance in exchange, storage and subsequent processing.
[0074] Step 5, the standardized geometric expression information in step 4 is converted in format and de-duplicated to ensure the simplification and efficiency of the data set; The specific process of step 5 is as follows: Step 5.1, the standardized geometric expression information in step 4 is converted in multiple formats and verified; Step 5.1.1, conversion tool selection and parameter configuration: for different target formats expected to be obtained, special tools are selected for the conversion process and parameters are configured to ensure conversion accuracy and standardization: IFC format conversion OBJ format: use ifcconvert (IFC conversion tool) for format conversion, use global coordinate system through command line parameter --world-coords, and combine --brep to retain boundary representation (B-Rep) data, to ensure complete conversion and accurate representation of complex curved surfaces; IFC to PNG: Based on the automated rendering script of Blender (a platform for rendering graphics), the four-point light system is configured, with the main light intensity of 1500 lux and the auxiliary light intensity of 800 lux; the white background, RGB 255, 255, 255 and 512*512 pixel resolution, automatically generate and save the standard five-view PNG format images, including front view, left view, top view, isometric view, and upside-down view, to realize the multi-view standardized visualization conversion of BIM model. IFC to PLY: Based on the completion of OBJ format conversion, the Random Sampling function of CloudCompare (point cloud processing software) is used to perform point cloud sampling processing, by setting the sampling density, for example: 100 points per square meter, and supplementing the normal information of the grid vertex, to generate PLY format point cloud data, to meet the geometric expression of different accuracy requirements. IFC to JSON: Based on the metadata extraction tool of IfcOpenShell library, the batch semantic information extraction is performed for the target building component, to generate the JSON (JS key-value pair data) format record file containing the multi-dimensional attributes of component ID, type, material and associated relationship, and through the data arrangement and mapping mechanism, the component relationship CSV (comma-separated value) table is constructed, to realize the structured export and relationship mapping of BIM semantic data.
[0075] For example: the IfcBeam component of a certain commercial complex, ID: Beam_045, when converted to OBJ, through ifcconvert parameter configuration, the chamfer details in its B-Rep geometry are retained, with a radius of 50 mm, to ensure that there is no geometric distortion when the three-dimensional modeling software is parsed; the 5-view PNG images generated by rendering strictly follow the 512*512 resolution and the RGB format without Alpha channel (image transparency channel).
[0076] Step 5.1.2, standardized data conversion, define format conversion function: (19) is the OBJ format grid file, containing vertex, face, texture coordinate and other geometric information; is the multi-view rendering image, stored in RGB format; is the point cloud file, containing three-dimensional coordinates and normal vectors; is the semantic metadata file, recording component attributes and associated relationships; is the component relationship table, structured to store hierarchical relationships and classification information.
[0077] Step 5.1.3, Format verification rules: Perform format compliance verification and error correction on the converted files. For OBJ files, verify the vertex (v) and face (f) syntax format to ensure there are no invalid indices and illegal characters. For PLY files, check the completeness of the point cloud data fields, such as x, y, z coordinates and red, green, blue color values, to ensure there are no missing and redundant attributes. For JSON / CSV files, verify the key-value pairs, such as "type":"IfcWall", and column alignment, such as the first row of CSV containing all field names.
[0078] Format errors found during verification will be automatically processed according to the preset correction rules: for OBJ files, map invalid indices to the nearest valid vertex and remove lines containing illegal characters; for PLY files, automatically complete missing color fields with default values of RGB 255, 255, 255; for JSON / CSV files, perform key name mapping and value type conversion.
[0079] For example, a JSON file generated by IfcWall components of a commercial complex is found to have a Type field value of "wall" instead of the standard "IfcWall". The system automatically corrects it to the type name specified in the IFC standard. At the same time, it detects that the material column in the CSV table has empty values and automatically supplements the default material description "concrete" to ensure data integrity.
[0080] Step 5.1.4, Quality inspection standards, as follows: Establish a three-level quality inspection system to automatically verify converted data through preset parameter thresholds and logical rules to ensure that geometric data, image data, and semantic data meet engineering application requirements.
[0081] Geometric data inspection: Evaluate model integrity by calculating bounding box volume and verifying vertex normal consistency indicators. For example, perform bounding box volume verification on the OBJ file of the sports stadium net structure, with a volume of 0.8 m³ greater than 0.001 m³, and vertex normal consistency check with a maximum deviation of 0.8 degrees not exceeding 1 degree, determining it to be qualified.
[0082] Image data inspection: Focus on resolution and color mode to eliminate interference factors affecting subsequent algorithm processing. For example, verify the resolution of the PNG image of the airport terminal glass curtain wall, with a resolution of 512x512 and a color mode of RGB, ensuring no Alpha channel interference with subsequent image recognition algorithms.
[0083] Semantic data checking: This ensures the validity and acyclic nature of logical connections between entities by traversing the relationship network. For example, checking the JSON file for a hospital ward's IfcWall to confirm that HasOpening points to a valid opening component ID and that there are no circular reference errors.
[0084] Step 5.2: Data file hash deduplication processing, as follows: Step 5.2.1, Hash algorithm selection: Use SHA-256 hash algorithm, the output is a 256-bit hexadecimal string, to ensure the unique mapping of file content, and the probability of conflict is less than 10 -30 ; Step 5.2.2, Hash value calculation and index construction: Obtain the multi-format data conversion file in step 5.1, as follows: (20) Where F represents a set of multi-format data files, i.e., the set of all files after format conversion in step 5.1; Represents the i-th independent file in the collection, i=1, 2, ..., n, and n represents the total number of files in the collection.
[0085] Calculate the hash value of each file as follows: (twenty one) in, The hash value of the i-th file is a 256-bit hexadecimal string. SHA-256 stands for Secure Hash Algorithm 256, which is used to map file contents to unique hash values.
[0086] Create a hash index dictionary as follows: (twenty two) Where H represents the hash index dictionary, which is used to store the mapping relationship between hash values and files; Indicates that the dictionary key corresponds to a unique file hash value; Represents the value of the dictionary. If multiple files have the same hash value, they are considered duplicate files.
[0087] For example, for 2,000 conversion files generated by a subway project, the hash value of each file is calculated using Python's hashlib.sha256() function to create an index dictionary H, for example: {"a1b2c3...":[" / MetroStation / IfcBeam_001.obj", " / ResidentialBuilding / IfcBeam_001.obj"]}, to identify repeated standard beam component files in different projects.
[0088] Step 5.2.3, Repeat file screening and processing: Traverse the hash index dictionary, for each file list corresponding to a hash value, if the list length is not less than 2, only keep the first file, delete the remaining duplicate files, and record the deleted file path to the log file. The log file contains the fields of file path, hash value, and deletion time; For example: When traversing the dictionary, two IfcColumn.obj files with the same hash value are found, which are different copies from the same standard component. Only the first appearing file, path / Infrastructure / Bridge / IfcColumn_001.obj, is kept, and the copy is deleted and logged: / OldProject / IfcColumn_001.obj, a1b2c3..., 2025-03-0114:23:15; Step 5.2.4, Data set simplification and storage: After step 5.2.3, a unique file set is generated, as follows: (23) Where F represents the unique file set generated after step 5.2.3 de-duplication processing; represents the i-th unique file in the set, i = 1, 2,..., m, m represents the total number of unique files in the set after de-duplication.
[0089] And store the file set in a four-level directory structure, with the storage path as root directory / {category} / {tag} / {filename}.{format}.
[0090] For example: / MetroStation / IfcWall / model_001.obj, ensure that the file path contains component category, tag, and format information, which is convenient for subsequent retrieval and management.
[0091] Step 6, perform multi-view rendering strategy and visual data generation on the data files generated in step 5 to obtain multi-format data sets for further analysis.
[0092] The specific process of step 6 is as follows: Step 6.1, configure rendering parameters, as follows: Use three-dimensional rendering tools, such as Blender, Marmoset Toolbag, to perform visual rendering on the data files generated in step 5 to ensure that the output results meet the requirements of engineering display and data analysis; In the rendering parameter configuration link, the lighting conditions are uniformly set to 4-point light source uniform illumination, and the background is pure white with RGB values of 255, 255, and 255 to eliminate environmental interference. The resolution is uniformly set to 512x512 pixels to meet the input requirements of mainstream visual analysis and machine learning models. For OBJ and other three-dimensional mesh files, the physical rendering (PBR) material pipeline is enabled to accurately map the component surface texture and reflection characteristics. For PLY point cloud data, pseudo-color coding such as height or curvature coloring is used to enhance the visualization of geometric features. For example, when rendering the IfcTunnelLining component (tunnel lining) of a certain subway station in Blender, the PBR material pipeline is enabled, and the diffuse reflection parameters of the concrete material are set to 0.8 and the roughness parameters to 0.6. The point cloud data is colored by curvature to highlight the details such as bolt holes on the lining surface, facilitating automated detection of component surface defects.
[0093] Step 6.2, Multi-view rendering strategy and visualization data generation for the data file generated in step 5, as follows: According to the standardized view angle acquisition specification, each component model is rendered from the following 5 key views without repetition, including: vertex view of the bounding box, which shows the extreme point distribution of the model; front view, which is the X-Y plane orthographic projection; left view, which is the Y-Z plane orthographic projection; top view, which is the X-Z plane orthographic projection; 45° isometric view, which shows the three-dimensional spatial relationship.
[0094] The view control script controls the virtual camera position and orientation by setting parameters: Position parameters: three-dimensional coordinates (x, y, z) in meters; rotation parameters: rotation attitude represented by quaternion; projection parameters: perspective projection matrix containing focal length, near clipping plane, far clipping plane, etc.
[0095] Parameter control ensures that the angle error between views does not exceed 1°, and the view coverage range is complete and non-repetitive. The generated multi-view pictures are in PNG format, and the view parameter files are stored in JSON format, recording 12 parameters such as camera position, rotation matrix, and focal length for each view. Together, they form a multi-format data set containing visual images and spatial parameters, providing standardized visual input for subsequent multi-angle analysis and model training of the data set.
[0096] For example, the IfcBeam component of a high-speed railway bridge is automatically rendered using a script. The main view clearly shows the beam length of 30m and the cross-sectional dimensions of 2m high and 1.5m wide. The left view shows the web thickness of 0.3m, and the 45° axonometric view fully displays the connection structure between the beam and the support. The perspective parameter file synchronously records the camera parameters of each view, providing standardized input for subsequent vision-based component size detection algorithms.
[0097] The specific embodiment of the standardized IFC entity data processing method of the present invention is as follows: Example 1 The standardized IFC entity data processing method of the present invention comprises the following steps: Step 1: Obtain the original BIM model and perform preprocessing to obtain the IFC model dataset; Step 2: Align the geometric expression accuracy and measurement units of the IFC model dataset in step 1, and perform sensitive information desensitization on the IFC model; Step 3: Split the IFC model processed in step 2 to obtain a single building component entity; Step 4: standardize the geometric expression information of the single building component entity in step 3 and obtain standardized geometric expression information; Step 5: Convert the format of the geometric expression information standardized in step 4 and perform deduplication processing; Step 6: Apply multi-view rendering strategy and visualization data generation to the data file generated in step 5 to obtain a multi-format data set for further analysis.
[0098] Example 2 Based on the above embodiment 1, this embodiment discloses the specific process of step 1, which is as follows: Step 1.1: Collect several different types of original BIM models from several BIM software to ensure data diversity. Then, convert the different types of original BIM models into the IFC4 standard format to form an initial IFC model set. The BIM software in step 1.1 includes: Revit, Tekla, Bentley, CATIA, Archicad, SketchUp; The specific process of converting different types of original BIM models into the IFC4 standard format in step 1.1 is as follows: For BIM software native formats that support API, automatically export them to IFC files through the API interface of each software, map the software family type to the IFC entity, and retain the material parameters; For BIM software native formats that do not support API, the geometry kernel is parsed through the IfcOpenShell library, the geometry information is extracted, the IFC entity attributes are reconstructed, and then the IFC4 file conforming to the buildingSMART standard is generated, ensuring that there is no loss of geometry and semantic information of the non-standard format model.
[0099] The initial IFC model set is specifically as follows:
[0100] Wherein, M represents the initial IFC model set, represents a single IFC model in the set; Step 1.2, according to the initial IFC model set obtained in step 1.1, building category division is performed, and the specific process is as follows: Step 1.2.1, according to the IFC model set obtained in step 1.1, IFC model metadata and geometric features are extracted as classification basis, and then a classification model is constructed using a decision tree algorithm, features are analyzed and candidate categories are recommended; Step 1.2.2, secondary manual classification is performed, and a domain expert performs secondary verification on the classification results in step 1.2.1, and the misjudged results are corrected; Step 1.3, IFC model integrity screening and preliminary processing, the specific process is as follows: Step 1.3.1, define the IFC model integrity and compliance screening standards, specifically including: Core component existence screening standard: each IFC model contains at least 3 identifiable IFC standard building elements; Attribute compliance screening standard: component attributes comply with IFC4 specification; Unit system preliminary screening standard: the unit of measurement is SI; Step 1.3.2, according to the standards in step 1.3.1, the IFC models classified in step 1.2 are screened, and the specific process is as follows: First, according to the core component existence screening standard and the attribute compliance screening standard in step 1.3.1, the IFC models are screened, and the valid IFC models that meet both the core component existence screening standard and the attribute compliance screening standard are retained, and the invalid IFC models that do not meet any of the core component existence screening standard and the attribute compliance screening standard are removed; Step 1.3.3, according to the valid IFC models retained in step 1.3.2, a structured IFC model dataset is generated, and is stored according to the building category.
[0101] Example 3 On the basis of the above embodiment 2, the embodiment discloses the specific process of step 2, and the specific process of step 2 is as follows: Step 2.1, the IFC model data set preprocessed in step 1 is obtained, and the IFC model geometric expression precision is unified, and the specific process is as follows: The open source tool is used to traverse the geometric expression context of the IFC model, the geometric precision of all IFC models is set to a predefined unified standard, and the geometric precision of all IFC models is ensured to be consistent; The predefined unified standard is as follows: the coordinate precision value of the IFC model is set to 1*10-5 meters, and the vertex coordinate error is not more than 0.01 millimeters; Step 2.2, the IFC model with unified geometric expression precision in step 2.1 is subjected to unit conversion, and the specific process is as follows: Step 2.2.1, all properties containing metric values in the IFC model are identified, and for each IFC model, a conversion function is defined, and the specific process is as follows:
[0102] Wherein, m i represents a single IFC model in the set; V(m i ) represents a set of metric values in the original unit of the model; V'(m i ) represents a set of metric values converted to SI units; g represents a conversion function; Step 2.2.2, the conversion function g defined in step 2.2.1 is used to drive the tool to realize batch conversion, so as to ensure unit consistency; Step 2.3, the IFC model subjected to unit conversion in step 2.2 is subjected to information desensitization processing, and the specific process is as follows: Step 2.3.1, the head information is desensitized, and the specific process is as follows: the head information of the IFC model subjected to step 2.2 processing is replaced by a default value; Step 2.3.2, the position information is desensitized, and the specific process is as follows: the position information of the IFC model subjected to step 2.2 processing is reset, and the world coordinate system origin of the IFC model is set to (0.0, 0.0, 0.0), and the TrueNorth data is cleared; Step 2.3.3, the description information is desensitized, and the specific process is as follows: the description information of the IFC model subjected to step 2.2 processing is processed in one of the following two ways: fuzzification processing and deletion processing; Step 2.3.4, the entity information is desensitized, and the specific process is as follows: the entity information of the IFC model subjected to step 2.2 processing is processed in one of the following two ways: replacing with a general name and replacing with a random anonymous code.
[0103] Embodiment 4 Based on the above embodiment 3, the embodiment discloses the specific process of step 3, and the specific process of step 3 is as follows: Step 3, the IFC model processed in step 2 is split to obtain a single building component entity, and the specific process is as follows: Step 3.1, the IFC model processed in step 2 is obtained, building element recognition and single building component entity splitting are performed, and the specific process is as follows: Step 3.1.1, basic component splitting, specifically: based on the graph structure analysis algorithm and the IFC parsing tool, the IFC model processed in step 2 is decomposed into single building component entities, and a splitting function is defined, and the specific process is as follows:
[0104] Wherein, D represents the splitting function; represents the single building component entity after splitting; k is the total number of components contained in the IFC model ; The specific process of decomposing the IFC model into single building component entities based on the graph structure analysis algorithm and the IFC parsing tool is as follows: By traversing the hierarchical structure of the IFC model, the components are preliminarily separated according to the type attribute of the components, and in the splitting process, the component entity data structure is established, and the specific process is as follows:
[0105] Wherein, is the unique identification of the component, which is generated based on the IFC global ID; is the component type; is the storage geometry information; is the attribute information; Step 3.1.2, detailed division of special components: for special components, the detailed division of sub-component levels is carried out according to the geometric boundary and functional characteristics; The specific process of the detailed division of sub-component levels is as follows: Firstly, the sub-component type is identified based on the IFC entity attribute, secondly, the topology algorithm of B-Rep is used to parse the IFC geometry data, the interface coordinates or equations of adjacent sub-components are extracted, then the special components are divided into several functional areas according to the specification, each functional area meets the specification and has clear engineering significance, finally the association relationship between sub-components is established through three-dimensional coordinate offset and mechanical transmission path; Step 3.1.3, split of the feature component with the hole, specifically: for the component containing the hole, define the opening geometric feature set, then analyze the geometric relationship between the opening and the main component, define the relationship identifier, the opening recognition algorithm of the CSG tree, separate the main component and the opening component, establish the bidirectional association attribute, realize the extraction and split of the main component and the opening component, after the split operation is completed, the geometric integrity check is carried out, and the boundary integrity of the main component after splitting is verified; The opening geometric feature set is as follows:
[0106] Wherein, P=(x, y, z) is the opening center point coordinate based on the global coordinate system, S is the opening shape identifier, and D is the opening size; The bidirectional association attribute is specifically represented as follows: The main component attribute is represented as:
[0107] The opening component attribute is represented as:
[0108] Wherein, is the opening component; is the main component; Step 3.1.4, ProxyEntities processing, specifically: for ProxyEntities, first, according to the position, geometric shape and connection relationship of ProxyEntities in the IFC model, preliminary classification is carried out, specifically as follows: First, define the proxy entity attribute set, specifically as follows:
[0109] Wherein, is the minimum bounding box coordinate; is the geometric shape description; is the connection relationship list; Next, the domain expert verification is carried out, first, the preliminary classification report is generated, specifically as follows:
[0110] Wherein, is the proxy entity ID; is the attribute set; is the algorithm suggestion type; Then, an expert feedback mechanism is established, the report is handed over to the domain expert, the expert checks and checks further by checking the model context, design document, and outputs the correction result; Expert feedback mechanism, specifically as follows:
[0111] Wherein, is the final correct type; is the correction reason; Step 3.2, the split result in step 3.1 is stored in a structured manner, specifically as follows: The split single building component entity is stored as an independent IFC file according to the category, forming a component-level dataset, specifically as follows:
[0112] Wherein, E represents the component-level dataset; e i represents a single building component.
[0113] Example 5 Based on the above embodiment 4, the embodiment discloses the specific process of step 4, and the specific process of step 4 is as follows: Step 4.1, obtaining the single building component entity after splitting the IFC model in step 3, normalizing the position and direction of the single building component, specifically as follows: Step 4.1.1, single building component position normalization, specifically: obtaining the single building component entity after splitting the IFC model in step 3, aligning the global coordinate system, resetting the local coordinate system origin of each single building component to the global coordinate system origin (0.0, 0.0, 0.0) through the position reset function, clearing Axis and RefDirection, and ensuring the unified reference positioning of all single building components. The position reset function is defined as follows:
[0114] Wherein, is the component placement parameter; Step 4.1.2, single building component direction normalization, specifically: direction consistency correction, unifying the axis direction of the component local coordinate system, ensuring that the direction description of all components is consistent with the global coordinate system, and simultaneously traversing the geometric representation of the component, if there is a local coordinate system definition, resetting its axis parameter to the standard direction and clearing the non-standard direction parameter; The standard direction of the axis parameter is as follows: The Z-axis direction is set to (0.0, 0.0, 1.0), corresponding to the vertical direction of the global coordinate system, i.e. the coordinate value increases in the vertical upward direction; the X-axis direction is set to (1.0, 0.0, 0.0), corresponding to the horizontal direction of the global coordinate system; Step 4.2, single building component geometric representation normalization, specifically as follows: Step 4.2.1, non-core geometric term filtering, specifically: remove the representation terms irrelevant to the core geometry in a single building component, and the core geometric term is specifically to retain only the geometric representation of the "Body" type, and the specific process is as follows: Define the filtering function:
[0115] Wherein, is the geometric representation set of the component ; For the geometric representation set of the component , the core geometric term containing only is screened out by the filtering function, and the non-core geometric term is removed; Step 4.2.2, single building component geometric integrity verification, check whether the geometry of the single building component has gaps, overlaps, and non-manifold structures, as follows: First, the vertex coordinate verification is performed: traverse the vertex set, verify that the vertex coordinate value is not NaN and not infinite, and the number of repeated vertices is not more than 1%, and the fixed point set is as follows:
[0116] Wherein, represents the vertex set; represents the jth target component; represents the three-dimensional coordinate value of the ith vertex in the vertex set, i=1, 2,..., n, wherein n is the total number of component vertices; Then, the boundary representation verification is performed: for the IfcFacetedBrep type geometry, check the association relationship of the face, edge and vertex, and ensure that each edge is shared by two faces, and there is no isolated vertex; Finally, the size validity is verified: the minimum bounding box size of the component is calculated, and if the minimum bounding box size is less than the engineering threshold, it is marked as abnormal and removed; Step 4.2.3, semantic consistency check: verify whether the component type matches the geometric shape, and mark the mismatched as a component to be manually checked; Step 4.3, establish single building special component geometric correction, as follows: Step 4.3.1, IfcOpeningElement processing: for IfcOpeningElement, extract the opening geometric feature, as follows:
[0117] Wherein, OpeningFeature is the opening feature extraction function; For the jth target piece, i.e. the main body member with opening; P=(x, y, z) is the coordinate of the opening center point, S is the shape identifier, and D is the size parameter; And the association relationship between the main body member and the opening member is established through the IfcRelVoidsElement entity, as follows:
[0118]
[0119] Among them, HasOening is an association relationship function, indicating that the main body member contains the opening member; The main body member is as follows: The opening member is as follows: BelongsTo is a membership function, indicating that the opening member belongs to the main body member; Step 4.3.2, subdivision of single building complex components: for single building complex components, after completing the preliminary splitting, the independent geometric standardization and parameterization constraint verification of each sub-component needs to be performed, as follows: Based on the function decomposition of the component, the parameter set of the sub-component is established, the topological relationship between the sub-components is recorded through IfcConnectionGeometry, and the parameter verification module traverses all the sub-components to verify the conformity of their geometric parameters with the design specifications; Step 4.4, output of standardization results, as follows: Generate a set of standardized components, as follows:
[0120] Among them, represents a single component in a standardized format, i=1, 2,..., k, k is the total number of single components; and each component needs to meet the following requirements: The geometric representation only contains the Body type, and the non-core items are filtered through the filter_representations( ) function; the position coordinates are based on the global origin, and the coordinate system is reset through the location_setup( ) function; the unit is unified to SI system, and the precision is not less than 1× .
[0121] Example 6 Based on the above embodiment 5, the specific process of steps 5 and 6 is disclosed, as follows: The specific process of step 5 is as follows: Step 5.1, multi-format data conversion and verification of the geometric expression information standardized in step 4; Step 5.1.1, conversion tool selection and parameter configuration: different specialized tools are selected and parameters are configured for different target formats expected to be obtained, to ensure conversion accuracy and standardization, as follows: IFC format conversion OBJ format: ifcconver is used for format conversion, and the global coordinate system is forced to be used through the command line parameter --world-coords, combined with --brep to retain B-Rep data, to ensure complete conversion and accurate representation of complex curved surface geometry; IFC format conversion PNG format: based on the automatic rendering script of Blender, a four-point light source lighting system is configured: main light intensity 1500 lux, auxiliary light intensity 800 lux; white background: RGB 255, 255, 255 and 512x512 pixel resolution; standard five-view PNG format images are automatically generated and saved, including front view, left view, top view, isometric view, and overhead view, realizing multi-view standardized visualization conversion of BIM model; IFC format conversion PLY format: on the basis of OBJ format conversion, RandomSampling function of CloudCompare is used to perform point cloud sampling processing, and by setting sampling density and supplementing mesh vertex normal information, PLY format point cloud data is generated to meet different accuracy requirements of geometric expression; IFC format conversion JSON format: based on the metadata extraction tool of IfcOpenShell library, batch semantic information extraction is performed for target building components, and JSON format record file containing multi-dimensional attributes of component ID, type, material and associated relationship is generated, and CSV table containing component relationship is constructed through data arrangement and mapping mechanism, realizing structured export and relationship mapping of BIM semantic data; Step 5.1.2, standardized data conversion, define format conversion functions, as follows:
[0122] Wherein is the OBJ format mesh file; is the multi-view rendering image; is the point cloud file; is the semantic metadata file; is the component relationship table; Step 5.1.3, format verification rules: the converted files are verified for format compliance, the OBJ file needs to verify vertex and face syntax format to ensure that there is no invalid index and illegal character; the PLY file needs to check the completeness of point cloud data field to ensure that there is no missing and redundant attribute; the JSON / CSV file needs to check key-value pair and column alignment; Meanwhile, for the format errors found in the format verification process, the system will automatically handle according to the preset correction rules: for OBJ files, map invalid indexes to the nearest valid vertex and remove lines containing illegal characters; for PLY files, automatically complete the missing color field; for JSON / CSV files, perform key name mapping and value type conversion; Step 5.1.4, quality inspection standard: establish a three-level quality inspection system, through preset parameter threshold and logical rules to automatically check the converted data, ensure that the geometric data, image data and semantic data meet the requirements of engineering application, as follows: Geometric data inspection: evaluate model integrity by calculating bounding box volume and verifying vertex normal consistency; Image data inspection: eliminate interference factors affecting subsequent algorithm processing through focusing resolution and color mode; Semantic data inspection: ensure the effectiveness and acyclic nature of logical connections between entities by traversing the association relationship network; Step 5.2, data file hash deduplication processing, as follows: Step 5.2.1, hash algorithm selection: output as a 256-bit hexadecimal string, ensuring unique mapping of file content with a conflict probability of less than 10 -30 ; Step 5.2.2, hash value calculation and index construction: obtain the files after multi-format data conversion in step 5.1, as follows:
[0123] Where F represents the set of multi-format data files, i.e. the set of all files after format conversion in step 5.1; represents the i-th independent file in the set, i = 1, 2,..., n, n represents the total number of files in the set; Calculate the hash value of each file, as follows:
[0124] Where, represents the hash value of the i-th file, which is a 256-bit hexadecimal string; SHA-256 represents Secure Hash Algorithm 256; Establish a hash index dictionary, as follows:
[0125] Where H represents the hash index dictionary, used to store the mapping relationship between hash values and files; represents the key of the dictionary corresponding to the unique file hash value; The value of the dictionary represents the dictionary, and if multiple files have the same hash value, it is determined that the files are repeated; Step 5.2.3, repeated file screening and processing: traverse the hash index dictionary, for each file list corresponding to a hash value, if the list length is not less than 2, only keep the first file, delete the remaining repeated files, record the deleted file path to the log file, the log file contains the fields of file path, hash value and deletion time; Step 5.2.4, data set simplification and storage: after step 5.2.3 deduplication, a unique file set is generated, as follows:
[0126] Where F represents the unique file set generated after deduplication processing; represents the i-th unique file in the set, i=1, 2,..., m, m represents the total number of unique files in the set after deduplication; And store the file set in a four-level directory structure, the storage path is root directory / {category} / {tag} / {filename}.{format}.
[0127] The specific process of step 6 is as follows: Step 6.1, perform rendering parameter configuration, as follows: Use a three-dimensional rendering tool to visualize and render the data files generated in step 5 to ensure that the output results meet the engineering display and data analysis requirements; Rendering parameter configuration: uniformly set the lighting conditions to 4-point light source uniform illumination, the background to pure white, RGB value 255, 255, 255, and the resolution to 512x512 pixels; For OBJ three-dimensional mesh files, enable PBR material pipeline; For PLY point cloud data, enhance the visualization effect of geometric features through pseudo-color coding; Step 6.2, multi-view rendering strategy and visualization data generation for the data files generated in step 5, as follows: Follow the standardized view collection specification to render each component model from the following 5 key views without repetition, including: vertex view of the bounding box, front view, left view, top view, and 45° isometric view. The control script of the view controls the virtual camera position and orientation through setting parameters, including: position parameters, rotation parameters, and projection parameters.< / default>
Claims
1. A standardized IFC entity data processing method, characterized in that: The following steps are involved: Step 1: Obtain the original BIM model and perform preprocessing to obtain the IFC model dataset; Step 2: Align the geometric expression accuracy and measurement units of the IFC model dataset in step 1, and perform sensitive information desensitization on the IFC model; Step 3: Split the IFC model processed in step 2 to obtain a single building component entity; Step 4: standardize the geometric expression information of the single building component entity in step 3 and obtain standardized geometric expression information; Step 5: Convert the format of the geometric expression information standardized in step 4 and perform deduplication processing; Step 6: Apply a multi-view rendering strategy and generate visual data to the data file generated in step 5 to obtain a multi-format dataset for further analysis.
2. The standardized IFC entity data processing method according to claim 1, characterized in that: The specific process of step 1 is as follows: Step 1.1: Collect several different types of original BIM models from several BIM software to ensure data diversity. Then, convert the different types of original BIM models into the IFC4 standard format to form an initial IFC model set. The initial IFC model set is as follows: (1) Where M represents the initial IFC model set, Represents a single IFC model within a collection; Step 1.2: Based on the initial IFC model set obtained in step 1.1, classify the buildings into categories. The specific process is as follows: Step 1.2.1: Based on the IFC model set obtained in step 1.1, extract the IFC model metadata and geometric features as the classification basis, and then use the decision tree algorithm to build a classification model, analyze the features, and recommend candidate categories; Step 1.2.2: Perform a second manual classification. Domain experts will perform a second verification of the classification results in step 1.2.1 and correct any misclassified results. Step 1.3: IFC model integrity screening and preliminary processing. The specific process is as follows: Step 1.3.1: Define the IFC model integrity and compliance screening criteria, including: Core component existence screening criteria: Each IFC model must contain at least three identifiable IFC standard building elements; Attribute compliance screening criteria: component attributes comply with IFC4 specifications; Unit system preliminary screening criteria: The measurement unit is SI; Step 1.3.2: Filter the IFC models classified in step 1.2 according to the criteria described in step 1.3.
1. The specific process is as follows: First, IFC models are screened based on the core component existence screening criteria and the attribute compliance screening criteria in step 1.3.
1. Valid IFC models that meet both the core component existence screening criteria and the attribute compliance screening criteria are retained, while invalid IFC models that do not meet either the core component existence screening criteria or the attribute compliance screening criteria are discarded. Step 1.3.3: Generate a structured IFC model dataset based on the valid IFC model retained in step 1.3.2 and store it by building category.
3. The standardized IFC entity data processing method according to claim 2, characterized in that: The BIM software mentioned in step 1.1 includes: Revit, Tekla, Bentley, CATIA, Archicad, SketchUp; The specific process of converting different types of original BIM models into the IFC4 standard format as described in step 1.1 is as follows: For native formats of BIM software that supports API, it is automatically exported as IFC files through the API interface of each software, mapping the software family type to the IFC entity and retaining the material parameters; For native BIM software formats that do not support APIs, the IfcOpenShell library is used to parse the geometric kernel, extract geometric information, reconstruct IFC entity properties, and then generate IFC4 files that comply with the buildingSMART standard, ensuring that the geometric and semantic information of non-standard format models is not lost.
4. The standardized IFC entity data processing method according to claim 3, characterized in that: The specific process of step 2 is as follows: Step 2.1: Obtain the IFC model dataset preprocessed in step 1 and unify the IFC model geometric expression accuracy as follows: Use open source tools to traverse the geometric representation context of IFC models and set the geometric accuracy of all IFC models to a predefined unified standard to ensure consistent geometric accuracy across all IFC models; The predefined unified standard is specifically: the coordinate accuracy value of the IFC model is set to 1×10−5 meters, and the vertex coordinate error does not exceed 0.01 mm; Step 2.2: Convert the measurement units of the IFC model whose geometric expression accuracy has been unified in step 2.1 as follows: Step 2.2.
1. Identify all attributes in the IFC model that contain measurement values. For each IFC model, define a conversion function as follows: (2) Among them, m i Represents a single IFC model in the collection; V(m i ) represents the set of measurement values of the original units in the model; V'(m i ) represents the set of measurement values after conversion to SI units; g represents the conversion function; Step 2.2.2: Use the conversion function g defined in step 2.2.1 to drive the tool to achieve batch conversion and ensure uniform units. Step 2.3: Desensitize the IFC model after the measurement unit conversion in step 2.
2. The details are as follows: Step 2.3.1: Desensitize the header information. Specifically, replace the header information of the IFC model processed in step 2.2 with the default value. Step 2.3.2: Desensitize the position information. Specifically, reset the position information of the IFC model processed in step 2.2, set the origin of the world coordinate system of the IFC model to (0.0, 0.0, 0.0), and clear the TrueNorth data. Step 2.3.3, desensitizing the description information, specifically: select one of the following processing methods to process the IFC model description information processed in step 2.2: blurring or deleting; Step 2.3.4, entity information desensitization, specifically: the IFC model entity information processed in step 2.2 is processed in one of two ways: replacing it with a common name or replacing it with a random anonymous code.
5. The standardized IFC entity data processing method according to claim 4, characterized in that: The specific process of step 3 is as follows: Step 3: Split the IFC model processed in step 2 to obtain a single building component entity, as follows: Step 3.1: Obtain the IFC model processed in step 2 and perform building element identification and single building component entity splitting as follows: Step 3.1.1: Decompose the basic components. Specifically, decompose the IFC model processed in step 2 into single building component entities based on the graph structure analysis algorithm and IFC parsing tools, and define the decomposition function as follows: (3) Where D represents the splitting function; Represents a single building component entity after splitting; k is the IFC model The total number of components included; The specific process of decomposing the IFC model into single building component entities based on the graph structure analysis algorithm and IFC parsing tool is as follows: By traversing the hierarchical structure of the IFC model, a preliminary separation is performed based on the type attributes of the components. During the separation process, the component entity data structure is established, as follows: (4) in, It is the unique identifier of the component, generated based on the IFC global ID; is the component type; To store geometric information; is attribute information; Step 3.1.2: Detailed division of special components: For special components, perform detailed division of sub-component levels based on their geometric boundaries and functional characteristics; The detailed division of the sub-component level is as follows: First, based on IFC entity attributes, the subcomponent type is identified. Then, the B-Rep topology algorithm is used to parse the IFC geometry data and extract the interface coordinates or equations of adjacent subcomponents. Then, according to the specifications, the special component is split into several functional areas. Each functional area complies with the specifications and has clear engineering significance. Finally, the association between subcomponents is established through 3D coordinate offset and mechanical transfer path. Step 3.1.3: Split components with opening features. Specifically, for components containing openings, define an opening geometric feature set, analyze the geometric relationship between the opening and the main component, define a relationship identifier, use the CSG tree opening recognition algorithm, separate the main component from the opening component, establish a bidirectional association attribute, and extract and split the main component and the opening component. After the split operation is completed, perform a geometric integrity check to verify the boundary integrity of the main component after splitting. The opening geometric feature set is as follows: (5) Where P = (x, y, z) is the coordinate of the opening center point based on the global coordinate system, S is the opening shape identifier, and D is the opening size; The bidirectional association attributes are specifically expressed as follows: The main component properties are expressed as: (6) The properties of the opening component are expressed as: (7) in, is an opening member; As the main component; Step 3.1.4, ProxyEntities processing, specifically: For ProxyEntities, first perform a preliminary classification based on the ProxyEntities' position, geometry, and connection relationship with other components in the IFC model, as follows: First, define the proxy entity attribute set as follows: (8) in, is the minimum bounding box coordinate; It is a geometric description; is a list of connection relationships; Next, we conduct domain expert verification and generate a preliminary classification report, as follows: (9) in, is the agent entity ID; is a collection of attributes; is the algorithm suggestion type; Then, an expert feedback mechanism is established to hand over the report to domain experts. The experts review the model context and design documents, conduct further marking and inspection, and output the correction results. The expert feedback mechanism is as follows: (10) in, is the final correct type; To correct the cause; Step 3.2: Structure the storage of the split results in step 3.1 as follows: The split single building component entities are stored as independent IFC files by category to form component-level datasets, as follows: (11) Where E represents the component-level dataset; e i Represents a single building component.
6. The standardized IFC entity data processing method according to claim 5, characterized in that: The specific process of step 4 is as follows: Step 4.1: Obtain the single building component entity after splitting the IFC model in step 3, and standardize the position and orientation of the single building component as follows: Step 4.1.1: Standardize the position of a single building component. Specifically, obtain the single building component entities after splitting the IFC model in step 3, align them with the global coordinate system, and reset the local coordinate system origin of each single building component to the global coordinate system origin (0.0, 0.0, 0.0) using the position reset function. Clear the Axis and RefDirection to ensure that all single building components have a unified reference position. The position reset function is specifically defined as follows: (12) in, Place_parameters for the component; Step 4.1.2: Standardize the orientation of a single building component. Specifically, perform orientation consistency correction to unify the axial direction of the component's local coordinate system to ensure that the orientation description of all components is consistent with the global coordinate system. At the same time, traverse the component's geometric representation. If a local coordinate system definition exists, reset its axial parameters to the standard orientation and clear non-standard orientation parameters. The standard directions of the axial parameters are as follows: The Z-axis direction is set to (0.0, 0.0, 1.0), which corresponds to the vertical direction of the global coordinate system, that is, the direction in which the coordinate value increases is vertically upward; the X-axis direction is set to (1.0, 0.0, 0.0), which corresponds to the horizontal direction of the global coordinate system; Step 4.2: Standardize the geometric representation of a single building component as follows: Step 4.2.1: Filter non-core geometry items. Specifically, remove items that are not related to the core geometry of a single building component. Specifically, only the "Body" type geometry is retained. The specific process is as follows: Define the filter function: (13) in, For components All geometric representations of ; For components The geometric representation set , filter out only the The core geometric items of , remove the non-core geometric items; Step 4.2.2: Check the geometric integrity of a single building component to see if there are gaps, overlaps, or non-manifold structures in the geometry of the single building component. The details are as follows: First, perform vertex coordinate verification: traverse the vertex set to verify that there are no NaN or infinity vertex coordinate values, and the number of duplicate vertices does not exceed 1%. The specific vertex set is as follows: (14) in, Represents a set of vertices; represents the jth target component; Represents the three-dimensional coordinate value of the i-th vertex in the vertex set, i = 1, 2, ..., n, where n is the total number of component vertices; Then perform boundary representation verification: For IfcFacetedBrep type geometry, check the association relationship between faces, edges, and vertices to ensure that each edge is shared by two faces and there are no isolated vertices; Finally, verify the size validity: calculate the minimum bounding box size of the component. If the minimum bounding box size is smaller than the engineering threshold, mark it as an anomaly and remove it; Step 4.2.3, semantic consistency check: verify whether the component type and geometric form match. If they do not match, mark them as components to be manually verified; Step 4.3: Create geometric corrections for a single building special component, as follows: Step 4.3.1, IfcOpeningElement processing: For IfcOpeningElement, extract the opening geometric features as follows: (15) Among them, OpeningFeature is the opening feature extraction function; is the jth target part, i.e., the main component with an opening; P = (x, y, z) is the coordinate of the center point of the opening, S is the shape identifier, and D is the size parameter; The association relationship between the main component and the opening component is established through the IfcRelVoidsElement entity, as follows: (16) (17) Among them, HasOening is the association relationship function, indicating that the main component contains the opening component; As the main component; is the opening component; BelongsTo is the belonging relationship function, indicating that the opening component is subordinate to the main component; Step 4.3.2: Subdivision of a single complex building component: After the initial subdivision of a single complex building component, it is necessary to perform independent geometric standardization and parametric constraint verification on each subcomponent, as follows: Based on the component function decomposition, a sub-component parameter set is established. The topological relationship between sub-components is recorded through IfcConnectionGeometry. The parameter verification module traverses all sub-components to verify that their geometric parameters conform to the design specifications. Step 4.4: Standardize the result output, as follows: Generate a set of standardized components as follows: (18) in, Represents a single component in a standardized format, i=1, 2, ..., k, k is the total number of single components; and each component The following requirements must be met: The geometry representation contains only Body types, through filter_representations( ) function to filter non-core items; the location coordinates are based on the global origin and are set by location_setup( ) function resets the coordinate system; the units are unified to SI system, and the accuracy is not less than 1× .
7. The standardized IFC entity data processing method according to claim 6, characterized in that: The specific process of step 5 is as follows: Step 5.1: Convert and verify the geometric expression information standardized in step 4 into multiple formats; Step 5.1.
1. Conversion tool selection and parameter configuration: For different target formats, different dedicated tools are selected and parameters are configured during the conversion process to ensure conversion accuracy and standardization, as follows: IFC format conversion to OBJ format: Use ifcconver for format conversion, use the command line parameter --world-coords to force the use of the global coordinate system, and combine --brep to retain B-Rep data to ensure complete conversion and accurate representation of complex surface geometry; IFC format conversion to PNG format: Based on Blender's automated rendering script, a four-point light source lighting system is configured: a main light intensity of 1500 lux, a fill light intensity of 800 lux; a white background with RGB 255, 255, 255 and a 512×512 pixel resolution. PNG format images are automatically generated and saved in the standard five perspectives (front view, left view, top view, axonometric view, and bottom view), achieving standardized multi-perspective visualization conversion of BIM models. IFC format to PLY format conversion: After completing the OBJ format conversion, CloudCompare's RandomSampling function is used to perform point cloud sampling processing. By setting the sampling density and supplementing the mesh vertex normal information, PLY format point cloud data is generated to meet the geometric expression requirements of different precision requirements; IFC format conversion to JSON format: A metadata extraction tool based on the IfcOpenShell library performs batch semantic information extraction on target building components, generating a JSON-formatted record file containing multi-dimensional attributes such as component ID, type, material, and association relationships. A CSV table containing component relationships is constructed through data organization and mapping mechanisms, enabling structured export and relationship mapping of BIM semantic data. Step 5.1.2: Perform standardized data conversion and define the format conversion function as follows: (19) Among them is the OBJ format mesh file; Render images for multiple perspectives; Point cloud file; It is a semantic metadata file; is the component relationship table; Step 5.1.3, Format Verification Rules: Verify the format compliance of the converted files. For OBJ files, verify the vertex and face syntax format to ensure that there are no invalid indexes and illegal characters. For PLY files, check the integrity of the point cloud data fields to ensure that there are no missing or redundant attributes. For JSON / CSV files, verify the key-value pairs and column alignment. At the same time, for format errors found during the format verification process, the system will automatically handle them according to preset correction rules: for OBJ files, invalid indices are mapped to the nearest valid vertices and rows containing illegal characters are removed; for PLY files, missing color fields are automatically completed; for JSON / CSV files, key name mapping and value type conversion are performed; Step 5.1.4, Quality Inspection Standards: Establish a three-level quality inspection system to automatically verify the converted data using preset parameter thresholds and logic rules to ensure that the geometric data, image data, and semantic data meet the engineering application requirements. The details are as follows: Geometric data checking: Assess model integrity by calculating bounding box volume and verifying vertex normal vector consistency; Image data inspection: By focusing on resolution and color mode, eliminate interference factors that affect subsequent algorithm processing; Semantic data checking: By traversing the relationship network, the validity and acyclicity of the logical connections between entities are ensured; Step 5.2: Data file hash deduplication processing, as follows: Step 5.2.1, Hash algorithm selection: The output is a 256-bit hexadecimal string, ensuring the unique mapping of file content and a collision probability of less than 10 -30 ; Step 5.2.2, Hash value calculation and index construction: Obtain the multi-format data conversion file in step 5.1, as follows: (20) Where F represents a set of multi-format data files, i.e., the set of all files after format conversion in step 5.1; represents the i-th independent file in the set, i=1, 2, ..., n, and n represents the total number of files in the set; Calculate the hash value of each file as follows: (21) in, Represents the hash value of the i-th file, a 256-bit hexadecimal string; SHA-256 represents SecureHash Algorithm 256; Create a hash index dictionary as follows: (22) Where H represents the hash index dictionary, which is used to store the mapping relationship between hash values and files; Indicates that the dictionary key corresponds to a unique file hash value; Represents the value of the dictionary. If multiple files have the same hash value, they are considered duplicate files. Step 5.2.3, duplicate file screening and processing: traverse the hash index dictionary, for each hash value corresponding to the file list, if the list length is not less than 2, only keep the first file, delete the remaining duplicate files, and record the deleted file path in a log file. The log file contains fields such as file path, hash value, and deletion time; Step 5.2.4, Dataset Reduction and Storage: After deduplication in step 5.2.3, a unique file set is generated, as follows: (23) Where F represents the unique file set generated after deduplication processing; represents the i-th unique file in the set, i = 1, 2, ..., m, and m represents the total number of unique files in the set after deduplication; The file collection is stored in a four-level directory structure, and the storage path is root directory / {category} / {label} / {file name}.{format}.
8. The standardized IFC entity data processing method according to claim 7, characterized in that: The specific process of step 6 is as follows: Step 6.1, configure the rendering parameters as follows: Use 3D rendering tools to visualize the data files generated in step 5 to ensure that the output results meet the requirements of engineering display and data analysis; Rendering parameter configuration: The lighting conditions are uniformly set to 4 light sources, the background is pure white, the RGB values are 255, 255, 255, and the resolution is uniformly set to 512×512 pixels; Enable PBR material pipeline for OBJ 3D mesh files; For PLY point cloud data, the visualization effect of geometric features is enhanced through pseudo color coding; Step 6.2: Apply multi-view rendering strategy and visualization data generation to the data file generated in step 5, as follows: Following standardized view acquisition specifications, each component model is rendered from the following five key viewpoints without duplication: the vertex view of the cuboid bounding box, the front view, the left view, the top view, and the 45° axonometric view. The control script for these viewpoints controls the position and orientation of the virtual camera by setting parameters, including position, rotation, and projection parameters.
Citation Information
Cited By
Fabricated building wall multi-robot collaborative small-scale customized production system and method
CN121223786A
Construction method and device for constructing building scene based on visualization engine
CN121685869A
BIM model exchange format visualization processing method and system based on rendering engine
CN121904315A
GIM three-dimensional model fusion method
CN122066852A