A method, device, equipment, medium and product for processing a virtual building model

CN122387693BActive Publication Date: 2026-09-22POWERCHINA ZHONGNAN ENG
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202610857338.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-06-15
Publication Date
2026-09-22
Estimated Expiration
2046-06-15

AI Technical Summary

Technical Problem

[0004]然而,现有技术中缺乏针对建筑信息模型特点的分布式数据处理解决方案

Benefits of technology

本申请提供了一种虚拟建筑模型的处理方法、装置、设备、介质及产品,该方法响应于针对原始建筑信息模型的目标任务的分布式处理指令,读取原始建筑信息模型,原始建筑信息模型包括多个虚拟建筑构件;然后读取工作节点的数量n,并根据每一虚拟建筑构件的表面积,将多个虚拟建筑构件划分为n个构件集合,使得不同的构件集合中包含的虚拟建筑构件的表面积总和相差不超过多个虚拟建筑构件中表面积最大的虚拟建筑构件的表面积;之后将n个构件集合分别分配到n个工作节点,以进行目标任务的分布式处理;接收n个工作节点各自返回的处理结果,并根据n个处理结果重建得到目标建筑信息模型。在本申请实施例中,以虚拟建筑构件为单位,通过虚拟建筑构件表面积均衡分配的方式,将多个虚拟建筑构件均衡划分为与工作节点数量相同的n个构件集合,使得一个完整的虚拟建筑构件只会被划分到一个工作节点,如此,不会将同一个虚拟建筑构件拆分到两个子任务中进行处理,能够避免形成数据依赖,另外,由于每个构件集合包含的虚拟建筑构件表面积总和均衡分配,从而使得分布式任务均衡,模型处理效率提升。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122387693B_ABST
    Figure CN122387693B_ABST
Patent Text Reader

Abstract

The application discloses a kind of processing methods, device, equipment, medium and product of virtual building model, it is related to data processing technical field.The method comprises: in response to the distributed processing instruction of target task for original building information model, read original building information model;Determine the surface area of each virtual building component of original building information model;Read the number n of work node, and according to the surface area of each virtual building component, multiple virtual building components are divided into n component sets, the surface area of virtual building component contained in different component sets is not more than the surface area of the largest virtual building component in multiple virtual building components;N component sets are respectively distributed to n work nodes;According to the processing result returned by n work nodes respectively, reconstruction is obtained target building information model.Using the present application can solve the data dependence and task imbalance problem in the distributed processing process of virtual building model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a method, apparatus, equipment, medium and product for processing virtual building models. Background Technology

[0002] Building Information Modeling (BIM) technology has been widely used in the construction industry. BIM models contain a wealth of data, including geometric, attribute, and material information for building projects. However, as building projects continue to expand in scale and complexity, BIM file sizes are often enormous, with individual model files reaching hundreds of megabytes or even gigabytes and containing tens of thousands of elements. Processing such large-volume BIM models with numerous elements is often very time-consuming in practice.

[0003] Distributed computing technology can significantly improve processing efficiency by breaking down large tasks into multiple sub-tasks and distributing them to multiple computing nodes for parallel processing. Introducing distributed computing technology into the field of building information model data processing can effectively solve the problem of low processing efficiency of single machines.

[0004] However, existing technologies lack distributed data processing solutions tailored to the characteristics of Building Information Models (BIM). BIM features complex component relationships and significant topological connections. Simply dividing tasks spatially can easily split the same virtual building component (e.g., a beam or a wall) into two sub-tasks, leading to data dependencies. This means no single sub-task can independently process the complete result for that virtual building component, resulting in idle nodes, uneven node load, deadlocks, and conflicting processing results. Furthermore, the size and number of virtual building components may vary across different spaces, easily causing uneven distributed task distribution and potentially leading to unbalanced task sizes, thus limiting improvements in model processing efficiency. Summary of the Invention

