ACAPI_Element_ChangeDefaultsExt
창, 문, 단면, 입면, 실내 입면, ChangeMarker, 디테일, 워크시트 기본 요소와 그것의 마커(들)의 기본 파라미터들을 변경합니다. 당신은 이 함수를 통해 커튼 월과 서브 요소의 기본 설정 값들도 변경할 수 있습니다.
GSErrCode ACAPI_Element_ChangeDefaultsExt ( API_Element* element, API_ElementMemo* memo, const API_Element* mask, UInt32 nSubElems, API_SubElemMemoMask* subElems );
파라미터
- element
- [in] 기본값들을 변경하고 싶은 일반 파라미터들을 포함하고 있습니다.
element->header.typeID
는API_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
- [in] 기본값들을 변경하고 싶은 특수 파라미터들을 포함하고 있습니다.
- mask
- [in] 변경하고 싶은 파라미터들을 지정하는 마스크를 포함하고 있습니다. 유효한 데이터를 포함하고 있는 메모 필드들은 항상 사용합니다.
- nSubElems
- [in] 전달된 서브 요소들의 개수입니다. (0-3)
- subElems
- [in]
일반적으로 1번째 마커는 기본값들을 변경하고 싶은 일반 마커 파라미터들을 포함하고 있습니다. 만약 이 파라미터가NULL
이 아니면,header.typeID
는 반드시API_ObjectID
이어야 합니다. 마스크는 변경하고 싶은 마커의 파라미터들을 지정합니다. 유효한 데이터를 포함하고 있을 경우 이 필드들은 항상 사용합니다.
2번째 마커 요소는 해당하는 경우 Story Handle Marker입니다.
3번째 마커 요소는 실내 입면 요소의 공통 마커입니다.
리턴 값
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_CurtainWallPanelID
,API_CurtainWallFrameID
,API_CurtainWallJunctionID
또는API_CurtainWallAccessoryID
이어야 합니다. APIERR_MEMFULL
- 동작을 완료하기에는 메모리가 부족합니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 창, 문, 단면, 입면, 실내 입면, ChangeMarker, 디테일, 또는 워크시트 요소 타입에 대한 실제 기본 설정 값들을 변경하는 데 사용합니다. ACAPI_Element_ChangeDefaults 함수의 대체 함수입니다.
마커 파라미터들은 선택사항입니다. NULL
을 전달하여 변경하지 않은 채로 둘 수 있습니다.
파라미터들의 자세한 해석에 대해서는 ACAPI_Element_ChangeExt 함수를 참조하십시오.
mask
의 해당 필드가 0이 아닌 파라미터들만 변경합니다.
요청한 타입은 헤더의 typeID
와 variationID
필드에 의해 식별됩니다.
memo
파라미터는 API_WindowID
와 API_DoorID
의 경우에만 사용합니다.
라이브러리 파트 기반 요소들의 대하여 memo
가 NULL
로 세트되어 있으면, 원래 라이브러리 파트의 기본 파라미터들을 사용합니다.
그 외에는 memo
의 params
필드로부터 값들을 가져옵니다.
실제 기본 설정 값들을 가져오려면 ACAPI_Element_GetDefaultsExt 함수를 사용하십시오.
변경하려고 표시된 요소 인수를 채우기 위해 다음 파라미터들만 사용하시면 됩니다. 마스크 값들을 올바르게 설정하기 위한 매크로들이 다음과 같이 있습니다:
|
마스크의 모든 flag들을 지웁니다. |
|
마스크의 모든 flag들을 세트합니다. |
|
하나의 요소 파라미터에 따라 마스크의 하나의 flag만 세트합니다. |
|
하나의 요소 파라미터에 대하여 마스크를 체크합니다. |
전달된 핸들들을 폐기하기 위해 ACAPI_DisposeElemMemoHdls를 호출하는 것을 잊지 마십시오.
예제
API_Element element; API_MarkerMemoMask marker; BNZeroMemory (&element, sizeof (API_Element)); BNZeroMemory (&marker, sizeof (API_MarkerMemoMask)); element.header.typeID = API_DoorID; element.header.variationID = APIVarId_Generic; marker.markType = (API_MarkerMemoMaskType) (APIMarkerMemoMask_MainMarker | APIMarkerMemoMask_NoParams); GSErrCode err = ACAPI_Element_GetDefaultsExt (&element, NULL, 1UL, &marker); if (err == NoError) { ACAPI_ELEMENT_MASK_CLEAR (marker.mask); ACAPI_ELEMENT_MASK_SET (marker.mask, API_ObjectType, pen); marker.markElem.object.pen = 3; err = ACAPI_Element_ChangeDefaultsExt (&element, NULL, NULL, 1UL, &marker); }
요구사항
- 버전: API 4.3 또는 이후
- 헤더: ACAPinc.h
참고사항
API_Element, API_ElementMemo
ACAPI_Element_GetDefaultsExt, ACAPI_Element_ChangeDefaults, ACAPI_DisposeElemMemoHdls
ACAPI_Element_CreateExt, ACAPI_Element_ChangeExt
API_WindowType, API_CutPlaneType, API_ElevationType, API_InteriorElevationType, API_ChangeMarkerType, API_DetailType, API_WorksheetType
요소 관리자, API 함수