Graphisoft®

API Development KitVersion: 18

ACAPI_Element_ChangeDefaults

요소의 기본 파라미터들을 변경합니다.

    GSErrCode  ACAPI_Element_ChangeDefaults (
        API_Element*           element,
        API_ElementMemo*       memo,
        const API_Element*     mask
    );

 

파라미터

element
[in] 기본값들을 변경하고 싶은 일반 파라미터들을 포함하고 있습니다.
memo
[in] 기본값들을 변경하고 싶은 특수 파라미터들을 포함하고 있습니다.
mask
[in] 변경하고 싶은 파라미터들을 지정하는 마스크를 포함하고 있습니다. 메모 필드들은 유효한 데이터를 포함하고 있을 경우 항상 사용합니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
전달된 파라미터가 NULL입니다; element
APIERR_BADID
요소 타입이 유효하지 않습니다. 또는
요소 타입이 서버 애플리케이션에 의해 지원되지 않습니다.
APIERR_REFUSEDCMD
요소 타입이 동작에 대하여 유효한 대상이 아닙니다; API_SectElemID
APIERR_MEMFULL
동작을 완료하기에는 메모리가 충분하지 않습니다.

다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.

 

설명

이 함수는 어떤 요소 타입에 대한 실제 기본값 설정들을 변경하는 데 사용합니다. mask의 해당 필드가 0이 아닌 파라미터들만 변경됩니다. 요청한 타입은 헤더의 typeID와 variationID 필드에 의해 식별됩니다.

API_WindowID, API_DoorID, API_ObjectID, API_LampID, API_RoomID, API_LabelID, API_PictureID의 경우 memo 파라미터만 사용합니다. 라이브러리 파트 기반 요소들의 경우, 만약 memoNULL로 세트되어 있으면 원래 라이브러리 파트의 기본 파라미터들을 사용합니다. 그 외에는 memoparams 필드로부터 값들을 가져옵니다.

실제 기본 설정 값들을 가져오려면 ACAPI_Element_GetDefaults 함수를 사용하십시오.

변경하려고 표시된 요소 인수를 채우기 위해 다음 파라미터들만 사용하시면 됩니다. 마스크 값들을 올바르게 설정하기 위한 매크로들이 다음과 같이 있습니다:

ACAPI_ELEMENT_MASK_CLEAR

마스크의 모든 flag들을 지웁니다.

ACAPI_ELEMENT_MASK_SETFULL

마스크의 모든 flag들을 세트합니다.

ACAPI_ELEMENT_MASK_SET

하나의 요소 파라미터에 따라 마스크의 하나의 flag만 세트합니다.

ACAPI_ELEMENT_MASK_CHECK

하나의 요소 파라미터에 대하여 마스크를 체크합니다.

ACAPI_DisposeElemMemoHdls를 호출하여 전달된 핸들들을 폐기하는 것을 잊지 마십시오.

ACAPI_SetDefaults 함수는 더 이상 사용하지 않는다는 것을 참고 바랍니다; 그것은 API 1.3에서 사용했었습니다.

표시된 요소 타입들(API_WindowType, API_DoorType, API_CutPlaneType, API_ChangeMarkerType, API_DetailType, API_WorksheetType)의 기본 설정들을 변경하기 위해 ACAPI_Element_ChangeDefaultsExt 함수를 대신 사용하십시오.

 

예제

API_Element    element, mask;
GSErrCode      err;

BNZeroMemory (&element, sizeof (API_Element));

element.header.typeID = API_WallID;
element.header.variationID = APIVarId_Generic;
err = ACAPI_Element_GetDefaults (&element, NULL);

if (err == NoError) {
    ACAPI_ELEMENT_MASK_CLEAR (mask);
    ACAPI_ELEMENT_MASK_SET (mask, API_Elem_Head, layer);
    element.header.layer = 27;
    err = ACAPI_Element_ChangeDefaults (&element, NULL, &mask);
}

 

요구사항

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

 

참고사항

API_Element, API_ElementMemo
ACAPI_Element_GetDefaults, ACAPI_DisposeElemMemoHdls
ACAPI_Element_GetDefaultsExt, ACAPI_Element_ChangeDefaultsExt
요소 관리자, API 함수