[0005] This application provides a method, apparatus, equipment, medium, and product for processing virtual building models, in order to solve or at least partially solve the defects or deficiencies in related technologies.

[0006] Firstly, this application provides a method for processing virtual building models, the method comprising: In response to a distributed processing instruction for a target task of the original building information model, the original building information model is read, wherein the original building information model includes multiple virtual building components; Determine the surface area of ​​each of the aforementioned virtual building components; Read the number of working nodes n, and divide the multiple virtual building components into n component sets according to the surface area of ​​each virtual building component, wherein the total surface area of ​​the virtual building components contained in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components; The n component sets are respectively assigned to the n working nodes for distributed processing of the target task; Receive the processing results returned by each of the n working nodes, and reconstruct the target building information model based on the n processing results.

[0007] Secondly, this application provides a processing apparatus for virtual building models, the processing apparatus for virtual building models comprising: The model reading module is used to read the original building information model in response to a distributed processing instruction for a target task of the original building information model, wherein the original building information model includes multiple virtual building components. The surface area determination module is used to determine the surface area of ​​each of the virtual building components. The component partitioning module is used to read the number of working nodes n, and divide the multiple virtual building components into n component sets according to the surface area of ​​each virtual building component, wherein the total surface area of ​​the virtual building components contained in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components; The component allocation module is used to allocate the n component sets to the n working nodes respectively, so as to perform distributed processing of the target task; The model reconstruction module is used to receive the processing results returned by each of the n working nodes, and reconstruct the target building information model based on the n processing results.

[0008] Thirdly, this application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the virtual building model processing method described in the first aspect above.

[0009] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the virtual building model processing method described in the first aspect.

[0010] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the virtual building model processing method described in the first aspect.

[0011] According to the specific embodiments provided in this application, the following technical effects are disclosed: This application provides a method, apparatus, device, medium, and product for processing virtual building models. The method, in response to a distributed processing instruction for a target task on an original building information model, reads the original building information model, which includes multiple virtual building components. Then, it reads the number of working nodes, n, and divides the multiple virtual building components into n component sets based on the surface area of ​​each virtual building component, such that the sum of the surface areas of the virtual building components in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components. Next, it assigns the n component sets to n working nodes for distributed processing of the target task. Finally, it receives the processing results returned by each of the n working nodes and reconstructs the target building information model based on the n processing results. In this embodiment, virtual building components are divided into n component sets, the same number of working nodes, by evenly distributing the surface area of ​​the virtual building components. This ensures that a complete virtual building component is assigned to only one working node, thus preventing the same virtual building component from being split into two sub-tasks for processing and avoiding data dependencies. In addition, since the total surface area of ​​the virtual building components in each component set is evenly distributed, the distributed tasks are balanced, and the model processing efficiency is improved. Attached Figure Description

[0012] Figure 1 An application environment diagram for a virtual building model processing method provided in an embodiment of this application; Figure 2 A flowchart illustrating a method for processing a virtual building model according to an embodiment of this application; Figure 3 A schematic diagram of the functional modules of a virtual building model processing device provided in an embodiment of this application; Figure 4 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0013] The present application will now be described in further detail with reference to the accompanying drawings and specific embodiments.

[0014] The virtual building model processing method provided in this application embodiment can be applied to, for example, Figure 1 The distributed data processing system shown is an example. Figure 1 As shown, this distributed data processing system is a device cluster, including a master node and several worker nodes, wherein: The master node includes: Model reading unit: Used to read and parse BIM model files; Traversal and Statistics Unit: Used to traverse the virtual building components in the model and count their surface area, line length, and other information; Task partitioning unit: used to evenly divide elements into n groups based on the surface area of ​​virtual building components; Task distribution unit: used to assign target tasks for the BIM model to each work node; Result merging unit: Used to receive the processing results of the working nodes and merge them into a complete data processing model; Communication Management Unit: Used to manage communication connections with worker nodes.

