ACAPI_Element_GetProperties
요소의 프로퍼티 객체들을 리턴합니다.
GSErrCode ACAPI_Element_GetProperties (
const API_Elem_Head* elemHead,
API_PropertyRefType*** propRefs,
Int32* nProp
);
파라미터
- elemHead

- [in] 가져올 프로퍼티들을 갖고 있는 요소입니다.
- propRefs
- [out] 프로퍼티 객체들의 리스트입니다.
- nProp
- [out] 프로퍼티 객체들의 개수입니다.
리턴 값
NoError- 함수가 성공적으로 완료되었습니다.
APIERR_BADPARSpropRefs또는nProp가NULL입니다.APIERR_BADID- 올바르지 않은
elemHead를 지정했습니다. APIERR_MEMFULL- 프로퍼티들을 가져오기에는 메모리가 부족합니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 링크된 요소에 대한 프로퍼티 객체들의 리스트를 가져오는 데 사용합니다. 프로퍼티들은 기준 또는 개별 직접 할당에 의해 건설 요소들과 연관될 수 있습니다. 이것은 모든 건설 요소들에게 적용됩니다.
ArchiCAD 9부터 요소 인스턴스와 요소 기본값들의 링크된 프로퍼티들은 새로운 2개의 함수들을 통해 접근할 수 있습니다:
ACAPI_Element_GetLinkedProperties와 ACAPI_Element_SetLinkedProperties.
예제
void GetProperties (const API_Guid& guid)
{
API_Elem_Head elemHead;
API_PropertyRefType **propRefs;
API_LibPart libPart;
Int32 nProp, i;
char s[256];
GSErrCode err;
BNZeroMemory (&elemHead, sizeof (API_Elem_Head));
elemHead.guid = guid;
err = ACAPI_Element_GetProperties (&elemHead, &propRefs, &nProp);
if (err == NoError) {
for (i = 0; i < nProp; i++) {
BNZeroMemory (&libPart, sizeof (API_LibPart));
libPart.index = (*propRefs)[i].libIndex;
err = ACAPI_LibPart_Get (&libPart);
if (err == NoError) {
if ((*propRefs)[i].assign)
sprintf (s, "Associated property:");
else
sprintf (s, "Property by criteria:");
sprintf (s, "%s %s", s, (const char *) GS::UniString (libPart.docu_UName).ToCStr ());
ACAPI_WriteReport (s, false);
}
}
BMKillHandle ((GSHandle *) &propRefs);
}
}
요구사항
- 버전: API 2.1 또는 이후
- 헤더: ACAPinc.h
참고사항
API_ElemTypeID
API_PropertyRefType
ACAPI_Element_GetLinkedProperties
ACAPI_Element_SetLinkedProperties
요소 관리자
리스팅 관리자
API 함수