Building information model rendering method, medium, equipment and device

By importing BIM models in the Unity engine, analyzing and storing its geometric and building information, the problems of high information loss and development and maintenance costs in the existing technology are solved, efficient model rendering and information utilization are achieved, and application flexibility and rendering performance are improved.

CN119991895APending Publication Date: 2025-05-13PCI TECH GRP CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411791150.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-06
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

When the prior art imports BIM models into Unity for rendering, it cannot effectively utilize the model's information, resulting in information loss and high development and maintenance costs, limiting the flexibility of the application and user experience.

Method used

By importing the target building information model in the Unity engine, calling the basic open source processing library to parse the model, obtaining geometric data and building information, and storing them into DAE format and XML format respectively, it is directly loaded into the Unity engine, and binding the building information to the model node.

Benefits of technology

It avoids the loss of BIM information during the conversion process, completely retains the geometric and building information of the model, improves work efficiency and application flexibility, and significantly improves rendering performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119991895A_ABST
    Figure CN119991895A_ABST
Patent Text Reader

Abstract

The invention discloses a building information model rendering method, medium, equipment and device, and the method comprises the steps: responding to a target building information model imported into a Unity engine, calling a basic open source processing library to analyze the target building information model, so as to obtain geometric data and building information in the target building information model, the geometric data of the target building information model is stored as a first data format file, the building information of the target building information model is stored as a second data format file, and the target building information model is a building industry data exchange standard file; calling a preset 3D model import library to load the first data format file into a Unity engine so as to render and form a target building model; and analyzing the second data format file, and binding the building information to each corresponding model node in the target building model. In this way, the geometric data and the building information in the BIM model can be fully utilized to complete building model rendering.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of virtual model rendering, and in particular to a method, medium, equipment and device for rendering a building information model. Background Art

[0002] At present, the common method of importing BIM models into Unity for rendering is to convert the IFC model into other formats, such as FBX, OBJ, etc., and then import it into the Unity engine. At present, this step needs to be manually imported in the Unity editor; because Unity does not directly support the import of such format models at runtime, when we need to update or add BIM models, we need to operate in the Unity editor and recompile the application, which greatly increases the development and maintenance costs, limits the flexibility of the application, and affects the user experience. In addition, the process of converting the IFC model to FBX / OBJ format will inevitably lose important BIM information, such as material properties, spatial relationships, component properties, etc. Formats such as FBX or OBJ mainly focus on geometric data, but lack a mechanism to store and express rich BIM data. Therefore, the existing methods cannot simultaneously achieve the geometric rendering of BIM models and the effective use of BIM building information in Unity, which limits the application of BIM technology in Unity. Summary of the invention

[0003] The present application mainly provides a building information model rendering method, medium, equipment and device to solve the problem that the information of the BIM model cannot be effectively utilized during the rendering process.

[0004] To solve the above technical problems, a technical solution adopted in the present application is: providing a building information model rendering method, comprising: in response to importing a target building information model (Building Information Modeling, BIM) into a Unity engine, calling a basic open source processing library (Ifcopenshell library) to parse the target building information model to obtain geometric data and building information in the target building information model, and storing the geometric data of the target building information model as a first data format file, and storing the building information of the target building information model as a second data format file, wherein the target building information model is a building industry data exchange standard (Industry Foundation Classes, IFC) file; calling a preset 3D model import library to load the first data format file into the Unity engine to render and form a target building model; parsing the second data format file, and binding the building information to the corresponding model nodes in the target building model.

[0005] Directly parsing IFC files avoids the loss of BIM information during the conversion process and completely retains the model's geometric and architectural information.

[0006] In some embodiments, the format of the first data format file is Digital Asset Exchange (DAE) format, and the 3D model import library is Assimp library.

[0007] Saving geometric data in DAE format completely retains the geometric data of the BIM model and supports direct import into the Unity engine, simplifying the data processing process.

[0008] In some embodiments, the format of the second data format file is eXtensible Markup Language (XML) format; parsing the second data format file includes: calling a preset eXtensible Markup Language parsing library to parse the eXtensible Markup Language format file to obtain the building information.

[0009] Saving the building information in XML format avoids the loss of BIM information during the conversion process and completely retains the model's building information.

