Graphisoft®

API Development KitVersion: 18

APIDo_SaveAsModuleFileID

선택한 요소들을 모듈 파일로 저장합니다.

    GSErrCode ACAPI_Automate (
        APIDo_SaveAsModuleFileID,
        IO::Location*       location,
        API_Elem_Head**     elemHead
    );

 

파라미터

location
[in] 저장할 모듈 파일을 지정합니다.
elemHead
[in] 모듈에 저장할 요소들입니다. 선택적인 파라미터입니다. NULL일 수 있습니다. - 이 경우 현재 선택이 저장됩니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADDATABASE
현재 데이터베이스는 평면도, 단면/입면 또는 디테일 타입이어야 합니다.
APIERR_BADPARS
fileSpec 파라미터가 NULL입니다. 또는 fileSpec으로 지정한 파일이 등록될 수 없습니다.
APIERR_BADINDEX
elemHead 파라미터에 전달된 요소들이 유효하지 않습니다.
APIERR_GENERAL
모듈 파일을 생성하거나 작성할 수 없습니다.
APIERR_MEMFULL
메모리가 부족합니다.

 

설명

이 함수는 요소들의 선택으로부터 모듈 파일을 생성하는 데 사용합니다. 모듈이 반드시 포함해야 하는 요소들은 elemHead 핸들에 전달될 수 있습니다. 만약 이 파라미터가 NULL이면, 이 함수는 현재 선택을 사용합니다. 이것은 'Save Selection as Module' 메뉴 커맨드와 비슷합니다. 만약 저장할 요소들이 유효하지 않다면 모듈 파일은 생성되지 않을 것입니다.
더 이상 필요하지 않으면 elemHead 핸들을 해제하는 것을 잊지 마십시오.

 

예제

/* 현재 품의 모든 요소들을 모듈 파일로 저장함 */

IO::Location            location ("C:\\temp\\CurrentView.mod");
API_SelectionInfo       selectionInfo;
GSErrCode               err = NoError;

if (location.GetStatus () == NoError) {
    BNZeroMemory (&selectionInfo, sizeof (API_SelectionInfo));
    selectionInfo.typeID = API_MarqueeHorBox;
    ACAPI_Database (APIDb_GetZoomID, &selectionInfo.marquee.box, NULL);
    err = ACAPI_Selection_SetMarquee (&selectionInfo);  /* marquee 직사각형을 현재 줌으로 세트함 */
}

if (err == NoError) {
    err = ACAPI_Automate (APIDo_SaveAsModuleFileID, &location, NULL);
    BNZeroMemory (&selectionInfo, sizeof (API_SelectionInfo));
    ACAPI_Selection_SetMarquee (&selectionInfo);        /* marquee를 제거함 */
}

 

요구사항

버전: API 4.1 또는 이후
Header: APIdefs_Automate.h

 

참고사항

API_Elem_Head
ACAPI_Automate
API 함수