CN112560129A - Building information model data cooperation method and system based on component level - Google Patents

Building information model data cooperation method and system based on component level Download PDF

Info

Publication number
CN112560129A
CN112560129A CN202011497261.0A CN202011497261A CN112560129A CN 112560129 A CN112560129 A CN 112560129A CN 202011497261 A CN202011497261 A CN 202011497261A CN 112560129 A CN112560129 A CN 112560129A
Authority
CN
China
Prior art keywords
data
terminal device
server
copy
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011497261.0A
Other languages
Chinese (zh)
Inventor
马恩成
张晓龙
王建斌
耿轶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Construction Technology Co ltd
Original Assignee
Beijing Construction Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Construction Technology Co ltd filed Critical Beijing Construction Technology Co ltd
Priority to CN202011497261.0A priority Critical patent/CN112560129A/en
Publication of CN112560129A publication Critical patent/CN112560129A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the disclosure provides a building information model BIM data cooperation method and system based on component level. The method comprises the following steps: acquiring a copy of the BIM data from a server by a first terminal device in a collaborative scene, wherein the copy comprises first data of a first component; receiving, by a first terminal device, an editing operation to be performed on first data by a first user; sending a first lock inquiry request for inquiring whether the first component is locked to a server; constructing, by the server, a first response indicating whether the first component is locked based on the global service lock; sending, by the server, a first response to the first terminal device; if the first response indicates that the first component is not locked, sending a lock request to the server to lock the first component; and updating, by the server, the global service lock in accordance with the first unique identifier for use in responding to a query from the second terminal device such that editing operations associated with the first component are disabled at the second terminal device.

Description