[0010] In some embodiments, binding the building information to corresponding model nodes in the target building model includes: obtaining an identifier corresponding to each sub-building information in the building information; in response to a label attribute of a model node in the target building model matching the corresponding identifier, binding the sub-building information corresponding to the identifier to the model node of the target building model.

[0011] Dynamically import and render BIM models in Unity without manual operation, improving work efficiency. Model loading does not need to be done in the Unity editor, but can be loaded at runtime or dynamically, enhancing application flexibility.

[0012] In some embodiments, the target building model includes multiple building sub-grids; binding the building information to the corresponding model nodes in the target building model further includes: obtaining the correspondence between each model node and each building sub-grid, and the correspondence between each building sub-grid based on the sub-building information; merging the building sub-grids corresponding to the same identifier into one building parent grid.

[0013] By adding building information to the scene, the building object corresponding to the target building information model is formed, and the model rendering is completed. Through mesh merging optimization, the number of mesh rendering calls is significantly reduced, greatly improving the rendering performance.

[0014] In some embodiments, the sub-building information includes vertices, triangle indices, UV coordinates, borders, and normal information of the sub-mesh.

[0015] In order to solve the above technical problems, another technical solution adopted by the present application is: providing a storage medium on which program data is stored, and when the program data is executed by a processor, the steps of the building information model rendering method as described above are implemented.

[0016] The beneficial effects of the storage medium refer to the beneficial effects of the above-mentioned building information model rendering method, which will not be repeated here.

[0017] The present application also provides a computer device, comprising a processor and a memory connected to each other, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the building information model rendering method as described above are implemented.

[0018] The beneficial effects of the computer device refer to the beneficial effects of the above-mentioned building information model rendering method, which will not be repeated here.

[0019] The present application also provides a building information model rendering device, which includes: a storage module, which is used to respond to the import of a target building information model in the Unity engine, call a basic open source processing library to parse the target building information model to obtain geometric data and building information in the target building information model, and store the geometric data of the target building information model as a first data format file, and store the building information of the target building information model as a second data format file, and the target building information model is a standard file for data exchange in the construction industry; a rendering module, which is used to call a preset 3D model import library to load the first data format file into the Unity engine to render and form a target building model; a binding module, which is used to parse the second data format file and bind the building information to the corresponding model nodes in the target building model.

[0020] The beneficial effects of the device refer to the beneficial effects of the above-mentioned building information model rendering method, which will not be repeated here.

[0021] The beneficial effects of the present application are as follows: Different from the prior art, the present application discloses a method, medium, equipment and device for rendering building information models. In response to importing a target building information model into the Unity engine, a basic open source processing library is called to parse the target building information model to obtain geometric data and building information in the target building information model, and the geometric data of the target building information model is stored as a first data format file, and the building information of the target building information model is stored as a second data format file. The target building information model is a standard file for data exchange in the construction industry, and the geometric data and building information in the BIM model are completely retained, providing a data basis for the full utilization of the geometric data and building information; calling a preset 3D model import library to load the first data format file into the Unity engine to render and form a target building model, and parsing the second data format file, and binding the building information to the corresponding model nodes in the target building model, completing the import of geometric data and building information in the Unity engine, so that the geometric data and building information in the BIM model are completely preserved in the Unity engine, so as to fully utilize the geometric data and building information in the BIM model to complete the building model rendering. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work, among which:

[0023] Figure 1 It is a flowchart of an embodiment of a building information model rendering method provided by the present application;

[0024] Figure 2 Yes Figure 1 The flowchart of the embodiment of step 30 of the method is shown;

[0025] Figure 3 Yes Figure 1 The flowchart of another embodiment of method step 30 is shown;

[0026] Figure 4 It is a structural schematic diagram of an embodiment of a storage medium provided by the present application;

[0027] Figure 5 is a structural schematic diagram of an embodiment of a computer device provided by the present application;

[0028] Figure 6 It is a structural schematic diagram of an embodiment of a building information model rendering device provided by the present application. DETAILED DESCRIPTION

[0029] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0030] The terms "first", "second", "third" in the embodiments of the present application are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined as "first", "second", "third" can expressly or implicitly include at least one of the features. In the description of the present application, the meaning of "multiple" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the listed steps or units, but optionally also includes steps or units that are not listed, or optionally also includes other steps or units inherent to these processes, methods, products or devices.

