A BIM model vector data processing method and system

By converting BIM models into vectorized data and establishing a spatial hierarchical index structure, and then compressing and storing them in segments, the problems of data redundancy and poor cross-platform compatibility in BIM models are solved, and efficient data processing and interaction are achieved.

CN121598491BActive Publication Date: 2026-05-01HANGZHOU BIMENG CONSTR TECH MANAGEMENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HANGZHOU BIMENG CONSTR TECH MANAGEMENT CO LTD
Filing Date
2026-01-29
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing BIM model processing technologies suffer from data redundancy, resulting in large file sizes, low transmission efficiency, a lack of efficient spatial query and topology analysis mechanisms, difficulty in achieving rapid component location and correlation analysis, poor cross-platform compatibility, and hindering smooth data interaction and sharing.

Method used

The component geometry information of the BIM model is converted into vectorized data, a spatial hierarchical index structure is established, the data is compressed and stored in segments, processed through a parallel computing framework, and a standardized interface is output to support cross-platform applications.

Benefits of technology

It significantly reduced the model data volume, enabled on-demand loading, improved the speed of component retrieval and location, ensured the consistency and smoothness of data interaction between different platforms, and made full use of computing resources to improve processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121598491B_ABST
    Figure CN121598491B_ABST
Patent Text Reader

Abstract

The application relates to a BIM model vector data processing method and system, wherein the method comprises the following steps: converting component geometric information of a BIM model into vectorized data. Based on the vectorized data, a spatial hierarchical index structure is established, wherein the hierarchical index structure is used for storing spatial positions and topological relations among components. The vectorized data is compressed and stored in slices based on the spatial positions, so that optimized vectorized data is obtained. Through a parallel computing framework, the optimized vectorized data is processed in parallel, so that data processed in parallel is obtained. Through a standardized interface, the data processed in parallel is output, so as to support cross-platform applications. The application solves the problem of how to improve the BIM model vector data processing efficiency in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of building information modeling technology, and in particular to a method and system for processing vector data of BIM models. Background Technology

[0002] With the deepening application of BIM technology throughout the entire building lifecycle, the geometric and semantic information contained in its models is becoming increasingly vast and complex. While mainstream BIM formats (such as IFC and RVT) can fully describe building components, they face significant challenges in supporting cross-platform collaboration, cloud transmission, and real-time interaction during operation and maintenance. Therefore, the industry generally adopts lightweight model technology as a solution, with related technologies mainly focusing on geometric simplification, format conversion, and data indexing.

[0003] However, existing technologies still have significant shortcomings in processing BIM models: First, data redundancy is a prominent issue, with a large amount of repetitive geometric information resulting in massive model file sizes and low transmission efficiency; second, there is a lack of a unified indexing mechanism that can efficiently support spatial queries and topology analysis, making it difficult to achieve rapid component location and correlation analysis; third, existing processing workflows lack the computational power for large-scale data, making it difficult to meet the needs of real-time visualization and rapid retrieval during the operation and maintenance phase; finally, cross-platform compatibility is poor, with different software and rendering engines parsing data inconsistently, hindering smooth data interaction and sharing.

[0004] Therefore, no effective solution has yet been proposed for improving the efficiency of BIM model vector data processing methods. Summary of the Invention

[0005] This application provides a BIM model vector data processing method and system to at least address the problem of how to improve the efficiency of BIM model vector data processing in related technologies.

[0006] In a first aspect, embodiments of this application provide a method for processing BIM model vector data, the method comprising:

[0007] Convert the component geometry information of the BIM model into vectorized data;

[0008] Based on the vectorized data, a spatial hierarchical index structure is established, wherein the hierarchical index structure is used to store the spatial location and topological relationship between components;

[0009] The vectorized data is compressed and stored in segments based on the spatial location to obtain optimized vectorized data.

[0010] The optimized vectorized data is processed in parallel using a parallel computing framework to obtain parallel processed data.

[0011] Through standardized interfaces, parallel-processed data is output to support cross-platform applications.

[0012] In one embodiment, converting the component geometric information of the BIM model into vectorized data includes:

[0013] The original BIM model is analyzed to extract the prototype geometry of the components. Based on the prototype geometry, the component geometry in the actual world coordinates is obtained through an instance transformation matrix.

[0014] Based on the geometry of the component, a triangular mesh of the component geometry is generated through parametric geometry evaluation and meshing.

[0015] The triangular mesh is cleaned and repaired to eliminate geometric defects while preserving its manifold properties.

[0016] Based on the cleaned and repaired triangular mesh, vectorized data is generated according to the geometric characteristics of the components.

[0017] In one embodiment, generating a triangular mesh of the component geometry based on the component geometry through parametric geometry evaluation and meshing includes:

[0018] The component geometry type is identified, and based on the identified component geometry type, the non-planar surface is meshed using an adaptive subdivision algorithm;

[0019] Based on the component geometry after subdivision processing, a triangular mesh of the component is generated through a triangulation algorithm.

[0020] In one embodiment, generating vectorized data based on the cleaned and repaired triangular mesh and the geometric features of the components includes:

[0021] Based on the triangular mesh and the component type, determine the corresponding target vector representation.

[0022] Based on the target vector representation, corresponding vector data is generated through appropriate processing methods;

[0023] All generated vector data are uniformly encapsulated into vectorized data.

[0024] In one embodiment, a spatial hierarchical index structure is initialized based on the spatial distribution of all components in the vectorized data. The spatial hierarchical index structure is an R-tree or an octree.

[0025] By inserting the bounding box of each component into the spatial hierarchical index structure, assigning a unique component ID to each component, and recording the component ID in the component ID list of the corresponding leaf node according to the inclusion relationship between the component bounding box and the index node bounding box, an index of the spatial location of the component is established.

[0026] Based on the components included in the component ID list, a local topological subgraph is constructed. The initial screening is performed by determining whether the bounding boxes of any two components intersect. For component pairs with intersecting bounding boxes, the topological relationship of the component pairs is determined by geometric determination. The topological relationship includes inclusion, intersection, contact, adjacency, connectivity, and nearest neighbor.

[0027] Based on the results of the geometric determination, nodes and edges are created in the local topological subgraph to represent the topological relationships between components;

[0028] By merging the local topological subgraph with cross-node edges, a complete global component topological graph is constructed and associated with the hierarchical index structure to support queries on the spatial location and topological relationships between components.

[0029] In one embodiment, the step of compressing the vectorized data and storing it in segments based on the spatial location to obtain optimized vectorized data includes:

[0030] The vectorized data is analyzed using a geometric similarity detection algorithm to identify duplicate or similar components;

[0031] Based on the aforementioned repeating or approximate components, a geometric redundancy detection and removal mechanism is implemented.

[0032] The components after the removal mechanism are stored in segments based on their spatial location.

[0033] In one embodiment, the step of analyzing the vectorized data using a geometric similarity detection algorithm to identify duplicate or similar components includes:

[0034] Based on the vectorized data, extract the geometric features of the components;

[0035] The geometric features are normalized to eliminate differences in translation, rotation, and scaling between components;

[0036] Based on the normalized geometric features, a geometric signature is generated using a hash algorithm;

[0037] Based on the geometric signature, the geometric similarity between components is calculated using a distance metric algorithm;

[0038] Based on the geometric similarity, components with similarity higher than a preset threshold are clustered into the same group to identify duplicate or similar components;

