ACAPI_Element_Edit
요소들의 집합을 변환합니다.
GSErrCode ACAPI_Element_Edit ( API_Neig** items, Int32 nItem, const API_EditPars* pars );
파라미터
- items
- [in] 한 요소 전체뿐만 아니라 그 요소의 내부 파트들에서도 작업할 수 있게 해주는 API_Neig 리스트에 대한 핸들입니다.
- nItem
- [in] 처리할 항목들의 개수입니다.
- pars
- [in] 편집 동작의 세부사항입니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_BADDATABASE
- 현재 데이터베이스는 동작에 적합하지 않습니다.
APIERR_BADID
- 요소 guid가 유효하지 않습니다.
APIERR_DELETED
- 요소가 데이터베이스에 존재하지 않습니다.
APIERR_MEMFULL
- 동작을 완료하기에는 메모리가 부족합니다.
APIERR_REFUSEDPAR
APIERR_BADPARS
- 편집 파라미터들이 올바르지 않습니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 API_EditPars structure에 전달된 파라미터들을 가진 요소들의 집합을 변환합니다. 이 파라미터들은 동작 코드(이동, 회전, 미러...)와 변환 파라미터들 모두 식별합니다.
만약 items
가 NULL
이면, 이 함수는 선택한 것들에서 작동합니다; 그 외에는 전달된 요소들의 집합이 대상이 될 것입니다.
마지막의 경우 어떤 요소들이 변환됩니까? items 핸들은 한 요소 전체뿐만 아니라 그 요소의 내부 파트들에서도 작업할 수 있게 해주는 API_Neig 리스트입니다. 예를 들어, 만약 당신이 슬래브 구멍에 neig 하나를 전달하면, 요소의 기본 외곽을 건드리지 않고 주어진 구멍만 변환될 것입니다.
몇 가지 이유로 편집할 수 없는 요소들은 무시합니다. 그러한 경우들은 다음과 같습니다:
- 잠겨 있음,
- 잠긴 레이어 상에 있음,
- 하나의 그룹의 파트이며, 서스펜드 그룹이 OFF,
- 사용자 작업공간에 있지 않습니다, 등.
다음 참고사항들은 절대적으로 중요합니다:
- 대상 요소들의 리스트는 다른 그룹 멤버들과 함께 자동으로 확장될 것입니다; 만약 집합에 하나의 그룹 멤버가 있고 서스펜드 그룹이 OFF인 경우.
- 모든 편집된 요소들이 자신의 유일 ID를 유지합니다.
- 모든 요소 간 링크들은 조정될 것입니다; 치수 역시 그러합니다.
새 요소 인덱스는 각 편집된 요소에 대하여 header->index
필드에 리턴될 것입니다.
이 함수는 도면 데이터베이스에 레퍼런스들을 갖고 있을 수 있는 단면/입면 데이터베이스에서도 작동한다는 것을 참고하십시오;
이것들은 가상 심볼들이라고 합니다. API_SectElemID
요소 타입에 의해 식별됩니다.
ArchiCAD 6.50 R2/V2부터는 이 요소들을 단면 데이터베이스에서 직접 편집할 수 있습니다. 다만 단면 창이 최상위 창이어야 합니다.
마친 후에는 item 핸들을 폐기하는 것을 잊지 마십시오.
ACAPI_Element_Change 함수로 요소의 기하 데이터를 변경할 수도 있습니다.
요구사항
- 버전: API 2.1 또는 이후
- 헤더: ACAPinc.h
참고사항
API_Neig, API_EditPars,
ACAPI_Element_Change,
요소 관리자, API 함수