팀워크 제어
ArchiCAD 13에서 도입된 이 함수들은 당신의 애드온이 새로운 팀워크 환경에서 작동할 수 있게 해줍니다.
함수
프로젝트 상태 및 온라인-오프라인 모드를 확인함:
ACAPI_TeamworkControl_HasConnection
ACAPI_TeamworkControl_IsOnline
잠금 가능한 객체 집합들의 사용자 권한을 확인함:
ACAPI_TeamworkControl_HasCreateRight
ACAPI_TeamworkControl_HasDeleteModifyRight
잠금 가능한 객체 집합 예약:
ACAPI_TeamworkControl_GetLockableStatus
ACAPI_TeamworkControl_FindLockableObjectSet
ACAPI_TeamworkControl_ReserveLockable
ACAPI_TeamworkControl_ReleaseLockable
요소 예약:
ACAPI_TeamworkControl_ReserveElements
ACAPI_TeamworkControl_ReleaseElements
Hotlink/XRef 관리의 예약
ACAPI_TeamworkControl_ReserveHotlinkCacheManagement
ACAPI_TeamworkControl_ReleaseHotlinkCacheManagement
ACAPI_TeamworkControl_GetHotlinkCacheManagementOwner
예약 변경 모니터링:
ACAPI_Notify_CatchElementReservationChange
ACAPI_Notify_CatchLockableReservationChange
주어진 라이브러리 파트가 BIM 서버에서 로드되었는지 여부를 확인함:
ACAPI_TeamworkControl_IsServerLibPart
팀 프로젝트, 실제 작업공간 및 팀원의 실질적인 권한에 대한 정보를 수집함:
APIEnv_ProjectSharingID
APIEnv_UserWorkspaceID
APIEnv_GetTWAccessRightID
잠금 가능한 객체 집합들
잠금 가능한 객체 집합들은 팀워크 프로젝트의 다른 부분과 별도로 변경될 수 있는 객체들의 그룹들입니다. (단일 객체로 구성되어 있을 수도 있음) 일반적으로 속성 컨테이너들은 잠금 가능한 객체 집합들입니다. 이 집합들은 프로젝트의 특정 부분에 대한 배타 잠금(exclusive lock)을 제어하기 위한 팀워크 모드의 설정 다이얼로그에 특수 예약 패널을 가지고 있습니다.
API 인터페이스에서 잠금 가능한 객체 집합들은 각각의 객체 guid로 참조됩니다. 이 guid들은 미리 정의되어 있으며 모든 프로젝트에서 동일합니다.
경우에 따라 2개 이상의 잠금 가능한 객체 집합들을 동시에 처리할 필요가 있습니다. 예를 들어, Layer Settings 다이얼로그의 Layer and Layer Combination 속성과 같이 동일한 사용자 인터페이스에서만 동시에 잠길 수 있습니다. 이 집합들은 컴파운드 잠금 가능한 객체 집합이라고 불리는 특수 잠금 가능한 객체 집합 하에 그룹화됩니다. 컴파운드들은 미리 정의된 이름으로 참조되며, 그것들의 guid는 ACAPI_TeamworkControl_FindLockableObjectSet 함수로 가져올 수 있습니다.
현재 이용 가능한 잠금 가능한 객체 집합들은 다음과 같습니다:
객체 집합 | Guid 또는 컴파운드 이름 |
---|---|
Cities | 5D8068E2-7430-4871-9D67-E06001F256A1 |
Composites | A36401CC-77B1-4410-BCEB-A7684706A17F |
Favorites | F97013BD-662E-42a1-A749-9C73CD2D0790 |
Fill Types | 4C036A66-C2FF-4c3b-9FF4-F45A810B5F84 |
Layers, Layer Combinations | "LayerSettingsDialog" |
Line Types | 702A8569-EA8F-4de8-900C-696980FB13D6 |
Markup Styles | 156BCF98-CFA6-4be0-BC2C-8252D640A9FB |
Materials | 5B6A4F99-C72D-4811-90A5-6D696E1AB51F |
MEP Systems | 258B2630-3098-48ea-8923-F712214FBDAE |
Model View Options | 13E263C8-692B-494b-84E3-2B4BD0A77332 |
Operation Profiles ![]() |
0E6DC7E2-5AFC-4309-AB31-2A790CF57A53 |
Pen Tables | 08B4B9BB-3DD6-4ea1-A084-80D80B8B7742 |
Profiles | 4779D92D-ACFB-429d-91E5-1D585B9D2CE5 |
Project Info | D13F8A89-2AEC-4c32-B04E-85A5393F9C47 |
Project Preferences, Dimension Standards | "PreferencesDialog" |
Zone Categories | B83F2FD1-0AD4-4c41-A8EB-6D7558B0A120 |
예제
APIDevKit의 Teamwork_Control 예제 프로젝트는 이 함수들을 어떻게 사용하는지 보여줍니다.