[0039] The mechanism for detecting and removing geometric redundancy based on the repeated or approximate components includes:

[0040] Based on the vectorized data, a geometric fingerprint of the component is generated through coordinate normalization and feature fusion;

[0041] Based on the geometric fingerprint, the geometric similarity between components is calculated using a distance metric algorithm;

[0042] Based on the geometric similarity, duplicate components are identified by querying the global fingerprint index table;

[0043] The repeating components are recorded as references and their geometric data is not stored; the non-repeating components are stored as new vector data.

[0044] Aggregate the spatial topology connection information of the repeated components and update the component reference relationship in the global fingerprint index table;

[0045] The components based on the removal mechanism are stored in fragments according to their spatial location, including:

[0046] Based on the spatial location of the components, the building space is divided into multiple spatial segments using a spatial partitioning algorithm;

[0047] Based on the spatial partitioning, logical partitioning is established by classifying component types;

[0048] Based on the aforementioned spatial partitioning and logical partitioning, a partitioning index structure is established;

[0049] Based on the aforementioned sharding index structure, data compression and storage are performed using a vertex compression algorithm.

[0050] In one embodiment, the parallel processing of the optimized vectorized data using a parallel computing framework to obtain parallel-processed data includes:

[0051] Based on the optimized vectorized data, vertex transformation, normal vector calculation, and bounding box generation are performed in parallel by the GPU parallel computing unit.

[0052] Based on the generated component geometric data, a spatial index structure is constructed in parallel using a spatial partitioning algorithm;

[0053] Based on the spatial index structure, the shard loading and decompression tasks are distributed to multiple computing nodes through a distributed task scheduler.

[0054] Based on the scheduling results, the parallel computing model performs splicing and rendering operations to obtain the data after parallel processing.

[0055] In one embodiment, the step of outputting parallel-processed data through a standardized interface to support cross-platform applications includes:

[0056] Based on the data processed in parallel, geometric objects, semantic objects, topological objects, and detail-level objects are encapsulated into a structured dataset;

[0057] According to the requirements of the target platform, the structured dataset is mapped and converted into the corresponding interface format using a unified object description language;

[0058] Based on the transformed data, data is synchronously output to multiple clients through a multi-threaded packaging and streaming mechanism.

[0059] Secondly, embodiments of this application provide a BIM model vector data processing system for performing the method described in the first aspect above. The system includes a vectorization data module, a hierarchical index structure module, an optimization module, a rendering data module, and a cross-platform application module; wherein:

[0060] The vectorized data module is used to convert the component geometric information of the BIM model into vectorized data;

[0061] The hierarchical index structure module is used to establish a spatial hierarchical index structure based on the vectorized data, wherein the hierarchical index structure is used to store the spatial location and topological relationship between components;

[0062] The optimization module is used to compress the vectorized data and store it in segments based on the spatial location to obtain optimized vectorized data.

[0063] The rendering data module is used to perform parallel processing on the optimized vectorized data through a parallel computing framework to obtain parallel processed data.

[0064] The cross-platform application module is used to output parallel-processed data through a standardized interface to support cross-platform applications.

[0065] Thirdly, embodiments of this application provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements a BIM model vector data processing method as described in the first aspect above.

[0066] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a BIM model vector data processing method as described in the first aspect above.

[0067] The BIM model vector data processing method and system provided in this application embodiment have at least the following technical effects.

[0068] By converting the component geometry information of the BIM model into vectorized data, the standardized processing of heterogeneous BIM geometric data provides a unified data foundation for all subsequent operations, fundamentally reducing compatibility issues and performance losses caused by data format conversion. A spatial hierarchical index structure is established based on the vectorized data, which stores the spatial location and topological relationships between components, accelerating component retrieval and positioning. Optimized vectorized data is obtained by compressing the vectorized data and storing it in chunks based on spatial location, significantly reducing the overall data volume of the model and implementing an on-demand loading mechanism, effectively solving the bottlenecks in network transmission and memory usage for large-scale models. A parallel computing framework is used to process the optimized vectorized data in parallel, obtaining parallel-processed data. Utilizing the computing power of parallel hardware such as GPUs, data processing and graphics rendering tasks are parallelized, fully utilizing computing resources and directly improving the system's speed in processing massive amounts of vector data and the frame rate of real-time rendering. Standardized interfaces output the parallel-processed data to support cross-platform applications, providing a unified and standardized data access interface for different clients, ensuring consistency and smoothness of data interaction across different platforms. This addresses the issue of how to improve the efficiency of BIM model vector data processing in related technologies.

[0069] Details of one or more embodiments of this application are set forth in the following drawings and description to make other features, objects and advantages of this application more readily apparent. Attached Figure Description

[0070] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0071] Figure 1 This is a flowchart of a blade structure design method for suppressing tip vortex cavitation;

[0072] Figure 2 This is a flowchart illustrating step S101 according to an exemplary embodiment;

[0073] Figure 3 This is a flowchart illustrating step S103 according to an exemplary embodiment;

[0074] Figure 4 This is a system structure block diagram of a BIM model vector data processing system according to an exemplary embodiment;

[0075] Figure 5 This is a structural block diagram of an electronic device according to an exemplary embodiment. Detailed Implementation

[0076] To make the objectives, technical solutions, and advantages of this application clearer, the application is described and illustrated below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application.

[0077] Obviously, the accompanying drawings described below are merely some examples or embodiments of this application. Those skilled in the art can apply this application to other similar scenarios based on these drawings without any inventive effort. Furthermore, it is understood that although the efforts made in this development process may be complex and lengthy, for those skilled in the art related to the content disclosed in this application, any changes to design, manufacturing, or production based on the technical content disclosed in this application are merely conventional technical means and should not be construed as insufficient disclosure of the content of this application.

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

[0079] Unless otherwise defined, the technical or scientific terms used in this application shall have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms “a,” “an,” “an,” “the,” and similar words used in this application do not indicate quantity limitation and may indicate singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that includes a series of steps or modules (units) is not limited to the listed steps or units, but may also include steps or units not listed, or may include other steps or units inherent to these processes, methods, products, or devices. The terms “connected,” “linked,” “coupled,” and similar words used in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. “Multiple” used in this application refers to two or more. “And / or” describes the relationship between related objects, indicating that three relationships may exist; for example, “A and / or B” can represent: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following objects are in an "or" relationship. The terms "first," "second," and "third" used in this application are merely to distinguish similar objects and do not represent a specific ordering of the objects.

[0080] In this document, it should be understood that the terms used may be technical means used to implement part of the present invention or other summary technical terms. For example, the terms may include:

[0081] Component geometry: refers to the inherent and unique two-dimensional or three-dimensional shape information of a single solid component (such as a beam, a floor slab, or a door) in a Building Information Model. It describes the original shape of the component in its own local coordinate system, but does not include its position, rotation, or scaling information in the overall model.

[0082] Vectorized data refers to a data format that accurately represents the geometry of a component using mathematical geometric elements such as points, lines, and surfaces (polygons) and their relationships. It features high precision, lossless scalability, and ease of calculating geometric features.

[0083] Instance transformation matrix: Defines how the geometry of a component (in the local coordinate system) is placed into the global coordinate system of the entire building. It encodes changes in the instance's position (translation), orientation (rotation), and size (scaling).

[0084] Triangular meshes: A common vectorized data format used to represent the surface of 3D objects. Complex geometries are approximated by a series of connected triangular faces, each triangle defined by three vertices and a shared edge. They form the basis of 3D graphics rendering and computation.

