Graphisoft®

API Development KitVersion: 18

ACAPI_Element_GetDefaultsExt

마커(들)을 가진 창, 문, 단면, 입면, 실내 입면, ChangeMarker, 디테일, 또는 워크시트 요소의 실제 기본값 설정들을 가져옵니다. 당신은 이 함수를 통해 커튼 월과 그것의 서브 요소 기본값 설정들도 가져올 수 있습니다.

    GSErrCode  ACAPI_Element_GetDefaultsExt (
        API_Element*             element,
        API_ElementMemo*         memo,
        UInt32                   nSubElems,
        API_SubElemMemoMask*     subElems
    );

 

파라미터

element
[in/out] 기본값을 가져오고 싶은 요소입니다. element->header.typeIDAPI_WindowID, API_DoorID, API_CutPlaneID, API_ElevationID, API_InteriorElevationID, API_ChangeMarkerID, API_DetailID, API_WorksheetID, API_CurtainWallID, API_CurtainWallPanelID, API_CurtainWallFrameID, API_CurtainWallJunctionID 또는 API_CurtainWallAccessoryID가 될 수 있습니다.
memo
[out] 이것은 라이브러리 파트 기본 요소들의 경우에만 필요합니다. (구역 스탬프 포함)
nSubElems Modified in API 12
[out] 기본값을 가져오고 싶은 요소의 서브 요소입니다.
subElems Modified in API 12
[out] 원하는 요소의 서브 요소(들)입니다. (일반, 층 핸들, 실내 입면 공통 마커)

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
전달된 element 파라미터가 NULL입니다.
APIERR_BADID
요소 타입은 API_WindowID, API_DoorID, API_CutPlaneID, API_ElevationID, API_InteriorElevationID, API_ChangeMarkerID, API_DetailID, API_WorksheetID, API_CurtainWallID, API_CurtainWallFrameID, API_CurtainWallPanelID, API_CurtainWallJunctionID 또는 API_CurtainWallAccessoryID이어야 합니다.

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

 

설명

이 함수는 창, 문, 단면, 입면, 실내 입면, ChangeMarker, 디테일, 워크시트 요소에 대한 실제 기본 설정들을 가져오는 데 사용합니다. ACAPI_Element_GetDefaults의 대안입니다.

요청한 타입은 헤더의 typeIDvariationID 필드로 식별합니다. 이 함수는 API_Element structure의 중심 부분을 Settings 다이얼로그로부터 가져온 값들로 채웁니다. 필요한 경우 당신이 직접 기하 정보를 채워야 합니다.

memo 파라미터는 라이브러리 파트 기반 요소들에 대해서만 사용합니다. (구역 스탬프 포함) 이때 params 필드는 참조된 라이브러리 파트의 실제 파라미터 값들로 채워집니다. 가져온 핸들들을 폐기하려면 ACAPI_DisposeElemMemoHdls 함수를 호출하는 것을 잊지 마십시오.

기본 설정값들을 변경하려면 ACAPI_Element_ChangeDefaultsExt 함수를 사용하십시오.

당신은 새로운 인스턴스를 생성하기 위해 리턴된 값들을 사용하여 요소 속성들과 파라미터들을 초기화할 수 있습니다. 더 자세한 것은 ACAPI_Element_CreateExt 함수를 참조하십시오.

 

예제

API_Element          element;
API_ElementMemo      memo;
API_MarkerMemoMask   markers[2];
GSErrCode            err;

BNZeroMemory (&element, sizeof (API_Element));
BNZeroMemory (&memo, sizeof (API_ElementMemo));
BNZeroMemory (&markers, sizeof (markers));

element.header.typeID = API_CutPlaneID;
markers[0].markType = (API_MarkerMemoMaskType) (APIMarkerMemoMask_MainMarker | APIMarkerMemoMask_NoParams); // 요소만 필요한 경우
markers[1].markType = (API_MarkerMemoMaskType) (APIMarkerMemoMask_SHMarker | APIMarkerMemoMask_NoElem);     // 메모만 필요한 경우

err = ACAPI_Element_GetDefaultsExt (&element, &memo, 2UL, &markers);
if (err == NoError) {
    if (markers[1].memo.params != NULL) {
        DBPrintf ("Cut Plane Default: Show Story Level Marker head is %s\n",
            ((*markers[1].memo.params)[3].value.real > 0.0) ? "ON" : "OFF");     // "marker_head" 파라미터
    }

    API_LibPart libPart;
    BNZeroMemory (&libPart, sizeof (API_LibPart));
    libPart.index = markers[0].markElem.object.libInd;
    if (ACAPI_LibPart_Get (&libPart) == NoError) {
        DBPrintf ("Section Marker currently selected for Cut Plane Default: \"%s\"\n", (const char *) GS::UniString (libPart.docu_UName).ToCStr ());
    }
    if (libPart.location != NULL)
        delete libPart.location;
}

ACAPI_DisposeElemMemoHdls (&memo);
ACAPI_DisposeElemMemoHdls (&markers[1].memo);

 

요구사항

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

 

참고사항

API_Element, API_ElementMemo
ACAPI_Element_GetDefaults, ACAPI_Element_ChangeDefaultsExt, ACAPI_DisposeElemMemoHdls
ACAPI_Element_CreateExt, ACAPI_Element_ChangeExt
API_WindowType, API_CutPlaneType, API_ElevationType, API_InteriorElevationType, API_ChangeMarkerType, API_DetailType, API_WorksheetType
요소 관리자, API 함수