cmmIxMapAxes


SYNOPSIS

VT_I4 cmmIxMapAxes(
    [in] VT_I4 MapIndex, [in] VT_I4 MapMask1, [in] VT_I4 MapMask2
    )

DESCRIPTION

  • 이 함수는 보간작업을 수행할 축들을 맵번호(Map index)로 맵핑(Mapping)합니다. 맵번호는 다른 “기본보간제어”에 관련된 함수들의 첫번째 매개 변수로 전달되므로써 각 함수들이 제어해야할 축들에 대한 정보가 간편하게 전달됩니다. 따라서 다른 “기본보간제어”에 관련된 함수들을 사용하기전에 가장 먼저 이 함수를 사용하여 “기본보간제어”에 사용할 축들을 맵핑하여야 합니다.

PARAMETER

  • MapIndex : 맵번호(Map index), 이 번호는 반드시 0 ~ 7 의 숫자이어야 합니다.

  • bMapMask1 : 축맵에 포함할 축들을 지정할 마스크 값(하위 32 비트, BIT0 ~ BIT31). 이 값의 BIT0~BIT31 을 이용하여 그룹에 포함할 축들을 지정합니다. 각 비트의 값이 0 이면 해당 축(비트의 순서와 일치하는 축)은 배제되는 것이며 1 이면 해당 축이 포함되는 것입니다. 이 매개 변수의 각 비트별 정보는 아래 표와 같습니다.

  • bMapMask2: 축맵에 포함할 축들을 지정할 마스크 값(상위 32 비트, BIT32 ~ BIT63). 예) 8 축을 사용하는 경우

Bit Number

Meaning

BIT0 (cmX1_MASK)

0번 축의 포함여부: 0 => 포함안함 1 => 포함

BIT1 (cmY1_MASK)

1번 축의 포함여부: 0 => 포함안함 1 => 포함

BIT2 (cmZ1_MASK)

2번 축의 포함여부: 0 => 포함안함 1 => 포함

BIT3 (cmU1_MASK)

3번 축의 포함여부: 0 => 포함안함 1 => 포함

BIT4 (cmX2_MASK)

4번 축의 포함여부: 0 => 포함안함 1 => 포함

BIT5 (cmY2_MASK)

5번 축의 포함여부: 0 => 포함안함 1 => 포함

BIT6 (cmZ2_MASK)

6번 축의 포함여부: 0 => 포함안함 1 => 포함

BIT7 (cmU2_MASK)

7번 축의 포함여부: 0 => 포함안함 1 => 포함

RETURN VALUE

Value

Meaning

음수

수행 실패

cmERR_NONE

수행 성공

EXAMPLE

X1 축과 Y1 축의 직선보간

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
C/C++ :

// 맵번호 설정
#define MAP0 0

cmmIxMapAxes(MAP0, 0x3, 0x0);
// 또는 cmmIxMapAxes(0, cmX1_MASK | cmY1_MASK, 0); //

// 보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함.
cmmIxSetSpeedPattern(MAP0, cmFALSE cmSMODE_S, 1000, 10000, 10000);

// 보간 이송 거리 리스트 설정
double fDistList[2] = {1000, 1000};
cmmIxLine(MAP0, fDistList);
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
Visual Basic

‘ 맵 번호 MAP0 은 이미 선언되어 있다고 가정함

Call cmmIxMapAxes(MAP0, &H3, &H0)
‘ 또는 cmmIxMapAxes(MAP0, cmX1_MASK Or cmY1_MASK, 0)

‘보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함.
Call cmmIxSetSpeedPattern(MAP0, cmFALSE, cmSMODE_S, 1000, 10000, 10000)

‘ 보간 이송 거리 리스트 설정
fDistList(0) = 1000
fDistList(1) = 1000
Call cmmIxLine(MAP0, fDistList(0))
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
Delphi

fDistList : Array[0 .. 1] of LongInt;

// 맵 번호 MAP0 은 이미 선언되어 있다고 가정함

cmmIxMapAxes(MAP0, $3, $0);
// 또는 cmmIxMapAxes(0, cmX1_MASK or cmY1_MASK, 0);

//보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함.
cmmIxSetSpeedPattern(MAP0, cmFALSE, cmSMODE_S, 1000, 10000, 10000);

// 보간 이송 거리 리스트 설정
fDistList[0] := 1000;
fDistList[1] := 1000;
cmmIxLine(MAP0, @fDistList, 0);