[0015] The working nodes include: Model loading unit: Used to load BIM model files sent by the master node; Element Extraction Unit: Used to extract the virtual building components that this node is responsible for processing from the BIM model file; Data processing unit: used to perform data processing operations on virtual building components corresponding to the target tasks; Result generation unit: used to generate virtual building component data after data processing; Result sending unit: used to send the processing result back to the master node; Communication Management Unit: Used for communication with the master node.

[0016] It should be noted that the above method of dividing the functional units of master nodes and worker nodes is not the only method, and this application is not intended to limit it.

[0017] The master node and the worker nodes can be connected through a communication network (using communication protocols such as Ethernet protocol, TCP-IP (Transmission Control Protocol-Internet Protocol) protocol, etc.). The communication network is used to transmit data such as BIM model files, task information and processing results.

[0018] In one exemplary embodiment, such as Figure 2 As shown, a method for processing virtual building models is provided. This method is executed by a computer device. In this embodiment, the method for processing virtual building models is applied to... Figure 1 Taking the main node as an example, the processing method for this virtual building model includes the following steps 201 to 205. Wherein: Step 201: In response to the distributed processing instruction for the target task of the original building information model, read the original building information model, wherein the original building information model includes multiple virtual building components.

[0019] In this embodiment, the distributed data processing system first performs system initialization, including: starting the master node and several worker nodes, establishing communication connections between the master node and each worker node, and confirming that the number of available worker nodes is n, where n is a parameter of the distributed data processing system itself. Each worker node can send registration information to the master node after startup. After the master node confirms, it is included in the available worker nodes. In this embodiment, the worker nodes refer to available worker nodes.

[0020] When a target task needs to be performed on the original Building Information Model (BIM), the user can issue a distributed processing instruction to the distributed data processing system for the target task on the original BIM. The distributed processing instruction includes the task parameters of the target task, such as the model file path of the original BIM and the task requirements (e.g., the target compression ratio of the original BIM).

[0021] The master node of the distributed data processing system responds to the distributed processing instruction by reading the model file path of the original Building Information Model (BIM) from the task parameters of the target task. It then reads the original BIM model from this path, specifically the model file (in formats such as DGN (DesiGN), RVT (Revit), IFC (Industry Foundation Classes), or NWD (Navisworks Document)). Next, it iterates through all virtual building components in the original BIM model, recording the unique identifier (Id) of each component and creating a component Id list. The virtual building components include at least one of the following: walls, floors, columns, beams, doors and windows, furniture, and equipment.

[0022] In one alternative implementation, the target task includes model processing tasks, i.e., processing tasks on the Building Information Model itself, such as mesh simplification (reducing the number of vertices and faces by edge folding, vertex deletion, etc.), geometry simplification (removing redundant geometric details and retaining key features), texture optimization (compressing texture maps or reducing texture resolution), and attribute simplification (simplifying non-critical attribute information), but excludes performance analysis and evaluation tasks, such as mechanical analysis and thermodynamic analysis of the Building Information Model, because these tasks may involve multiple virtual building components affecting the model together; for example, support force analysis involves all associated beams and walls. The method involves considering the positional relationships and interactions of multiple virtual building components, rather than simply superimposing the supporting forces of a single virtual building component. Since this embodiment requires dividing the data into sets based on virtual building components for task allocation, data dependency and distributed task imbalance can still easily arise for data processing tasks where multiple virtual building components jointly influence the data. However, for model processing tasks, the processing unit is a single virtual building component, the same as the unit used to divide the component set. Therefore, the virtual building model processing method provided in this embodiment can solve the problems of data dependency and distributed task imbalance for model processing tasks.

[0023] Step 202: Determine the surface area of ​​each virtual building component.

[0024] For each virtual building component, the master node can determine its surface area.

