요소 레코드들에 데이터 저장하기
이 페이퍼는 다음에 대한 힌트를 제공합니다:
- 당신이 요소 레코드에 추가 정보를 할당하는 방법, 또는
- 요소 레코드에 당신만의 데이터를 추가 단어들과 함께 저장하는 방법.
평면에 배치되는 아무 요소들.
제한사항
모든 ArchiCAD 요소들은 추가 정보를 가지고 있을 수 있습니다. (이전 128-바이트 제한은 ArchiCAD 8에서 없어졌습니다) 등록 테이블은 전체 프로젝트에 대하여 글로벌 합니다; 애드온들은 그것들을 모듈 ID로 식별합니다. 이것은 한 애드온이 어떤 종류의 요소에 대해 동일한 수의 바이트를 저장할 수 있음을 의미합니다.
요구사항
사용자 데이터의 structure는 ArchiCAD 8에서 통합되었습니다. 그리고 이것은 다음의 필수 필드들을 포함하고 있습니다:
- 데이터의 버전 번호 -- 이것은 향후의 호환성을 시행합니다.
- 데이터가 저장되었던 플랫폼.
- 데이터 자체, 이것의 바이트 수는 고정되어 있지 않습니다.
데이터 구조
등록 테이블이 프로젝트 파일에 저장됩니다. ArchiCAD는 어떤 등록 데이터도 삭제하지 않습니다. 이렇게 하면 애드온이 설치되지 않더라도 커스텀 데이터가 보존됩니다. 사용자가 프로젝트 파일을 다른 ArchiCAD 설치 장소로 이동시키면 발생할 수 있습니다. 만약 당신이 사용자 데이터의 적절한 부분에서 NULL 핸들을 전달하면 커스텀 데이터가 지워집니다.
등록 자체는 모든 데이터베이스 요소의 데이터 structure가 요청된 바이트 수에 의해 자동으로 확장되도록 보장하지 않습니다. 이 추가 바이트는 귀하의 요청에만 할당됩니다.
주어진 요소에 여분의 바이트를 추가하려면 ACAPI_Element_SetUserData 함수를 호출해야 합니다. 그리고 ACAPI_Element_GetUserData 함수로 아무 요소로부터 할당된 데이터를 가져올 수 있습니다. 파라미터 리스트에서 요청된 데이터를 저장하려면 API_ElementUserData structure를 전달해야 합니다.