[0085] Spatial bounding box: A minimal axially aligned hexahedron (cube) that can completely enclose the geometry of a component. It is defined by the coordinates of its smallest and largest corner points. It is used for quick, coarse spatial extent determination and intersection testing.

[0086] GPU parallel computing units: These refer to the numerous small computing cores within a graphics processing unit (GPU) designed specifically for large-scale parallel processing. They are suitable for computational tasks that apply the same instructions to large amounts of data (such as mesh vertices and pixels).

[0087] Cross-node edge: A topological relationship edge connecting components in two different spatial index nodes. For example, a staircase or elevator connecting different floors. It doesn't belong to any single floor plan, but it's crucial for the connectivity of the entire building. While spatial indexing improves efficiency, it also disrupts the natural relationships that originally crossed boundaries. Cross-node edges are designed to repair this disruption and ensure the integrity of the relationships.

[0088] Local topological subgraph: A small relational network graph that models the topological relationships between all components managed by a specific spatial index node (such as a leaf node in an octree or R-tree). Nodes in a local topological subgraph represent components, and edges represent the topological relationships between components (such as contact, containment, and intersection). For example, a floor plan showing how all rooms (components) within a given floor are connected by doors and corridors (edges).

[0089] Global Component Topology Diagram: This diagram integrates all local topology sub-graphs within the entire BIM model through cross-node edges, forming a unified topological relationship network that covers the entire model. When associated with the spatial index structure, this diagram can answer complex spatial relationship queries such as "find all components that are in contact with this wall."

[0090] In a first aspect, embodiments of this application provide a blade structure design method for suppressing tip vortex cavitation. Figure 1 This is a flowchart of a blade structure design method for suppressing tip vortex cavitation, such as... Figure 1 As shown, the method includes:

[0091] Step S101: Convert the component geometric information of the BIM model into vectorized data.

[0092] Step S102: Based on vectorized data, establish a spatial hierarchical index structure, wherein the hierarchical index structure is used to store the spatial location and topological relationship between components.

[0093] Step S103: Compress the vectorized data and store it in segments based on spatial location to obtain optimized vectorized data.

[0094] Step S104: Using a parallel computing framework, the optimized vectorized data is processed in parallel to obtain the parallel processed data.

[0095] Step S105: Output the parallel-processed data through a standardized interface to support cross-platform applications.

[0096] In summary, this application provides a BIM model vector data processing method. By converting the component geometric information of the BIM model into vectorized data, the standardized processing of heterogeneous BIM geometric data provides a unified data foundation for all subsequent operations, fundamentally reducing compatibility issues and performance losses caused by data format conversion. A spatial hierarchical index structure is established based on the vectorized data, where the hierarchical index structure stores the spatial location and topological relationships between components, accelerating component retrieval and positioning. By compressing the vectorized data and storing it in chunks based on spatial location, optimized vectorized data is obtained, significantly reducing the total data volume of the model and implementing an on-demand loading mechanism, thereby effectively solving the bottlenecks in network transmission and memory usage for large-scale models. Through a parallel computing framework, the optimized vectorized data is processed in parallel to obtain parallel-processed data. Utilizing the computing power of parallel hardware such as GPUs, data processing and graphics rendering tasks are parallelized, fully utilizing computing resources and directly improving the system's speed in processing massive amounts of vector data and the frame rate of real-time rendering. By using standardized interfaces, parallel-processed data is output to support cross-platform applications. A unified and standardized data access interface is provided for different clients, ensuring consistency and smoothness of data interaction across different platforms. This addresses the challenge of improving the efficiency of BIM model vector data processing in related technologies.

[0097] In one embodiment, Figure 2 This is a flowchart illustrating step S101 according to an exemplary embodiment, as follows: Figure 2 As shown, step S101 involves converting the component geometric information of the BIM model into vectorized data. This specifically includes the following steps:

[0098] Step S1011: Analyze the original BIM model, extract the prototype geometry of the components, and obtain the component geometry in the actual world coordinates based on the prototype geometry through the instance transformation matrix.

[0099] Optionally, firstly, initialization and configuration:

[0100] Input: File path or stream (IFC / RVT / STEP / DWG / OBJ, etc.)

[0101] Configuration items (adjustable): unit (automatically read or specified), tessellation_chordal_tol (mesh chord height tolerance, default 2 mm), max_edge_length (maximum edge length), normal_angle_threshold (normal angle threshold, default 30°), sampling_density (sampling density, points / m², default 200), etc.

[0102] Preparation: Enable logging, exception handling, and a parallel thread pool (tessellation / sampling can be parallelized).

[0103] Default parameters are recommended (can be adjusted according to project requirements).

[0104] Chordal tolerance: 0.5mm (ultra-fine) / 2mm (standard construction) / 5–20mm (rough LOD)

[0105] Maximum mesh length: 10–100 mm (depending on application)

[0106] Merge vertex threshold: merge_eps = chordal_tol * 0.1

[0107] Point cloud sampling density: 100–1000 pts / m² (100–300 is commonly used for operation and maintenance).

[0108] Second, parsing and metadata extraction:

[0109] Use the corresponding parser to read the model: read IfcProduct (component object), IfcLocalPlacement (local placement), IfcShapeRepresentation (shape representation), IfcPropertySet (property set), etc. through IFC; export BRep / mesh (boundary representation / mesh) + parameters and properties through RVT using the Revit API (or export to IFC first).

[0110] Record the following for each component: source_id (source identifier), type (IfcClass / Family), local_transform (placement) matrix, material_ref, psets (attribute set), etc.

[0111] Simultaneously read the model's units (mm / m), coordinate system (whether geolocated), and standardize them to an internal unified unit and a right-handed coordinate system. Key implementation point: Do not lose the original ID (used for traceability and attribute matching).

[0112] Collecting transform matrices: Instantiation usually requires expanding the prototype geometry (family geometry) into an instance matrix.

[0113] Third, expand instances and coordinate transformations

[0114] Instance expansion is performed on families / instances containing instances: the prototype geometry (family definition) is copied and the instance transformation matrix (translation, rotation, scaling) is applied to obtain the geometry in real world coordinates.

[0115] Apply unit conversions (e.g., inches to millimeters) and, if necessary, convert geographic coordinates to the local coordinate system (preserving the original georeference metadata).

[0116] Step S1011: Through initial configuration and standardized data parsing processes, the controllability of the processing and compatibility with different BIM formats are first ensured. Then, through precise instance expansion and coordinate transformation, the abstract family definition is transformed into actual geometry with precise spatial locations, solving the problem of correct placement of BIM components in three-dimensional space. Finally, unified metadata extraction and coordinate system unification, while preserving complete original information, provide a standardized and traceable data foundation for all subsequent processing modules, ensuring data quality and consistency throughout the entire process from the source.

[0117] Step S1012: Based on the component geometry, generate a triangular mesh of the component geometry through parametric geometry evaluation and meshing. Specifically, this includes:

[0118] Identify the component geometry type, and based on the identified component geometry type, perform meshing on the non-planar surface using an adaptive subdivision algorithm;

[0119] Based on the component geometry after subdivision processing, a triangular mesh of the component is generated through a triangulation algorithm.

[0120] Optionally, many BIM elements are parametric or based on BRep / NURBS (Boundary Representation / Non-Uniform Rational B-Splines). The parametric surfaces / solids need to be evaluated as discrete triangular meshes or planar polygons. Key sub-steps:

