ACAPI_Element_Create
현재 데이터베이스에 새로운 요소를 배치합니다.
GSErrCode ACAPI_Element_Create (
API_Element* element,
API_ElementMemo* memo
);
파라미터
- element
- [in/out] 가라키는 structure 안에 원하는 요소가 생성됩니다.
element->header.typeID는 반드시 생성하고자 하는 요소의 타입을 지정해야 합니다. - memo
- [in] 원하는 요소의 memo 필드가 가리키는 structure로부터 생성됩니다. (만약 memo 필드가 필요한 경우)
리턴 값
NoError- 함수가 성공적으로 완료되었습니다.
APIERR_BADDATABASE- 현재 데이터베이스가 동작에 적합하지 않습니다.
APIERR_BADPARS- 넘겨진 파라미터가
NULL; element입니다. APIERR_BADID- 요소 타입이 유효하지 않습니다. 또는
요소 타입을 서버 애플리케이션에서 지원하지 않습니다 APIERR_REFUSEDPARelement->header.typeID파라미터가 올바르지 않습니다. 예를 들면 Section 창에서의 벽처럼 표시할 수 없는 창에 무언가를 작성하려면 이 오류가 발생할 수 있습니다.APIERR_INVALFLOORelement->header.floorInd파라미터가 범위 밖입니다.APIERR_IRREGULARPOLY- 입력 폴리곤 또는 폴리라인이 비정상입니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
생성될 요소의 타입은 요소 헤더 안의 typeID에 의해 정의됩니다.
리턴할 때, 헤더의 guid 필드가 채워집니다.
작업을 마친 후 핸들들을 처분하기 위해 ACAPI_DisposeElemMemoHdls를 호출하는 것을 잊지 마십시오.
서로 다른 파라미터들의 의미는 아래 표에 설명되어 있습니다:
|
|
|
|
|---|---|---|
|
|
선택/필수 |
|
|
|
선택 (gables) |
|
|
|
선택 (gables, beam holes) |
|
|
|
필수 ( |
ACAPI_Element_CreateExt도 보십시오. |
|
|
필수 ( |
ACAPI_Element_CreateExt도 보십시오. |
|
|
필수 |
|
|
|
필수/선택 |
슬래브 폴리곤은 필수입니다; |
|
|
필수/선택 |
지붕 폴리곤은 필수입니다; |
|
|
필수/선택 |
메시 폴리곤은 필수입니다. |
|
|
필수/선택 |
셸 모양 데이터는 필수입니다. (extruded와 revolved shells에 대한 |
|
|
필수/선택 |
|
|
|
필수 (dimension data) |
|
|
|
|
|
|
|
|
만약 |
|
|
필수 (content) 멀티스타일 내용에 대하여 선택적 (paragraphs) |
|
|
|
텍스트 라벨에 대하여 선택적 (content) 멀티스타일 내용에 대하여 선택적 (paragraphs) 심볼 라벨에 대하여 필수 (parameters) |
자동 라벨링의 경우, 만약 |
|
|
필수 (polygon 및 parameters) |
|
|
|
필수 (fill polygon) |
만약 |
|
|
|
|
|
|
필수 (polygon) |
|
|
|
필수/선택 |
커브 점 좌표들은 필수입니다. 만약 |
|
|
|
|
|
|
필수 (picture content) |
|
|
|
선택 (polygon, drawing data) |
|
|
|
필수 |
cutplane 좌표들은 필수입니다. |
|
|
선택 (polygon) |
ACAPI_Element_CreateExt도 보십시오. |
|
|
optional (polygon) |
ACAPI_Element_CreateExt도 보십시오. |
|
|
선택 (linklist) |
파노라마 카메라들에 대해서만 선택적 |
|
|
|
|
|
|
|
이 요소의 타입은 생성될 수 없습니다. |
요소들에 대한 생성 프로세스는 ArchiCAD에서 그래픽으로 요소를 작성하는 데 사용하는 프로세스와 동일한 프로세스를 따릅니다. 이것은 예를 들면, 창과 문 등을 위한 벽을 만들어야 한다는 것을 의미합니다. API는 항상 필요한 정보의 존재를 확인하고, 뭔가 누락된 경우 오류 코드로 반환합니다.
생성된 요소는 라이브러리 파트의 2D 바이너리 섹션으로 리디렉션 될 수 있습니다. 자세한 내용은 ACAPI_LibPart_SetUpSect_2DDrawHdl 함수를 참조하십시오. 이 경우, 어떤 인덱스, guid들이 생성되었는지에 대한 정보가 리턴되지 않습니다. 이 환경에서는 2D 도면 요소들만 생성할 수 있습니다.
요소는 또한 클리핑 영역에 의해 클리핑될 수 있습니다. 자세한 내용은 APIDb_StartClippingSessionID 함수를 참조하십시오. 이 경우 어떤 인덱스, guid들이 생성되었는지에 대한 정보가 리턴되지 않습니다. 그래서 더 많은 parts가 생성될 수 있습니다.
요구사항
- 버전: API 1.3 또는 이후
- 헤더: ACAPinc.h
참고사항
API_Element, API_ElementMemo, ACAPI_Element_CreateExt
ACAPI_LibPart_SetUpSect_2DDrawHdl, APIDb_StartClippingSessionID, ACAPI_DisposeElemMemoHdls
요소 관리자, API 함수