[0025] In an alternative implementation, this step can be achieved through steps 2021 to 2023: Step 2021: For each virtual building component, determine the surface area of ​​each geometric surface in the virtual building component, and determine the length of each target type line in the virtual building component.

[0026] Step 2022: Convert the length of each target type line in the virtual building component into an equivalent surface area.

[0027] In this embodiment, the surface area of ​​geometric surfaces and target-type lines in virtual building components can be determined in different ways. For geometric surfaces, the surface area can be determined by any of the following methods: parametric calculation (for parametric geometric elements, such as standard spheres, standard cuboids, etc.), bounding box estimation, convex hull estimation, etc. For target-type lines, their length is determined, and then the line length is converted into an equivalent surface area.

[0028] In one alternative implementation, step 2022 can be achieved in the following way: Obtain the mapping relationship between the processing time per unit length of line and the processing time per unit surface area of ​​surface in the target task. Based on the mapping relationship, the length of each target type line in the virtual building component is converted into the equivalent surface area.

[0029] In this embodiment, converting line length into equivalent surface area involves equivalence in processing time. That is, it's necessary to determine, within the same task type (e.g., mesh simplification, geometry simplification), the time required to process a certain length of target type line corresponds to the time required to process a certain area of ​​surface (e.g., a planar surface). Optionally, a mapping relationship can be obtained beforehand by fitting the historical processing times of target type lines and surface areas to obtain the processing time t1 per unit length of target type line and the processing time t2 per unit surface area of ​​surface area. In other words, the mapping relationship between the time required to process a unit length of target type line and the time required to process a unit surface area of ​​surface area. In this embodiment, the length of each target type line in the virtual building component can be converted into an equivalent surface area based on this mapping relationship. For example, assuming the length of a target type line is L, the equivalent surface area of ​​that target type line is (L·t1) / t2.

[0030] Optionally, the target line type includes curved lines. Straight lines are generally processed quickly and do not affect accuracy. Therefore, the processing of straight lines has little impact on the load balancing of working nodes. However, the fitting of curved lines is affected by accuracy. Higher accuracy requires denser sampling points and longer processing time. Therefore, the processing of curved lines has a greater impact on the load balancing of working nodes. Thus, we can perform surface area equivalence only on the curved lines in the virtual building components, thereby solving the line type that has a greater impact on the load balancing of working nodes, and achieving the purpose of load balancing with a lower surface area equivalence calculation.

[0031] Step 2023: Determine the surface area of ​​the virtual building component based on the surface area of ​​each geometric surface in the virtual building component and the equivalent surface area of ​​each target type line in the virtual building component.

[0032] In this step, the surface area of ​​each geometric surface in the virtual building component and the equivalent surface area of ​​each target type line in the virtual building component can be added together to obtain the surface area of ​​the virtual building component. Since straight lines have little impact on the load balancing of working nodes, straight lines can be excluded from the surface area calculation of the virtual building component.

[0033] Optionally, for virtual building components in the original building information model, the master node can create a component information table, including the following fields: the ID of the virtual building component, the component type of the virtual building component, the surface area of ​​the virtual building component, and other geometric attributes of the virtual building component.

[0034] Step 203: Read the number of working nodes n, and divide the multiple virtual building components into n component sets according to the surface area of ​​each virtual building component. The total surface area of ​​the virtual building components in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components.

[0035] In this step, the master node can read the number of worker nodes n and divide the multiple virtual building components into n component sets based on the surface area of ​​each virtual building component.

[0036] In one alternative implementation, the partitioning objective may be to assign multiple virtual building components into n groups and ensure that the total surface area of ​​each group is as close as possible to the target surface area TargetArea, where TargetArea = TotalArea / n, and TotalArea is the total surface area of ​​the multiple virtual building components included in the original building information model.

[0037] The specific division method is as follows: Arrange multiple virtual building components in descending order of surface area to obtain a component sequence; Create n groups; Each virtual building component in the component sequence is sequentially assigned to the group with the smallest total surface area of ​​the currently contained virtual building components, until all virtual building components in the component sequence have been assigned, resulting in n component sets.

