Component-level building information model data collaboration method and system
By maintaining global service locks on the server side, terminal devices can query and lock components of BIM data, solving the problem of BIM data conflict in multi-terminal collaboration scenarios and achieving efficient data collaboration.
Patent Information
- Application Number
- CN202011497261.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-17
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2040-12-17
AI Technical Summary
In computer-aided design of building information model (BIM) data, the prior art is difficult to efficiently collaborate BIM data in multi-terminal collaboration scenarios, which easily leads to data conflicts.
By maintaining global service locks on the server side, the terminal device can query and lock components of BIM data, ensuring that each component is edited by only one user at the same time.
It realizes efficient coordination of BIM data between multiple users and multiple terminals, avoids data conflicts and improves coordination efficiency.
Smart Images

Figure CN112560129B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the computer field, and more specifically, to a component-level based building information model data collaboration method and system. 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, usually only one user is supported to edit at each time. Only after the user completes the editing and uploads, other users can start editing, in this way, avoiding data conflicts caused by multiple users editing the data at the same time. 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] The embodiments of the present disclosure provide a solution for component-level building information model data collaboration.
[0004] In a first aspect of the present disclosure, a component-level building information model (BIM) data collaboration method is provided, comprising: obtaining a first copy of BIM data from a server by a first terminal device among multiple terminal devices in a collaborative scenario, the first copy including first data of a first component; receiving an editing operation to be performed on the first data by a first user by the first terminal device, the first component having a first unique identifier; in response to the editing operation, sending a first lock query request for querying whether the first component is locked to the server by the first terminal device; in response to the first lock query request, constructing a first response indicating whether the first component is locked based on a global service lock by the server; sending the first response to the first terminal device; if the first response indicates that the first component is not locked, sending a lock request for locking the first component to the server by the first terminal device, the lock request including a first unique identifier; and in response to receiving the lock request, updating the global service lock by the server according to the first unique identifier for responding to a query from a second terminal device among multiple terminals, so that at the second terminal device, the editing operation related to the first component is disabled.
[0005] In a second aspect of the present disclosure, a component-level building information model (BIM) data collaboration system is provided, including a server in a collaboration scenario, and a plurality of terminal devices in communication with the server, wherein the server maintains BIM data, and each of the plurality of terminal devices maintains a corresponding copy of the BIM data, wherein the plurality of terminal devices include a first terminal device, and the first terminal device is configured to: obtain a first copy of the BIM data from the server, the first copy including first data of a first component; receive an editing operation to be performed on the first data by a first user, the first component having a first unique identifier; in response to the editing operation, the first terminal device sends a query to the server whether the first component a first lock query request being locked; receiving a first response from the server, the first response indicating whether the first component is locked; and if the first response indicates that the first component is not locked, sending a lock request for locking the first component to the server, the lock request including a first unique identifier; and the server is configured to: receive the first lock query request; in response to the first lock query request, construct a first response based on the global service lock; send the first response to the first terminal device; receive the lock request; and in response to the lock request, update the global service lock according to the first unique identifier for responding to a query from a second terminal device among the multiple terminals, so that at the second terminal device, editing operations related to the first component are disabled.
[0006] In a third aspect of the present disclosure, a service device is provided, which is used in the system according to the second aspect of the present disclosure to implement the function of a server.
[0007] In a fourth aspect of the present disclosure, a terminal device is provided, which is used in the system according to the second aspect of the present disclosure to implement the function of the first terminal device or the second terminal device.
[0008] In a fifth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause a computer to execute the method according to the first aspect of the present disclosure.
[0009] In a sixth aspect of the present disclosure, a computer program product is provided, comprising computer program instructions, which, when executed by a processor, implement the method according to the first aspect of the present disclosure.
[0010] The present disclosure can achieve efficient collaboration on BIM data.
[0011] This Summary is provided to introduce a selection of concepts in a simplified form that are further described in the Detailed Description below. This Summary is not intended to identify key features or essential features of the disclosure, nor is it intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The above and other purposes, features and advantages of the present disclosure will become more apparent by describing the exemplary embodiments of the present disclosure in more detail in conjunction with the accompanying drawings, wherein the same reference numerals generally represent the same components in the exemplary embodiments of the present disclosure. In the accompanying drawings:
[0013] Figure 1 A schematic diagram showing an exemplary system according to an embodiment of the present disclosure is shown;
[0014] Figure 2 An interactive process for BIM data collaboration according to an embodiment of the present disclosure is shown;
[0015] Figure 3 The process of generating a lock request at a first terminal device according to an embodiment of the present disclosure is shown;
[0016] Figure 4 The interactive process between the second terminal device and the server according to an embodiment of the present disclosure is shown;
[0017] Figure 5 The interactive process between the first terminal device and the server according to an embodiment of the present disclosure is shown;
[0018] Figure 6 A flowchart of a process for automatically editing second data at a first terminal device according to an embodiment of the present disclosure is shown;
[0019] Figure 7 A flowchart of a process for uploading data changes at a first terminal device according to an embodiment of the present disclosure is shown.
[0020] Figure 8 A block diagram of a system 800 for BIM data collaboration according to an embodiment of the present disclosure is shown; and
[0021] Fig. 9 A block diagram of an example device that may be used to implement embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0022] The principles of the present disclosure will be described below with reference to several example embodiments shown in the accompanying drawings.
[0023] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example embodiment" and "an embodiment" mean "a set of example embodiments". The term "another embodiment" means "a set of additional embodiments". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0024] As discussed above, in order to ensure data consistency and avoid data conflicts that may be caused by multiple terminals, conventional solutions only support BIM data being edited by a single user at the same time, which is inefficient.
[0025] In some solutions, for example, the server can divide the BIM data into multiple sub-files and distribute them to multiple terminal devices, and each user can only edit the sub-file assigned to him 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 solutions 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 level of model files when uploading, higher bandwidth and storage space are required.
[0026] In order to at least partially address some of the above shortcomings, an embodiment of the present disclosure provides a component-level BIM data collaboration solution, which is particularly suitable for multiple terminal devices in a collaborative scenario. In this solution, BIM data is maintained at the server, and a local copy of the BIM data is maintained at each terminal device. When a first user is about to operate on the first data associated with the first component in the local copy, for example at the first terminal device, the first terminal device can determine whether the first component is locked by other users based on the interaction with the server, and if the component is not locked, send a message to the server to lock the first component for editing operations.
[0027] In this way, the first user can edit the first data of the first component and lock it to prevent other users (e.g., the second user) from modifying it; the second user can access the data associated with the first component (e.g., the third data corresponding to the first data maintained by its local copy) but cannot edit it, thereby enabling collaborative operations on BIM data (and / or its local copy) in an efficient manner while avoiding potential data conflicts.
[0028] Figure 1A schematic diagram of an exemplary system 100 according to an embodiment of the present disclosure is shown, in which the method and / or apparatus and / or system according to an embodiment of the present disclosure may be implemented.
[0029] The system 100 includes a server 110, and a first terminal device 105 and a second terminal device 115 capable of being communicatively connected to the server 110. It will be understood that the server 110 and the number of terminal devices shown are only for ease of description, and the server can serve more terminal devices, and the number of servers may also be more than one.
[0030] The server 110 maintains BIM data 1106. In some embodiments, the BIM data 1106 may include attribute data and geometric data generated based on the attribute data. The attribute data includes, but is not limited to: size data, color data, vertex coordinate data, type, section information, and relationship data between components (multiple components). The geometric data can be used to display a graphical representation of the component at the terminal device. Since the server does not necessarily need to display a graphical representation of the component, in some embodiments, the BIM data 1106 may only include attribute data.
[0031] The first terminal device 105 and the second terminal device 115 can communicate and connect with the server 110 within a time period for collaborative design. In one example, the first terminal device 105 can be connected to the server between the first moment 131 and the third moment 133 for collaborative design; the second terminal device 115 can be connected to the server 110 between the second moment 132 and the fourth moment 134 for collaborative design. In this example, the first moment 131 to the fourth moment 134 are arranged in chronological order, which can be different according to actual needs, for example, the second moment 132 can also be earlier than the first moment 131. Therefore, in this example, between the second moment 132 and the third moment 133, the first terminal device and the second terminal device 115 will be connected to the server 110 at the same time to allow two users to perform collaborative design for the same BIM data at the same time. It can be understood that the embodiments of the present disclosure support any number of users at any number of terminal devices to perform collaborative design for the same BIM data at the same time.
[0032] In some embodiments, the first terminal device 105 can be used, for example, by a person in the construction profession, and the second terminal device 115 can be used, for example, by a person in the electromechanical profession. Therefore, the electromechanical professional can obtain the BIM data including the component data that has been edited by the construction professional at the second terminal device 115, and further edit the BIM data, including but not limited to HVAC design, water supply and drainage design, and electrical design. In other embodiments, the first terminal device 105 can be used, for example, by a HVAC professional in the electromechanical profession, and the second terminal device 115 can be used, for example, by an electrical professional in the electromechanical profession, to refer to each other to open holes for air ducts / water pipes and pre-embed electrical components. In another embodiment, the first terminal device 105 can be used, for example, by a first user in the structural profession, and the second terminal device 115 can be used, for example, by a second user in the structural profession, the first user can, for example, edit the prefabricated board, and the second user can, for example, edit the prefabricated beams and columns. The above embodiments are only some example application scenarios of the present disclosure, and the present disclosure is not limited in this respect.
[0033] The first terminal device 105 and the second terminal device 115 can respectively obtain the copy 1056 and the copy 1156 of the BIM data from the server 110 to store them locally. The obtaining process can be implemented in the following various ways.
[0034] The following description will be made by taking the first terminal device 105 as an example. It is to be understood that, in this document, the first terminal device 105 and the second terminal device 115 are configured to have the same functionality. In other words, the actions performed at the first terminal device 105 can also be performed at the second terminal device 115, and vice versa.
[0035] In some embodiments, when connecting to the server 110 for the first time (for example, the first user logs in to the BIM collaboration platform running on the server through the interface on the first terminal device), the first terminal device 105 may send a data acquisition request to the server 110; in response to the data acquisition request, the server 110 may send the BIM data 1106 to the first terminal device 105 for storage as the corresponding BIM data copy 1056. In other embodiments, when connecting to the server 110 for the first time, the server may actively send the BIM data 1106 to the first terminal device 105 for storage as the corresponding BIM data copy 1056 in response to detecting the access of the first terminal device (for example, the first user logs in to the BIM collaboration platform running on the server through the interface on the first terminal device).
[0036] The first terminal device 105 and the second terminal device 115 may both be installed with computer-aided design software (CAD), for example, software for prefabricated building design, and in some embodiments, the software may be PKPM-PC. In some embodiments where the BIM data 1106 only includes attribute data, the first terminal device 105 may obtain the BIM data 1106 as a copy of the attribute data, and generate a copy of the geometric data based on a modeling model provided by the software, to obtain a BIM data copy 1056 including a copy of the attribute data and a copy of the geometric data.
[0037] The first user can perform the drawing of the component drawing at the first terminal device through the interface provided by the above software. The first terminal device 105 and the second terminal device 115 are both configured to modify a portion of their local BIM data copy 1056 (e.g., data associated with the component edited by them) based on the interaction with the user.
[0038] Both the first terminal device 105 and the second terminal device 115 are configured to upload data to the server in response to a data upload operation by the user for uploading data, or according to a predetermined time interval, or in response to the user exiting the software, for example, to make the BIM data 1056 consistent with the BIM data copy 1056, and in some embodiments to make the BIM data 1056 consistent with the attribute data portion in the BIM data copy 1056.
[0039] In some embodiments, in response to a data synchronization operation by a user for synchronizing data, or at predetermined time intervals, or when the first terminal device 105 is subsequently connected to the server 110 again, the first terminal device 105 may obtain updated BIM data 1106 from the server 110. In some embodiments, the first terminal device 105 may obtain from the server 110 only the portion of the BIM data 1106 that is different from its local BIM data copy 1056 (e.g., the portion edited by the second user at the second terminal device 115). In some embodiments in which the BIM data 1106 includes only attribute data, the first terminal device 105 may obtain from the server 110 only the portion of the BIM data 1106 that is different from the attribute data portion in its local BIM data copy 1056 (e.g., the portion edited by the second user at the second terminal device 115).
[0040] It is understood that, except for a portion of the data edited by the user at the respective terminal, the BIM data copies 1056 and 1156 may be substantially identical to the BIM data 1106. In some embodiments where the BIM data 1106 includes only attribute data, except for a portion of the data edited by the user at the respective terminal, the attribute data in the BIM data copies 1056 and 1156 may be substantially identical to the BIM data 1106.
[0041] It is understandable that examples of the first terminal device 105 and the second terminal device 115 include but are not limited to computers, tablet computers, and smart phones. Interaction with the user includes but is not limited to user input including the following items: keyboard input, mouse input, touch input, voice input, gesture input, eye tracking input, digital drawing board input, etc. The present disclosure does not limit this.
[0042] The following will combine Figure 1 The method and / or system according to the embodiment of the present disclosure is described in detail. For ease of understanding, the specific data mentioned in the following description are exemplary and are not intended to limit the scope of protection of the present disclosure. It should be understood that the described method may include additional actions not shown and / or may omit the actions shown, and the scope of the present disclosure is not limited in this respect.
[0043] Figure 2 An interactive process 200 for BIM data collaboration according to an embodiment of the present disclosure is shown. Figure 2 Involving Figure 1 The first terminal device 105, the server 110 and, optionally, the second terminal device 115 are shown. It is understandable that, although the first terminal device 105 is used as an example for explanation, in fact, the interaction process can also be performed between the second terminal device 115, the server 110 and, optionally, the first terminal device 115.
[0044] like Figure 2 As shown, when the first user intends to edit the first component at the first terminal device 105, the first terminal device 105 among the multiple terminal devices in the collaborative scenario can obtain (202) a first copy of the BIM data from the server 110, wherein the first copy includes the first data of the first component. It can be understood that the acquisition (202) action can be in the manner described above where the first terminal device 105 sends a request to the server 110, or the server 110 actively pushes the data to the first terminal device 105, which will not be described in detail here.
[0045] In order to distinguish different components, the first component may have a first unique identifier. The first terminal device 105 may receive (204) an editing operation that the first user is going to perform on the first data. The editing operation includes, but is not limited to: modifying the parameters of the first component, modifying the association relationship between the first component and other components, and deleting the first data of the first component. Since the scheme of the present disclosure allows multiple users to edit at the same time, in order to avoid data conflicts, for the same component, usually only one user is allowed to edit. In some embodiments, only one user is allowed to edit at the same time. Therefore, in response to the editing operation, the first terminal device 105 may send (206) to the server 110 a first lock query request for querying whether the first component is locked, so as to query the global service lock at the server 110. The global service lock may include the locking information of all components included in the BIM data 1106. The first lock query request may, for example, include the first unique identifier of the first component for retrieving the global service lock.
[0046] In some embodiments, when there are multiple active editing windows for multiple components at the first terminal device 105, the first terminal device 105 may further query its local component lock, and only when the local component lock also indicates that the component is not locked (for example, the component is not opened in other active editing windows, or the component associated with it is not opened in other active editing windows), the first terminal device 105 can perform subsequent actions.
[0047] In response to the first lock query request, the server 110 may construct (208) a first response indicating whether the first component is locked based on the global service lock. Then, the server 110 may send (210) the first response to the first terminal device 105. After receiving the first response, the first terminal device 105 may analyze the first response. If the first response indicates that the first component is not locked (212), it indicates that the editing operation to be performed on the first data by the first user received at the first terminal device 105 can be allowed, and the first terminal device 105 may generate a lock request for locking the first component, and send (214) the lock request for locking the first component to the server 110, the lock request including the first unique identifier of the first component.
[0048] In response to receiving the lock request, the server 110 may update (216) the global service lock according to the first unique identifier. Based on the updated global service lock, the server 110 can respond to a query from a second terminal device 115 of the plurality of terminals, for example, by interacting with the second terminal device 115 (218), so that at the second terminal device 115, editing operations related to the first component are disabled (220).
[0049] Based on the above interaction process, in a collaborative scenario, for the same component, only one of the multiple terminal devices is allowed to edit the data, while the other terminal devices can obtain a copy of the data but cannot edit it. In this way, efficient collaboration among multiple users can be supported while avoiding possible data conflicts caused by operations of different users at multiple terminals.
[0050] Figure 3 The process 300 of generating a lock request at a first terminal device according to an embodiment of the present disclosure is shown. The process 300 may be a specific embodiment of generating a lock request for locking a first component in the interactive process 200.
[0051] At 302 , the first terminal device 105 may determine second data of a second component associated with the first data, the second component having a first relationship with the first component and having a second unique identifier, the first relationship indicating that editing the first data will result in a change in the second data.
[0052] Specifically, there may be an association relationship between different components. For example, for multiple prefabricated column components in the same floor of a building, their parameters are similar, and if the data (e.g., cross-sectional parameters) of the first prefabricated column component changes, the corresponding data (e.g., cross-sectional parameters) of the second prefabricated column component should also change accordingly. Therefore, such multiple components can be associated (e.g., have a first relationship), and when the first user locks the first component (e.g., the first prefabricated column component) at the first terminal device 105, the second component (e.g., the second prefabricated column component) can be locked at the same time.
[0053] At 304 , the first terminal device 105 may generate a lock request, where the lock request includes the first unique identifier and the second unique identifier and is used to lock the first data and the second data.
[0054] Since each component has a unique identifier, the lock request may include the unique identifiers of all associated components to be locked, so as to trigger the server 110 to lock multiple components at one time.
[0055] In this way, in a collaborative scenario, for multiple associated components, only one of the multiple terminal devices is allowed to perform editing operations, while other terminal devices obtain copies of these data but cannot edit them, thereby further avoiding possible data conflicts.
[0056] Figure 4 The interactive process 300 between the second terminal device and the server according to an embodiment of the present disclosure is shown. Figure 4 Involving Figure 1The second terminal device 115 and the server 110 are shown. The interactive process 300 can be used to enable or disable the editing operation related to the first component, which can be Figure 2 A specific implementation example of actions 216 and 218 in FIG.
[0057] Specifically, the second terminal device 115 can obtain (402) a second copy of the BIM data from the server 110, the second copy including third data of the first component, the third data corresponding to the first data. The second terminal device 115 can receive (404) an editing operation that the second user is going to perform on the third data. Then, the second terminal device 115 can send (406) a second lock query request to the server 110 for querying whether the first component is locked. Action (402, 404, 406) Action and Reference Figure 2 The described actions (202, 204, 206) are similar and will not be repeated here.
[0058] In response to the second lock query request, the server 110 may construct (408) a second response indicating whether the first component is locked based on the global service lock (e.g., the global service lock updated in the interactive process 200). Then, the server 110 may send (410) the second response to the second terminal device 115. After receiving the second response, the second terminal device 115 may analyze the second response and enable or disable (412) the editing operation to be performed on the third data according to the second response.
[0059] Specifically, if the second terminal device 115 determines that the second response indicates that the first component is locked, the second terminal device 115 will disable the editing operation on the third data. In this case, the second terminal device 115 will further determine whether the second user has performed editing operations on other components associated with the first component at the second terminal, and if so, cancel these editing operations to ensure the consistency of the data. For example, the second terminal device 115 can determine an associated data set associated with the third data, and the associated data set has the first relationship described above with the third data. Then, the second terminal device 115 can determine whether the second user has performed an editing operation on the associated data set. If it is determined that the second user has performed an editing operation on the associated data set, the editing operation on the associated data set performed by the second user is canceled.
[0060] In some embodiments, when the second terminal device 115 determines that the second response indicates that the first component is locked, the second terminal device 115 may generate prompt information to prompt the second user to perform the above-mentioned data rollback operation.
[0061] In this way, in a collaborative scenario, for a component that has been locked by the first user, the second user will not be able to edit the data of the component, and the editing operations that have been performed on the component and other associated components will be withdrawn and cannot be uploaded to the server, thereby further avoiding possible data conflicts.
[0062] Figure 5 An interactive process 500 between a first terminal device and a server according to an embodiment of the present disclosure is shown, and the interactive process 500 is used to generate a unique identifier of a component. The interactive process can be performed before action 204 of the interactive process 200. The following will be described by taking the creation of a first component at the first terminal device as an example, and it can be understood that a similar interactive process can be used to create a second component at the second terminal device.
[0063] Specifically, the first terminal device 105 may receive (502) a creation operation of a first user, the creation operation being used to create first data corresponding to a first component in a first replica. The first terminal device 105 sends (504) an identifier generation request to the server 110. In response to the identifier generation request, the server 110 may generate (506) a third response including a first identifier for the first terminal device 105, and send (508) the third response to the first terminal device 105. For example, the first identifier may uniquely identify the terminal device (e.g., the first terminal device 105) that created the component.
[0064] In some embodiments, the server 110 may generate a first identifier for the first terminal device 105 and store the first identifier in the server 110 , so as to construct and send a third response using the first identifier when a request to generate an identifier is subsequently received.
[0065] The first terminal device 105 may receive (510) a third response from the server 110 and generate a second identifier for the first component. Then, based on the first identifier and the second identifier, the first terminal device 105 may generate (512) a first unique identifier consisting of the first identifier and the second identifier. The first unique identifier may uniquely identify the first component. In some embodiments, the first terminal device 105 may also send the first unique identifier to the server 110 for storage to notify the server 110 that the first component has been successfully created.
[0066] In some embodiments, after receiving the first identifier from the server 110, the first terminal device 105 may store it in a local storage for use when a new other component needs to be created. In this case, actions (502 to 510) may be omitted.
[0067] In some embodiments, the first terminal device 105 may generate a second identifier first and then send it to the server 110. The server 110 may generate a first identifier and send the first identifier back to the first terminal. In some embodiments, action (512) may also be performed at the server 110, and then the server 110 may send the first unique identifier back to the first terminal device 105.
[0068] In some embodiments, the first unique identifier may be a 64-bit integer unique identifier, wherein the number of bits occupied by the first identifier and the second identifier may be selected according to the number of multiple terminal devices and the number of components involved in the project, for example, each occupying 32 bits. In some other embodiments, the first unique identifier may also be an integer unique identifier of other bits.
[0069] In this way, a unique identifier of a component can be efficiently generated in a multi-terminal collaborative scenario, thereby ensuring the uniqueness of the component data to facilitate subsequent user operations such as editing, synchronization, uploading, locking, etc.
[0070] Figure 6 A flowchart of a process 600 for automatically editing second data at a first terminal device according to an embodiment of the present disclosure is shown.
[0071] At 602, the first terminal device 105 may determine second data of a second component associated with the first data in the first copy, the second component having a first relationship with the first component, and the first relationship indicating that editing the first data will result in a change in the second data.
[0072] Specifically, there may be an association relationship between different components. For example, for multiple prefabricated column components in a building of the same floor, their parameters are similar, and if a parameter (e.g., cross section) in the data of a first prefabricated column component changes, the corresponding parameter (e.g., cross section) in the data of a second prefabricated column component should also change accordingly. Therefore, such multiple components may be associated (e.g., have a first relationship).
[0073] At 604 , the first terminal device 105 may automatically perform a corresponding editing operation on the second data.
[0074] For example, if a parameter (eg, cross section) in the data of the first precast column component is modified, the corresponding parameter (eg, cross section) in the data of the second precast column component should also be modified accordingly.
[0075] In this way, for components with associated relationships, the association between data can be ensured, so as to simplify user operations and avoid data errors caused by possible forgetfulness.
[0076] Figure 7 A flowchart of a process 700 for uploading data changes at a first terminal device according to an embodiment of the present disclosure is shown.
[0077] At 702 , the first terminal device may record the editing operation.
[0078] In some embodiments, the first terminal device 105 may record the editing operation in association with the object to which the editing operation is directed and a timestamp of when the editing operation is performed.
[0079] At 704 , the first terminal device 105 may determine a data changeset corresponding to the editing operation in the first copy of the BIM data.
[0080] In some embodiments, the first terminal device 105 can create a data change set file at its local storage to store the above-mentioned editing operation, the object targeted by the editing operation, and the timestamp of performing the editing operation. The first terminal device 105 can determine the data change set based on the data change set file. For example, if the edit operation performed has been uploaded to the server 110 at the first moment, and it is expected that the data upload will be performed at the second moment later than the first moment, the data change set can be determined based on the following method. First, the first terminal device 105 can (for example, according to the data change set file) determine the edit operation recorded at the first moment and the edit operation recorded at the second moment. Then, the first terminal device 105 can determine the difference between the edit operation recorded at the first moment and the edit operation recorded at the second moment, and determine the data change set based on the difference.
[0081] At 706, the first terminal device 105 may transmit the data change set and the first unique identifier to the server 110. The server 110 may determine the corresponding part of the BIM data based on the first unique identifier to update the corresponding part with the received data change set.
[0082] In some embodiments, after receiving a data change set uploaded by a terminal device (e.g., the first terminal device 105) to update the BIM data each time, the server 110 may update the version number of the BIM data and identify the data change set corresponding to the version number. Thus, other terminal devices (e.g., the second terminal device 115) may obtain the corresponding data change set based on the version number to update their local data copies.
[0083] In this way, since only the data change set needs to be transmitted between the terminal device and the server 110 during the data upload and synchronization process, the bandwidth occupied and the traffic consumed by the collaborative system can be reduced, and the capacity of the storage device required at the server can also be reduced.
[0084] In some embodiments, in order to further reduce the bandwidth occupied and traffic consumed by data upload and synchronization, the first copy of the BIM data can be designed to include a copy of the attribute data and a copy of the geometry data, and the data change set can be determined from the copy of the attribute data. Since the geometry data usually occupies a large space and is generated based on the attribute data for modeling, the upload and synchronization of the geometry data changes can be omitted during the data upload and synchronization process.
[0085] In some embodiments, the copy of the attribute data includes at least one of the following: size data, color data, vertex coordinate data, type, cross-section information of the component, and relationship data between components.
[0086] In some embodiments, the copy of the geometric data is generated by the first terminal device 105 by modeling based on the copy of the attribute data. The first terminal device 105 may display a graphical representation of the component at the first terminal device 105 based on the copy of the geometric data.
[0087] Figure 8 A block diagram of a system 800 for BIM data collaboration according to an embodiment of the present disclosure is shown.
[0088] The component-level building information model data collaboration system 800 includes a server 810 in a collaboration scenario, and multiple terminal devices connected to the server for communication, such as a first terminal device and a second terminal device. It is understandable that the server 810, the first terminal device 805, and the second terminal device 815 can communicate with each other. Figure 1 The server 110, the first terminal device 105 and the second terminal device 115 correspond to each other.
[0089] The server 810 maintains BIM data 8106. In some embodiments, the BIM data 8106 may include only attribute data 8108. The attribute data 8108 may include data 8108-1 such as component A (sometimes also referred to as the first component), data 8108-2 of component B (sometimes also referred to as the second component) associated with component A, and data 8108-3 of component C not associated with component A and component B. It is understood that the BIM data 8106 may also include more data of more components. In some other embodiments, the BIM data 8106 may also include geometric data (not shown).
[0090] In some embodiments, for example, the first data 8108-1 may also be associated with resource data (not shown). The resource data may originate from a component library, and the user may call the resource data in the component library and edit the first data based on the resource data.
[0091] The server may further include a global service lock 8102 and a first identifier generation module 8104. The global service lock may include lock information of all components included in the BIM data 8106. The lock information includes, but is not limited to, whether the component is locked, and the terminal device and / or user who locked the component. The first identifier generation module may be configured to generate a first identifier and / or a unique identifier in response to interaction with (multiple) terminal devices.
[0092] Each of the multiple terminal devices maintains a corresponding copy of the BIM data. For example, a first copy 8056 of the BIM data at the first terminal device 805, and a second copy 8156 of the BIM data at the second terminal device 815. The first copy 8056 may include a copy 8058 of the attribute data, which includes the first data 8058-1 of the component A, the second data 8058-2 of the component B associated with the component A, and the data 8058-3 of the component C not associated with the component A and the component B. Similarly, the second copy 8056 may include the corresponding data 8158-1, 8158-2 and 8158-3 of the above components as the copy 8158 of the attribute data.
[0093] Each of the plurality of terminal devices may generate a copy of the geometric data (e.g., geometric data copy 8059 and geometric data copy 8159) based on the copy of the attribute data (e.g., by modeling), and display a graphical representation of the corresponding component(s) at each terminal device based on a portion of the geometric data. Each terminal device may also extract a copy of the attribute data from the copy of the geometric data. It is understood that, except for the data edited at each location, the copies 8058, 8059 and the copies 8158, 8159 may be substantially identical.
[0094] The first terminal device 805 of the plurality of terminal devices may, for example, include a component locking module 8052, a component association module 8053, a second identifier generation module 8054, and a data synchronization module 8055. The component locking module 8052 is configured to lock the editing operation of a certain component (or components) based on the interaction between the user and the first terminal device 805, and / or the interaction between the first terminal device 805 and the server 810. The component association module 8053 is configured to determine the relationship between two or more components as a first relationship based on the association relationship between the components, and / or the designation from the user. The identifier generation module 8054 is configured to generate a first identifier for the component, and / or a unique identifier, based on the interaction with the user, and / or the interaction between the first terminal device 805 and the server 810. The data synchronization module is configured to send a BIM data copy 8056 (e.g., a change data set, in some embodiments, a change property data set) to the server based on interaction with the user and / or interaction between the first terminal device 805 and the server 810, and to receive BIM data 8106 (e.g., a change data set, in some embodiments, a change property data set) from the server to update the BIM data copy 8106.
[0095] Similarly, the second terminal device may also include a component locking module 8152 , a component associating module 8153 , an identifier generating module 8154 , and a data synchronizing module 8155 configured with similar functionality.
[0096] According to one aspect of the present disclosure, the first terminal device (and / or the second terminal device) can be configured to: obtain a first copy of BIM data from a server, the first copy including first data of a first component; receive an editing operation that a first user is to perform on the first data, the first component having a first unique identifier; in response to the editing operation, send a first lock query request to the server by the first terminal device for querying whether the first component is locked; receive a first response from the server, the first response indicating whether the first component is locked; and if the first response indicates that the first component is not locked, send a lock request to the server for locking the first component, the lock request including the first unique identifier.
[0097] According to one aspect of the present disclosure, a server can be configured to: receive a first lock query request; in response to the first lock query request, construct a first response based on a global service lock; send the first response to a first terminal device; receive a lock request; and in response to the lock request, update the global service lock based on a first unique identifier for use in responding to a query from a second terminal device among multiple terminals, so that at the second terminal device, editing operations related to the first component are disabled.
[0098] In some embodiments, the first terminal device can be further configured to: determine second data of a second component associated with the first data, and the second component has a first relationship with the first component and has a second unique identifier, and the first relationship indicates that editing the first data will result in changes to the second data; and generate a lock request, the lock request includes the first unique identifier and the second unique identifier, and is used to lock the first data and the second data.
[0099] In some embodiments, the second terminal device (and / or the first terminal device) can be configured to: obtain a second copy of the BIM data from the server, the second copy including third data of the first component, the third data corresponding to the first data; receive an editing operation to be performed on the third data by a second user; and send a second lock query request to the server for querying whether the first component is locked; receive a second response from the server, the second response indicating whether the first component is locked; and based on the second response, enable or disable the editing operation to be performed on the third data; and the server can be further configured to: receive a second lock query request; in response to the second lock query request, construct a second response based on the global service lock; and send the second response to the second terminal device.
[0100] In some embodiments, if the second response indicates that the first component is locked, the second terminal device is further configured to: disable editing operations on the third data; determine an associated data set associated with the third data, and the associated data set has a first relationship with the third data; and determine whether the second user has performed an editing operation on the associated data set; if it is determined that the second user has performed an editing operation on the associated data set, undo the editing operation on the associated data set performed by the second user.
[0101] In some embodiments, the first terminal device can be further configured to: receive a creation operation of the first user, the creation operation being used to create first data corresponding to the first component in the first copy; send an identifier generation request to the server; receive a third response from the server including the first identifier, and generate a second identifier for the first component; and generate a first unique identifier consisting of the first identifier and the second identifier; and the server can be further configured to: receive the identifier generation request; in response to the identifier generation request, the server generates a third response for the first terminal device; and send the third response to the first terminal device.
[0102] In some embodiments, the first terminal device can be further configured to: determine second data of a second component associated with the first data in the first copy, the second component has a first relationship with the first component, and the first relationship indicates that editing the first data will result in changes to the second data; and automatically perform a corresponding editing operation on the second data.
[0103] In some embodiments, the first terminal device may be further configured to: record the editing operation; determine a data change set corresponding to the editing operation in the first copy of the BIM data; and transmit the data change set and the first unique identifier to the server.
[0104] In some embodiments, the first terminal device can be further configured to: determine the editing operation recorded at a first moment, and the editing operation recorded at a second moment, the second moment being later than the first moment; determine the difference between the editing operation recorded at the first moment and the editing operation recorded at the second moment; and determine a data change set based on the difference.
[0105] In some embodiments, the first copy of the BIM data may include a copy of the property data and a copy of the geometry data, and the first terminal device may be further configured to: determine a data changeset from the copy of the property data.
[0106] In some embodiments, the copy of the attribute data may include at least one of the following: size data, color data, vertex coordinate data, type, cross-section information of the component, and relationship data between components.
[0107] In some embodiments, the copy of the geometry data may be generated by the first terminal device by modeling based on the copy of the attribute data, and the first terminal device may be further configured to: display a graphical representation of the component based on the copy of the geometry data.
[0108] According to another aspect of the present disclosure, a service device is provided, which can be used in the Figure 8 In the system of the described embodiment, the functions of the server described above are implemented.
[0109] According to another aspect of the present disclosure, a terminal device is provided, which can be used in a Figure 8 In the system of the described embodiment, the functions of the first terminal device or the second terminal device described above are implemented.
[0110] Fig. 9 1 shows a schematic block diagram of an example electronic device 900 that can be used to implement an embodiment of the present disclosure. For example, the electronic device 900 can be used to implement Figure 1900. As shown in the figure, the device 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 902 or computer program instructions loaded from a storage unit 908 to a random access memory (RAM) 903. In RAM 903, various programs and first data required for the operation of the device 900 can also be stored. CPU 901, ROM 902 and RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0111] A number of components in the device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse, etc.; an output unit 907, such as various types of displays, speakers, etc.; a storage unit 908, such as a disk, an optical disk, etc.; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the device 900 to exchange information / first data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0112] The processing unit 901 performs the various methods and processes described above, such as any one of the processes 200 to 700. For example, in some embodiments, any one of the processes 200 to 700 may be implemented as a computer software program or a computer program product, which is tangibly contained in a machine-readable medium, such as a storage unit 908. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded into the RAM 903 and executed by the CPU 901, one or more steps in any of the processes 200 to 800 described above may be performed. Alternatively, in other embodiments, the CPU 901 may be configured to perform any one of the processes 200 to 700 by any other appropriate means (e.g., by means of firmware).
[0113] The present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present disclosure.
[0114] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, any non-temporary storage device, or any suitable combination of the above. More specific examples of computer-readable storage media (a non-exhaustive list) include: 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), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the above. The computer-readable storage medium used herein is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
[0115] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.
[0116] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting first data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.
[0117] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0118] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable first data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable first data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions make the computer, the programmable first data processing device, and / or other devices work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0119] Computer-readable program instructions may also be loaded onto a computer, other programmable first data processing apparatus, or other device, so that a series of operating steps are performed on the computer, other programmable first data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable first data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0120] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.
[0121] The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A component-level building information model (BIM) data collaboration method, comprising: A first terminal device among the plurality of terminal devices in the collaborative scenario obtains a first copy of the BIM data from the server, wherein the first copy includes first data of the first component; The first terminal device receives an editing operation to be performed on the first data by a first user, wherein the first component has a first unique identifier; In response to the editing operation, the first terminal device sends a first locking query request to the server for querying whether the first component is locked; In response to the first lock query request, the server constructs a first response indicating whether the first component is locked based on a global service lock; The server sends the first response to the first terminal device; If the first response indicates that the first component is not locked, the first terminal device sends a lock request for locking the first component to the server, wherein the lock request is generated by the first terminal device by performing the following actions: Determining second data of a second component associated with the first data, and having a first relationship with the first component and having a second unique identifier, the first relationship indicating that editing a parameter of the first data will result in a change in a corresponding parameter of the second data; as well as generating the lock request, wherein the lock request includes the first unique identifier and the second unique identifier and is used to lock the first data and the second data; as well as In response to receiving the lock request, the server updates the global service lock according to the first unique identifier and the second unique identifier for responding to a query from a second terminal device among the multiple terminals, so that at the second terminal device, editing operations related to the first component and the second component are disabled.
2. The method according to claim 1, further comprising: The second terminal device obtains a second copy of the BIM data from the server, wherein the second copy includes third data of the first component, and the third data corresponds to the first data; receiving, by the second terminal device, an editing operation to be performed by the second user on the third data; The second terminal device sends a second locking query request to the server for querying whether the first component is locked; In response to the second lock query request, the server constructs a second response indicating whether the first component is locked based on the global service lock; The server sends the second response to the second terminal device; as well as According to the second response, the second terminal device enables or disables the editing operation to be performed on the third data.
3. The method according to claim 2, if the second response indicates that the first member is locked, disabling the editing operation on the third data by the second terminal device, the method further comprising: Determining, by the second terminal device, an associated data set associated with the third data, wherein the associated data set has a first relationship with the third data; as well as Determining, by the second terminal device, whether the second user has performed an editing operation on the associated data set; If it is determined that the second user has performed an editing operation on the associated dataset, the editing operation on the associated dataset performed by the second user is undone.
4. The method of claim 1 , further comprising generating the first unique identifier by: The first terminal device receives a creation operation of the first user, where the creation operation is used to create the first data corresponding to the first component in the first copy; The first terminal device sends an identifier generation request to the server; In response to the identifier generation request, the server generates a third response including a first identifier for the first terminal device; The server sends the third response to the first terminal device; The first terminal device receives a third response from the server and generates a second identifier for the first component; as well as The first unique identifier composed of the first identifier and the second identifier is generated by the first terminal device.
5. The method according to claim 1, further comprising the first terminal device performing the following actions: determining second data of a second component in the first copy that is associated with the first data, the second component having a first relationship with the first component, and the first relationship indicating that editing the first data will result in a change to the second data; and Automatically perform a corresponding editing operation on the second data.
6. The method according to claim 1, further comprising the first terminal device performing the following actions: Recording the editing operation; determining a data changeset corresponding to the editing operation in the first copy of the BIM data; and The data changeset and the first unique identifier are transmitted to the server.
7. The method of claim 6, wherein determining the data changeset comprises: Determining an editing operation recorded at a first time and an editing operation recorded at a second time, the second time being later than the first time; determining a difference between the editing operation recorded at the first time and the editing operation recorded at a second time; as well as Based on the differences, the data changeset is determined.
8. The method of claim 6, wherein the first copy of the BIM data comprises a copy of property data, and a copy of geometry data, and wherein determining the data changeset comprises: The data changeset is determined from the copy of the attribute data.
9. The method of claim 8, wherein the copy of the attribute data comprises at least one of the following: Component size data, color data, vertex coordinate data, type, cross-section information, and relationship data between components.
10. The method according to claim 9, wherein the copy of the geometric data is generated by the first terminal device by modeling based on the copy of the attribute data, the method further comprising: A graphical representation of a component is displayed at the first terminal device based on the copy of the geometric data.
11. A component-level building information model (BIM) data collaboration system, comprising a server in a collaboration scenario, and a plurality of terminal devices in communication with the server, wherein the server maintains BIM data, and each of the plurality of terminal devices maintains a corresponding copy of the BIM data, wherein The plurality of terminal devices include a first terminal device, wherein the first terminal device is configured as follows: Obtaining a first copy of the BIM data from the server, wherein the first copy includes first data of a first component; receiving an editing operation to be performed by a first user on the first data, the first component having a first unique identifier; In response to the editing operation, the first terminal device sends a first locking query request to the server for querying whether the first component is locked; receiving a first response from the server, the first response indicating whether the first member is locked; as well as If the first response indicates that the first member is not locked, sending a lock request for locking the first member to the server, wherein the first terminal device is further configured to: Determining second data of a second component associated with the first data, and having a first relationship with the first component and having a second unique identifier, the first relationship indicating that editing a parameter of the first data will result in a change in a corresponding parameter of the second data; as well as generating the lock request, the lock request including the first unique identifier and the second unique identifier and used to lock the first data and the second data; and The server is configured to: receiving the first lock query request; In response to the first lock query request, constructing the first response based on a global service lock; Sending the first response to the first terminal device; receiving the lock request; as well as In response to the lock request, the global service lock is updated according to the first unique identifier and the second unique identifier for responding to a query from a second terminal device among the plurality of terminals, so that at the second terminal device, editing operations related to the first component and the second component are disabled.
12. The system according to claim 11, wherein the plurality of terminal devices further comprises a second terminal device, wherein The second terminal device is configured as: Acquire a second copy of the BIM data from the server, wherein the second copy includes third data of the first component, and the third data corresponds to the first data; receiving an editing operation to be performed on the third data by a second user; as well as Sending a second locking query request to the server for querying whether the first component is locked; receiving a second response from the server, the second response indicating whether the first member is locked; as well as enabling or disabling an editing operation to be performed on the third data according to the second response; and The server is further configured to: receiving the second lock query request; In response to the second lock query request, constructing the second response based on the global service lock; and A second response is sent to the second terminal device.
13. The system of claim 12, if the second response indicates that the first member is locked, the second terminal device is further configured to: disabling editing operations on the third data; Determine an associated data set associated with the third data, wherein the associated data set has a first relationship with the third data; as well as determining whether the second user has performed an editing operation on the associated data set; If it is determined that the second user has performed an editing operation on the associated dataset, the editing operation on the associated dataset performed by the second user is undone.
14. The system according to claim 11, wherein: The first terminal device is further configured as follows: receiving a creation operation of the first user, wherein the creation operation is used to create the first data corresponding to the first component in the first copy; Sending an identifier generation request to the server; receiving a third response from the server including the first identifier, and generating a second identifier for the first component; as well as generating the first unique identifier consisting of the first identifier and the second identifier; and The server is further configured to: receiving the identifier generation request; In response to the identifier generation request, the server generates the third response for the first terminal device; as well as Send the third response to the first terminal device.
15. The system according to claim 11, wherein the first terminal device is further configured to: determining second data of a second component in the first copy that is associated with the first data, the second component having a first relationship with the first component, and the first relationship indicating that editing the first data will result in a change to the second data; and Automatically perform a corresponding editing operation on the second data.
16. The system according to claim 11, wherein the first terminal device is further configured to: Recording the editing operation; determining a data changeset corresponding to the editing operation in the first copy of the BIM data; and The data changeset and the first unique identifier are transmitted to the server.
17. The system according to claim 16, wherein the first terminal device is further configured to: Determining an editing operation recorded at a first time and an editing operation recorded at a second time, the second time being later than the first time; determining a difference between the editing operation recorded at the first time and the editing operation recorded at a second time; and Based on the differences, the data changeset is determined.
18. The system according to claim 16, wherein the first copy of the BIM data comprises a copy of attribute data and a copy of geometry data, and the first terminal device is further configured to: The data changeset is determined from the copy of the attribute data.
19. The system of claim 18, wherein the copy of the attribute data comprises at least one of: Component size data, color data, vertex coordinate data, type, cross-section information, and relationship data between components.
20. The system according to claim 18, wherein the copy of the geometry data is generated by the first terminal device by modeling based on the copy of the attribute data, and the first terminal device is further configured to: A graphical representation of the component is displayed based on the copy of the geometric data.
21. A service device, used in the system according to any one of claims 11 to 20, to implement the function of the server.
22. A terminal device, used in the system according to any one of claims 11 to 20, to implement the function of the first terminal device or the second terminal device.
23. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause a computer to execute the method according to any one of claims 1 to 10.
24. A computer program product comprising computer program instructions, characterized in that When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 10 is implemented.
Citation Information
Patent Citations
Information display method, device and system based on BIM model, equipment and medium
CN110334397A
Multi-user online editing management method, device and system
CN110750364A