This bunch of functions lets your add-on operate in the new Teamwork environment introduced in Archicad 13.
Functions
for checking the project status and the online-offline mode:
ACAPI_TeamworkControl_HasConnection
ACAPI_TeamworkControl_IsOnline
for checking the user privileges of lockable object sets:
ACAPI_TeamworkControl_HasCreateRight
ACAPI_TeamworkControl_HasDeleteModifyRight
for lockable object set reservation:
ACAPI_TeamworkControl_GetLockableStatus
ACAPI_TeamworkControl_FindLockableObjectSet
ACAPI_TeamworkControl_ReserveLockable
ACAPI_TeamworkControl_ReleaseLockable
for element reservation:
ACAPI_TeamworkControl_ReserveElements
ACAPI_TeamworkControl_ReleaseElements
for reservation of the Hotlink/XRef Management
ACAPI_TeamworkControl_ReserveHotlinkCacheManagement
ACAPI_TeamworkControl_ReleaseHotlinkCacheManagement
ACAPI_TeamworkControl_GetHotlinkCacheManagementOwner
for monitoring reservation changes:
ACAPI_Notify_CatchElementReservationChange
ACAPI_Notify_CatchLockableReservationChange
for determining if a given library part is loaded from the BIM server:
ACAPI_TeamworkControl_IsServerLibPart
for collecting information about the team project, the actual workspace and the effective privileges of the Team Member:
APIEnv_ProjectSharingID
APIEnv_GetTWAccessRightID
ACAPI_TeamworkControl_GetUsernameFromId
ACAPI_TeamworkControl_GetTeamworkProjectDetails
for sending or receiving changes to or from the BIM server:
ACAPI_TeamworkControl_SendChanges
ACAPI_TeamworkControl_ReceiveChanges
Lockable Object Sets
Lockable object sets are groups of objects (or may consist of a single object) which can be modified separately from the other part of the Teamwork project. Typically attribute containers are lockable object sets. These sets have a special reservation panel on their settings dialog in Teamwork mode to control the exclusive lock on that particular part of the project.
On the API interface lockable object sets are referenced by their object guid. These guids can be obtained with the ACAPI_TeamworkControl_FindLockableObjectSet function using pre-defined identifiers.
In some cases two or more lockable object sets need to be handled simultaneously, for example they can be locked only in the same user interface at the same time, like the Layers and Layer Combinations in the Layer Settings dialog. These sets are grouped under a special lockable object set, which is called compound lockable object set. Compounds are referenced by a pre-defined name, and their guid can also be retrieved by the ACAPI_TeamworkControl_FindLockableObjectSet function.
The pre-defined identifier strings of lockable object sets are listed in the Remarks section of ACAPI_TeamworkControl_FindLockableObjectSet.
Example
The Teamwork_Control example project of the APIDevKit shows samples how to use these functions.