[0038] In this embodiment, a list of group components and a total surface area variable are maintained for each group. Each time a virtual building component is added to a group, the variable values ​​of the group component list and the total surface area variable for that group are updated. Specifically, the ID of the virtual building component can be added to the group component list of that group, and the surface area of ​​the virtual building component can be added to the current variable value of the total surface area variable for that group.

[0039] The master node can sequentially read the virtual building components in the component sequence. Each time a virtual building component is read, it is assigned to the group with the smallest total surface area among the currently contained virtual building components, and the group's component list and total surface area variable are updated. This process continues until all virtual building components in the component sequence have been assigned, resulting in n component sets, each group containing its corresponding component set.

[0040] This division method ensures that the total surface area of ​​the virtual building components contained in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components.

[0041] Step 204: Distribute the n component sets to the n working nodes for distributed processing of the target task.

[0042] In this step, after the master node has allocated the virtual building components, it can distribute tasks. Optionally, it can distribute tasks according to the order of idle working nodes. Alternatively, it can optimize task distribution based on the hardware configuration and processing speed of the working nodes. For example, it can allocate the set of components with the largest total surface area to the working node with the highest hardware configuration and processing speed.

[0043] Specifically, the master node sends the original building information model (i.e., the model file of the original building information model) to each worker node, and sends the grouped component list and data processing parameters (such as the algorithm type, target compression ratio, and other parameters required for data processing to achieve the target task) to the corresponding worker node according to the number and / or IP address (Internet Protocol Address).

[0044] Each working node can receive: the complete original building information model, a list of grouped components to be processed (i.e., the set of components to be processed), and data processing parameters.

[0045] Step 205: Receive the processing results returned by each of the n working nodes, and reconstruct the target building information model based on the n processing results.

[0046] n worker nodes can process data in parallel. For each worker node, the received original building information model is first loaded; based on the received grouped component list, the virtual building components to be processed are extracted from the original building information model; the algorithm used to achieve the target task is called to process the data of each virtual building component; each processed virtual building component is saved as a sub-model file or data package; after completing the data processing of all assigned virtual building components, the processing results are sent back to the master node. The processing results may include all sub-model files or data packages, processing logs, and data processing statistics (such as the number of virtual building components processed, the time spent processing virtual building components, the total number of patches and lines, and the total length of curves).

[0047] The master node receives the processing results returned by all worker nodes and merges the processing results of each worker node according to the component information table, as follows: For each virtual building component, the processed virtual building component data is extracted from the processing results of the corresponding working node; the original spatial location, topological relationship and attribute association of the virtual building component are preserved, and all processed virtual building components are merged to reconstruct the target building information model; then the target building information model can be verified. Optionally, the virtual building component IDs of the target building information model and the original building information model can be compared to ensure that all virtual building components are processed successfully and without any omissions, thereby verifying the integrity of the target building information model. The verification of the target building information model is not limited to this.

[0048] The master node ultimately outputs the model file of the target building information model and generates a processing report. For example, the processing report may include: the size of the original building information model file, the size of the target building information model file, the building information model compression ratio, the change in the number of virtual building components before and after processing (the correct processing result should maintain the same number of virtual building components before and after processing; this data is used to determine if any virtual building components failed processing and whether any virtual building components in the original building information model were set to an invisible state), processing time statistics for each working node, and data processing quality evaluation indicators (such as accuracy loss, visual fidelity, etc.).

[0049] In a specific example, the following configuration is used: Master node: 1 server, 16 CPU cores, 64GB memory, operating system is Windows 10; Work nodes: 8 units, 8 CPU cores, 32GB memory, operating system is Windows 10; Communication network: Gigabit Ethernet; Original Building Information Model (BIM) file: DGN format, file size: 5.2GB, containing approximately 150,000 virtual building components.