[0031] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0032] See also Figure 1 , Figure 1 1 is a flow chart of an embodiment of a building information model rendering method provided by the present application, and the building information model rendering method includes:

[0033] Step 10: In response to importing the target building information model into the Unity engine, the basic open source processing library is called to parse the target building information model to obtain the geometric data and building information in the target building information model, and the geometric data of the target building information model is stored as a first data format file, and the building information of the target building information model is stored as a second data format file. The target building information model is a standard file for data exchange in the construction industry.

[0034] The building information in the target Building Information Modeling (BIM) file usually exists in the form of attributes. These attributes may include the type, material, size, location, etc. of the building. Clarify which geometric data and building information need to be extracted from the BIM file, such as road design lines, cross-section data, building dimensions, material properties, etc. Import the target BIM file into the Unity engine. The BIM file is an Industry Foundation Classes (IFC) file, and parse the BIM file through the basic open source processing library (Ifcopenshell library) to extract the required geometric data and building information from the BIM file.

[0035] BIM is a digital building information model that integrates information from the entire life cycle of building design, construction, operation and maintenance. BIM files contain digital representations of this information, usually including the building's geometry, materials, properties, spatial relationships, and associations with other building components.

[0036] IFC is a neutral file format for exchanging data between different BIM software.

[0037] By directly parsing the IFC file, the geometric data and building information contained in the BIM model are obtained, which avoids the loss of BIM model information during the conversion process and completely retains the model's attributes.

[0038] The format of the first data format file is the digital asset exchange format, and the 3D model import library is the Assimp library.

[0039] Export the target BIM model to DAE format through export tools such as Ifcopenshell library, edit the export path and generated file name, and then export to obtain the target BIM model geometry data in DAE format.

[0040] Digital Asset Exchange (DAE) is a 3D model file format that can be imported by game engine editors such as Unity.

[0041] Assimp is an open source 3D model import library that supports multiple model formats, including DAE, and is used to read, convert and save various 3D model file formats.

[0042] The second data format file is in the Extensible Markup Language format.

[0043] Extensible Markup Language (XML) is a markup language used to describe data. It is a plain text format composed of XML elements, allowing users to define tags to describe data. The XML format can fully save the building information in the BIM model, including geometric information, material information, attribute information, etc.

[0044] Specifically, first, it is necessary to define XML Schema to describe the information structure of the BIM model. Schema defines the elements, attributes, data types, etc. of the XML file to ensure the consistency and integrity of the data. Schema can include the definition of building elements such as walls, doors, windows, etc., the description of attributes such as size, material, location, etc., and the relationship between them.

[0045] Use the Ifcopenshell library to export the model to XML format. The exported XML file will contain all the information of the BIM model, including geometric information, material information, attribute information, etc.

[0046] Further, parsing the second data format file includes:

[0047] The preset parsing library is called to parse the extensible markup language format file to obtain the building information.

[0048] The building information file in XML format is parsed by using a parser such as DOM or SAX as a parsing library to process the building information contained therein.

[0049] Step 20: Call a preset 3D model import library to load the first data format file into the Unity engine to render and form a target building model.

[0050] The preset 3D model import library is configured into the Unity engine, and the automated import program is run to load the first data format file into the Unity engine through the preset 3D model import library to form a calling path of the first data format file.

[0051] Step 30: Parse the second data format file and bind the building information to the corresponding model nodes in the target building model.

[0052] Use an appropriate XML parsing library to read and parse the XML file, and extract building information from the XML file, such as room size, door and window locations, material properties, etc. At this point, the target building model contains basic geometric structures, such as walls, doors and windows, etc., but no detailed attribute information.

[0053] When parsing the XML file, determine how each element or attribute in the XML corresponds to a specific node in the target building model, such as walls, doors, windows, etc. After determining the correspondence between the XML information and the model nodes, bind the parsed information to the model nodes, including setting the size, position, rotation, material properties, etc. of the nodes.

[0054] By dynamically importing and rendering the geometric data and building information of the BIM model in Unity in the above way, manual operation is not required, which improves work efficiency. Model loading does not need to be performed in the Unity editor, but can be loaded at runtime or dynamically, which enhances the flexibility of the application.