[0121] First, identify the geometric type:

[0122] Simple planar face: Preferably retain as a polygon.

[0123] Surfaces (NURBS, Bezier): require adaptive subdivision.

[0124] Sweep / extrude solids can be resolved into a combination of surfaces / sections and either analytically unfolded or directly tessellated.

[0125] CSG / Boolean body: Perform Boolean operation first, then tessellation (or tessellate first, then triangular Boolean operation, depending on library capabilities).

[0126] Second, adaptive tessellation of surfaces:

[0127] An adaptive subdivision strategy is adopted: subdivision is controlled by chordal deviation or normal deviation.

[0128] Flatness can be estimated using curvature or the maximum distance between a triangle and the true surface.

[0129] Third, triangulation / panelization:

[0130] For planar polygons, construct surfaces directly (pay attention to the handling and orientation of holes), and for curved surfaces, use triangulation (Delaunay / ear-clipping / library provides methods).

[0131] Ensure that the output triangular mesh is in a consistent orientation (face normals facing outwards).

[0132] Fourth, parameter recommendations: chordal_tol = 2mm (normal), max_triangle_edge = 3 * chordal_tol.

[0133] Step S1012, through geometric type identification, achieves the optimal processing path for components of varying complexity, improving processing efficiency while maintaining accuracy. An adaptive subdivision algorithm driven by physical tolerances such as chord height error is employed, rather than a fixed step size. This automatically generates dense meshes to capture details in areas of high surface curvature, while maintaining sparse meshes in flat areas, achieving the best balance between accuracy and performance. Finally, rigorous triangular mesh normalization ensures the manifold and normal consistency of the generated mesh.

[0134] Step S1013: Clean and repair the triangular mesh to eliminate geometric defects while preserving its manifold properties. Specifically, this includes:

[0135] Based on the triangular mesh and component type, determine the corresponding target vector representation;

[0136] Based on the target vector representation, corresponding vector data is generated through appropriate processing methods.

[0137] All generated vector data are uniformly encapsulated into vectorized data.

[0138] Optionally, degenerate triangles (area ≈ 0) are removed, duplicate vertices are removed (distance < merge_eps), and the normal curves are recalculated (smoothed by face or vertex normals).

[0139] Repairing non-manifold edges / holes: Try stitching the boundaries and filling small holes (hole area < threshold).

[0140] Consistent normal direction: Ensures that the outer normal of a closed solid faces outward (used for volume calculation and visualization).

[0141] Step S1014: Based on the cleaned and repaired triangular mesh, generate vectorized data according to the geometric features of the components.

[0142] Optionally, the expression form can be selected based on the characteristics of the component:

[0143] Thick solids and shell-like structures (walls, beams, columns): Retain as triangular meshes. Simultaneously, planes (such as walls) can be extracted and adjacent triangles on the same plane can be merged into planar polygons (with holes) (for easy querying / cropping).

[0144] Merging method: Adjacent triangles are grouped into the same plane set according to the normal angle threshold (e.g., 5°), then projected onto the main plane, and boundary merging (polygon union) is performed to form a complete polygon while preserving hole information.

[0145] Thin slabs (floor slabs, panels): The output will be preferably a polygon (polygon with holes).

[0146] Pipelines / Cables: Can be output as a centerline polyline + radius metadata, or represented as a cylindrical mesh.

[0147] Complex freeform surfaces: preserve triangular meshes or piecewise polygon sets.

[0148] It is important to note that the polygon output must maintain the correct order (clockwise / counterclockwise) and that the outer ring and holes must be marked.

[0149] Step S1014 generates a lightweight boundary representation by performing planar detection and polygon merging on regular components (such as walls and slabs), greatly optimizing query and calculation efficiency. For linear and complex curved surface components, their original mesh or centerline representation is preserved, ensuring visual fidelity. Ultimately, this on-demand adaptive output method provides the optimal data foundation for subsequent spatial analysis, professional calculations, and efficient visualization of the BIM model at the data structure level.

[0150] Step S101 achieves a complete conversion from the original BIM model to high-quality vector data. First, instance analysis and coordinate transformation ensure the accuracy of component spatial positions, laying a solid spatial foundation for subsequent processing. Next, parametric geometry evaluation and adaptive meshing transform complex geometry into a computable triangular mesh, maintaining geometric accuracy while standardizing the data structure. Then, mesh cleaning and repair eliminate model defects and ensure the mesh's manifold characteristics, providing a clean and reliable geometric foundation for subsequent operations. Finally, vectorization based on geometric features generates optimal representations suitable for different component types, perfectly balancing visualization effects and computational analysis efficiency at the data structure level. Through the combined effect of these technologies, a significant improvement in BIM model data processing efficiency and cross-platform application capabilities is ultimately achieved.

[0151] In one embodiment, after completing the geometry vectorization transformation, the following post-processing and optimization steps are further performed to generate application data that can be used for efficient transmission and cross-platform rendering and intelligent analysis:

[0152] Step 1: Point Cloud Generation. This step applies to the triangular mesh data, generating discrete point cloud data on the component surface using area-weighted sampling or Poisson disk sampling algorithms. Its purpose is to provide a more lightweight geometric representation than a complete mesh for applications with extremely high computational speed requirements, such as fast rendering and real-time collision detection. Specifically, the number of sampling points is calculated based on the component's surface area and a preset sampling density. On each triangular facet, evenly distributed sampling points are generated using the centroid coordinate method according to the area ratio. Simultaneously, the spatial coordinates, normal vector, and source component ID are recorded for each point.

[0153] Step 2: Attribute Binding and Simplification. Its purpose is to losslessly associate non-geometric semantic information (such as material, type, and engineering attributes) in the BIM model with the corresponding geometric objects, and to reduce data volume by eliminating redundant information through normalization and filtering. Specifically, attribute sets are extracted from the original model, mapped to each vector object (such as a mesh, point cloud, or polygon), and only key attribute fields are retained, forming a structured, lightweight attribute table.

[0154] Step 3: Topology and Adjacency Information Extraction. Based on the component set with completed geometric and attribute binding, this step aims to construct a basic topology network supporting intelligent querying and analysis by calculating precise spatial relationships between components. First, bounding boxes are used for rapid intersection filtering. Then, precise geometric intersection determination is performed on the filtered component pairs to calculate topological relationships such as containment, contact, and adjacency, which are then stored as a list of associations between components. Topology and adjacency information extraction primarily addresses topological semantic issues such as whether components are connected, intersecting, or adjacent.

[0155] Step 4: Spatial Index and Fragment Metadata Generation. This step relies on the component geometry and spatial relationships obtained in Step 3. Its purpose is to create a "navigation map" for subsequent data fragmentation, dynamic loading, and efficient retrieval. It calculates the bounding box, centroid, and other metadata for each component and assigns it to logical fragments defined by spatial partitioning grids such as quadtrees and octrees based on its spatial location. Simultaneously, it generates a manifest file for each fragment containing its spatial extent, level of detail, and data offset. The generated spatial index structure and fragment metadata constitute a direct mapping between the component's spatial location and subsequent fragment storage. By calculating the component's bounding box, centroid, and its associated node in the spatial tree structure (such as a quadtree or octree), the system can accurately assign components to corresponding spatial fragments and generate index metadata for each fragment for LOD management and client loading. This spatial index not only expresses the spatial relationship between components but also determines the data organization structure for subsequent fragment storage, forming the basis for subsequent data compression, packaging, and on-demand loading mechanisms. The spatial index primarily addresses how to quickly locate view-related components in a large-scale space.