[0050] Using the aforementioned distributed data processing system and the aforementioned virtual building model processing method, a 5.2GB original building information model file was processed. The experimental results are as follows: Estimated single-machine processing time: Approximately 12 hours; Distributed processing time: approximately 1.8 hours; Efficiency improvement: approximately 6.7 times.

[0051] Optionally, to improve system reliability, this embodiment also provides a method for supporting worker node failure recovery: Assign n+1 working nodes to the target task of the original building information model, one of which is a backup node. When a working node fails, the backup node takes over the task of the failed working node.

[0052] The virtual building model processing method provided in this application can respond to a distributed processing instruction for a target task of the original building information model, read the original building information model, which includes multiple virtual building components; then read the number of working nodes n, and divide the multiple virtual building components into n component sets according to the surface area of ​​each virtual building component, such that the sum of the surface areas of the virtual building components in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components; then assign the n component sets to n working nodes respectively for distributed processing of the target task; receive the processing results returned by each of the n working nodes, and reconstruct the target building information model based on the n processing results. In this embodiment, virtual building components are divided into n component sets, the same number of working nodes, by evenly distributing the surface area of ​​the virtual building components. This ensures that a complete virtual building component is assigned to only one working node, thus preventing the same virtual building component from being split into two sub-tasks for processing and avoiding data dependencies. In addition, since the total surface area of ​​the virtual building components in each component set is evenly distributed, the distributed tasks are balanced, and the model processing efficiency is improved.

[0053] Based on the same inventive concept, this application also provides a virtual building model processing apparatus for implementing the virtual building model processing method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations of one or more virtual building model processing apparatus embodiments provided below can be found in the limitations of the virtual building model processing method described above, and will not be repeated here.

[0054] In one exemplary embodiment, such as Figure 3 As shown, a processing device for virtual building models is provided. The processing device for virtual building models includes: The model reading module is used to read the original building information model in response to the distributed processing instructions for the target task of the original building information model, wherein the original building information model includes multiple virtual building components. The surface area determination module is used to determine the surface area of ​​each virtual building component. The component partitioning module is used to read the number of working nodes n and divide multiple virtual building components into n component sets according to the surface area of ​​each virtual building component. The total surface area of ​​the virtual building components in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components. The component allocation module is used to allocate n component sets to n worker nodes for distributed processing of the target task. The model reconstruction module is used to receive the processing results returned by each of the n working nodes, and reconstruct the target building information model based on the n processing results.

[0055] In some embodiments of this application, multiple virtual building components are divided into n component sets based on the surface area of ​​each virtual building component, including: Arrange multiple virtual building components in descending order of surface area to obtain a component sequence; Create n groups; Each virtual building component in the component sequence is sequentially assigned to the group with the smallest total surface area of ​​the currently contained virtual building components, until all virtual building components in the component sequence have been assigned, resulting in n component sets.

[0056] In some embodiments of this application, determining the surface area of ​​each virtual building component includes: For each virtual building component, determine the surface area of ​​each geometric surface in the virtual building component, and determine the length of each target type line in the virtual building component; Convert the length of each target type line in the virtual building component into the equivalent surface area; The surface area of ​​a virtual building component is determined based on the surface area of ​​each geometric surface in the virtual building component and the equivalent surface area of ​​each target type line in the virtual building component.

[0057] In some embodiments of this application, converting the length of each target type line in a virtual building component into an equivalent surface area includes: Obtain the mapping relationship between the processing time per unit length of line and the processing time per unit surface area of ​​surface in the target task. Based on the mapping relationship, the length of each target type line in the virtual building component is converted into the equivalent surface area.

[0058] In some embodiments of this application, the target type line includes curved lines.

[0059] In some embodiments of this application, the target task includes a model processing type task.

[0060] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0061] The aforementioned computer device may be, for example, a server or a terminal, and its internal structure diagram may be as follows: Figure 4 As shown, this computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a method for processing a virtual building model.

