Method and product for real-time collaborative design of component-based building information models
By only transmitting component attribute data in BIM collaborative design, data conflicts and high bandwidth problems in multi-user collaborative design are solved, and design efficiency and user experience are improved.
Patent Information
- Application Number
- CN202111455973.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-01
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2041-12-01
AI Technical Summary
In building information model (BIM) collaborative design, due to data complexity and synchronization issues, the existing technology only supports single user editing, resulting in low efficiency of multi-user collaborative design, prone to data conflicts, and data transmission bandwidth and storage space consumption high.
By obtaining the edited component BIM data, querying its data type, and providing editing permissions based on the type, only the attribute data describing the component is transmitted, and no pixel data is transmitted, so that multi-terminal synchronous editing is realized, reducing bandwidth and storage requirements.
It improves model design speed and personnel utilization, improves user experience and sense of participation, reduces bandwidth and storage space requirements, and avoids data conflicts and synchronization inconsistencies.
Smart Images

Figure CN114154207B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the computer field, and more particularly, to a method, apparatus, device, medium, and program product for real-time collaborative design of a component-based building information model. Background Art
[0002] In computer-aided design for projects (e.g., construction projects), due to the complexity of the projects, it is usually necessary for multiple users with different domain knowledge to collaborate on multiple terminals to complete the design of the project. For example, in some conventional solutions, when using Building Information Modeling (BIM), due to the complexity of BIM data, it is usually only supported to be edited by one user at a time. Only after the user completes the editing and uploads, other users can start editing, and the corresponding BIM data is not uploaded and downloaded in time, so avoiding data conflicts caused by multiple users editing the data at the same time in this way may have many disadvantages. Therefore, there is a need for a solution that can efficiently collaborate on BIM data in a collaborative scenario of multiple terminals. Summary of the invention
[0003] Embodiments of the present disclosure provide a method, apparatus, device, medium, and program product for real-time collaborative design of a component-based building information model.
[0004] In a first aspect of the present disclosure, a method for real-time collaborative design of a component-based building information model is provided. The method includes: obtaining building information model (BIM) data of an edited component, the BIM data of the component coming from a first terminal device among multiple terminal devices in real-time collaborative design; querying a data type corresponding to the BIM data of the edited component; and providing editing permissions corresponding to the data type to other terminal devices among multiple terminal devices in real-time collaborative design according to the queried data type, wherein when the data type is a temporary data type, data describing the attributes of the component in the data belonging to the temporary data type is transmitted to other terminal devices, while data describing the pixels of the component in the data belonging to the temporary data type is not transmitted.
[0005] In a second aspect of the present disclosure, a device for real-time collaborative design of a component-based building information model is provided. The device includes: a building information model acquisition module, configured to acquire building information model (BIM) data of an edited component, the BIM data of the component coming from a first terminal device among multiple terminal devices in real-time collaborative design; a query module, configured to query the data type corresponding to the BIM data of the edited component; and an editing authority providing module, configured to provide editing authority corresponding to the data type to other terminal devices among multiple terminal devices in real-time collaborative design according to the queried data type, wherein when the data type is a temporary data type, data describing the attributes of the component in the data belonging to the temporary data type is transmitted to other terminal devices, while data describing the pixels of the component in the data belonging to the temporary data type is not transmitted.
[0006] In a third aspect of the present disclosure, an electronic device is provided, comprising: a memory and a processor, wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to the first aspect.
[0007] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein one or more computer instructions are stored on the computer-readable storage medium, wherein the one or more computer instructions are executed by a processor to implement the method according to the first aspect.
[0008] In a fifth aspect of the present disclosure, a computer program product is provided, wherein the computer program product comprises one or more computer instructions, wherein the one or more computer instructions are executed by a processor to implement the method according to the first aspect.
[0009] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:
[0011] Figure 1 A schematic diagram showing an example environment for using a method for real-time collaborative design of a component-based building information model according to certain embodiments of the present disclosure;
[0012] Figure 2A flowchart of a method for real-time collaborative design of a component-based building information model according to certain embodiments of the present disclosure is shown;
[0013] Figure 3 A flowchart of a method for real-time collaborative design of a component-based building information model according to certain embodiments of the present disclosure is shown;
[0014] Figure 4 A schematic diagram showing a pixel of a building information model according to some embodiments of the present disclosure;
[0015] Figure 5 A block diagram of an apparatus for real-time collaborative design of a component-based building information model according to some embodiments of the present disclosure is shown;
[0016] Figure 6 A block diagram showing an apparatus for real-time collaborative design of a component-based building information model according to some embodiments of the present disclosure; and
[0017] Figure 7 A block diagram of a computing system is shown in which one or more embodiments of the present disclosure may be implemented.
[0018] Throughout the drawings, the same or similar reference numbers denote the same or similar elements. DETAILED DESCRIPTION
[0019] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0020] The term "including" and its variations used in this document are open-ended, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment". The relevant definitions of other terms will be given in the following description.
[0021] The inventors have noticed that in order to ensure data consistency and avoid data conflicts that may be caused by multiple terminal devices, conventional methods only support BIM data being edited by a single user at the same time, so the efficiency is not high.
[0022] The inventors also noted that in some methods, for example, the server can divide the BIM data into multiple sub-files and then distribute them to multiple terminal devices, and each user can only edit the sub-file to which he is assigned to avoid potential data conflicts. After the editing is completed, each user uploads the edited sub-file to the server to merge into a complete model file. Since each user is only assigned to a part of the BIM data, the number of components that each user can edit is limited. None of the above methods can coordinate BIM data according to the component level. The collaborative efficiency of these solutions is not high and lacks flexibility. At the same time, since data transmission needs to be carried out at the order of model files when uploading, higher bandwidth and storage space are required.
[0023] In order to at least partially solve some of the above shortcomings, an embodiment of the present disclosure provides a method for real-time collaborative design of a component-based building information model. In this method, the building information model BIM data of the edited component is obtained, and the BIM data of the component comes from the first terminal device among multiple terminal devices in the real-time collaborative design; the data type corresponding to the BIM data of the edited component is queried; and according to the queried data type, the editing authority corresponding to the data type is provided to other terminal devices among the multiple terminal devices in the real-time collaborative design, wherein when the data type is a temporary data type, the data describing the attributes of the component in the data belonging to the temporary data type is transmitted to the other terminal devices, and the data describing the pixels of the component in the data belonging to the temporary data type is not transmitted.
[0024] Therefore, the method disclosed in the present invention is different from the traditional design in which editing operations can only be performed separately and step by step. Instead, the overall model can be detected and modified synchronously, and multi-terminal and multi-user synchronous execution can be realized, which not only improves the model design speed, but also greatly improves the utilization rate of personnel. In addition, due to the good real-time performance of real-time collaborative design, the user experience and sense of participation of the participants can be better. At the same time, since pixels are not transmitted, the bandwidth and storage space can be reduced. Therefore, the working principle and mechanism of the present invention are significantly different from any known method.
[0025] In the following description, some embodiments will be discussed with reference to BIM of buildings, such as schools, hospitals, etc. However, it should be understood that this is only to enable ordinary technicians in the field to better understand the principles and ideas of the embodiments of the present disclosure, and is not intended to limit the scope of the present disclosure in any way.
[0026] Figure 1 A schematic diagram of an example environment for using a method for real-time collaborative design of a component-based building information model according to certain embodiments of the present disclosure is shown.
[0027] like Figure 1As shown, at the execution subject 101 (e.g., a computer system, a server, etc.), the building information model BIM data of the edited component is obtained (e.g., received). Examples of these BIM data include, for example, model elements, temporary elements, graphic model data, non-graphic parameter data, and other forms of result data (text, pictures, XML, etc.). In some embodiments, these data can come from one or more terminal devices among the terminal devices 102, 103, and 104. Figure 2 The method proposed in the present disclosure is described below, and the terminal device 102 is selected as the terminal device. It should be understood that Figure 1 The example environment 100 shown in the example is merely illustrative and is not intended to limit the scope of the present disclosure. The example environment 100 may also include various additional devices, apparatuses, and / or modules. Figure 1 The modules shown in the figure are also only illustrative and are not intended to limit the scope of the present disclosure. In some embodiments, some modules can be integrated into one physical entity, or further split into more modules.
[0028] Figure 2 A flowchart of a method 200 for real-time collaborative design of a component-based building information model according to some embodiments of the present disclosure is shown.
[0029] For ease of description, a building will be used as an example to describe the process of the method for real-time collaborative design of a component-based building information model implemented by the method 200. However, as mentioned above, this is merely exemplary and is not intended to limit the scope of the present disclosure in any way. The embodiment of the method 200 described herein can also be used in the process of the method for real-time collaborative design of a component-based building information model in any other appropriate engineering.
[0030] like Figure 2 As shown, at box 202, the building information model BIM data of the edited component is obtained, and the BIM data of the component comes from the first terminal device among multiple terminal devices in real-time collaborative design. As an example only, the first terminal device is the terminal device 102, such as a desktop computer, a laptop computer, a mobile computing device, etc.
[0031] At block 204 , a data type corresponding to the edited BIM data of the component is queried.
[0032] The data types can be as shown in Table 1.
[0033]
[0034] Table 1
[0035] It should be noted that the term “collision check” in Table 1 refers to a check on whether operations of multiple terminal devices on the same component conflict in real-time collaborative design.
[0036] Combine the following Figure 4 The term "pixel" used in this disclosure is explained. Figure 4 A schematic diagram of pixels of a building information model according to certain embodiments of the present disclosure is shown. A pixel can be understood as a visual representation of a rendered component, and its data volume is relatively large, and can be calculated and stored in a local computer system without being transmitted. What needs to be transmitted is data describing the properties of the component, for example, information such as the length, width, and height of the component. When such data (temporary data type) is edited, only the data describing the properties of the component in the data is transmitted to other terminal devices, and the data describing the pixels of the component in the data is not transmitted. This can increase the rate, save bandwidth, and reduce latency, so that users of multiple terminal devices participating in real-time collaborative design have no visual differences, thereby improving the user experience.
[0037] Now return to Figure 2 , at box 206, based on the queried data type, editing permissions corresponding to the data type are provided to other terminal devices among the multiple terminal devices in the real-time collaborative design, wherein when the data type is a temporary data type, data describing the attributes of the component in the data belonging to the temporary data type is transmitted to the other terminal devices, while data describing the pixels of the component in the data belonging to the temporary data type is not transmitted.
[0038] In some embodiments, when the data type is a locked data type, data belonging to the locked data type can be transmitted to other terminal devices, and the data belonging to the locked data type can only be edited by the user of the first terminal device; and when the data type is a shared sequential data type, data belonging to the shared sequential data type can be transmitted to other terminal devices, and the data belonging to the shared sequential data type can be edited by the user of any terminal device among the multiple terminal devices. For example, the data of the locked data type edited by the terminal device 102 can be transmitted to the terminal device 103, for example, via the server 101, but the user of the terminal device 103 can only see but not edit the data of the locked data type. The data of the shared sequential data type edited by the terminal device 102 can be transmitted to the terminal device 104, for example, via the server 101, and the user of the terminal device 104 can see and edit the data of the shared sequential data type.
[0039] In some embodiments, the editing permission for data belonging to a locked data type may include an insert operation for synchronously presenting an object created by a user of a first terminal device on each of a plurality of terminal devices in real-time collaborative design, for example, inserting (such as adding) a component representing a wall.
[0040] In some embodiments, the editing permission for data belonging to a locked data type may also include a modification operation, which is used to synchronously present the BIM data of the component modified by the user of the first terminal device on each of the multiple terminal devices in the real-time collaborative design. For example, modifying the height of the component representing the wall to 3 meters.
[0041] In some embodiments, the editing permission for data belonging to a locked data type may also include a delete operation, which is used to synchronously delete the BIM data of a component by a user of the first terminal device on each of the multiple terminal devices in the real-time collaborative design. For example, deleting a component representing a wall.
[0042] In some embodiments, the editing permission for data belonging to a shared sequential data type may include: generating a queue describing the editing order according to the editing order of BIM data of components edited by respective users of multiple terminal devices; executing the edits corresponding to the queue according to the queue; and presenting the results of the execution of the edits corresponding to the queue events on multiple terminal devices. For example, the user of terminal device 102 performs an editing operation on a component representing a wall, which operation is a modification operation, and the data type is a shared sequential data type. Afterwards, the user of terminal device 103 also performs an editing operation on the same component, which operation is also a modification operation, and the data type is also a shared sequential data type. In this way, a queue can be generated in a sequential order, and then the corresponding operations can be executed and presented in the order of the editing operations in the queue.
[0043] Figure 3 FIG. 3 is a flowchart of a method 300 for real-time collaborative design of a component-based building information model according to some embodiments of the present disclosure. Figure 3 As shown, box 302, box 304, box 306 and Figure 2The functions of the boxes 202, 204, and 206 in the method 300 correspond one to one. For the sake of brevity, the description of boxes 302, 304, and 306 will refer to the description of boxes 202, 204, and 206. In addition, the method 300 may also include box 308. In some embodiments, at box 308, a mapping table associated with the data of the attributes of the component is created, the mapping table saves the relationship between the data of the attributes of the edited component on the first terminal device and the data of the attributes of the unedited component on the server; and in response to the request of other terminal devices, the mapping table is transmitted to the corresponding terminal device. By transmitting the mapping table, the correspondence between the data and the data attributes can be made clearer, reducing the probability of error.
[0044] In some embodiments, method 300 may further include block 310. At block 310, the edits of the respective users of the plurality of terminal devices are recorded in a log, wherein the log is stored separately from the BIM data of the component; and based on the independently stored log, the results of the execution of the edits are presented to other terminal devices in the plurality of terminal devices in the real-time collaborative design. In this way, since the log is stored separately, the fairness and traceability of the data are guaranteed, and the convenience of data maintenance is promoted. Block 310 may be automatically executed at any time and is not limited to following Figure 3 Execute in the order shown.
[0045] In some embodiments, method 300 may also include box 312. At box 312, a first BIM identifier is determined, wherein the first BIM identifier is associated with a first terminal device; a second BIM identifier is determined, wherein the second BIM identifier is associated with one of the other terminal devices; based on the first BIM identifier and the second BIM identifier being the same, it is determined that the terminal device in the other terminal devices is in real-time collaborative design; or based on the first BIM identifier and the second BIM identifier being different, it is determined that the terminal device in the other terminal devices is not in real-time collaborative design. By implementing box 312, it is possible to effectively determine whether a specific terminal device is in real-time collaborative design, thereby excluding terminal devices that are not in real-time collaborative design, making data more confidential and more secure. Box 312 can be executed automatically or upon request at any time and is not limited to following Figure 3 Execute in the order shown.
[0046] By implementing method 200 or method 300, multi-terminal multi-user synchronous execution can be achieved, which not only improves the model design speed, but also greatly improves the utilization rate of personnel. And because the real-time performance of real-time collaborative design is good, the user experience and sense of participation of the participants can be better. At the same time, since pixels are not transmitted, the bandwidth and storage space can be reduced, and the latency is reduced, so that users of multiple terminal devices participating in real-time collaborative design have no visual difference, improving the user experience. The method disclosed in the present invention does not need to make many restrictions on the terminal device in order to ensure the uniqueness of data attributes, which greatly alleviates the pressure on the client (for example, terminal devices 102-104) and solves the problem of synchronization failure caused by inconsistent data synchronization or conflict of terminal devices.
[0047] Figure 5 A block diagram of an apparatus 500 for real-time collaborative design of a component-based building information model according to some embodiments of the present disclosure is shown.
[0048] The building information model acquisition module 502 is configured to acquire the edited building information model (BIM) data of the component, where the BIM data of the component comes from a first terminal device among multiple terminal devices in the real-time collaborative design.
[0049] The query module 504 is configured to query the data type corresponding to the edited BIM data of the component.
[0050] The editing permission providing module 506 is configured to provide editing permissions corresponding to the data type to other terminal devices among multiple terminal devices in real-time collaborative design based on the queried data type, wherein when the data type is a temporary data type, the data describing the attributes of the component in the data belonging to the temporary data type is transmitted to the other terminal devices, while the data describing the pixels of the component in the data belonging to the temporary data type is not transmitted.
[0051] In some embodiments, the editing permission providing module can also be configured as follows: when the data type is a locked data type, data belonging to the locked data type is transmitted to other terminal devices, and the data belonging to the locked data type can only be edited by the user of the first terminal device; and when the data type is a shared sequence data type, data belonging to the shared sequence data type is transmitted to other terminal devices, and the data belonging to the shared sequence data type can be edited by the user of any terminal device among multiple terminal devices.
[0052] In some embodiments, editing permissions for data belonging to a locked data type may include: an insert operation, which is used to synchronously present an object created by a user of a first terminal device on each of a plurality of terminal devices in real-time collaborative design; a modification operation, which is used to synchronously present, on each of a plurality of terminal devices in real-time collaborative design, BIM data of a component modified by the user of the first terminal device; and a delete operation, which is used to synchronously delete, on each of a plurality of terminal devices in real-time collaborative design, the BIM data of a component deleted by the user of the first terminal device.
[0053] In some embodiments, editing permissions for data belonging to a shared sequential data type may include: generating a queue describing the editing order based on the editing order in which respective users of multiple terminal devices edit BIM data of components; executing edits corresponding to the queue based on the queue; and presenting the results of executing the edits corresponding to the queue events on multiple terminal devices.
[0054] In some embodiments, the editing permission providing module can also be configured to: create a mapping table associated with the data of the attributes of the component, the mapping table saves the relationship between the data of the attributes of the edited component on the first terminal device and the data of the attributes of the unedited component on the server; and in response to a request from other terminal devices, transmit the mapping table to the corresponding terminal device.
[0055] Figure 6 A block diagram of an apparatus 600 for real-time collaborative design of a component-based building information model according to some embodiments of the present disclosure is shown.
[0056] like Figure 6 As shown, the building information model acquisition module 602, the query module 604, the editing authority providing module 606 and Figure 5 The functions of the building information model acquisition module 502, the query module 504 and the editing authority providing module 506 in the apparatus 600 correspond one to one. For the sake of brevity, the disclosure will not be repeated here. In addition, in some embodiments, the apparatus 600 may further include a log module 608, which is configured to record the edits of respective users of the plurality of terminal devices in a log, wherein the log and the BIM data of the component are stored separately and independently; and based on the independently stored log, the results of the execution of the edits are presented to other terminal devices among the plurality of terminal devices in the real-time collaborative design.
[0057] In some embodiments, the device 600 may also include a real-time collaborative design determination module 610, which is configured to: determine a first BIM identifier, wherein the first BIM identifier is associated with a first terminal device; determine a second BIM identifier, wherein the second BIM identifier is associated with one of the other terminal devices; based on the first BIM identifier and the second BIM identifier being the same, determine that the terminal device in the other terminal devices is in real-time collaborative design; or based on the first BIM identifier and the second BIM identifier being different, determine that the terminal device in the other terminal devices is not in real-time collaborative design.
[0058] For the specific implementation process of the apparatus 500 and the apparatus 600, reference may be made to the description of the method 200 and the method 300, and the disclosure will not repeat them here. It can be understood that the apparatus 500 and the apparatus 600 of the present disclosure can achieve the same technical effect as the method 200 and the method 300, thereby achieving at least one advantage of the method 200 and the method 300 for real-time collaborative design of component-based building information models as described above.
[0059] Figure 7 A block diagram of a computing system 700 is shown in which one or more embodiments of the present disclosure may be implemented. Figure 2 The method 200 and Figure 3 The illustrated method 300 may be implemented by a computing system 700 . Figure 7 The computing system 700 shown is merely an example and should not be construed as limiting the functionality and scope of use of the implementations described herein.
[0060] like Figure 7 As shown, computing system 700 is in the form of a general purpose computing device. Components of computing system 700 may include, but are not limited to, one or more processors or processing units 700, memory 720, one or more input devices 730, one or more output devices 740, storage 750, and one or more communication units 760. Processing unit 700 may be an actual or virtual processor and is capable of performing various processes according to the program stored in memory 720. In a multi-processing system, multiple processing units execute computer executable instructions to increase processing capabilities.
[0061] The computing system 700 typically includes a plurality of computer-readable media. Such media may be any available media accessible to the computing system 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 may be a volatile memory (e.g., registers, caches, random access memory (RAM)), a non-volatile memory (e.g., a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 750 may be removable or non-removable and may include a machine-readable medium, such as a flash drive, a disk, or any other medium, which may be capable of storing information and may be accessed within the computing system 700.
[0062] The computing system 700 may further include additional removable / non-removable, volatile / non-volatile computer system storage media. Figure 7 As shown in , a magnetic disk drive for reading or writing from a removable, non-volatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading or writing from a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to the bus 18 by one or more data media interfaces. The memory 720 may include at least one program product having (e.g., at least one) set of program modules that are configured to perform the functions of the various embodiments described herein.
[0063] A program / utility tool 722 having a collection of one or more execution modules 724 may be stored, for example, in memory 720. Execution modules 724 may include, but are not limited to, an operating system, one or more application programs, other program modules, and operational data. Each example or specific combination of these examples may include an implementation of a networking environment. Execution modules 724 typically perform the functions and / or methods of embodiments of the subject matter described herein, such as method 200 and / or method 300.
[0064] Input unit 730 can be one or more various input devices. For example, input unit 739 can include user equipment, such as a mouse, keyboard, tracking ball, etc. Communication unit 760 implements communication to other computing entities on a communication medium. Additionally, the functions of the components of computing system 700 can be implemented with a single computing cluster or multiple computing machines, which can communicate through a communication connection. Therefore, computing system 700 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another general network node. For example, but not limited to, the communication medium includes wired or wireless networking technology.
[0065] The computing system 700 may also communicate with one or more external devices (not shown) as needed, such as storage devices, display devices, etc., with one or more devices that enable a user to interact with the computing system 700, or with any device that enables the computing system 700 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communications may be performed via an input / output (I / O) interface (not shown).
[0066] The functions described herein may be performed at least in part by one or more hardware logic components. For example, but not limited to, illustrative types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), etc.
[0067] The program code for implementing the methods of the subject matter described herein can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, causes the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code can be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0068] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0069] In addition, although each operation is described in a specific order, this should be understood as requiring such operation to be performed in the specific order shown or in a sequential order, or requiring that all illustrated operations should be performed to obtain the desired result. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the subject matter described herein. Certain features described in the context of a separate implementation can also be implemented in a single implementation in combination. On the contrary, the various features described in the context of a single implementation can also be implemented in multiple implementations individually or in any suitable sub-combination.
[0070] Some example implementations of the present disclosure are listed below.
[0071] In a first aspect of the present disclosure, a method for real-time collaborative design of a component-based building information model is provided. The method includes: obtaining BIM data of an edited component, the BIM data of the component coming from a first terminal device among multiple terminal devices in real-time collaborative design; querying a data type corresponding to the BIM data of the edited component; and providing editing permissions corresponding to the data type to other terminal devices among multiple terminal devices in real-time collaborative design according to the queried data type, wherein when the data type is a temporary data type, data describing the attributes of the component in the data belonging to the temporary data type is transmitted to other terminal devices, while data describing the pixels of the component in the data belonging to the temporary data type is not transmitted.
[0072] In some embodiments, when the data type is a locked data type, data belonging to the locked data type is transmitted to other terminal devices, and the data belonging to the locked data type can only be edited by a user of the first terminal device; and when the data type is a shared sequential data type, data belonging to the shared sequential data type is transmitted to other terminal devices, and the data belonging to the shared sequential data type can be edited by a user of any terminal device among multiple terminal devices.
[0073] In some embodiments, the editing permissions for data belonging to a locked data type include: an insert operation, which is used to synchronously present an object created by a user of a first terminal device on each of a plurality of terminal devices in real-time collaborative design; a modification operation, which is used to synchronously present, on each of a plurality of terminal devices in real-time collaborative design, BIM data of a component modified by the user of the first terminal device; and a delete operation, which is used to synchronously delete, on each of a plurality of terminal devices in real-time collaborative design, the BIM data of a component deleted by the user of the first terminal device.
[0074] In certain embodiments, the editing permissions for data belonging to a shared sequential data type include: generating a queue describing the editing order based on the editing order in which respective users of multiple terminal devices edit BIM data of components; executing edits corresponding to the queue based on the queue; and presenting the results of executing the edits corresponding to the queue events on multiple terminal devices.
[0075] In some embodiments, the method also includes: creating a mapping table associated with data of properties of the component, the mapping table storing the relationship between data of properties of the edited component on the first terminal device and data of properties of the unedited component on the server; and transmitting the mapping table to the corresponding terminal device in response to a request from another terminal device.
[0076] In some embodiments, the method further includes: recording edits by respective users of multiple terminal devices in a log, wherein the log and the BIM data of the component are stored independently; and based on the independently stored log, presenting the results of the execution of the edits to other terminal devices among the multiple terminal devices in the real-time collaborative design.
[0077] In some embodiments, the method also includes: determining a first BIM identifier, wherein the first BIM identifier is associated with a first terminal device; determining a second BIM identifier, wherein the second BIM identifier is associated with one of the other terminal devices; determining that the terminal device in the other terminal devices is in real-time collaborative design based on the first BIM identifier and the second BIM identifier being the same; or determining that the terminal device in the other terminal devices is not in real-time collaborative design based on the first BIM identifier and the second BIM identifier being different.
[0078] In certain embodiments of the second aspect, a device for real-time collaborative design of a component-based building information model is provided. The device includes: a building information model acquisition module, configured to acquire building information model (BIM) data of an edited component, the BIM data of the component coming from a first terminal device among multiple terminal devices in real-time collaborative design; a query module, configured to query a data type corresponding to the BIM data of the edited component; and an editing authority providing module, configured to provide editing authority corresponding to the data type to other terminal devices among multiple terminal devices in real-time collaborative design according to the queried data type, wherein when the data type is a temporary data type, data describing the attributes of the component in the data belonging to the temporary data type is transmitted to other terminal devices, while data describing the pixels of the component in the data belonging to the temporary data type is not transmitted.
[0079] In some embodiments, the editing permission providing module is further configured as follows: when the data type is a locked data type, data belonging to the locked data type is transmitted to other terminal devices, and the data belonging to the locked data type can only be edited by a user of the first terminal device; and when the data type is a shared sequence data type, data belonging to the shared sequence data type is transmitted to other terminal devices, and the data belonging to the shared sequence data type can be edited by a user of any terminal device among multiple terminal devices.
[0080] In some embodiments, the editing permissions for data belonging to a locked data type include: an insert operation, which is used to synchronously present an object created by a user of a first terminal device on each of a plurality of terminal devices in real-time collaborative design; a modification operation, which is used to synchronously present, on each of a plurality of terminal devices in real-time collaborative design, BIM data of a component modified by the user of the first terminal device; and a delete operation, which is used to synchronously delete, on each of a plurality of terminal devices in real-time collaborative design, the BIM data of a component deleted by the user of the first terminal device.
[0081] In certain embodiments, the editing permissions for data belonging to a shared sequential data type include: generating a queue describing the editing order based on the editing order in which respective users of multiple terminal devices edit BIM data of components; executing edits corresponding to the queue based on the queue; and presenting the results of executing the edits corresponding to the queue events on multiple terminal devices.
[0082] In some embodiments, the editing permission providing module is further configured to: create a mapping table associated with the data of the attributes of the component, the mapping table storing the relationship between the data of the attributes of the edited component on the first terminal device and the data of the attributes of the unedited component on the server; and transmit the mapping table to the corresponding terminal device in response to a request from another terminal device.
[0083] In some embodiments, the device also includes: a log module configured to record edits by respective users of multiple terminal devices in a log, wherein the log and the BIM data of the component are stored independently; and based on the independently stored log, presenting the results of the execution of the edits to other terminal devices among the multiple terminal devices in real-time collaborative design.
[0084] In some embodiments, the device also includes: a real-time collaborative design determination module, configured to: determine a first BIM identifier, wherein the first BIM identifier is associated with a first terminal device; determine a second BIM identifier, wherein the second BIM identifier is associated with one of the other terminal devices; based on the first BIM identifier and the second BIM identifier being the same, determine that the terminal device in the other terminal devices is in real-time collaborative design; or based on the first BIM identifier and the second BIM identifier being different, determine that the terminal device in the other terminal devices is not in real-time collaborative design.
[0085] In an embodiment of the third aspect, an electronic device is provided, comprising: a memory and a processor, wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to the first aspect.
[0086] In an embodiment of the fourth aspect, a computer-readable storage medium is provided, wherein one or more computer instructions are stored on the computer-readable storage medium, wherein the one or more computer instructions are executed by a processor to implement the method according to the first aspect.
[0087] In an embodiment of the fifth aspect, a computer program product is provided, wherein the computer program product comprises one or more computer instructions, wherein when the one or more computer instructions are executed by a processor, the method according to the first aspect is implemented.
[0088] Although the disclosure has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Instead, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A method for real-time collaborative design of a component-based building information model, comprising: Acquire the edited building information model (BIM) data of the component, wherein the BIM data of the component comes from a first terminal device among a plurality of terminal devices in real-time collaborative design; Querying a data type corresponding to the edited BIM data of the component; as well as According to the queried data type, the editing authority corresponding to the data type is provided to other terminal devices among the plurality of terminal devices in the real-time collaborative design, wherein when the data type is a temporary data type, the data describing the attributes of the component in the data belonging to the temporary data type is transmitted to the other terminal devices, while the data describing the pixels of the component in the data belonging to the temporary data type is not transmitted, The temporary data type indicates data that does not need to be sent to the server. wherein the pixels represent a visual representation of a rendered component, The attributes of the component include the length, width and height of the component.
2. The method according to claim 1, wherein: When the data type is a locked data type, data belonging to the locked data type is transmitted to the other terminal device, and the data belonging to the locked data type can only be edited by a user of the first terminal device; as well as When the data type is a shared sequential data type, data belonging to the shared sequential data type is transmitted to the other terminal devices, and the data belonging to the shared sequential data type can be edited by a user of any terminal device among the plurality of terminal devices, The locked data type indicates that after a user modifies the data, other users cannot operate the data, and the user can transfer the permission to operate the data. The shared sequence data type indicates data that can be operated by all users, and the users can modify the data in a sequential order.
3. The method according to claim 2, wherein the editing authority for the data belonging to the locked data type comprises: an insert operation for synchronously presenting an object created by a user of the first terminal device on each of a plurality of terminal devices in real-time collaborative design; A modification operation, wherein the modification operation is used to synchronously present, on each of the plurality of terminal devices in the real-time collaborative design, BIM data after the BIM data of the component is modified by a user of the first terminal device; as well as A deletion operation is used to synchronously delete, on each of a plurality of terminal devices in real-time collaborative design, the BIM data of the component deleted by a user of the first terminal device.
4. The method according to claim 2, wherein the editing rights for data belonging to the shared sequential data type include: generating a queue describing the editing order according to the editing order of the BIM data of the component edited by the respective users of the plurality of terminal devices; According to the queue, executing editing corresponding to the queue; as well as Results of the execution of the editing corresponding to the queue events are presented on the plurality of terminal devices.
5. The method according to claim 2, further comprising: Creating a mapping table associated with the data of the attribute of the component, the mapping table storing the relationship between the edited data of the attribute of the component on the first terminal device and the unedited data of the attribute of the component on the server; as well as In response to a request from the other terminal device, the mapping table is transmitted to the corresponding terminal device.
6. The method according to claim 3, further comprising: Recording edits by respective users of the plurality of terminal devices in a log, wherein the log is stored separately from the BIM data of the component; as well as Based on the independently stored log, the result of the execution of the editing is presented to the other terminal devices among the plurality of terminal devices in the real-time collaborative design.
7. The method according to claim 1, further comprising: determining a first BIM identifier, wherein the first BIM identifier is associated with the first terminal device; determining a second BIM identifier, wherein the second BIM identifier is associated with one of the other terminal devices; Based on the first BIM identifier being the same as the second BIM identifier, determining that the terminal device in the other terminal devices is in real-time collaborative design; or Based on the fact that the first BIM identifier is different from the second BIM identifier, it is determined that the terminal device in the other terminal devices is not in the real-time collaborative design.
8. A device for real-time collaborative design of a component-based building information model, comprising: A building information model acquisition module is configured to acquire the edited building information model (BIM) data of the component, wherein the BIM data of the component comes from a first terminal device among a plurality of terminal devices in real-time collaborative design; A query module configured to query a data type corresponding to the edited BIM data of the component; as well as The editing permission providing module is configured to provide the editing permission corresponding to the data type to other terminal devices among the plurality of terminal devices in the real-time collaborative design according to the queried data type, wherein when the data type is a temporary data type, the data describing the attribute of the component in the data belonging to the temporary data type is transmitted to the other terminal devices, while the data describing the pixel of the component in the data belonging to the temporary data type is not transmitted, The temporary data type indicates data that does not need to be sent to the server. wherein the pixels represent a visual representation of a rendered component, The attributes of the component include the length, width and height of the component.
9. The apparatus according to claim 8, wherein the editing permission providing module is further configured to: When the data type is a locked data type, data belonging to the locked data type is transmitted to the other terminal device, and the data belonging to the locked data type can only be edited by a user of the first terminal device; and When the data type is a shared sequential data type, data belonging to the shared sequential data type is transmitted to the other terminal devices, and the data belonging to the shared sequential data type can be edited by a user of any terminal device among the plurality of terminal devices, The locked data type indicates that after a user modifies the data, other users cannot operate the data, and the user can transfer the permission to operate the data. The shared sequence data type indicates data that can be operated by all users, and the users can modify the data in a sequential order.
10. The apparatus according to claim 9, wherein the editing authority for the data belonging to the locked data type comprises: an insert operation for synchronously presenting an object created by a user of the first terminal device on each of a plurality of terminal devices in real-time collaborative design; A modification operation, wherein the modification operation is used to synchronously present, on each of the plurality of terminal devices in the real-time collaborative design, BIM data after the BIM data of the component is modified by a user of the first terminal device; as well as A deletion operation is used to synchronously delete, on each of a plurality of terminal devices in real-time collaborative design, the BIM data of the component deleted by a user of the first terminal device.
11. The apparatus according to claim 9, wherein the editing rights for data belonging to the shared sequential data type include: generating a queue describing the editing order according to the editing order of the BIM data of the component edited by the respective users of the plurality of terminal devices; According to the queue, executing editing corresponding to the queue; as well as Results of the execution of the editing corresponding to the queue events are presented on the plurality of terminal devices.
12. The apparatus according to claim 9, wherein the editing permission providing module is further configured to: Creating a mapping table associated with the data of the attribute of the component, the mapping table storing the relationship between the edited data of the attribute of the component on the first terminal device and the unedited data of the attribute of the component on the server; and In response to a request from the other terminal device, the mapping table is transmitted to the corresponding terminal device.
13. The apparatus according to claim 8, further comprising: a log module configured to record edits by respective users of the plurality of terminal devices in a log, wherein the log is stored separately from the BIM data of the component; as well as Based on the independently stored log, the result of the execution of the editing is presented to the other terminal devices among the plurality of terminal devices in the real-time collaborative design.
14. The apparatus according to claim 8, further comprising: The real-time collaborative design determination module is configured as follows: determining a first BIM identifier, wherein the first BIM identifier is associated with the first terminal device; determining a second BIM identifier, wherein the second BIM identifier is associated with one of the other terminal devices; Based on the first BIM identifier being the same as the second BIM identifier, determining that the terminal device in the other terminal devices is in real-time collaborative design; or Based on the fact that the first BIM identifier is different from the second BIM identifier, it is determined that the terminal device in the other terminal devices is not in the real-time collaborative design.
15. An electronic device, comprising: Memory and processor; The memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to any one of claims 1 to 7.
16. A computer-readable storage medium having one or more computer instructions stored thereon, wherein the one or more computer instructions are executed by a processor to implement the method according to any one of claims 1 to 7.
17. A computer program product comprising one or more computer instructions, wherein the one or more computer instructions are executed by a processor to implement the method according to any one of claims 1 to 7.
