Graphisoft®

API Development KitVersion: 18

ACAPI_Database

모든 데이터베이스 종속 동작들을 제어합니다.

    GSErrCode  ACAPI_Database (
        API_DatabaseID     code,
        void*              par1 = NULL,
        void*              par2 = NULL,
        void*              par3 = NULL
    );

 

파라미터

code
[in] 데이터베이스 함수 식별자입니다.
par1
[in/out] 파라미터는 code 파라미터에 따라 달라집니다.
par2
[in/out] 파라미터는 code 파라미터에 따라 달라집니다.
par3
[in/out] 파라미터는 code 파라미터에 따라 달라집니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADID
유효하지 않은 code 파라미터가 전달되었습니다.

더 많은 리턴 값들을 각 환경 함수의 설명에서 발견할 수 있습니다.

 

설명

이 함수는 API 도구 애드온으로부터 사용될 수 있는 모든 데이터베이스 제어 함수들을 수집합니다.

ArchiCAD에서 프로젝트 창과 데이터베이스 간의 차이점이 무엇인지 이해하는 것은 매우 중요합니다.

데이터베이스는 프로젝트 창과 연관된 데이터 구조(structure)입니다. 주로 다음 데이터베이스 항목들을 포함하고 있습니다:

프로젝트 창 자체는 자신에게 할당된 데이터베이스 정보를 표시할 수 있게 해줍니다.

현재 (활성) 데이터베이스에서 작동하면서 현재 (활성) 프로젝트 창에서는 작동하지 않는 모든 API 함수들을 이해하는 것이 절대적으로 중요합니다. 예를 들면, ACAPI_Element_Create 함수는 어떤 프로젝트 창이 활성화되어 있는지에 상관없이 현재 데이터베이스에 새로운 요소를 배치합니다.

일반적으로 당신은 차후 데이터베이스 종속 API 동적들에 대한 대상을 지정하기 위해 데이터베이스 간 전환을 할 수 있습니다. 현재 데이터베이스를 전환해도 현재 프로젝트 창에는 변화가 없습니다. 현재 데이터베이스는 항상 백그라운드에서 변경됩니다.

현재 프로젝트 창이 어떤 이유로 변경될 때, 현재 데이터베이스 또한 변경됩니다.

데이터베이스 함수의 타입은 code 파라미터로 지정됩니다.

API_DatabaseID

설명

 

 

창 제어 함수

 

APIDb_GetCurrentWindowID

현재 (활성) 창의 식별자를 리턴합니다.

APIDb_ResetCurrentWindowID

현재 창의 데이터베이스 요소들을 제거하고 비어 있는 새로운 환경을 셋업합니다.

APIDb_NewWindowID

새로운 창을 엽니다.

APIDb_CloseWindowID

창을 닫습니다.

 

 

데이터베이스 제어 함수

 

APIDb_GetCurrentDatabaseID

현재 (활성) 데이터베이스의 식별자를 리턴합니다.

APIDb_GetDBUnIdFromGuidID  Featuring API 18

데이터베이스 GUID로부터 예전 데이터베이스 식별자들을 리턴합니다.

APIDb_GetGuidFromDBUnIdID  Featuring API 18

예전 데이터베이스 식별자들로부터 데이터베이스 GUID를 리턴합니다.

APIDb_ResetCurrentDatabaseID

현재 데이터베이스의 데이터베이스 요소들을 제거하고 비어 있는 새로운 환경을 셋업합니다.

APIDb_ChangeCurrentDatabaseID

활성 데이터베이스를 변경합니다.

APIDb_RedrawCurrentDatabaseID

현재 데이터베이스를 다시 그립니다. 연관된 창이 백그라운드에 있더라도 적용됩니다.

APIDb_RebuildCurrentDatabaseID

현재 데이터베이스를 재빌드합니다. 연관된 창이 백그라운드에 있더라도 적용됩니다.

APIDb_NewDatabaseID

새로운 독립적인 Detail, Layout, 또는 Master Layout 데이터베이스를 생성합니다.

APIDb_ModifyDatabaseID  Featuring API 10

독립적인 Detail, Layout 또는 Master Layout 데이터베이스의 파라미터들을 변경합니다.

APIDb_DeleteDatabaseID  6.1

독립적인 Detail, Layout, 또는 Master Layout 데이터베이스를 제거합니다.

APIDb_GetDatabaseInfoID  Featuring API 10

주어진 데이터베이스의 정보를 가져옵니다.

APIDb_GetDetailDatabasesID  6.1

모든 Detail 데이터베이스들의 유일 ID들의 리스트를 리턴합니다.

APIDb_GetWorksheetDatabasesID  6.1

모든 Worksheet 데이터베이스들의 유일 ID들의 리스트를 리턴합니다.

APIDb_GetLayoutDatabasesID  Featuring API 10

모든 Layout 데이터베이스들의 유일 ID들의 리스트를 리턴합니다.

APIDb_GetMasterLayoutDatabasesID  Featuring API 10

모든 Master Layout 데이터베이스들의 유일 ID들의 리스트를 리턴합니다.

 

 