[0156] Step 5: Mesh Reduction and Data Compression. This step builds upon the tiled structure generated in step S704. Its core function is to significantly reduce the amount of data transmitted over the network through multi-level detail techniques and powerful compression of geometric and attribute data, adapting to the bandwidth environments of web and mobile devices. Multiple simplified LOD-level meshes are generated for each component, and the mesh, point cloud, and attribute data are compressed using specialized algorithms such as Draco, LAZ-like, and binary encoding. Simultaneously, spatial coordinates are quantized to further reduce bandwidth requirements.

[0157] Step Six: Sharding, Packaging, and Inventory Output. This step logically and physically packages the processed, discrete data assets (geometry, attributes, indexes) according to spatial sharding and LOD levels, and outputs a global inventory. This inventory allows clients to request and load data from specific shards and corresponding LOD levels as needed, based on the current view scope, enabling smooth browsing of large-scale models.

[0158] Step 7: Verification and Quality Control. Its function is to ensure that the output data meets preset standards in terms of geometric accuracy, topological integrity, and attribute consistency through automated verification rules, thus guaranteeing the reliability of the final data packet. The system verifies the manifold and normal direction of the mesh, compares the geometric errors of the model before and after simplification, checks the integrity rate of attribute mapping, and outputs a report. If necessary, it triggers parameter adjustment and reprocessing procedures.

[0159] Through the sequential execution and close collaboration of the above seven steps, the core technical problems of BIM models in operation, maintenance, and collaborative applications, such as large size, slow loading, and difficulty in interactive analysis, have been solved.

[0160] In one embodiment, step S102 involves establishing a spatial hierarchical index structure based on vectorized data. This hierarchical index structure is used to query the spatial location and topological relationships between components. Specifically, it includes the following steps:

[0161] Step S1021: Based on the spatial distribution of all components in the vectorized data, initialize a spatial hierarchical index structure, wherein the spatial hierarchical index structure is an R-tree or an octree;

[0162] Step S1022: By inserting the bounding box of each component into the spatial hierarchical index structure, assigning a unique component ID to each component, and recording the component ID in the component ID list of the corresponding leaf node according to the inclusion relationship between the component bounding box and the index node bounding box, an index of the spatial location of the component is established.

[0163] Step S1023: Based on the components included in the component ID list, a local topological subgraph is constructed. In this subgraph, a preliminary screening is performed by determining whether the bounding boxes of any two components intersect. For component pairs with intersecting bounding boxes, the topological relationship of the component pairs is determined by geometric determination. The topological relationship includes inclusion, intersection, contact, adjacency, connectivity, and nearest neighbor.

[0164] Step S1024: Based on the result of the geometric determination, create nodes and edges in the local topological subgraph to represent the topological relationships between components;

[0165] Step S1025: By merging the local topological subgraph with the cross-node edges, a complete global component topological graph is constructed and associated with the hierarchical index structure to support queries on the spatial location and topological relationship between components.

[0166] Optionally, a hierarchical spatial index structure (such as an octree or R-tree) can be established to store the spatial locations and topological relationships between components. In the implementation, the hierarchical spatial index can adopt an R-tree or octree structure. Each index node records the node bounding box (BBox), a list of contained component IDs, and a local topological subgraph. The correspondence between components and index nodes is obtained by determining the intersection of the component's bounding box and the node's bounding box; for intersecting components, precise geometric determination (such as mesh intersection, boundary intersection, in-point testing, etc.) is further used to determine the topological relationship. Topological relationships include CONTAINS, INTERSECTS, TOUCHES / ADJACENT, CONNECTED, and NEAR; the local topological subgraph maintained inside the index node and the cross-node edges together form the global component topology graph, used for fast spatial queries and network analysis. When a component changes, the system only needs to recalculate the local topology of the affected index nodes and incrementally update the global topology, thereby efficiently supporting model updates and concurrent operations.

[0167] Specifically, firstly, based on the spatial distribution range of all vectorized components, an R-tree or octree is initialized as the underlying skeleton to complete the creation of the hierarchical index structure. Then, each component is traversed, its bounding box is inserted into the tree structure, and the system assigns a unique ID to each component. Based on the containment relationship between the bounding box and the tree node region, this ID is registered in the management list of the corresponding leaf node, thus establishing a fast mapping index from spatial regions to component sets. Next, for the component sets within the management list of each leaf node, the system performs preliminary relationship filtering through bounding box intersection tests. For the initially filtered component pairs, a more precise geometric intersection determination (including mesh intersection, boundary contact, and point containment tests) is performed to accurately identify specific topological relationships such as containment, intersection, contact, and adjacency. These components are recorded as nodes, and the relationships as edges, forming a local topological subgraph within the node's range. Finally, by identifying and integrating cross-node edges connecting components between different leaf nodes, the system merges all scattered local topological subgraphs to construct a complete and coherent global component topological graph, and associates and binds this global topological graph with the aforementioned spatial hierarchical index structure. Through the above process, the spatial hierarchical index structure can not only support efficient component retrieval based on spatial range, but also directly support complex spatial relationships and topological network queries.

[0168] Step S102 organizes the spatial distribution of components hierarchically using an R-tree or octree structure to establish a spatial index framework. Then, a strategy combining boundary box intersection determination and precise geometric detection is adopted to effectively control computational complexity while ensuring the accuracy of topological relationships. Finally, a complete global component topology graph is constructed through the collaborative integration of local topological subgraphs and cross-node edges. This structure not only supports efficient spatial range querying and network analysis but also achieves local topology updates when components change through an incremental update mechanism, significantly improving the efficiency of dynamic maintenance of large-scale BIM models.

[0169] In one embodiment, Figure 3 This is a flowchart illustrating step S103 according to an exemplary embodiment, as follows: Figure 3 As shown, step S103 involves compressing the vectorized data and storing it in chunks based on spatial location to obtain optimized vectorized data. Specifically, this includes the following steps:

[0170] Step S1031: Analyze the vectorized data using a geometric similarity detection algorithm to identify duplicate or similar components. Specifically, this includes:

[0171] Based on the vectorized data, extract the geometric features of the components;

[0172] The geometric features are normalized to eliminate differences in translation, rotation, and scaling between components;

[0173] Based on the normalized geometric features, a geometric signature is generated using a hash algorithm;

[0174] Based on geometric signatures, the geometric similarity between components is calculated using a distance metric algorithm;

[0175] Based on geometric similarity, components with similarity higher than a preset threshold are clustered into the same group to identify duplicate or similar components.

[0176] Optionally, in the implementation, the vectorized component data is analyzed using a geometric similarity detection algorithm. Similarity detection includes the following steps:

[0177] Geometric feature extraction: Extract features such as the bounding box size ratio, volume, surface area, normal distribution, and shape histogram of the components;

[0178] Feature normalization: Eliminate the effects of translation, rotation, and scaling by aligning the principal axis, shifting the centroid, and normalizing the scale;

[0179] Feature encoding: Generate comparable geometric signatures using geometric hashing or locality-sensitive hashing (LSH);

[0180] Similarity calculation: Calculate the cosine similarity or Euclidean distance of the feature vectors between components to determine geometric similarity;

[0181] Clustering and templating: Components with similarity higher than a preset threshold are clustered into similar groups, and template geometry is generated using representative components in the group. The remaining components are recorded with relative transformation matrices.

