Building engineering BIM model processing method and device, electronic equipment and storage medium
Patent Information
- Application Number
- CN202211711821.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-29
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2042-12-29
AI Technical Summary
传统BIM模型体量大,导致加载时间长,计算机资源消耗高,难以在普通设备上便捷查看和共享。
The BIM model is separated and processed to extract 3D geometric data and component attribute information. It is then lightweighted and compressed before being uploaded to the server for 3D rendering.
Significantly reduce model size, improve loading efficiency, and enable convenient browsing on both web and mobile devices without the need for specialized software.
Smart Images

Figure CN116109766B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing, and more specifically, to a method, apparatus, electronic device, and storage medium for processing BIM models of building engineering projects. Background Technology
[0002] Building Information Modeling (BIM) simulates the real-world information of a building using digital information. This information includes not only visual details describing the geometric shape but also a wealth of non-collective information, such as component costs and procurement details. Traditional BIM models require high-end computer configurations, are large in size, and have a high barrier to entry for users.
[0003] In related technologies, BIM models for building engineering projects often reach hundreds or even thousands of megabytes of data size during the design phase. Larger BIM models require more computer resources and longer reading times, placing excessive demands on computers and necessitating the installation of specialized design software for viewing. This hinders on-site personnel from viewing and collaborating on-site, and also makes network transmission and sharing difficult.
[0004] There is currently no effective solution to the above problems. Summary of the Invention
[0005] This invention provides a method, apparatus, electronic device, and storage medium for processing BIM models of building engineering projects, so as to at least solve the technical problem of long loading time caused by the large size of the model.
[0006] According to one aspect of the present invention, a method for processing a BIM model of a building project is provided. The method may include: acquiring a BIM model file to be processed; performing separation processing on the BIM model file to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; performing optimization processing on the separated data to obtain an optimized BIM model file, wherein the optimization processing includes at least one of the following: lightweight processing and compression processing; uploading the optimized BIM model file to a server, wherein the server performs 3D rendering on the optimized BIM model file.
[0007] Optionally, the above-mentioned separation process of BIM model files to obtain separated data includes: converting the format of the BIM model file to a standard format to obtain a converted model file; and reading component attribute information from the converted model file.
[0008] Optionally, the above-mentioned optimization processing of the separated data to obtain the optimized BIM model file includes: removing non-critical attribute data from the read construction attribute information to obtain a lightweight result file; and compressing the lightweight result file and the construction attribute information to obtain the optimized BIM model file.
[0009] Optionally, the server listens for network access requests from at least one client and generates a unique client identifier ID for the client; the server creates a corresponding display thread for the client, wherein the display thread is used to create a VNC Server service and specify the port number of the VNC Server service; the server creates a new browser based on the display thread, wherein the browser is borderless and full-screen; the server pushes the 3D rendering result of the optimized BIM model file to the browser.
[0010] Optionally, after the optimized BIM model file's 3D rendering result is pushed to the browser on the server side, the method further includes: the server initiating a connection request to connect to the VNC Server service; the server generating corresponding connection information for the client based on the VNC Server service, wherein the connection information includes: the process ID of the VNC Server service, the process ID of the noVNC service, and the client's customer identifier ID.
[0011] Optionally, in response to the client's disconnection request, the server obtains the connection information associated with the client based on the client's client identifier ID; the server determines whether the connection has been disconnected for a predetermined time based on the connection information; if the predetermined time has been exceeded, the server releases resources for the client that issued the disconnection request.
[0012] Optionally, after the server releases resources for the client that issued the disconnect request, the method further includes: the server closing the browser process; the server stopping the creation of the VNC server service for the client that issued the disconnect request, and releasing the display thread and the noVNC service process.
[0013] Optionally, a new network access service is created in the client's browser. This network access service is used to request a connection between the client and the server and obtain the noVNC connection address returned by the server. The client controls the browser to jump to the noVNC connection address and directly perform remote operations and view the data.
[0014] According to another aspect of the present invention, a processing apparatus for a building engineering BIM model is also provided. The apparatus may include: an acquisition module for acquiring a BIM model file to be processed; a separation module for separating the BIM model file to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; an optimization module for optimizing the separated data to obtain an optimized BIM model file, wherein the optimization process includes at least one of the following: lightweight processing and compression processing; and an upload module for uploading the optimized BIM model file to a server, wherein the server performs 3D rendering on the optimized BIM model file.
[0015] According to another aspect of the present invention, a non-volatile storage medium is also provided, which stores a plurality of instructions adapted for a processor to load and execute any one of the above-described methods for processing a building engineering BIM model.
[0016] According to another aspect of the present invention, an electronic device is also provided, including one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement any of the above-described methods for processing building engineering BIM models.
[0017] In this embodiment of the invention, a BIM model file to be processed is obtained; the BIM model file is separated to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; the separated data is optimized to obtain an optimized BIM model file, wherein the optimization process includes at least one of the following: lightweight processing and compression processing; the optimized BIM model file is uploaded to a server, wherein the server performs 3D rendering on the optimized BIM model file. In other words, in this embodiment of the invention, the three-dimensional aggregate data and component attribute information data in the building engineering BIM model are optimized and compressed, significantly reducing the model size. This allows for easy browsing of large and complex professional models on web or mobile devices without the need for specialized software, which is very convenient. This achieves the technical effect of reducing model size and solves the technical problem of long loading times caused by large model size. Attached Figure Description
[0018] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:
[0019] Figure 1This is a flowchart of a method for processing a BIM model of a building project according to an embodiment of the present invention;
[0020] Figure 2 This is a schematic diagram of the structure of a BIM model processing device for building engineering according to an embodiment of the present invention;
[0021] Figure 3 This is a schematic diagram of an electronic device according to an embodiment of the present invention. Detailed Implementation
[0022] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0023] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0024] First, the terms used in the embodiments of this invention will be explained:
[0025] The Industry Foundation Classes (IFC) standard for building engineering data exchange is equivalent to the International Alliance of Interoperability (IAI) standard for building engineering data exchange, which is widely used and supported globally.
[0026] The save format (Revita Project File, abbreviated as RVT) is a format for saving building information models built on the design software (Revit) platform. It can contain all the design information of the entire project's structural part and can be a file format for saving after the model is completed.
[0027] Revit, a design software, can be used for BIM model design and is applicable to architectural design (MEP engineering), structural engineering, and construction.
[0028] The noVNC client can be a client for a Virtual Network Console (VNC) using Hypertext Markup Speech (HTML5). It can be implemented programmatically (JavaScript). Its main function is to communicate with a remote VNC server. By encoding and decoding protocol data (Remote Frame Buffer, RFB), it receives data sent by the remote VNC server, decodes it, and draws it on the client side using Cancas technology. Simultaneously, it encodes the client's terminal input into Remote Frame Buffer (RFB) data and sends it to the remote VNC server. In other words, with noVNC, you can directly use an HTML5-enabled browser (such as Web or Chrome) to access the desktop of a remote machine with a VNC server installed, without needing to install a native VNC client (such as RealVNC Viewer, which is often installed on Windows).
[0029] This Revit plugin module can be used to extract model attribute data and convert models into industry-specific basic class files for transmission to the server. The Revit plugin is compatible with versions starting from Autodesk Revit 2016.
[0030] According to an embodiment of the present invention, an embodiment of a method for processing a BIM model of a building project is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0031] Figure 1 This is a flowchart of a method for processing a BIM model of a building project according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:
[0032] Step S102: Obtain the BIM model file to be processed.
[0033] In this embodiment, a BIM model file to be processed can be obtained. This BIM model file can be an IFC model file received from the backend, or it can be a model attribute file (JSON).
[0034] Step S104: Separate the BIM model file to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information.
[0035] In this embodiment, the BIM model file can be separated to obtain the three-dimensional geometric data (referred to as geometric data) and construction attribute information of the BIM model file to be processed.
[0036] Step S106: Optimize the separated data to obtain an optimized BIM model file. The optimization process includes at least one of the following: lightweighting and compression.
[0037] In this embodiment, the obtained separated data can be optimized to obtain an optimized BIM model file. The optimization process may include at least one of the following: lightweighting and compression.
[0038] Optionally, the acquired BIM model file can be separated to obtain the geometric data and component attribute data of the BIM model file. The geometric data can then be lightweighted. Redundant data is removed, and the data is deeply optimized, thereby reducing the model size and improving loading efficiency and display. Finally, the lightweight data is compressed to further save network traffic and model loading time.
[0039] Step S108: Upload the optimized BIM model file to the server, whereby the server performs 3D rendering on the optimized BIM model file.
[0040] In this embodiment, the optimized BIM model file can be uploaded to the server, which can be a backend service module that can be used to perform 3D rendering of the optimized BIM model file.
[0041] In this embodiment of the invention, a BIM model file to be processed is obtained; the BIM model file is separated to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; the separated data is optimized to obtain an optimized BIM model file, wherein the optimization process includes at least one of the following: lightweight processing and compression processing; the optimized BIM model file is uploaded to a server, wherein the server performs 3D rendering on the optimized BIM model file. In other words, in this embodiment of the invention, the three-dimensional aggregate data and component attribute information data in the building engineering BIM model are optimized and compressed, significantly reducing the model size. This allows for easy browsing of large and complex professional models on web or mobile devices without the need for specialized software, which is very convenient. This achieves the technical effect of reducing model size and solves the technical problem of long loading times caused by large model size.
[0042] The method described in this embodiment will be further described below.
[0043] As an optional embodiment, step S104 involves separating the BIM model file to obtain separated data, including: converting the format of the BIM model file to a standard format to obtain a converted model file; and reading component attribute information from the converted model file.
[0044] In this embodiment, the format of the BIM model file can be converted to a standard format. After obtaining the converted model file, the construction attribute information can be read from the converted model file, thereby completing the process of separating the BIM model file.
[0045] For example, a lightweight plugin for the design software (Revit) can be installed. This plugin can convert the format of BIM model files to a standard format (such as IFC format) via a built-in interface (Revit built-in interface), resulting in a converted model file. The build attribute information file within the converted model file can then be read.
[0046] As an optional embodiment, step S106, optimizing the separated data to obtain an optimized BIM model file includes: removing non-critical attribute data from the read construction attribute information to obtain a lightweight result file; and compressing the lightweight result file and the construction attribute information to obtain an optimized BIM model file.
[0047] In this embodiment, non-critical attribute data can be removed from the read construction attribute information to obtain a lightweight result file. The lightweight result file and the construction attribute information can then be compressed to obtain an optimized BIM model file.
[0048] For example, a lightweight plugin for the design software (Revit) can be installed. This plugin can convert the BIM model file format to a standard format (e.g., IFC format) via a built-in interface (Revit built-in interface), resulting in a converted model file. The build attribute information file within the converted model file can be read. Non-critical attribute data in the build attribute information can be removed, resulting in a lightweight result file (JSON format). The result file and build attribute information can be compressed using a gzip archive to obtain an optimized BIM model file. This optimized BIM model file can then be uploaded to the backend service module. Upon receiving the optimized BIM model file, the backend service module can convert it into a 3D computer graphics format (Graphics Language Transmission Format, or GLTF) using the open-source license (LGPL).
[0049] As an optional implementation, the server listens for network access requests from at least one client and generates a unique client identifier ID for the client; the server creates a corresponding display thread for the client, wherein the display thread is used to create a VNC Server service and specify the port number of the VNC Server service; the server creates a new browser based on the display thread, wherein the browser is borderless and full-screen; the server pushes the 3D rendering result of the optimized BIM model file to the browser.
[0050] In this embodiment, the server can listen for network access requests from at least one client. When the server detects a network access request from at least one client, it can generate a unique client identifier ID (referred to as client ID) for that client. The server can create a corresponding display thread for the client, and based on this display thread, it can create a new browser. The server then pushes the optimized 3D rendering result of the BIM model file to the browser. The display thread can be used to create a VNC Server service and specify the port number for that service. The browser is borderless and displays in full screen.
[0051] Optionally, the server can listen for client requests. When the server detects a WebSocket request from a client, it can generate a unique client identifier ID for each client. The server can then create a WebSocket connection. An image interface server (Xserver) can be started on the server (e.g., a Linux server) for each client, and a corresponding display thread can be created for each client. A VNC Server service can be created on the display thread, and the port number of the VNC Server service can be specified. Simultaneously, a borderless, full-screen browser (e.g., Chromium) can be created based on the display thread. This can be achieved through the following steps: start command (Chromium) - browser program (browser) - delete command (noerrdialogs) - electronic automated service machine (kiosk) - incognito mode (incognito) - open a blank page (no-first-run). The 3D rendering results of a lightweight BIM model file can be pushed to the browser.
[0052] As an optional implementation, after the server pushes the 3D rendering result of the optimized BIM model file to the browser, the method further includes: the server initiating a connection request to connect to the VNC Server service; the server generating corresponding connection information for the client based on the VNC Server service, wherein the connection information includes: the process ID of the VNC server service, the process ID of the noVNC service, and the client's customer identifier ID.
[0053] In this embodiment, after the server pushes the optimized BIM model file's 3D rendering result to the browser, the server can initiate a connection request to connect to the VNC Server service. The server can generate corresponding connection information for the client based on the VNC Server service. This connection information may include: the process ID of the VNC server service, the process ID of the noVNC service, and the client's client identifier ID.
[0054] Optionally, after the server pushes the optimized BIM model file's 3D rendering result to the browser, the server initiates a connection request, starting a noVNC server to connect to the VNC Server service. Based on the VNC Server service, the server can generate corresponding connection information for the client, which may include: the process ID of the VNC server service, the process ID of the noVNC service, and the client's customer identifier ID. The image interface server can save the Display to the connection pool, storing the customer ID as a key.
[0055] As an optional implementation, the server responds to the client's disconnection request by obtaining the connection information associated with the client based on the client's client identifier ID; the server determines whether the connection has been disconnected for a predetermined time based on the connection information; if the predetermined time has been exceeded, the server releases resources for the client that issued the disconnection request.
[0056] In this embodiment, in response to the client's disconnection request, the server can obtain the connection information associated with the client based on the client's client identifier ID. The server can determine whether the connection has been disconnected for a predetermined time based on the connection information. If the predetermined time has been exceeded, the server can release resources for the client that issued the disconnection request.
[0057] For example, a WebSocket connection can be disconnected, and relevant information such as VNC and Xserver can be obtained from the connection pool based on the client ID. If the connection has been disconnected for more than 5 minutes, resources can be released for clients that have been disconnected for more than 5 minutes.
[0058] As an optional implementation, after the server releases resources for the client that issued the disconnect request, the method further includes: the server closing the browser process; the server stopping the creation of the VNCserver service for the client that issued the disconnect request, and releasing the display thread and noVNC service processes.
[0059] In this embodiment, after the server releases resources for the client that issued the disconnect request, the server can close the browser process. The server can stop creating the VNC server service for the client that issued the disconnect request and release the display thread and noVNC service processes.
[0060] Optionally, after the server releases resources from the client that issued the disconnect request, it can close the Chromium browser process, stop creating VNC server services for that client, release the display thread (Xserver Display), and release the noVNC server process. Connection ID information can also be released from the connection pool.
[0061] As an optional implementation, a new network access service is created in the client's browser. This network access service is used to request the client to connect to the server and obtain the noVNC connection address returned by the server. The client controls the browser to jump to the noVNC connection address and directly perform remote operations and viewing.
[0062] In this embodiment, a new network access service can be created in the client's browser. The client controls the browser to redirect to the noVNC connection address, directly performing remote operations and viewing. The network access service is used to request a connection between the client and the server and obtain the noVNC connection address returned by the server.
[0063] Alternatively, you can create a new WebSocket client in your browser, connect to the server, and obtain the noVNC connection address returned by the server. The browser can then navigate to the noVNC connection address to perform remote operations and view the data.
[0064] Table 1 shows the test data. As shown in Table 1, by adopting noVNC technology, the client can directly access the server via VNC through an H5 browser to view and operate the lightweight BIM model. The client will not experience lag due to poor computer configuration. Specifically, noVNC connection has low requirements for client computer configuration, is a remote method, and does not utilize the client's dedicated graphics card; it also has low network bandwidth requirements, the remote technology is mature, and it can be accessed through an H5 browser. Remote operation is smooth, and the image clarity can be adjusted on the client side according to network latency.
[0065] Table 1 Test Data Table
[0066] Model Name Size before optimization Lightweight size rac_basic_sample_project.rvt 16.7MB 2.84MB rac_advanced_sample_project.rvt 14.8MB 5.97MB Plot 53 - Above-ground - Structure.rvt 270MB 4.42MB
[0067] In this embodiment of the invention, the geometric data and component attribute data of the BIM model file are separated, and then the geometric image is lightweighted. Redundant data is removed, and deep optimization is performed to reduce the model size, improve loading efficiency and display effect. Finally, the lightweighted data is compressed, thereby saving network traffic and model loading time, thus achieving the technical effect of reducing the model size and solving the technical problem of long loading time caused by large model size.
[0068] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the present invention is not limited to the described order of actions, because according to the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.
[0069] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the related technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of the present invention.
[0070] This embodiment also provides a processing device for a building engineering BIM model, which is used to implement the above embodiments and preferred embodiments, and will not be repeated as already described. As used below, the terms "module" and "device" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0071] According to an embodiment of the present invention, a processing apparatus embodiment for implementing the above-described building engineering BIM model is also provided. Figure 2 This is a schematic diagram of the structure of a BIM model processing device for building engineering according to an embodiment of the present invention, as shown below. Figure 2 As shown, the above-mentioned BIM model processing device for building engineering includes: an acquisition module 202, a separation module 204, an optimization module 206, and an upload module 208.
[0072] The aforementioned acquisition module 202 is used to acquire the BIM model file to be processed.
[0073] The aforementioned separation module 204 is used to perform separation processing on the BIM model file to obtain separation data, wherein the separation data includes at least one of the following: three-dimensional geometric data and component attribute information.
[0074] The aforementioned optimization module 206 is used to optimize the separated data to obtain an optimized BIM model file. The optimization process includes at least one of the following: lightweight processing and compression processing.
[0075] The aforementioned upload module 208 is used to upload the optimized BIM model file to the server, whereby the server performs 3D rendering on the optimized BIM model file.
[0076] In this embodiment of the invention, the above-mentioned acquisition module 202 is used to acquire the BIM model file to be processed; the above-mentioned separation module 204 is used to perform separation processing on the BIM model file to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; the above-mentioned optimization module 206 is used to perform optimization processing on the separated data to obtain an optimized BIM model file, wherein the optimization processing includes at least one of the following: lightweight processing and compression processing; the above-mentioned upload module 208 is used to upload the optimized BIM model file to the server, wherein the server performs 3D rendering on the optimized BIM model file, thereby achieving the technical effect of reducing the model size and solving the technical problem of long loading time caused by large model size.
[0077] It should be noted that the above modules can be implemented by software or hardware. For example, for the latter, it can be implemented in the following ways: the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.
[0078] It should be noted that the acquisition module 202, separation module 204, optimization module 206, and upload module 208 mentioned above correspond to steps S102 to S108 in the embodiments. The instances and application scenarios implemented by the above modules and their corresponding steps are the same, but they are not limited to the content disclosed in the above embodiments. It should be noted that the above modules, as part of the device, can run on a computer terminal.
[0079] It should be noted that the optional or preferred implementation methods of this embodiment can be found in the relevant descriptions in the embodiments, and will not be repeated here.
[0080] The aforementioned BIM model processing device for building engineering may further include a processor and a memory. The aforementioned acquisition module 202, separation module 204, optimization module 206 and upload module 208 are all stored in the memory as program modules, and the processor executes the aforementioned program modules stored in the memory to realize the corresponding functions.
[0081] The processor contains a core that retrieves the corresponding program modules from memory. One or more cores may be configured. Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory includes at least one memory chip.
[0082] According to an embodiment of this application, an embodiment of a non-volatile storage medium is also provided. Optionally, in this embodiment, the non-volatile storage medium includes a stored program, wherein, when the program runs, it controls the device where the non-volatile storage medium is located to execute any of the above-mentioned methods for processing a building engineering BIM model.
[0083] Optionally, in this embodiment, the non-volatile storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals, and the non-volatile storage medium includes stored programs.
[0084] Optionally, during program execution, the device containing the non-volatile storage medium performs the following functions: acquiring the BIM model file to be processed; separating the BIM model file to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; optimizing the separated data to obtain an optimized BIM model file, wherein the optimization process includes at least one of the following: lightweight processing and compression processing; uploading the optimized BIM model file to the server, wherein the server performs 3D rendering on the optimized BIM model file.
[0085] According to an embodiment of this application, an embodiment of a processor is also provided. Optionally, in this embodiment, the processor is used to run a program, wherein the program executes any of the above-described methods for processing BIM models of building engineering projects.
[0086] According to an embodiment of this application, an embodiment of a computer program product is also provided, which, when executed on a data processing device, is adapted to execute a program for initializing a BIM model of a building project having any of the above-described processing steps.
[0087] Optionally, when the aforementioned computer program product is executed on a data processing device, it is suitable to execute an initialization program with the following method steps: obtaining a BIM model file to be processed; performing separation processing on the BIM model file to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; performing optimization processing on the separated data to obtain an optimized BIM model file, wherein the optimization processing includes at least one of the following: lightweight processing and compression processing; uploading the optimized BIM model file to a server, wherein the server performs 3D rendering on the optimized BIM model file.
[0088] Figure 3 This is a schematic diagram of an electronic device according to an embodiment of the present invention, such as... Figure 3 As shown, an embodiment of the present invention provides an electronic device 30, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs the following steps: acquiring a BIM model file to be processed; performing separation processing on the BIM model file to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; performing optimization processing on the separated data to obtain an optimized BIM model file, wherein the optimization processing includes at least one of the following: lightweight processing and compression processing; uploading the optimized BIM model file to a server, wherein the server performs 3D rendering on the optimized BIM model file.
[0089] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0090] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0091] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of modules described above can be a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between modules, and may be electrical or other forms.
[0092] The modules described above as separate components may or may not be physically separate. Similarly, the components shown as modules may or may not be physical modules; they may be located in one place or distributed across multiple modules. Some or all of the modules can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0093] Furthermore, the functional modules in the various embodiments of the present invention can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0094] If the aforementioned integrated modules are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable non-volatile storage medium. Based on this understanding, the technical solution of this invention, in essence, or the part that contributes to related technologies, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a non-volatile storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned non-volatile storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0095] The above are merely preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A method for processing BIM models of building engineering projects, comprising: Obtain the BIM model file to be processed; The BIM model file is separated to obtain separated data, wherein the separated data includes at least one of the following: three-dimensional geometric data and component attribute information; The separated data is optimized to obtain an optimized BIM model file, wherein the optimization process includes at least one of the following: lightweight processing and compression processing; The optimized BIM model file is uploaded to the server, whereby the server performs 3D rendering on the optimized BIM model file. The server listens for network access requests from at least one client and generates a unique client identifier ID for the client; the server creates a corresponding display thread for the client; the server creates a new browser based on the display thread; the server pushes the 3D rendering result of the optimized BIM model file to the browser.
2. The method according to claim 1, wherein, The BIM model file is separated to obtain separated data, including: The format of the BIM model file is converted to a standard format to obtain a converted model file. The component attribute information is read from the model file after the format conversion.
3. The method according to claim 2, wherein, The separated data is optimized to obtain the optimized BIM model file, which includes: Non-critical attribute data is removed from the read component attribute information to obtain the result file after the lightweighting process; The result file after the lightweighting process and the component attribute information are compressed to obtain the optimized BIM model file.
4. The method according to any one of claims 1-3, wherein, The display thread is used to create a VNC Server service and specify the port number of the VNC Server service; the browser is borderless and displays in full screen.
5. The method according to claim 4, wherein, After the server pushes the 3D rendering result of the optimized BIM model file to the browser, the method further includes: The server initiates a connection request and connects to the VNC Server service. The server generates corresponding connection information for the client based on the VNC Server service. The connection information includes: the process ID of the VNC Server service, the process ID of the noVNC service, and the client's customer identifier ID.
6. The method according to claim 4, wherein, The method further includes: In response to the client's disconnection request, the server obtains the connection information associated with the client based on the client's client identifier ID; The server determines whether the connection has been lost for more than a predetermined time based on the connection information. If the predetermined time period is exceeded, the server will release resources to the client that issued the disconnect request.
7. The method according to claim 6, wherein, After the server releases resources to the client that issued the disconnect request, the method further includes: The server closes the browser process; The server stops creating the VNC server service for the client that issued the disconnect request, and releases the display thread and the noVNC service process.
8. The method according to claim 1, wherein, The method further includes: Create a new network access service in the client's browser, wherein the network access service is used to request the client to connect to the server and obtain the noVNC connection address returned by the server; The client controls the browser to redirect to the noVNC connection address, directly performing remote operations and viewing.
9. A device for processing BIM models of building engineering projects, comprising: The acquisition module is used to acquire the BIM model file to be processed; A separation module is used to perform separation processing on the BIM model file to obtain separation data, wherein the separation data includes at least one of the following: three-dimensional geometric data and component attribute information; An optimization module is used to optimize the separated data to obtain an optimized BIM model file, wherein the optimization process includes at least one of the following: lightweighting and compression. The upload module is used to upload the optimized BIM model file to the server. The server performs 3D rendering of the optimized BIM model file; the server listens for network access requests from at least one client and generates a unique client identifier ID for that client; the server creates a corresponding display thread for the client; the server creates a new browser based on the display thread; and the server pushes the 3D rendering result of the optimized BIM model file to the browser.
10. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.
11. A non-volatile storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-8.
Citation Information
Patent Citations
BIM model display method and device, computer equipment and storage medium
CN114020390A
