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_REFUSEDPAR
element->header.typeID
파라미터가 올바르지 않습니다. 예를 들면 Section 창에서의 벽처럼 표시할 수 없는 창에 무언가를 작성하려면 이 오류가 발생할 수 있습니다.APIERR_INVALFLOOR
element->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 함수