[0062] Those skilled in the art will understand that Figure 4 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0063] In one exemplary embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.

[0064] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.

[0065] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0066] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM).

[0067] The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0068] 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.

[0069] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for processing virtual building models, characterized in that, The processing method for the virtual building model includes: In response to a distributed processing instruction for a target task of the original building information model, the original building information model is read, wherein the original building information model includes multiple virtual building components; Determine the surface area of ​​each of the aforementioned virtual building components; Read the number of working nodes n, and divide the multiple virtual building components into n component sets according to the surface area of ​​each virtual building component, wherein the total surface area of ​​the virtual building components contained in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components; The n component sets are respectively assigned to the n working nodes for distributed processing of the target task; Receive the processing results returned by each of the n working nodes, and reconstruct the target building information model based on the n processing results; Determining the surface area of ​​each of the virtual building components includes: For each of the virtual building components, determine the surface area of ​​each geometric surface in the virtual building component, and determine the length of each target type line in the virtual building component; Obtain the mapping relationship between the processing time per unit length of line and the processing time per unit surface area of ​​surface in the target task. Based on the mapping relationship, the length of each target type line in the virtual building component is converted into an equivalent surface area; The surface area of ​​the virtual building component is determined based on the surface area of ​​each geometric surface in the virtual building component and the equivalent surface area of ​​each target type line in the virtual building component.

2. The method for processing virtual building models according to claim 1, characterized in that, The step of dividing the plurality of virtual building components into n component sets based on the surface area of ​​each virtual building component includes: The multiple virtual building components are arranged in descending order of surface area to obtain a component sequence; Create n groups; Each virtual building component in the component sequence is sequentially assigned to the group with the smallest total surface area of ​​the currently included virtual building components, until all virtual building components in the component sequence have been assigned, thus obtaining the n component sets.

3. The method for processing virtual building models according to claim 1, characterized in that, The target type of lines includes curved lines.

4. The method for processing virtual building models according to claim 1, characterized in that, The target task includes tasks of the model processing type.

5. A processing device for virtual building models, characterized in that, The processing device for the virtual building model includes: The model reading module is used to read the original building information model in response to a distributed processing instruction for a target task of the original building information model, wherein the original building information model includes multiple virtual building components. The surface area determination module is used to determine the surface area of ​​each of the virtual building components. The component partitioning module is used to read the number of working nodes n, and divide the multiple virtual building components into n component sets according to the surface area of ​​each virtual building component, wherein the total surface area of ​​the virtual building components contained in different component sets does not differ by more than the surface area of ​​the virtual building component with the largest surface area among the multiple virtual building components; The component allocation module is used to allocate the n component sets to the n working nodes respectively, so as to perform distributed processing of the target task; The model reconstruction module is used to receive the processing results returned by each of the n working nodes, and reconstruct the target building information model based on the n processing results; Determining the surface area of ​​each of the virtual building components includes: For each of the virtual building components, determine the surface area of ​​each geometric surface in the virtual building component, and determine the length of each target type line in the virtual building component; Obtain the mapping relationship between the processing time per unit length of line and the processing time per unit surface area of ​​surface in the target task. Based on the mapping relationship, the length of each target type line in the virtual building component is converted into an equivalent surface area; The surface area of ​​the virtual building component is determined based on the surface area of ​​each geometric surface in the virtual building component and the equivalent surface area of ​​each target type line in the virtual building component.

6. A computer device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor executes the computer program to implement the steps of the processing method for the virtual building model according to any one of claims 1-4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the processing method for the virtual building model according to any one of claims 1-4.

8. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the processing method for the virtual building model according to any one of claims 1-4.

Citation Information

Patent Citations

  • Building model processing method and device, electronic equipment and storage medium

    CN114329692A

  • Building data processing method and device, equipment and medium

    CN120429034A