[0182] The algorithm described above can effectively identify duplicate or similar components, enabling geometric data compression and template reuse. Combined with a segmented storage mechanism, corresponding templates and instance information can be loaded on demand during model loading, significantly reducing model file size and parsing time.

[0183] Step S1032: Based on repeating or approximate components, a geometric redundancy detection and removal mechanism is implemented. Specifically, this includes:

[0184] Based on repetitive or approximate components, a geometric redundancy detection and removal mechanism is implemented, including:

[0185] Based on vectorized data, geometric fingerprints of components are generated through coordinate standardization and feature fusion;

[0186] Based on geometric fingerprints, the geometric similarity between components is calculated using a distance metric algorithm;

[0187] Duplicate components are identified by querying a global fingerprint index table based on geometric similarity.

[0188] Repeating components are recorded as references without storing geometric data, while non-repeating components are stored as new vector data.

[0189] Aggregate the spatial topology connection information of duplicate components and update the component reference relationship in the global fingerprint index table.

[0190] Optionally, the first step, geometric fingerprint generation, involves standardizing the vectorized data (such as polygons or point clouds) of each component: translating the coordinates to the component's centroid; scaling to a unit volume; rotating to align with the principal direction; and calculating the fingerprint using the following geometric features: component bounding box dimensions, point cloud distribution matrix (PCA principal direction), and topological connectivity matrix (adjacency matrix). These features are then concatenated into a hash input to generate a unique fingerprint.

[0191] HashID = SHA256(geometry_signature)

[0192] In the formula, HashID represents the geometric fingerprint, SHA-256 represents the SHA-256 hash function, and geometry_signature represents the geometric signature.

[0193] Second, similarity measurement: calculating Euclidean distance or Hausdorff distance for component fingerprints.

[0194]

[0195] Geometric similarity is considered when D(A,B) < ε (threshold).

[0196] Third, redundancy detection and removal: a global fingerprint index table (HashIndex) is established; when a new component is imported, the HashIndex is queried: if the matching degree is > 95%, it is considered to be a duplicate of an existing component; it is recorded as a reference and the geometric data is no longer stored; if it is not a duplicate, it is stored as a new vector fragment.

[0197] Fourth, topology merging aggregates the spatial topology connection information (such as adjacent faces and edges) of duplicate components; updates the component relationship references in the index table to achieve a shared geometry library at multiple floors and regions.

[0198] Step S1033: Based on the components after the removal mechanism, perform fragmented storage according to their spatial location. Specifically, this includes:

[0199] Based on the spatial location of the components, the building space is divided into multiple spatial segments using a spatial partitioning algorithm;

[0200] Logical partitioning is established based on spatial partitioning and component type classification.

[0201] Based on spatial partitioning and logical partitioning, a partitioned index structure is established;

[0202] Based on the sharded index structure, data compression and storage are performed using a vertex compression algorithm.

[0203] Optionally, the first step is spatial segmentation, dividing the entire building space into fixed voxel units (e.g., 10m × 10m × 3m); each spatial unit corresponds to a segment file (Chunk), recording the IDs of all vector objects within that area; segment index structure:

[0204] {

[0205] "chunk_id": "C_01_02_03",

[0206] "bounds": [x_min, x_max, y_min, y_max, z_min, z_max],

[0207] "objects": [Obj_1023, Obj_1051, Obj_2001]

[0208] }

[0209] Second, component type segmentation: logical segmentation is established based on component type, such as: Structural, Architectural, and MEP (Mechanical and Electrical). Each type of component is stored independently in a different vector library, which facilitates layered loading and professional division of labor.

[0210] Third, index table-driven loading quickly locates the fragments within the user's view range through a spatial index tree (such as an R-tree); dynamic loading: when the camera's view frustum enters a spatial fragment region, the system asynchronously loads the vector data of that fragment; when leaving the region, the fragment is unloaded.

[0211] Fourth, data is compressed and stored. Each piece of vector data uses a vertex compression algorithm (such as Draco or a custom quantization encoding); a local index table is used to record the compression offset; and real-time decompression is performed during loading.

[0212] Step S103 achieves a significant reduction in BIM model data volume and a comprehensive improvement in access efficiency: Specifically, firstly, a geometric similarity detection algorithm systematically identifies duplicate and similar components in the model, locating data redundancy at its source; then, based on the detection results, a geometric redundancy removal mechanism is executed, eliminating the physical storage of duplicate geometric data through templated and instantiated referencing strategies, significantly reducing model size; finally, based on a spatial fragmentation storage strategy, the optimized components are reorganized according to spatial location, establishing a data structure that matches the spatial distribution, thereby achieving on-demand loading and efficient scheduling of model data. While maintaining the geometric integrity of the model, this effectively solves the problem of low processing efficiency for large-scale BIM model data.

[0213] In one embodiment, step S104 involves using a parallel computing framework to process the optimized vectorized data in parallel, obtaining the parallel-processed data. Specifically, this includes the following steps:

[0214] Step S1041: Based on the optimized vectorized data, vertex transformation, normal vector calculation, and bounding box generation are performed in parallel by the GPU parallel computing unit;

[0215] Step S1042: Based on the generated component geometric data, construct a spatial index structure in parallel using a spatial partitioning algorithm;

[0216] Step S1043: Based on the spatial index structure, the shard loading and decompression tasks are distributed to multiple computing nodes through a distributed task scheduler;

[0217] Step S1044: Based on the scheduling results, perform parallel computing model splicing and rendering operations to obtain the parallel processed data.

[0218] Optionally, based on GPU parallel computing or a distributed framework, it supports rapid processing and real-time rendering of large-scale BIM models. This application further improves the processing performance of vector data by introducing a GPU-based parallel processing mechanism in the data vectorization, index construction, and piecewise rendering processes. Specifically, in the vectorization preprocessing stage, the GPU computing core is used to execute the generation process of component vertices, normals, and boundary vectors in parallel, and a unified vector format is directly formed in the video memory using computational shaders, avoiding data copying between the CPU and GPU. In the index construction stage, a spatial partitioning algorithm based on Morton coding is used to achieve parallel octree / R-tree generation, and the spatial index structure is quickly established through prefix-sum calculation. At the same time, for the piecewise storage and loading stage, a distributed task scheduling mechanism is adopted to allocate piecewise loading and decompression tasks to multiple GPU nodes for parallel execution, realizing real-time model stitching and rendering across nodes, thereby significantly improving system response speed and rendering performance.

[0219] In one embodiment, step S105 involves outputting the parallel-processed data through a standardized interface to support cross-platform applications. Specifically, this includes the following steps:

[0220] Step S1051: Based on the parallel processed data, encapsulate the geometric objects, semantic objects, topological objects, and detail-level objects into a structured dataset;

[0221] Step S1052: According to the requirements of the target platform, the structured dataset is mapped and converted into the corresponding interface format using a unified object description language;

[0222] Step S1053: Based on the converted data, output the data synchronously to multiple clients through a multi-threaded packaging and streaming mechanism.