Building information model data cooperation method and system based on component level
Technical Field
Embodiments of the present disclosure relate to the field of computers, and more particularly, to a component-level based building information model data collaboration method and system.
Background
In computer-aided design of a project (e.g., a construction engineering project), due to the complexity of the project, it is often necessary for multiple users, e.g., with different domain knowledge, to collaborate on multiple terminals to complete the design of the project. For example, in some conventional schemes, in the case of Building Information Modeling (BIM), due to the complexity of BIM data, only one user is usually allowed to edit at a time, and only after the user finishes editing and uploads, other users can start editing, so that data collision caused by editing the data by multiple users at the same time is avoided. Therefore, there is a need for a scheme capable of efficiently collaborating BIM data in a collaborative scenario of multiple terminals.
Disclosure of Invention
Embodiments of the present disclosure provide solutions for building information model data collaboration based on component level.
In a first aspect of the present disclosure, there is provided a building information model BIM data cooperation method based on a component level, including: acquiring, by a first terminal device of a plurality of terminal devices in a collaborative scenario, a first copy of BIM data from a server, the first copy including first data of a first component; receiving, by a first terminal device, an editing operation to be performed on first data by a first user, a first component having a first unique identifier; transmitting, by the first terminal device, a first lock inquiry request for inquiring whether the first member is locked to the server in response to the editing operation; in response to the first lock query request, constructing, by the server, a first response indicating whether the first component is locked based on the global service lock; sending, by the server, a first response to the first terminal device; sending, by the first terminal device, a lock request to the server for locking the first component if the first response indicates that the first component is not locked, the lock request including the first unique identifier; and in response to receiving the lock request, updating, by the server, the global service lock in accordance with the first unique identifier for use in responding to a query from a second terminal device of the plurality of terminals such that editing operations associated with the first component are disabled at the second terminal device.
In a second aspect of the present disclosure, there is provided a building information model BIM data collaboration system based on component level, including a server in a collaboration scenario, and a plurality of terminal devices in communication connection with the server, wherein the BIM data is maintained at the server and a corresponding copy of the BIM data is maintained at each of the plurality of terminal devices, wherein the plurality of terminal devices includes a first terminal device configured to: obtaining a first copy of the BIM data from the server, the first copy including first data of the first component; receiving an editing operation to be performed on first data by a first user, the first component having a first unique identifier; transmitting, by the first terminal device, a first lock inquiry request for inquiring whether the first member is locked to the server in response to the editing operation; 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 to the server for locking the first component, the lock request including the first unique identifier; and the server is configured to: receiving a first locked query request; in response to the first lock query request, constructing a first response based on the global service lock; sending a first response to the first terminal device; receiving a locking request; and in response to the lock request, updating the global service lock in accordance with the first unique identifier for use in responding to a query from a second terminal device of the plurality of terminals such that editing operations associated with the first component are disabled at the second terminal device.
In a third aspect of the present disclosure, a service apparatus is provided, which is used in the system according to the second aspect of the present disclosure, to implement the function of a server.
In a fourth aspect of the present disclosure, there is provided a terminal apparatus for use 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.
In a fifth aspect of the present disclosure, there is provided a non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method according to the first aspect of the present disclosure.
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.
The present disclosure enables efficient collaboration on BIM data.
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 disclosure, nor is it intended to be used to limit the scope of the disclosure.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be apparent from the following more particular descriptions of exemplary embodiments of the disclosure as illustrated in the accompanying drawings wherein like reference numbers generally represent like parts throughout the exemplary embodiments of the disclosure. In the drawings:
fig. 1 shows a schematic diagram of an exemplary system according to an embodiment of the present disclosure;
FIG. 2 illustrates an interaction process for BIM data collaboration in accordance with an embodiment of the disclosure;
FIG. 3 illustrates a process of generating a lock request at a first terminal device according to an embodiment of the disclosure;
fig. 4 shows an interaction procedure between a second terminal device and a server according to an embodiment of the present disclosure;
fig. 5 shows an interaction procedure between a first terminal device and a server according to an embodiment of the present disclosure;
FIG. 6 shows a flowchart of a process for automatically editing second data at a first terminal device, according to an embodiment of the present disclosure;
fig. 7 shows a flow chart of a process for uploading data changes at a first terminal device according to an embodiment of the disclosure.
FIG. 8 illustrates a block diagram of a system 800 for BIM data collaboration in accordance with an embodiment of the disclosure; and
FIG. 9 illustrates a block diagram of an example device that can be used to implement embodiments of the present disclosure.
Detailed Description
The principles of the present disclosure will be described below with reference to a number of example embodiments shown in the drawings.
The term "include" and variations thereof as used herein is meant to be inclusive in an open-ended manner, i.e., "including but not limited to". Unless specifically stated otherwise, the term "or" means "and/or". The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "a set of example embodiments". The term "another embodiment" means "a set of additional embodiments". The terms "first," "second," and the like may refer to different or the same object. Other explicit and implicit definitions are also possible below.
As discussed above, in order to ensure consistency of data and avoid data collision that may be caused by multiple terminals, the conventional scheme supports only BIM data to be edited by only a single user at the same time, and thus is inefficient.
In some aspects, the BIM data may be partitioned into a plurality of subfiles for distribution to a plurality of terminal devices, for example, by a server, and each user may only be able to edit the subfiles to which it is distributed to avoid potential data conflicts. After the editing is completed, each user uploads the edited subfiles to the server to be combined into a complete model file. Since each user is assigned to only a portion of the BIM data, the number of components that each user can edit is limited. The above schemes cannot cooperate with BIM data according to component level. None of these schemes are efficient in synergy and lack flexibility. Meanwhile, since data transmission needs to be performed in the order of the model file during uploading, higher bandwidth and storage space need to be consumed.
To address at least some of the above disadvantages, embodiments of the present disclosure provide a component-level BIM data collaboration scheme that is particularly suited for multiple terminal devices in a collaboration scenario. In this scheme, 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 first data associated with a first member in a local copy at, for example, a first terminal device, the first terminal device may determine whether the first member is locked by other users based on interaction with a server, and in the event that the member is unlocked, send a message to the server to lock the first member for editing operations.
In this way, the first user may perform an editing operation on the first data of the first component and lock from other users (e.g., the second user); the second user may access data associated with the first component (e.g., third data corresponding to the first data maintained by its local copy), but may not be able to perform editing operations thereon, and thus may be able to interoperate with the BIM data (and/or its local copy) in an efficient manner while avoiding potential data conflicts.
Fig. 1 illustrates a schematic diagram of an exemplary system 100 according to an embodiment of the present disclosure, in which exemplary system 100, a method and/or apparatus and/or system according to an embodiment of the present disclosure may be implemented.
The system 100 includes a server 110, and a first terminal device 105 and a second terminal device 115 capable of communicative connection with the server 110. It will be appreciated that the number of servers 110, and terminal devices, shown is for ease of illustration only, the servers can serve more terminal devices, and the number of servers may be more than one.
BIM data 1106 is maintained at server 110. In some embodiments, BIM data 1106 may include attribute data, as well as geometric data generated based on the attribute data. Wherein the attribute data includes, but is not limited to: dimensional data, color data, vertex coordinate data, type, section information, and relationship data between the members of the member(s). The geometric data may 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 building blocks, in some embodiments, BIM data 1106 may include only attribute data.
The first terminal device 105 and the second terminal device 115 may be communicatively coupled to the server 110 for a period of time to perform the co-design. In one example, the first terminal device 105 may connect to the server for co-design between the first time 131 and the third time 133; the second terminal device 115 may connect to the server 110 between the second time 132 and the fourth time 134 for co-design. In this example, the first time 131 to the fourth time 134 are arranged according to the chronological order, which may be different according to actual needs, for example, the second time 132 may be earlier than the first time 131. Thus, in this example, between second time 132 to third time 133, first terminal device and second terminal device 115 will be simultaneously connected to server 110 to allow two users to co-design for the same BIM data at the same time. It can be appreciated that embodiments of the present disclosure support collaborative design for the same BIM data at the same time at any number of terminal devices for any number of users.
In some embodiments, the first terminal device 105 may be used by a person with a construction professional, for example, and the second terminal device 115 may be used by a person with an electromechanical professional, for example. Accordingly, the electromechanical professional may obtain BIM data including component data that has been edited by the construction professional at the second terminal device 115 and perform further editing on the BIM data, including but not limited to heating and ventilation design, plumbing design, and electrical design. In other embodiments, the first terminal 105 may be used, for example, by a heating and ventilation professional in the electro-mechanical profession, and the second terminal 115 may be used, for example, by an electrical professional in the electro-mechanical profession, to perform air/water duct opening and electrical component pre-embedding, respectively, with reference to each other. In yet another embodiment, the first terminal device 105 may be used, for example, by a first user of a construction profession and the second terminal device 115 may be used, for example, by a second user of the construction profession, the first user may edit, for example, a precast slab and the second user may edit, for example, a precast beam, a column. The above-described embodiments are merely some example application scenarios of the present disclosure, which is not limited in this respect.
First terminal device 105 and second terminal device 115 may obtain copies 1056, and 1156, respectively, of the BIM data from server 110 for storage locally. The acquisition process may be implemented in various ways as follows.
The first terminal device 105 will be described as an example, and it is understood that 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 may also be performed at the second terminal device 115, and vice versa.
In some embodiments, upon first connecting with the server 110 (e.g., by a first user logging into a BIM collaboration platform running on the server through an 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, server 110 may send BIM data 1106 to first terminal device 105 for storage as a corresponding BIM data copy 1056. In other embodiments, upon first connecting with server 110, the server may actively send BIM data 1106 to first terminal device 105 for storage as corresponding BIM data copy 1056 in response to detecting access of the first terminal device (e.g., by the first user logging into a BIM collaboration platform running on the server through an interface on the first terminal device).
The first terminal device 105 and the second terminal device 115 may each have computer aided design software (CAD) installed, for example, software for assembly building design, which in some embodiments may be a PKPM-PC. In some embodiments where BIM data 1106 includes only attribute data, first terminal device 105 may obtain BIM data 1106 as a copy of the attribute data and generate a copy of the geometry data based on a modeling model provided by the software to obtain BIM data copy 1056 including a copy of the attribute data and a copy of the geometry data.
The first user can perform drawing work of the component diagram at the first terminal device through the interface provided by the software. First terminal device 105 and second terminal device 115 are each configured to modify a portion of BIM data copy 1056 local to them (e.g., data associated with the component they edit) based on interaction with the user.
First terminal device 105 and second terminal device 115 are each 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, e.g., to reconcile BIM data 1056 with BIM data copy 1056, and in some embodiments to reconcile BIM data 1056 with attribute data portions of BIM data copy 1056.
In some embodiments, first terminal device 105 may obtain updated BIM data 1106 from server 110 in response to a data synchronization operation used by a user to synchronize data, or at predetermined intervals, or at a subsequent connection with server 110 again. In some embodiments, first terminal device 105 may obtain from server 110 only the portions of BIM data 1106 that differ from its local BIM data copy 1056 (e.g., the portions edited by the second user at second terminal device 115). In some embodiments where BIM data 1106 includes only attribute data, first terminal device 105 may obtain from server 110 only portions of BIM data 1106 that differ from the attribute data portions in its local BIM data copy 1056 (e.g., the portions edited by the second user at second terminal device 115).
It will be appreciated that BIM data copies 1056, 1156 may be substantially identical to BIM data 1106, except for a portion of the data that is edited by the user at the respective terminal. In some embodiments where BIM data 1106 includes only attribute data, the attribute data in BIM data copies 1056, 1156 may be substantially the same as BIM data 1106, except for a portion of the data as edited by the user at the respective terminal.
It is understood that examples of the first terminal device 105 and the second terminal device 115 include, but are not limited to, computers, tablets, smart phones. Interactions with the user include, but are not limited to, user inputs including: keyboard input, mouse input, touch input, voice input, gesture input, eye tracking input, digital drawing board input, and the like. The present disclosure is not so limited.
Methods and/or systems according to embodiments of the present disclosure are described in detail below in conjunction with fig. 1. For ease of understanding, specific data mentioned in the following description are exemplary and are not intended to limit the scope of the present disclosure. It is to be understood that the described methods may include additional acts not shown and/or may omit acts shown, as the scope of the disclosure is not limited in this respect.
FIG. 2 illustrates an interaction process 200 for BIM data collaboration, according to an embodiment of the disclosure. Fig. 2 relates to the first terminal device 105, the server 110 and optionally the second terminal device 115 as shown in fig. 1. It is understood that although the first terminal device 105 is exemplified, the interaction process can be performed between the second terminal device 115, the server 110 and, optionally, the first terminal device 115.
As shown in fig. 2, when a first user intends to edit a first member at a first terminal device 105, the first terminal device 105 of the plurality of terminal devices in a collaborative scenario may obtain (202) a first copy of BIM data from the server 110, wherein the first copy includes first data of the first member. It is understood that the obtaining (202) action may be in a manner of sending a request from the first terminal device 105 to the server 110 as described above, or in a manner of actively pushing from the server 110 to the first terminal device 105, and will not be described herein again.
To distinguish between different components, a first component may have a first unique identifier. The first terminal device 105 may receive (204) an editing operation to be performed by the first user on the first data. Editing operations include, but are not limited to: modifying parameters of the first component, modifying association relations between the first component and other components, and deleting first data of the first component. Since the scheme of the present disclosure allows multiple users to edit simultaneously, in order to avoid data collision, only one user is usually allowed to edit for the same component, and in some embodiments, only one user is allowed to edit at the same time. Thus, in response to the editing operation, the first terminal device 105 may send (206) a first lock inquiry request to the server 110 for inquiring whether the first member is locked, for inquiring a global service lock at the server 110. The global service lock may include lock information for all components included in BIM data 1106. The first lock query request may, for example, include a first unique identifier of the first component for retrieving the global service lock.
In some embodiments, where there are multiple active editing windows for multiple building blocks at first terminal device 105, first terminal device 105 may further query its local building block, and first terminal device 105 may perform subsequent actions only if the local building block also indicates that the building block is not locked (e.g., the building block is not open in other active editing windows, or the building block associated therewith is not open in other active editing windows).
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. The server 110 may then send (210) a 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 building block is unlocked (212), indicating that the editing operations to be performed on the first data by the first user received at the first terminal device 105 can be allowed, the first terminal device 105 may generate a lock request for locking the first building block and send (214) the lock request for locking the first building block to the server 110, the lock request including the first unique identifier of the first building block.
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 the query from the second terminal device 115 of the plurality of terminals, for example, by interacting with the second terminal device 115 (218), such that editing operations related to the first component are disabled at the second terminal device 115 (220).
Based on the above-described interactive process, in a collaborative scenario, with respect to the same component, the editing operation of only one terminal device among a plurality of terminal devices is permitted, and other terminal devices cannot edit the data although acquiring a copy thereof. In this way, efficient coordination of multiple users can be supported while avoiding possible data collisions due to the operation of different users at multiple terminals.
Fig. 3 shows a process 300 for generating a lock request at a first terminal device according to an embodiment of the disclosure. Process 300 may be a specific embodiment of the generation of a lock request for locking a first component in the interactive process 200.
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 of the first data will result in a change to the second data.
In particular, there may be an associative relationship between different members, for example, for a plurality of prefabricated column members in the same storey of building, the parameters of which are similar, and if the data (e.g. cross-sectional parameters) of a first prefabricated column member changes, the corresponding data (e.g. cross-sectional parameters) of a second prefabricated column member should also change accordingly. Accordingly, such multiple members may be associated (e.g., have a first relationship) and may simultaneously lock a second member (e.g., a second prefabricated column member) when a first user locks the first member (e.g., a first prefabricated column member) at the first terminal device 105.
At 304, the first terminal device 105 may generate a lock request comprising the first unique identifier and the second unique identifier and for locking the first data and the second data.
Since each component has a unique identifier, the unique identifiers of all associated components to be locked may be included in the lock request to trigger the server 110 to lock multiple components at once.
In this way, in the collaborative scenario, for the associated plurality of components, the editing operation of only one of the plurality of terminal devices is allowed, while the other terminal devices cannot edit the copies of the data although acquiring them, whereby possible data conflicts can be further avoided.
Fig. 4 shows an interaction procedure 300 between a second terminal device and a server according to an embodiment of the disclosure. Fig. 4 relates to the second terminal device 115 and the server 110 as shown in fig. 1. The interaction process 300 may be used to enable or disable editing operations associated with the first component, which may be a specific embodiment of acts 216 and 218 in FIG. 2.
Specifically, second terminal device 115 may obtain (402) a second copy of the BIM data from 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 may receive (404) an editing operation to be performed by the second user on the third data. Then, the second terminal device 115 may send (406) a second lock inquiry request for inquiring whether the first component is locked to the server 110. Acts (402, 404, 406) acts are similar to acts (202, 204, 206) described with reference to fig. 2 and are not described again here.
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 interaction process 200). The server 110 may then send (410) a 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) an editing operation to be performed on the third data in accordance with the second response.
Specifically, if second terminal device 115 determines that the second response indicates that the first member is locked, 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 members associated with the first member at the second terminal, and if so, undo the editing operations to ensure the consistency of the data. For example, the second terminal device 115 may determine an associated data set associated with the third data, the associated data set having the above-described first relationship with the third data. The second terminal device 115 may then determine whether the second user has performed an editing operation on the associated data set. And if the second user is determined to have performed the editing operation on the associated data set, the editing operation on the associated data set performed by the second user is cancelled.
In some embodiments, in the event that second terminal device 115 determines that the second response indicates that the first member is locked, second terminal device 115 may generate a prompt to prompt the second user to perform the data rollback operation described above.
In this way, in a collaborative scenario, for a building that has been locked by the first user, the second user will not be able to edit the data of that building, and the editing operations that have been performed on that building, and associated other buildings, will be revoked and unable to be uploaded to the server, whereby possible data conflicts may be further avoided.
Fig. 5 shows an interaction process 500 between a first terminal device and a server, the interaction process 500 being used for generating a unique identifier of a component, according to an embodiment of the present disclosure. The interaction process may be performed prior to act 204 of interaction process 200. The following will be described by way of example of the creation of a first building block at a first terminal device, it being understood that a similar interactive process may be used to create a second building block at a second terminal device.
Specifically, the first terminal device 105 may receive (502) a creation operation of the first user for creating first data corresponding to the first component in the first copy. 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 for the first terminal device 105 comprising the first identifier 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., first terminal device 105) that created the member.
In some embodiments, the server 110 may generate a first identifier for the first terminal device 105 and store the first identifier at the server 110 for use in constructing and sending a third response using the first identifier upon subsequent receipt of an identifier generation request.
The first terminal device 105 may receive (510) the 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 inform the server 110 that the first component has been successfully created.
In some embodiments, the first terminal device 105, after receiving the first identifier from the server 110, may store it in a local store for use when new other components need to be created. In this case, then the actions (502 to 510) may be omitted.
In some embodiments, the second identifier may also be generated by the first terminal device 105 and then sent to the server 110, and the server 110 may generate the first identifier and send the first identifier back to the first terminal. In some embodiments, the action (512) may also be performed at the server 110, and the first unique identifier may then be sent back to the first terminal device 105 by the server 110.
In some embodiments, the first unique identifier may be a 64-bit shaped unique identifier, wherein the number of bits occupied by the first identifier and the second identifier may be selected according to the number of the plurality of terminal devices and the number of components involved in the item, e.g. 32 bits each. In some other embodiments, the first unique identifier may be a shaped unique identifier of other number of bits.
In this way, the unique identifier of the component can be efficiently generated in a multi-terminal cooperation scene, so that the uniqueness of the component data is ensured, and the subsequent user operation such as editing operation, synchronization operation, uploading operation, locking operation and the like is facilitated.
Fig. 6 shows a flow diagram of a process 600 for automatically editing second data at a first terminal device according to an embodiment of the present disclosure.
At 602, the first terminal device 105 may determine second data for a second member of the first copy associated with the first data, the second member having a first relationship with the first member, and the first relationship indicating that editing of the first data will result in a change to the second data. First relation
In particular, there may be an associative relationship between different members, for example, for a plurality of prefabricated column members in the same storey of building, the parameters thereof are similar, and if a parameter (e.g. cross section) in the data of a first prefabricated column member changes, the corresponding parameter (e.g. cross section) in the data of a second prefabricated column member should also change accordingly. Accordingly, such multiple members may be associated (e.g., have a first relationship).
At 604, the first terminal device 105 may automatically perform a corresponding editing operation on the second data.
For example, if a parameter (e.g., cross section) in the data of a first prefabricated column element is modified, the corresponding parameter (e.g., cross section) in the data of two prefabricated column elements should be modified accordingly.
In this way, for the members having the association relationship, the association performance between the data can be ensured to simplify the user operation and possible data errors caused by forgetting.
Fig. 7 shows a flowchart of a process 700 for uploading data changes at a first terminal device, according to an embodiment of the present disclosure.
At 702, a first terminal device may record an editing operation.
In some embodiments, the first terminal device 105 may record the editing operation in association with an object for which the editing operation is directed and a timestamp at which the editing operation is performed.
At 704, the first terminal device 105 may determine a data change set in the first copy of BIM data that corresponds to the editing operation.
In some embodiments, the first terminal device 105 may create a data changeset file at its local storage to store the editing operation, the object to which the editing operation is directed, and the timestamp at which the editing operation was performed. The first terminal device 105 may determine a data change set based on the data change set file. For example, if the executed editing operation has been uploaded to the server 110 at a first time, and it is desired that the data upload will be executed at a second time later than the first time, the data changeset may be determined based on the following method. First, the first terminal device 105 may determine the editing operation recorded at the first time instant and the editing operation recorded at the second time instant (e.g., from the data changeset file). Then, the first terminal device 105 may determine a difference between the editing operation recorded at the first time and the editing operation recorded at the second time, and determine a data change set based on the difference.
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 a corresponding portion of the BIM data china based on the first unique identifier to update the corresponding portion with the received data changeset.
In some embodiments, after updating the BIM data each time a data change set uploaded by a terminal device (e.g., the first terminal device 105) is received, 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., second terminal device 115) may obtain the corresponding data changeset based on the version number to update their local copies of data.
In this way, since only the data change set needs to be transmitted between the terminal device and the server 110 in the data uploading and synchronization process, the bandwidth occupied by the cooperative system and the consumed traffic can be reduced, and the capacity of the storage device required at the server can also be reduced.
In some embodiments, to further reduce the bandwidth occupied by data uploading and synchronization and the consumed traffic, the first copy of BIM data may be designed to include a copy of attribute data and a copy of geometry data, and the data change set may be determined from the copy of attribute data. Since the geometric data generally occupies a large space and is generated by modeling based on the attribute data, uploading and synchronization of changes to the geometric data may be omitted during data uploading and synchronization.
In some embodiments, the copy of the attribute data comprises at least one of: size data of the members, color data, vertex coordinate data, type, section information, and relationship data between the members.
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 member at the first terminal device 105 based on the copy of the geometric data.
FIG. 8 illustrates a block diagram of a system 800 for BIM data collaboration in accordance with an embodiment of the disclosure.
The component level based building information model data cooperation system 800 includes a server 810 in a cooperation scenario, and a plurality of terminal devices, e.g., a first terminal device and a second terminal device, communicatively connected to the server. It is understood that the server 810, the first terminal device 805, and the second terminal device 815 may correspond to the server 110, the first terminal device 105, and the second terminal device 115 of fig. 1, respectively.
BIM data 8106 is maintained at server 810. In some embodiments, BIM data 8106 may include only attribute data 8108. Attribute data 8108 may include data 8108-1 such as component A (also sometimes referred to as a first component), data 8108-2 of component B (also sometimes referred to as a 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 BIM data 8106 may also include more data for more components. In some other embodiments, BIM data 8106 may also include geometry data (not shown).
In some embodiments, for example, 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 invoke the resource data in the component library and edit the first data based thereon.
The server may also include a global service lock 8102, and a first identifier generation module 8104. The global service lock may include lock information for all components included in BIM data 8106. The locking information includes, but is not limited to, whether the member is locked, and the terminal device and/or user that locked the member. The first identifier generation module may be configured to generate the first identifier, and/or the unique identifier, in response to interaction with the terminal device(s).
A corresponding copy of the BIM data is maintained at each of the plurality of terminal devices. For example, a first copy 8056 of BIM data at first terminal device 805, and a second copy 8156 of BIM data at second terminal device 815. The first copy 8056 may include a copy 8058 of attribute data that includes first data 8058-1 for component A, second data 8058-2 for component B associated with component A, and data 8058-3 for component C that is not associated with component A and component B. Similarly, the second copy 8056 may include the corresponding data 8158-1, 8158-2, and 8158-3 of the above-described components as a copy 8158 of the attribute data.
Each of the plurality of terminal devices may generate a copy of the geometry data (e.g., geometry data copy 8059 and geometry data copy 8159) based on the copy of the attribute data (e.g., by modeling), and display a graphical representation of the corresponding member(s) at each terminal device based on the portion of the geometry data. Each terminal device may also extract a copy of the attribute data from the copy of the geometry data. It will be appreciated that replicas 8058, 8059 can be substantially identical to replicas 8158, 8159, except for the data each edited thereat.
A 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. Component locking module 8052 is configured to lock editing operations on a component(s) based on user interaction with first terminal device 805, and/or first terminal device 805 interaction with server 810. The component association module 8053 is configured to determine a relationship between two or more components as a first relationship based on an association relationship between the components, and/or a designation from a user. The identifier generation module 8054 is configured to generate a first identifier, and/or a unique identifier, for the component based on interaction with the user, and/or interaction of the first terminal device 805 with the server 810. The data synchronization module is configured to send BIM data copy 8056 (e.g., change data set, in some embodiments, change attribute data set) to the server and receive BIM data 8106 (e.g., change data set, in some embodiments, change attribute data set) from the server to update BIM data copy 8106 based on interaction with the user, and/or interaction of first terminal device 805 with server 810.
Similarly, the second terminal device may also include a component locking module 8152, a component association module 8153, an identifier generation module 8154, and a data synchronization module 8155 configured with similar functionality.
The first terminal device (and/or the second terminal device) according to an aspect of the disclosure may be configured to: obtaining a first copy of the BIM data from the server, the first copy including first data of the first component; receiving an editing operation to be performed on first data by a first user, the first component having a first unique identifier; transmitting, by the first terminal device, a first lock inquiry request for inquiring whether the first member is locked to the server in response to the editing operation; 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 to the server to lock the first component, the lock request including the first unique identifier.
A server according to an aspect of the present disclosure may be configured to: receiving a first locked query request; in response to the first lock query request, constructing a first response based on the global service lock; sending a first response to the first terminal device; receiving a locking request; and in response to the lock request, updating the global service lock in accordance with the first unique identifier for use in responding to a query from a second terminal device of the plurality of terminals such that editing operations associated with the first component are disabled at the second terminal device.
In some embodiments, the first terminal device may be further configured to: determining second data of a second building block associated with the first data, the second building block having a first relationship with the first building block and having a second unique identifier, the first relationship indicating that editing of the first data will result in a change to the second data; and generating a lock request, the lock request including the first unique identifier and the second unique identifier and being for locking the first data and the second data.
In some embodiments, the second terminal device (and/or the first terminal device) may be configured to: obtaining 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; receiving an editing operation to be performed on third data by a second user; and sending a second lock inquiry request for inquiring whether the first component is locked to the server; receiving a second response from the server, the second response indicating whether the first component is locked; and enabling or disabling an editing operation to be performed on the third data according to the second response; and the server may be further configured to: receiving a second lock query request; in response to the second lock query request, constructing a second response based on the global service lock; and sending a second response to the second terminal device.
In some embodiments, if the second response indicates that the first member is locked, the second terminal device is further configured to: disabling an editing operation on the third data; determining an associated data set associated with the third data, the associated data set having a first relationship with the third data; and determining whether a second user has performed an editing operation on the associated data set; and if the second user is determined to have performed the editing operation on the associated data set, the editing operation on the associated data set performed by the second user is cancelled.
In some embodiments, the first terminal device may be further configured to: receiving a creating operation of a first user, the creating operation being used for creating first data corresponding to a first component in a first copy; sending an identifier generation request to a server; receiving a third response from the server comprising the first identifier and generating a second identifier for the first component; and generating a first unique identifier consisting of the first identifier and the second identifier; and the server may be further configured to: receiving an identifier generation request; in response to the identifier generation request, the server generates a third response for the first terminal device; and sending a third response to the first terminal device.
In some embodiments, the first terminal device may be further configured to: determining second data of a second building block associated with the first data in the first copy, the second building block having a first relationship with the first building block, and the first relationship indicating that editing of the first data will result in a change to the second data; and automatically performing a corresponding editing operation on the second data.
In some embodiments, the first terminal device may be further configured to: recording editing operation; determining a data change set corresponding to the editing operation in the first copy of the BIM data; and transmitting the data change set and the first unique identifier to a server.
In some embodiments, the first terminal device may be 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 operations recorded at the first time and the editing operations recorded at the second time; and determining a data change set based on the differences.
In some embodiments, the first copy of BIM data may include a copy of the attribute data and a copy of the geometry data, and the first terminal device may be further configured to: from the copy of the attribute data, a data change set is determined.
In some embodiments, the copy of the attribute data may include at least one of: size data of the members, color data, vertex coordinate data, type, section information, and relationship data between the members.
In some embodiments, the copy of the geometric data may be generated by the first terminal device by modeling based on the copy of the attribute data, the first terminal device may be further configured to: based on the copy of the geometric data, a graphical representation of the component is displayed.
According to another aspect of the present disclosure, there is provided a service apparatus which may be used in the system according to the embodiment described with reference to fig. 8, implementing the functions of the server as described above.
According to a further aspect of the present disclosure, there is provided a terminal apparatus which may be used in the system according to the embodiment described with reference to fig. 8 to implement the functions of the first terminal device or the second terminal device as described above.
FIG. 9 illustrates a schematic block diagram of an example electronic device 900 that can be used to implement embodiments of the present disclosure. For example, the electronic device 900 may be used to implement any of the first terminal device 105, the server 110, and the second terminal device 115 shown in fig. 1. As shown, device 900 includes a Central Processing Unit (CPU)901 that can perform various appropriate actions and processes in accordance with computer program instructions stored in a Read Only Memory (ROM)902 or loaded from a storage unit 908 into a Random Access Memory (RAM) 903. In the RAM 903, various programs and first data necessary for the operation of the device 900 can also be stored. The 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 bus 904.
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, and the like; an output unit 907 such as various types of displays, speakers, and the like; a storage unit 908 such as a magnetic disk, optical disk, or the like; and a communication unit 909 such as a network card, a modem, a wireless communication transceiver, and the like. 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.
The processing unit 901 performs the various methods and processes described above, e.g., any of the processes 200 to 700. For example, in some embodiments, any of processes 200 through 700 may be implemented as a computer software program or computer program product that is tangibly embodied in a machine-readable medium, such as storage unit 908. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 900 via ROM 902 and/or communications unit 909. When the computer program is loaded into RAM 903 and executed by CPU 901, one or more steps of any of processes 200 to 800 described above may be performed. Alternatively, in other embodiments, CPU 901 may be configured to perform any of processes 200-700 in any other suitable manner (e.g., by way of firmware).
The present disclosure may be methods, apparatus, systems, and/or computer program products. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied thereon for carrying out various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, any non-transitory memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, 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 disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or 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 may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembler instructions, Instruction Set Architecture (ISA) 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 an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable first data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable first data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable first data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable first data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable first data processing apparatus, or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable first data processing apparatus, or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (26)

1. A building information model BIM data cooperation method based on component level comprises the following steps:
acquiring, by a first terminal device of a plurality of terminal devices in a collaborative scenario, a first copy of BIM data from a server, the first copy including first data of a first component;
receiving, by the first terminal device, an editing operation to be performed on the first data by a first user, the first component having a first unique identifier;
transmitting, by the first terminal device, a first lock inquiry request for inquiring whether the first member is locked to the server in response to the editing operation;
in response to the first lock query request, constructing, by the server, a first response indicating whether the first component is locked based on a global service lock;
sending, by the server, the first response to the first terminal device;
sending, by the first terminal device, a lock request to the server for locking the first component if the first response indicates that the first component is not locked, the lock request including the first unique identifier; and
in response to receiving the lock request, updating, by the server, the global service lock in accordance with the first unique identifier for use in responding to a query from a second terminal device of the plurality of terminals such that editing operations related to the first component are disabled at the second terminal device.
2. The method of claim 1, wherein the lock request is generated by the first terminal device by performing the following actions:
determining second data of a second building block associated with the first data and having a first relationship with the first building block and having a second unique identifier, the first relationship indicating that editing of the first data will result in a change to the second data; and
generating the lock request, the lock request including the first unique identifier and the second unique identifier and being for locking the first data and the second data.
3. The method of claim 1, further comprising:
obtaining, by the second terminal device, 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;
receiving, by the second terminal device, an editing operation to be performed on the third data by a second user;
transmitting, by the second terminal device, a second lock inquiry request for inquiring whether the first member is locked to the server;
in response to the second lock query request, constructing, by the server, a second response indicating whether the first component is locked based on the global service lock;
sending, by the server, the second response to the second terminal device; and
enabling or disabling, by the second terminal device, an editing operation to be performed on the third data according to the second response.
4. The method of claim 3, disabling, by the second terminal device, an editing operation on the third data if the second response indicates that the first member is locked, the method further comprising:
determining, by the second terminal device, an association data set associated with the third data, the association data set having a first relationship with the third data; and
determining, by the second terminal device, whether the second user has performed an editing operation on the associated data set;
and if the second user is determined to have performed the editing operation on the associated data set, the editing operation on the associated data set performed by the second user is cancelled.
5. The method of claim 1, further comprising generating the first unique identifier by:
receiving, by the first terminal device, a creation operation of the first user for creating the first data corresponding to the first component in the first copy;
sending, by the first terminal device, an identifier generation request to the server;
in response to the identifier generation request, the server generating a third response for the first terminal device including the first identifier;
sending, by the server, the third response to the first terminal device;
receiving, by the first terminal device, a third response from the server and generating a second identifier for the first component; and
generating, by the first terminal device, the first unique identifier comprised of the first identifier and the second identifier.
6. The method of claim 1, further comprising performing, by the first terminal device:
determining second data of a second building block in the first copy associated with the first data, the second building block having a first relationship with the first building block, and the first relationship indicating that editing of the first data will result in a change to the second data; and
automatically performing a corresponding editing operation on the second data.
7. The method of claim 1, further comprising performing, by the first terminal device:
recording the editing operation;
determining a data change set corresponding to the editing operation in the first copy of the BIM data; and
transmitting the data changeset and the first unique identifier to the server.
8. The method of claim 7, 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; and
based on the difference, the set of data changes is determined.
9. The method of claim 6, wherein the first copy of the BIM data comprises a copy of attribute data and a copy of geometry data, and wherein determining the set of data changes comprises:
determining the data changeset from the copy of the attribute data.
10. The method of claim 9, wherein the copy of the attribute data comprises at least one of:
size data of the members, color data, vertex coordinate data, type, section information, and relationship data between the members.
11. The method of claim 10, wherein the copy of the geometry data is generated by the first terminal device by modeling based on the copy of the property data, the method further comprising:
displaying, at the first terminal device, a graphical representation of a component based on the copy of the geometric data.
12. A Building Information Model (BIM) data collaboration system based on component level comprises a server and a plurality of terminal devices in communication connection with the server under a collaboration scene, wherein BIM data are maintained at the server, and corresponding copies of the BIM data are maintained at each of the terminal devices, wherein
The plurality of terminal devices includes a first terminal device configured to:
obtaining a first copy of the BIM data from the server, the first copy comprising first data of a first component;
receiving an editing operation to be performed on the first data by a first user, the first component having a first unique identifier;
transmitting, by the first terminal device, a first lock inquiry request for inquiring whether the first member is locked to the server in response to the editing operation;
receiving a first response from the server indicating whether the first component is locked; and
if the first response indicates that the first component is not locked, sending a lock request to the server to lock the first component, the lock request including the first unique identifier; and is
The server is configured to:
receiving the first locked 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 equipment;
receiving the lock request; and
in response to the lock request, updating the global service lock in accordance with the first unique identifier for responding to a query from a second terminal device of the plurality of terminals such that editing operations associated with the first component are disabled at the second terminal device.
13. The system of claim 12, wherein the first terminal device is further configured to:
determining second data of a second building block associated with the first data and having a first relationship with the first building block and having a second unique identifier, the first relationship indicating that editing of the first data will result in a change to the second data; and
generating the lock request, the lock request including the first unique identifier and the second unique identifier and being for locking the first data and the second data.
14. The system of claim 12, the plurality of terminal devices further comprising a second terminal device, wherein
The second terminal device is configured to:
obtaining 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;
receiving an editing operation to be performed on the third data by a second user; and
sending a second lock inquiry request for inquiring whether the first component is locked to the server;
receiving a second response from the server indicating whether the first component is locked; and
enabling or disabling an editing operation to be performed on the third data according to the second response; and is
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
and sending a second response to the second terminal equipment.
15. The system of claim 14, if the second response indicates that the first member is locked, the second terminal device is further configured to:
disabling an editing operation on the third data;
determining an associated data set associated with the third data, the associated data set having a first relationship with the third data; and
determining whether the second user has performed an editing operation on the associated data set;
and if the second user is determined to have performed the editing operation on the associated data set, the editing operation on the associated data set performed by the second user is cancelled.
16. The system of claim 12, wherein,
the first terminal device is further configured to:
receiving a creation operation of the first user, the creation operation 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 comprising the first identifier and generating a second identifier for the first component; and
generating the first unique identifier consisting of the first identifier and the second identifier; and is
The server is further configured to:
receiving the identifier generation request;
in response to the identifier generation request, the server generating the third response for the first terminal device; and
and sending the third response to the first terminal equipment.
17. The system of claim 12, wherein the first terminal device is further configured to:
determining second data of a second building block in the first copy associated with the first data, the second building block having a first relationship with the first building block, and the first relationship indicating that editing of the first data will result in a change to the second data; and
automatically performing a corresponding editing operation on the second data.
18. The system of claim 12, wherein the first terminal device is further configured to:
recording the editing operation;
determining a data change set corresponding to the editing operation in the first copy of the BIM data; and
transmitting the data changeset and the first unique identifier to the server.
19. The system of claim 18, 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 difference, the set of data changes is determined.
20. The system of claim 17, wherein the first copy of the BIM data includes a copy of attribute data and a copy of geometry data, and the first terminal device is further configured to:
determining the data changeset from the copy of the attribute data.
21. The system of claim 20, wherein the copy of the attribute data comprises at least one of:
size data of the members, color data, vertex coordinate data, type, section information, and relationship data between the members.
22. The system of claim 11, wherein the copy of the geometric data is generated by the first terminal device through modeling based on the copy of the attribute data, the first terminal device further configured to:
based on the copy of the geometric data, a graphical representation of the component is displayed.
23. A service device for use in a system according to any one of claims 12 to 22, implementing the functionality of the server.
24. A terminal device for use in a system according to any one of claims 12 to 22, implementing the functionality of the first terminal device or the second terminal device.
25. A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of any one of claims 1 to 11.
26. A computer program product comprising computer program instructions, characterized in that the computer program instructions, when executed by a processor, implement the method of any of claims 1 to 11.
CN202011497261.0A 2020-12-17 2020-12-17 Building information model data cooperation method and system based on component level Pending CN112560129A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011497261.0A CN112560129A (en) 2020-12-17 2020-12-17 Building information model data cooperation method and system based on component level

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011497261.0A CN112560129A (en) 2020-12-17 2020-12-17 Building information model data cooperation method and system based on component level

Publications (1)

Publication Number Publication Date
CN112560129A true CN112560129A (en) 2021-03-26

Family

ID=75064726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011497261.0A Pending CN112560129A (en) 2020-12-17 2020-12-17 Building information model data cooperation method and system based on component level

Country Status (1)

Country Link
CN (1) CN112560129A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419762A (en) * 2021-06-25 2021-09-21 广联达科技股份有限公司 Data updating method and device and electronic equipment
CN113791689A (en) * 2021-09-15 2021-12-14 云茂互联智能科技(厦门)有限公司 Control method and device of intelligent equipment, storage medium and electronic device
CN113919041A (en) * 2021-11-15 2022-01-11 广联达科技股份有限公司 Collaborative design method and electronic equipment
CN115114708A (en) * 2022-06-08 2022-09-27 中国铁道科学研究院集团有限公司电子计算技术研究所 Cloud architecture-based railway BIM (building information modeling) assembly type design method, device and system and storage medium
WO2023109303A1 (en) * 2021-12-15 2023-06-22 深圳须弥云图空间科技有限公司 Online collaborative editing method and apparatus, electronic device and storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101855629A (en) * 2007-11-09 2010-10-06 微软公司 Collaborative authoring
US20170132567A1 (en) * 2015-11-06 2017-05-11 Benjamin F. GLUNZ Method and system for native object collaboration, revision and analytics for bim and other design platforms
CN107408142A (en) * 2015-02-25 2017-11-28 昂沙普公司 3D CAD systems based on multi-user's cloud parameter attribute
CN107515997A (en) * 2017-09-27 2017-12-26 深圳拎得清软件有限公司 The multi-specialized collaborative design methods of BIM and its system based on webpage
CN107844645A (en) * 2017-10-30 2018-03-27 毕埃慕(上海)建筑数据技术股份有限公司 Cooperation initiating method and device based on BIM
CN109087057A (en) * 2018-06-25 2018-12-25 中建三局智能技术有限公司 Collaborative Design method and system based on BIM cloud collaborative platform
CN110334397A (en) * 2019-05-30 2019-10-15 广东民航机场建设有限公司 Information display method, device, system, equipment and medium based on BIM model
CN110750364A (en) * 2019-09-03 2020-02-04 苏宁云计算有限公司 Multi-user online editing management method, device and system
CN111080270A (en) * 2019-12-31 2020-04-28 杨剑峰 Collaborative system application design method, system, device, server and storage medium

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101855629A (en) * 2007-11-09 2010-10-06 微软公司 Collaborative authoring
CN107408142A (en) * 2015-02-25 2017-11-28 昂沙普公司 3D CAD systems based on multi-user's cloud parameter attribute
US20170132567A1 (en) * 2015-11-06 2017-05-11 Benjamin F. GLUNZ Method and system for native object collaboration, revision and analytics for bim and other design platforms
CN107515997A (en) * 2017-09-27 2017-12-26 深圳拎得清软件有限公司 The multi-specialized collaborative design methods of BIM and its system based on webpage
CN107844645A (en) * 2017-10-30 2018-03-27 毕埃慕(上海)建筑数据技术股份有限公司 Cooperation initiating method and device based on BIM
CN109087057A (en) * 2018-06-25 2018-12-25 中建三局智能技术有限公司 Collaborative Design method and system based on BIM cloud collaborative platform
CN110334397A (en) * 2019-05-30 2019-10-15 广东民航机场建设有限公司 Information display method, device, system, equipment and medium based on BIM model
CN110750364A (en) * 2019-09-03 2020-02-04 苏宁云计算有限公司 Multi-user online editing management method, device and system
CN111080270A (en) * 2019-12-31 2020-04-28 杨剑峰 Collaborative system application design method, system, device, server and storage medium

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
李秀华;谢强;丁秋林;: "本体构建中基于细分锁的并发控制方法", 计算机工程, no. 13, 5 July 2011 (2011-07-05) *
王巧雯;张加万;牛志斌;: "基于建筑信息模型的建筑多专业协同设计流程分析", 同济大学学报(自然科学版), no. 08 *
郭朝珍;王钦敏;庄苗;方艺辉;: "空间数据协同编辑平台协同机制的研究", 计算机集成制造系统, no. 05, 25 May 2006 (2006-05-25) *
黄立新;马恩成;张晓龙;张雷;康忠良;黄琢华;邱相武;杨广剑;: "PKPM的"BIM数据中心及协同设计平台"", 建筑科学, no. 09 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419762A (en) * 2021-06-25 2021-09-21 广联达科技股份有限公司 Data updating method and device and electronic equipment
CN113791689A (en) * 2021-09-15 2021-12-14 云茂互联智能科技(厦门)有限公司 Control method and device of intelligent equipment, storage medium and electronic device
CN113919041A (en) * 2021-11-15 2022-01-11 广联达科技股份有限公司 Collaborative design method and electronic equipment
CN113919041B (en) * 2021-11-15 2024-09-10 广联达科技股份有限公司 Collaborative design method and electronic equipment
WO2023109303A1 (en) * 2021-12-15 2023-06-22 深圳须弥云图空间科技有限公司 Online collaborative editing method and apparatus, electronic device and storage medium
CN115114708A (en) * 2022-06-08 2022-09-27 中国铁道科学研究院集团有限公司电子计算技术研究所 Cloud architecture-based railway BIM (building information modeling) assembly type design method, device and system and storage medium

Similar Documents

Publication Publication Date Title
CN112560129A (en) Building information model data cooperation method and system based on component level
KR101750429B1 (en) Document editing system and method for collaborative editing
CN111614490B (en) Management system and method for managed container cluster based on top-level container cluster
US11188560B2 (en) Synchronizing object in local object storage node
CN103929343A (en) One To Many Data Projection System And Method
CN102770854A (en) Automatic synchronization conflict resolution
CN112632919B (en) Document editing method and device, computer equipment and storage medium
US10101727B2 (en) Common parameter interface generation program and parameter reading program
CN101471819A (en) Test system, test method, management domain and operation domain
US10657219B2 (en) Collaborative editing of manufacturing drawings
US7516132B1 (en) Mechanism for enabling distributed file sharing among a plurality of nodes in a network
CN111598428A (en) Method and device for managing process nodes, storage medium and server
CN111478953A (en) Self-construction method, device, system, equipment and storage medium of server cluster
CN109240738B (en) Database authority management method and device and computer equipment
KR101926566B1 (en) Editing command processing server apparatus for performing editing command processing in a document collaborative editing system having a multi-server environment and operating method thereof
Shen et al. Achieving data consistency by contextualization in web-based collaborative applications
US20150363424A1 (en) Distributed Data Authority System
CN105306228A (en) Virtual content sharing method
CN114610309A (en) Object configuration method, device, equipment and storage medium
CN111428453B (en) Processing method, device and system in annotation synchronization process
CN114564854A (en) Operation method and equipment of data node supporting FMEA bidirectional relationship tree
CN111352944B (en) Data processing method, device, electronic equipment and storage medium
CN113568763A (en) Production line equipment communication system generation method, device and equipment
CN115237394A (en) Application program development method and device, electronic equipment and readable medium
CN112463887A (en) Data processing method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination