Graphisoft®

API Development KitVersion: 18

APIIo_SetConstraintID

그래픽 사용자 입력을 위한 드로잉 제약사항을 세트합니다.

    GSErrCode ACAPI_Interface (
        APIIo_SetConstraintID,
        API_ConstraintPars*     constraintPars
    );

 

파라미터

constraintPars
[in] 드로잉 제약사항의 파라미터들입니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
constraintParsNULL입니다.
APIERR_BADID
constraintPars 안에 유효하지 않은 타입의 드로잉 제약조건이 있습니다.

다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.

 

설명

이 함수는 사용자 입력 전에 드로잉 제약조건을 세트하는 데 사용합니다.

이것은 APIIo_GetPointID, APIIo_GetLineID, APIIo_GetArcID, APIIo_GetPolyID 직전에, 또는 addPolyNodeProc, delPolyNodeProc 콜백 함수들 안에서 호출될 수 있습니다. 입력을 마친 후에 APIIo_ResetConstraintID 함수를 호출하는 것을 잊지 마십시오.

 

예제

API_GetPointType    pointInfo;
API_GetLineType     lineInfo;
API_ConstraintPars  constPars;
Int32               ind;
char                buffer [256];
GSErrCode           err;

BNZeroMemory (&pointInfo, sizeof (API_GetPointType));
BNZeroMemory (&lineInfo, sizeof (API_GetLineType));
BNZeroMemory (&constPars, sizeof (API_ConstraintPars));


CHCopyC ("Click the first point of the line", pointInfo.prompt);

err = ACAPI_Interface (APIIo_GetPointID, &pointInfo, NULL);

if (err == NoError) {
    constPars.constType = APIConst_X;
    constPars.constValue = 2.0;
    constPars.useLocOrigo = true;
    err = ACAPI_Interface (APIIo_SetConstraintID, &constPars, NULL);
    if (err == NoError) {
        CHCopyC ("Enter the second point of the line", lineInfo.prompt);
        lineInfo.startCoord = pointInfo.pos;                  /* 클릭한 포인트로 라인을 시작함 */
        err = ACAPI_Interface (APIIo_GetLineID, &lineInfo, NULL);
    }
    ACAPI_Interface (APIIo_ResetConstraintID, NULL, NULL);
}

if (err == APIERR_CANCEL)
    ACAPI_WriteReport ("Input was interrupted", true);

 

API 개발 키트의 Interface_Functions 예제 프로젝트도 보십시오.

 

요구사항

버전: API 6.1 또는 이후
헤더: APIdefs_Interface.h

 

참고사항

APIIo_ResetConstraintID
API_ConstraintPars
API_GetPolyType
API_RubberPolyCallbacks
APIIo_GetPointID
APIIo_GetLineID
APIIo_GetArcID
ACAPI_Interface
API 함수