ACAPI_LibPart_Search
로드된 라이브러리에서 등록된 라이브러리 파트를 검색합니다.
GSErrCode ACAPI_LibPart_Search ( API_LibPart* ancestor, bool createIfMissing, bool onlyPlaceable = false );
파라미터
- ancestor
- [in/out] 검색하고자 하는 라이브러리 파트
- createIfMissing
- [in] 레퍼런스가 누락된 경우 레퍼런스를 만들기 위해 true로 세트하세요.
- onlyPlaceable
- [in] 검색은 배치 가능한 라이브러리 파트에만 국한됩니다. 옵션 파라미터를 생략할 수 있습니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다. 라이브러리 파트를 발견했습니다. (또는
createIfMissing
이true
이면 레퍼런스가 성공적으로 만들어졌습니다) APIERR_MISSINGDEF
- 원본 라이브러리 파트 파일이 없습니다. 문서 이름이 아직 채워져 있습니다.
APIERR_BADPARS
ancestor
가NULL
입니다.APIERR_BADID
- 지정된
ownUnID
,parentUnID
또는typeID
파라미터들에 따라 라이브러리 파트를 찾을 수 없습니다. APIERR_BADNAME
- 지정된 문서 또는 파일 이름을 가진 라이브러리 파트를 찾을 수 없습니다.
APIERR_MEMFULL
- 레퍼런스를 생성할 수 없습니다;
createIfMissing
가true
일 때만
다른 공통 API 오류들에 대해서는 API 오류를 보십시오.
설명
이 함수는 로드된 라이브러리에서 라이브러리 파트를 검색할 때 사용합니다.
라이브러리 파트는 다음 기준에 따라 참조될 수 있습니다:
- 라이브러리 파트의 가장 정확한 식별은 글로벌 고유 ID입니다.
요청된 라이브러리 파트의 고유 ID 문자열을 API_LibPart structure의
ownUnID
필드로 복사할 수 있습니다. 고유 ID의 revision 파트는 사소한 수정으로 변경될 수 있기 때문에 (자세한 내용은 라이브러리 파트 서브타입 참조), 주요 GUID 일치만 조건을 충족할 수 있습니다. 만약ownUnID
로 검색한다면docu_Name
및file_Name
필드는 빈 문자열로 두어야 합니다. ownUnID
및docu_Name
필드를 공백으로 두고file_Name
이 주어지면 함수는 라이브러리 파트 파일의 이름으로 검색합니다.- 만약
ownUnID
및file_Name
이 지정되지 않았거나,docu_Name
이 빈 문자열이 아니면,- 만약
docu_Name
이 주어지면,ACAPI_LibPart_Search
문서 이름으로 라이브러리 파트를 검색해 봅니다. 문서 이름들이 유일하지 않다는 것을 참고하십시오. 당신은 서브타입parentUnID
를 지정하여 불일치 가능성을 줄일 수도 있습니다. - 만약
parentUnID
가 주어지고docu_UName
이 비어 있으면, 함수는 지정된 부모 서브타입의 후손인 열거된 라이브러리에서 1번째 라이브러리 파트를 가져옵니다.
- 만약
typeID
기반 구분을 쓸모없게 만들었지만,
내부 조상 노드에 대해 parentUnID
대신 서브타입 별로 검색하기 위해 이 필드를 사용할 수 있습니다.
(이 경우 APILib_ObjectID
는 Model Elements에 해당하며, API_ZombieLibID
는 General Object 서브타입을 표시합니다)
ACAPI_LibPart_Search
는 또한 기존에 존재하지 않는 라이브러리 파트(즉, 참조될 수 있는 인덱스)에 대한 가상 참조를 만들 수 있습니다.
(만약 라이브러리 파트가 활성 라이브러리에서 발견되지 않고 createIfMissing
이 true
로 세트되어 있을 경우)
열린 평면도가 활성 라이브러리에 없는 라이브러리 파트를 가리킬 때 동일한 효과가 나타납니다.
이 경우 ArchiCAD는 누락된 라이브러리 파트가 참조되는 도면에 채워진 원을 배치합니다.
성공 시 ACAPI_LibPart_Search
는 API_LibPart structure의 모든 필드를 채우므로
더 이상 필요하지 않으면 함수에 의해 할당된 location
포인터를 해제해야 합니다.
예제
ACAPI_LibPart_Create 함수의 예제를 보십시오.
요구사항
- 버전: API 1.3 또는 이후
- 헤더: ACAPinc.h
참고사항
API_LibPart
ACAPI_LibPart_Get, ACAPI_LibPart_Create
라이브러리 파트 관리자, 라이브러리 파트 서브 타입
API 함수