[0223] Optionally, the vectorized data can be uniformly output via WebGL / Forge / IFC API interfaces to support multi-platform applications. This application further proposes a multi-object unified output and cross-platform adaptation mechanism in the data output stage. This mechanism generates vectorized BIM model data in parallel according to geometric objects, semantic objects, topological objects, detail-level objects, and metadata objects, forming a structured unified description dataset. The system automatically maps and converts internal data structures to external interface formats such as WebGL, Forge, and IFC based on the Unified Output Layer (UOL) and Unified Object Description Language (UODL). During the output process, a multi-threaded packaging and streaming transmission mechanism is adopted to achieve synchronous loading and real-time rendering across multiple platforms, thereby significantly improving cross-platform interaction performance and data consistency.

[0224] In one embodiment, the method can import an IFC model to abstract the geometric shapes of components such as walls, beams, and columns into vector polygon data, and use an R-tree structure to establish a spatial index.

[0225] A geometric hashing algorithm is used to identify duplicate components and compress vector data, which is then combined with WebGL for 3D rendering to achieve lightweight browsing.

[0226] During the operation and maintenance phase, the vectorized model is deployed on the cloud platform and made available to mobile devices via API interfaces to enable real-time visualization queries and spatial analysis.

[0227] In summary, this application provides a BIM model vector data processing method. By converting the component geometric information of the BIM model into vectorized data, the standardized processing of heterogeneous BIM geometric data provides a unified data foundation for all subsequent operations, fundamentally reducing compatibility issues and performance losses caused by data format conversion. A spatial hierarchical index structure is established based on the vectorized data, where the hierarchical index structure stores the spatial location and topological relationships between components, accelerating component retrieval and positioning. By compressing the vectorized data and storing it in chunks based on spatial location, optimized vectorized data is obtained, significantly reducing the total data volume of the model and implementing an on-demand loading mechanism, thereby effectively solving the bottlenecks in network transmission and memory usage for large-scale models. Through a parallel computing framework, the optimized vectorized data is processed in parallel to obtain parallel-processed data. Utilizing the computing power of parallel hardware such as GPUs, data processing and graphics rendering tasks are parallelized, fully utilizing computing resources and directly improving the system's speed in processing massive amounts of vector data and the frame rate of real-time rendering. By using standardized interfaces, parallel-processed data is output to support cross-platform applications. A unified and standardized data access interface is provided for different clients, ensuring consistency and smoothness of data interaction across different platforms. This addresses the challenge of improving the efficiency of BIM model vector data processing in related technologies.

[0228] Secondly, embodiments of this application provide a BIM model vector data processing system. Figure 4 This is a system structure block diagram illustrating a BIM model vector data processing system according to an exemplary embodiment. For example... Figure 4 As shown, the system includes a vectorized data module, a hierarchical index structure module, an optimization module, a rendering data module, and a cross-platform application module; among which:

[0229] The vectorized data module is used to convert the geometric information of components in the BIM model into vectorized data.

[0230] The hierarchical index structure module is used to establish a spatial hierarchical index structure based on vectorized data. The hierarchical index structure is used to store the spatial location and topological relationship between components.

[0231] The optimization module is used to compress the vectorized data and store it in chunks based on spatial location to obtain optimized vectorized data.

[0232] The rendering data module is used to process the optimized vectorized data in parallel using a parallel computing framework to obtain the parallel-processed data.

[0233] The cross-platform application module is used to output parallel-processed data through standardized interfaces to support cross-platform applications.

[0234] In summary, the BIM model vector data processing system provided in this application addresses the issue of improving the efficiency of BIM model vector data processing in related technologies through a vectorized data module, a hierarchical index structure module, an optimization module, a rendering data module, and a cross-platform application module. Specifically, by converting the component geometric information of the BIM model into vectorized data, the standardized processing of heterogeneous BIM geometric data provides a unified data foundation for all subsequent operations, fundamentally reducing compatibility issues and performance losses caused by data format conversion. By establishing a spatial hierarchical index structure based on the vectorized data, which stores the spatial location and topological relationships between components, component retrieval and positioning are accelerated. By compressing the vectorized data and storing it in fragments based on spatial location, optimized vectorized data is obtained, significantly reducing the total data volume of the model and implementing an on-demand loading mechanism, thereby effectively solving the bottlenecks in network transmission and memory usage for large-scale models. By employing a parallel computing framework, optimized vectorized data is processed in parallel to obtain parallel-processed data. Leveraging the computing power of parallel hardware such as GPUs, data processing and graphics rendering tasks are parallelized, fully utilizing computing resources and directly improving the system's speed in processing massive amounts of vector data and the frame rate of real-time rendering. Standardized interfaces are used to output the parallel-processed data to support cross-platform applications, providing a unified and standardized data access interface for different clients, ensuring consistency and smoothness of data interaction across different platforms. This addresses the challenge of improving the efficiency of BIM model vector data processing in related technologies.

[0235] It should be noted that the BIM model vector data processing system provided in this embodiment is used to implement the above-described embodiments, and details already described will not be repeated. As used above, the terms "module," "unit," "subunit," etc., can refer to a combination of software and / or hardware that performs a predetermined function. Although the apparatus described in the above embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0236] Thirdly, embodiments of this application provide an electronic device, Figure 5 This is a block diagram illustrating an electronic device according to an exemplary embodiment. (e.g.) Figure 5 As shown, the electronic device may include a processor 51 and a memory 52 storing computer program instructions.

[0237] Specifically, the processor 51 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0238] The memory 52 may include a large-capacity memory for data or instructions. For example, and not limitingly, the memory 52 may include a hard disk drive (HDD), a floppy disk drive, a solid-state drive (SSD), flash memory, an optical disk drive, a magneto-optical disk drive, magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 52 may include removable or non-removable (or fixed) media. Where appropriate, the memory 52 may be internal or external to a data processing device. In a particular embodiment, the memory 52 is non-volatile memory. In a particular embodiment, the memory 52 includes read-only memory (ROM) and random access memory (RAM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), an electrically alterable read-only memory (EAROM), or flash memory, or a combination of two or more of these. Where appropriate, the RAM can be Static Random-Access Memory (SRAM) or Dynamic Random-Access Memory (DRAM). DRAM can be Fast Page Mode Dynamic Random-Access Memory (FPMDRAM), Extended Data Out Dynamic Random-Access Memory (EDODRAM), Synchronous Dynamic Random-Access Memory (SDRAM), etc.

[0239] The memory 52 can be used to store or cache various data files that need to be processed and / or used for communication, as well as possible computer program instructions executed by the processor 51.

[0240] The processor 51 reads and executes computer program instructions stored in the memory 52 to implement any of the BIM model vector data processing methods in the above embodiments.

[0241] In one embodiment, a BIM model vector data processing device may further include a communication interface 53 and a bus 50. Wherein, as... Figure 5 As shown, the processor 51, memory 52, and communication interface 53 are connected through bus 50 and complete communication with each other.

[0242] The communication interface 53 is used to enable communication between the various modules, devices, units, and / or equipment in the embodiments of this application. The communication interface 53 can also enable data communication with other components such as external devices, image / data acquisition devices, databases, external storage, and image / data processing workstations.

[0243] Bus 50 includes hardware, software, or both, that couples together components of a BIM model vector data processing device. Bus 50 includes, but is not limited to, at least one of the following: Data Bus, Address Bus, Control Bus, Expansion Bus, and Local Bus. For example, and not as a limitation, bus 50 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VLB) bus, or other suitable buses, or a combination of two or more of these. Where appropriate, bus 50 may include one or more buses. Although specific buses are described and illustrated in the embodiments of this application, this application considers any suitable bus or interconnection.

