Graphisoft®

API Development KitVersion: 18

ACAPI_Element_SetLinkedProperties

요소 또는 요소 기본값에 프롶티 객체들을 링크합니다.

    GSErrCode  ACAPI_Element_SetLinkedProperties (
        API_Elem_Head*     head,
        bool               criteria,
        Int32              inviduallyLibInd
    );

 

파라미터

head
[in] 요소의 헤더입니다. (typeIDguid 필드만 사용함) guidAPINULLGuid일 경우, 설정은 요소 기본값에 적용됩니다.
criteria
[in] 기준별 매칭 프로퍼티들을 요소에 링크해야 할 필요가 있는지 여부를 결정합니다.
inviduallyLibInd
[in] 요소에 링크될 개별적으로 선택한 프로퍼티의 라이브러리 인덱스입니다. (값 0은 개별 프로퍼티가 할당 받을 수 없음을 의미함)

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
headNULL입니다.
APIERR_BADID
올바르지 않은 typeID를 지정했거나, 지정한 guid를 가진 요소를 찾을 수 없습니다.
APIERR_MEMFULL
프로퍼티들을 세트하기에는 메모리가 부족합니다.

 

설명

이 함수는 프로퍼티 객체들을 요소에 링크하는 데 사용합니다. 프로퍼티들은 기준 그리고/또는 개발 직접 할당에 의해 건설 요소들과 연관될 수 있습니다. (하나의 요소에 최대 1개의 개별 할당이 적용될 수 있습니다) 이것은 모든 타입의 건설 요소들에게 적용됩니다. 만약 아무 요소도 지정하지 않으면(예. guidAPINULLGuid), 이 설정은 주어진 요소 타입의 기본값들에 적용됩니다.

 

예제

API_Element     element;
bool            byCrit;
Int32           indivLibInd;
GSErrCode       err;

BNZeroMemory (&element, sizeof (API_Element));
element.header.typeID = API_ColumnID;
ACAPI_Element_GetDefaults (&element, NULL);
element.column.origoPos.x = x;
element.column.origoPos.y = y;
...

ACAPI_OpenUndoableSession ("Create column with properties linked");
err = ACAPI_Element_Create (&element, NULL);
if (err == NoError) {
    API_Elem_Head   defHead;
    BNZeroMemory (&defHead, sizeof (API_Elem_Head));
    defHead.typeID = API_ColumnID;      // guid는 APINULLGuid로 남겨둠
    err = ACAPI_Element_GetLinkedProperties (&defHead, &byCrit, &indivLibInd, NULL, NULL) == NoError  // 기본값들을 가져옴
    if (err == NoError)
        err = ACAPI_Element_SetLinkedProperties (&element.header, true, 0);  // 링크 프로퍼티들
}
ACAPI_CloseUndoableSession ();

 

요구사항

버전: API 6.1 또는 이후
헤더: ACAPinc.h

 

참고사항

API_Elem_Head
ACAPI_Element_GetLinkedProperties
ACAPI_Element_GetProperties
요소 관리자
API 함수