[0055] Further, see Figure 2 , step 30 comprises:

[0056] Step 31: Obtain the identifier corresponding to each sub-building information in the building information.

[0057] Traverse the data in the building information and extract the identifiers contained in the building information. Store the extracted identifiers in an appropriate data structure, such as a list, a dictionary, or a database table. The identifier can be an attribute, a sub-element, or a column in a database table.

[0058] Step 32: In response to the label attribute of the model node in the target building model matching the corresponding identifier, the sub-building information corresponding to the identifier is bound to the model node of the target building model.

[0059] For each model node, check whether its label attribute or any other unique identifier attribute matches the identifier in the parsed sub-building information. After finding the matching model node and sub-building information, bind the detailed attributes of the sub-building information to the model node; specifically, set the size, position, rotation, material, color, name or any other relevant attributes of the node.

[0060] The target building model includes multiple building objects.

[0061] Optionally, the target building model includes a plurality of building sub-grids;

[0062] Further, see Figure 3 , binding the building information to the corresponding model nodes in the target building model, and also including:

[0063] Step 33: Obtaining the corresponding relationship between each model node and each building subgrid, and the corresponding relationship between each building subgrid based on the sub-building information;

[0064] The model node and the sub-building information have a common identifier. By traversing these two sets and finding the matching identifier, the detailed attributes of the sub-building information are associated with the model node.

[0065] The identifier can be a name, an ID, or anything else that uniquely identifies a building.

[0066] In 3D modeling, nodes usually represent objects, components or elements in the model. They can be geometric bodies such as cubes and spheres, surfaces such as planes and curved surfaces, points such as vertices, etc. Architectural objects can be the entire building, a part of a building such as a floor, a room, or an element in a building such as a column or a window. These architectural objects are composed of a group of related nodes in the model.

[0067] Model nodes directly correspond to building objects. For example, a node may represent a complete room, or the boundary of a building object may be defined by a set of explicit nodes; or a building object may be composed of multiple nodes. These nodes may be related to each other in some way, such as shared attributes, geometric relationships, or hierarchical structures, and together constitute a complete representation of the building object.

[0068] By comparing the geometric features of the sub-grids such as position, shape, size and the definition of the building object, the relationship between them can be determined, or by matching the model nodes containing attribute information related to the building object such as name, purpose, floor, etc., to match the sub-grids with the building object; or through the hierarchical structure of the model nodes, matching the child node grids under the parent node, or through the information of the model grid, matching all its sub-grids.

[0069] Step 34: Merge the building sub-grids corresponding to the same identifier into one building parent grid.

[0070] According to the matching relationship between model nodes and building sub-grids, and between model nodes and sub-building information, the process of merging building sub-grids corresponding to model nodes with the same identifier into a parent grid is to map the connection relationship of the model nodes corresponding to the building sub-grids to the newly created blank large grid to form an overall building parent grid as a new building object.

[0071] The building parent mesh is a large polygonal mesh in 3D modeling, which is composed of multiple nodes and model node connection relationships. The building parent mesh merges the sub-building information such as vertices, triangle indexes, UV coordinates, boundaries and normal information of the building sub-meshes.

[0072] Through mesh merging optimization, multiple sub-meshes are merged into a large overall mesh based on building objects, which significantly reduces the number of mesh rendering calls and greatly improves rendering performance.

[0073] See also Figure 4 , Figure 4 It is a structural diagram of an embodiment of the storage medium provided by the present application.

[0074] The storage medium 300 stores program data 310. When the program data 310 is executed by the processor, the following is achieved: Figure 1 The steps of a building information model rendering method are described.

[0075] The program data 310 is stored in a storage medium 300, and includes a number of instructions for enabling a network device (such as a router, a personal computer, a server, or other network device) or a processor to execute all or part of the steps of the method described in each embodiment of the present application.

[0076] Optionally, the storage medium 300 may be a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disk, or other medium that can store program data.

[0077] See also Figure 5 , Figure 5 It is a structural schematic diagram of an embodiment of a computer device provided by the present application.

[0078] The computer device 400 includes a processor 420 and a memory 410 which are connected to each other. The memory 410 stores a computer program. When the processor 420 executes the computer program, the steps of the above-mentioned building information model rendering method are implemented.