일반 함수

 

APIDb_AddTextWindowContentID

텍스트 창의 내용에 새로운 라인들을 추가합니다.

APIDb_CoordToPointID

한 좌표를 현재 데이터베이스의 픽셀로 변환합니다.

APIDb_PointToCoordID

한 픽셀을 현재 데이터베이스의 좌표로 변환합니다.

APIDb_GetDrawingScaleID

현재 데이터베이스의 도면 축척(스케일)을 리턴합니다.

APIDb_ChangeDrawingScaleID

현재 데이터베이스의 도면 축척(스케일)을 변경합니다.

APIDb_GetGridSettingsID

현재 데이터베이스의 그리드 설정 파라미터들을 리턴합니다.

APIDb_ChangeGridSettingsID

현재 데이터베이스의 그리드 설정 파라미터들을 변경합니다.

APIDb_GetZoomID

현재 데이터베이스의 실제 줌 파라미터들을 리턴합니다.

APIDb_SetZoomID

현재 데이터베이스의 줌 파라미터들을 세트합니다. (6.5 R2/v2부터 사용 가능함)

APIDb_ReSetZoomID

주어진 단계 수만큼 현재 데이터베이스의 줌 파라미터들을 리셋합니다.

APIDb_GetExtentID

현재 데이터베이스의 도면 범위를 리턴합니다.

APIDb_GetExtent3DID

현재 데이터베이스의 모델 범위를 리턴합니다.

APIDb_StartClippingSessionID

잘려지게 되는 새로 생성된 요소들을 위한 임시 데이터베이스를 셋업합니다.

APIDb_DoClipID

클리핑 세션 중에 생성된 요소들을 주어진 영역과 변환으로 자릅니다.

APIDb_StopClippingSessionID

APIDb_StartClippingSessionID로 열었던 클리핑 세션을 중단합니다.

APIDb_StartDrawingDataID  Featuring API 10

도면 데이터를 생성하기 위해 요소 생성을 임시 데이터베이스로 리다이렉트합니다.

APIDb_StopDrawingDataID  Featuring API 10

도면 요소들의 직접 생성을 마무리합니다.

APIDb_DrawOrderInitID

BTF/STB 시스템에서 지정한 순서대로 요소들을 가져오기 위해 현재 데이터베이스의 루프를 초기화합니다.

APIDb_DrawOrderGetNextID

BTF/STB 시스템에 의해 지정된 순서대로 현재 데이터베이스의 다음 요소에 대한 하나의 레퍼런스를 리턴합니다.

APIDb_DrawOrderTermID

현재 데이터베이스의 드로잉 순서 루프를 종료합니다; 내부 캐시를 정리합니다.

APIDb_DrawStoryControlID  Featuring API 10

주어진 데이터베이스의 Story Control 요소들의 primitive들을 그립니다.

APIDb_CalcBoundsID

현재 데이터베이스의 요소의 모델 범위를 리턴합니다.

APIDb_RoomReductionsID

현재 데이터베이스의 하나의 룸에 할당된 축소 데이터를 리턴합니다.

APIDb_GetElementURLRefID

요소에 할당된 URL 레퍼런스를 가져옵니다.

APIDb_SetElementURLRefID

요소에 URL 레퍼런스를 할당합니다.

APIDb_RefreshElementID

라이브러리 파트 인스턴스를 리프레시합니다.

APIDb_DrawElementID

요소를 그립니다/표시합니다.

APIDb_InitCreationOrderTableID  Featuring API 11

생성 순서대로 다음 요소의 빠른 접근을 위해 내부 테이블을 초기화합니다.

APIDb_CreationOrderGetNextID  Featuring API 11

예전에 초기화된 생성 순서 테이블에서 다음 요소의 guid를 리턴합니다.

APIDb_DisposeCreationOrderTableID  Featuring API 11

예전에 할당된 생성 순서 테이블을 폐기합니다.

APIDb_Switch3DSightID

3D 데이터베이스 간에 전환합니다.

APIDb_GetContainingDatabaseID  Featuring API 12

주어진 요소를 포함하는 데이터베이스의 유일 ID를 획득합니다.

APIDb_GetElementFromAnywhereID  Featuring API 12

현재 데이터베이스와 상관없이 요소를 리턴합니다.

APIDb_IsCWPanelDegenerateID  Featuring API 12

커튼 월 패널이 퇴화되었는지 여부를 확인합니다.

APIDb_SetLast3DDefLevelsID  Featuring API 12

전달된 건설 요소 타입들에 대한 3D 기본 레벨들을 세트합니다.

APIDb_GetLast3DDefLevelsID  Featuring API 12

건설 요소들에 대한 3D 기본 레벨들을 가져옵니다.

 

 

위치 레퍼런스 함수

 

APIDb_GetOffsetID  6.1

가상 좌표 시스템의 원점을 리턴합니다.

APIDb_GetLocOrigoID  6.1

사용자가 지정한 로컬 원점을 리턴합니다.

APIDb_GetGISRefID  6.1