[0244] Fourthly, embodiments of this application provide a computer-readable storage medium having a program stored thereon, which, when executed by a processor, implements a BIM model vector data processing method provided in the first aspect.

[0245] The readable storage medium may be more specifically adopted, including but not limited to: portable disk, hard disk, random access memory, read-only memory, erasable programmable read-only memory, optical storage device, magnetic storage device, or any suitable combination thereof.

[0246] In a possible implementation, the present invention can also be implemented as a program product comprising program code, which, when the program product is run on a terminal device, causes the terminal device to perform steps implementing a BIM model vector data processing method provided in the first aspect.

[0247] The program code for executing the present invention can be written in any combination of one or more programming languages. The program code can be executed entirely on the user device, partially on the user device, as a standalone software package, partially on the user device and partially on a remote device, or entirely on a remote device.

[0248] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0249] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. A method for processing vector data of a BIM model, characterized in that, The method includes: Convert the component geometry information of the BIM model into vectorized data; Based on the spatial distribution of all components in the vectorized data, a spatial hierarchical index structure is initialized, which is either an R-tree or an octree. A unique component ID is assigned to each component by inserting its bounding box into the spatial hierarchical index structure. The component ID is then recorded in the component ID list of the corresponding leaf node according to the inclusion relationship between the component's bounding box and the index node's bounding box, thus establishing an index of the component's spatial location. Based on the components included in the component ID list, a local topological subgraph is constructed, where preliminary screening is performed by determining whether the bounding boxes of any two components intersect. For component pairs whose bounding boxes intersect, the topological relationship of the component pairs is determined through geometric determination. The topological relationship includes inclusion, intersection, contact, adjacency, connectivity, and nearest neighbor. Based on the result of the geometric determination, nodes and edges are created in the local topological subgraph to represent the topological relationship between components. By merging the local topological subgraph with cross-node edges, a complete global component topological graph is constructed and associated with the hierarchical index structure to support queries on the spatial location and topological relationship between components. The vectorized data is compressed and stored in fragments based on the spatial location to obtain optimized vectorized data. The optimized vectorized data is processed in parallel using a parallel computing framework to obtain parallel processed data. Through standardized interfaces, parallel-processed data is output to support cross-platform applications.

2. The BIM model vector data processing method according to claim 1, characterized in that, The process of converting the component geometric information of the BIM model into vectorized data includes: The original BIM model is analyzed to extract the prototype geometry of the components. Based on the prototype geometry, the component geometry in the actual world coordinates is obtained through an instance transformation matrix. Based on the geometry of the component, a triangular mesh of the component geometry is generated through parametric geometry evaluation and meshing. The triangular mesh is cleaned and repaired to eliminate geometric defects while preserving its manifold properties. Based on the cleaned and repaired triangular mesh, vectorized data is generated according to the geometric characteristics of the component.

3. The BIM model vector data processing method according to claim 2, characterized in that, The process of generating a triangular mesh of the component geometry based on the component geometry through parametric geometric evaluation and meshing includes: Identify the component geometry type, and based on the identified component geometry type, perform meshing on the non-planar surface using an adaptive subdivision algorithm; Based on the component geometry after subdivision processing, a triangular mesh of the component is generated through a triangulation algorithm.

4. A BIM model vector data processing method according to claim 2, characterized in that, Based on the cleaned and repaired triangular mesh, vectorized data is generated according to the geometric characteristics of the component, including: Based on the triangular mesh and component geometry type, determine the corresponding target vector representation. Based on the target vector representation, corresponding vector data is generated through appropriate processing methods; All generated vector data are uniformly encapsulated into vectorized data.

5. A BIM model vector data processing method according to claim 1, characterized in that, The process of compressing the vectorized data and storing it in segments based on its spatial location to obtain optimized vectorized data includes: The vectorized data is analyzed using a geometric similarity detection algorithm to identify duplicate or similar components; Based on the aforementioned repeating or approximate components, a geometric redundancy detection and removal mechanism is implemented. The components after the removal mechanism are stored in segments based on their spatial location.

6. A BIM model vector data processing method according to claim 5, characterized in that, The step of analyzing the vectorized data using a geometric similarity detection algorithm to identify duplicate or similar components includes: Based on the vectorized data, extract the geometric features of the components; The geometric features are normalized to eliminate differences in translation, rotation, and scaling between components; Based on the normalized geometric features, a geometric signature is generated using a hash algorithm; Based on the geometric signature, the geometric similarity between components is calculated using a distance metric algorithm; Based on the geometric similarity, components with similarity higher than a preset threshold are clustered into the same group to identify duplicate or similar components; The mechanism for detecting and removing geometric redundancy based on the repeated or approximate components includes: Based on the vectorized data, a geometric fingerprint of the component is generated through coordinate normalization and feature fusion; Based on the geometric fingerprint, the geometric similarity between components is calculated using a distance metric algorithm; Based on the geometric similarity, duplicate components are identified by querying the global fingerprint index table; The repeating components are recorded as references and their geometric data is not stored; the non-repeating components are stored as new vector data. Aggregate the spatial topology connection information of the repeated components and update the component reference relationship in the global fingerprint index table; The components based on the removal mechanism are stored in fragments according to their spatial location, including: Based on the spatial location of the components, the building space is divided into multiple spatial segments using a spatial partitioning algorithm; Based on the spatial partitioning, logical partitioning is established by classifying component types; Based on the aforementioned spatial partitioning and logical partitioning, a partitioning index structure is established; Based on the aforementioned sharding index structure, data compression and storage are performed using a vertex compression algorithm.

7. A BIM model vector data processing method according to claim 1, characterized in that, The optimized vectorized data is processed in parallel using a parallel computing framework to obtain parallel-processed data, including: Based on the optimized vectorized data, vertex transformation, normal vector calculation, and bounding box generation are performed in parallel by the GPU parallel computing unit. Based on the generated component geometric data, a spatial index structure is constructed in parallel using a spatial partitioning algorithm; Based on the spatial index structure, the shard loading and decompression tasks are distributed to multiple computing nodes through a distributed task scheduler. Based on the scheduling results, the parallel computing model performs splicing and rendering operations to obtain the data after parallel processing.

8. A BIM model vector data processing method according to claim 1, characterized in that, The process of outputting parallel-processed data through a standardized interface to support cross-platform applications includes: Based on the data processed in parallel, geometric objects, semantic objects, topological objects, and detail-level objects are encapsulated into a structured dataset; According to the requirements of the target platform, the structured dataset is mapped and converted into the corresponding interface format using a unified object description language; Based on the transformed data, data is synchronously output to multiple clients through a multi-threaded packaging and streaming mechanism.

9. A BIM model vector data processing system, characterized in that, The system for performing the method according to any one of claims 1 to 8 comprises a vectorized data module, a hierarchical index structure module, an optimization module, a rendering data module, and a cross-platform application module; wherein: The vectorized data module is used to convert the component geometric information of the BIM model into vectorized data; The hierarchical index structure module is used to establish a spatial hierarchical index structure based on the vectorized data, wherein the hierarchical index structure is used to store the spatial location and topological relationship between components; The optimization module is used to compress the vectorized data and store it in segments based on the spatial location to obtain optimized vectorized data. The rendering data module is used to perform parallel processing on the optimized vectorized data through a parallel computing framework to obtain parallel processed data. The cross-platform application module is used to output parallel-processed data through a standardized interface to support cross-platform applications.

Citation Information

Patent Citations

  • Vector data processing method and system

    CN119226297A