[0079] See also Figure 6 , Figure 6 : is a structural diagram of an embodiment of a building information model rendering device provided by the present application, and the building information model rendering device 500 includes:

[0080] The storage module 510 is used to respond to the import of the target building information model in the Unity engine, call the basic open source processing library to parse the target building information model to obtain the geometric data and building information in the target building information model, and store the geometric data of the target building information model as a first data format file, and store the building information of the target building information model as a second data format file. The target building information model is a standard file for data exchange in the construction industry.

[0081] The rendering module 520 is used to call a preset 3D model import library to load the first data format file into the Unity engine to render and form a target building model.

[0082] The binding module 530 is used to parse the second data format file and bind the building information to the corresponding model nodes in the target building model.

[0083] Different from the prior art, the present application provides a building information model rendering method, medium, equipment and device. By storing the BIM model in IFC format in DAE format and XML format respectively, the loss of BIM information during the conversion process is avoided, and the building information of the BIM model is completely retained, which is conducive to the full use of geometric data and building information in the Unity engine; by merging the sub-grids in the building object into a large grid based on the building object, the number of grid rendering calls is reduced, which is conducive to improving rendering performance.

[0084] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the storage medium embodiment and the computer device embodiment, since they are basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0085] The present application can be used in many general or special computing system environments or configurations, such as personal computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputers, and distributed computing environments including any of the above systems or devices.

[0086] In the several embodiments provided in this application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not performed.

[0087] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0088] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0089] The above descriptions are merely embodiments of the present application and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A building information model rendering method, characterized in that: include: In response to importing a target building information model into the Unity engine, calling a basic open source processing library to parse the target building information model to obtain geometric data and building information in the target building information model, and storing the geometric data of the target building information model as a first data format file, and storing the building information of the target building information model as a second data format file, wherein the target building information model is a standard file for data exchange in the construction industry; Calling a preset 3D model import library to load the first data format file into the Unity engine to render and form a target building model; The second data format file is parsed, and the building information is bound to corresponding model nodes in the target building model.

2. The building information model rendering method according to claim 1, characterized in that: The format of the first data format file is a digital asset exchange format, and the 3D model import library is an Assimp library.

3. The building information model rendering method according to claim 1, characterized in that: The format of the second data format file is an extensible markup language format; The parsing of the second data format file includes: A preset parsing library is called to parse the extensible markup language format file to obtain the building information.

4. The building information model rendering method according to claim 3, characterized in that: The step of binding the building information to corresponding model nodes in the target building model includes: Obtaining an identifier corresponding to each sub-building information in the building information; In response to a tag attribute of a model node in the target building model matching the corresponding identifier, the sub-building information corresponding to the identifier is bound to the model node of the target building model.

5. The building information model rendering method according to claim 4, characterized in that: The target building model includes a plurality of building sub-grids; The step of binding the building information to the corresponding model nodes in the target building model further includes: Based on the sub-building information, obtaining the corresponding relationship between each model node and each building sub-grid, and the corresponding relationship between each building sub-grid; Merge building sub-meshes corresponding to the same identifier into one building parent mesh.

6. The building information model rendering method according to claim 5, characterized in that: The sub-building information includes sub-mesh vertices, triangle indices, UV coordinates, boundaries, and normal information.

7. A storage medium having program data stored thereon, characterized in that: When the program data is executed by a processor, the steps of the building information model rendering method according to any one of claims 1 to 6 are implemented.

8. A computer device, characterized in that: The method comprises a processor and a memory connected to each other, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the building information model rendering method according to any one of claims 1 to 6 are implemented.

9. A building information model rendering device, characterized in that: The building information model rendering device comprises: A storage module is used for, in response to importing a target building information model into the Unity engine, calling a basic open source processing library to parse the target building information model to obtain geometric data and building information in the target building information model, and storing the geometric data of the target building information model as a first data format file, and storing the building information of the target building information model as a second data format file, wherein the target building information model is a standard file for data exchange in the construction industry; A rendering module, used for calling a preset 3D model import library to load the first data format file into the Unity engine to render and form a target building model; The binding module is used to parse the second data format file and bind the building information to the corresponding model nodes in the target building model.