프로젝트의 GIS 레퍼런스를 리턴합니다.

APIDb_SetGISRefID  6.1

프로젝트의 GIS 레퍼런스를 세트합니다.

APIDb_ConvertToSIUnitsID  6.1

GIS 레퍼런스 값들을 SI 단위들로 변환합니다.

 

 

Drawing Link 및 View 설정

 

APIDb_GetDrawingLinkID  Featuring API 10

Drawing Link의 다양한 정보를 리턴합니다.

APIDb_CheckDrawingStatusID  Featuring API 10

주어진 도면이 업데이트 되었는지 확인합니다.

APIDb_StoreViewSettingsID  Featuring API 10

실제 뷰 설정을 저장/복원합니다.

APIDb_GetTWOwnerID  Featuring API 10

주어진 데이터베이스의 팀워크 소유자를 가져옵니다.

APIDb_GetSectionDatabasesID  Featuring API 11

단면 데이터베이스들의 배열을 리턴합니다.

APIDb_GetElevationDatabasesID  Featuring API 11

입면 데이터베이스들의 배열을 리턴합니다.

APIDb_GetInteriorElevationDatabasesID  Featuring API 11

실내 입면 데이터베이스들의 배열을 리턴합니다.

APIDb_GetWorksheetDatabasesID  Featuring API 11

워크시트 도면 데이터베이스들의 배열을 리턴합니다.

APIDb_GetDocumentFrom3DDatabasesID  Featuring API 12

모든 문서 3D 데이터베이스들의 유일 ID들의 리스트를 리턴합니다.

APIDb_GetFullDrawingContentBoxID  Featuring API 12

드로잉 내용의 전체 경계 박스를 리턴합니다.

 

 

핫링크 관리 함수  Featuring API 12

 

APIDb_GetHotlinkNodeID

guid로 식별된 핫링크 노드를 리턴합니다.

APIDb_CreateHotlinkNodeID

캐시 내용을 업데이트하지 않고 핫링크 노드를 생성합니다.

APIDb_ModifyHotlinkNodeID

핫링크 노드의 파라미터들을 변경합니다.

APIDb_DeleteHotlinkNodeID

guid로 식별된 핫링크 노드를 제거합니다.

APIDb_BreakHotlinkNodeID

guid로 식별된 핫링크 노드의 링크를 끊습니다.

APIDb_UpdateHotlinkCacheID

주어진 핫링크 노드의 캐시를 업데이트합니다.

APIDb_GetHotlinkNodesID

핫링크 노드들의 리스트를 리턴합니다.

APIDb_GetHotlinkRootNodeGuidID

핫링크 모듈 타입 또는 XRef 타입 핫링크 루트 노드의 guid를 가져옵니다.

APIDb_GetHotlinkNodeTreeID

주어진 핫링크 노드 하에서 트리 구조를 가져옵니다.

APIDb_GetHotlinkInstancesID

주어진 핫링크 노드로부터 배치된 핫링크 인스턴스 요소들의 리스트를 리턴합니다.

APIDb_GetCompoundInfoStringID

주어진 요소의 복합 정보 문자열을 리턴합니다.

APIDb_GetHotLinkOwnerID

요소가 속한 핫링크 인스턴스의 식별자를 리턴합니다.

 

 

APIDb_GetRenovationFiltersID  18

리노베이션 필터들의 배열을 리턴합니다.

APIDb_GetActualRenovationFilterID  15

현재 리노베이션 필터를 리턴합니다.

 

 

Revision 관리 함수  Featuring API 12

 

APIDb_GetRVMChangesID

모든 변경사항을 가져옵니다.

APIDb_GetRVMChangeCustomSchemeID

변경 커스텀 scheme을 가져옵니다.

APIDb_GetRVMChangesFromChangeIdsID

유일 변경 ID들에 의해 주어진 모든 변경사항을 가져옵니다.

APIDb_GetRVMIssuesID

모든 이슈들을 가져옵니다.

APIDb_GetRVMIssueCustomSchemeID

이슈 커스텀 scheme을 가져옵니다.

APIDb_GetRVMDocumentRevisionsID

모든 문서 revision들을 가져옵니다.

APIDb_GetRVMIssueDocumentRevisionsID

주어진 이슈에 속해 있는 모든 문서 revision들을 가져옵니다.

APIDb_GetRVMDocumentRevisionChangesID

주어진 문서 revision에 속한 모든 변경사항을 가져옵니다.

APIDb_GetRVMLayoutCurrentRevisionChangesID

주어진 레이아웃의 마지막 revision에 속한 모든 변경사항을 가져옵니다.

APIDb_GetRVMElemChangeIdsID

GUID로 식별되는 주어진 요소의 변경 ID들을 가져옵니다.

APIDb_GetRVMChangeFirstIssueID

주어진 변경사항이 제기된 1번째 이슈를 가져옵니다.

 

요구사항

버전: API 2.1 또는 이후 (특정 함수들은 더 높은 API 버전을 요구함)
헤더: ACAPinc.h

 

참고사항

일반 함수, API 함수