cmsIxMapAxes


SYNOPSYS

VT_I4 cmsIxMapAxes ([in] VT_I4 BoardId, [in] VT_I4 MapIndex,
[in] VT_I4 MapMask, [in] VT_I4 IxMode)

DESCRIPTION

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

  • 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cms 가 붙지 않습니다.

PARAMETER

▶ BoardId: 사용자가 설정한 디바이스(보드) ID.

▶ MapIndex : 맵번호(Map index), 이 번호 범위는 0 ~ 15 입니다.

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

▶ IxMode: 보간 모드값 입니다.

Value

Meaning

0 또는 cmsIX_MODE_LINEAR

직선 보간

1 또는 cmsIX_MODE_CIRCULAR

원호 보간

2 또는 cmsIX_MODE_HELICARL

헬리컬 보간

  • 예) 8축을 사용하는 경우

Bit Number

Meaning

BIT0

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

BIT1

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

BIT2

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

BIT3

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

BIT4

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

BIT5

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

BIT6

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

BIT7

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

RETURN VALUE

Value

Meaning

음수

수행 실패

ERR_NONE

수행 성공

EXAMPLE

  • X1축과 Y1 축의 직선보간

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
   C/C++
   #define DEV0
   // 맵번호 설정
   #define MAP0
   0
   0
   cmsIxMapAxes(DEV0, MAP0, 0x3, 0);
   // 또는cmsIxMapAxes(DEV0, 0, cmsX1_MASK | cmsY1_MASK, 0); //
   // 보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함.
   cmsIxSetSpeedPattern(DEV0, MAP0, cmsFALSE cmsSMODE_S, 0, 0, 1000, 10000, 10000);
   // 보간 이송 거리 리스트 설정
   double fDistList[2] = {1000, 1000};
   cmsIxLine(DEV0, MAP0, fDistList);

   -----------------------------------------------------------
   Visual Basic

   ‘ 디바이스 번호 DEV0, 맵 번호 MAP0 은 이미 선언되어 있다고 가정함
   Call IxMapAxes(DEV0, MAP0, &H3, 0)
   ‘ 또는IxMapAxes(DEV0, MAP0, cmsX1_MASK Or cmsY1_MASK, 0)
   ‘보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함.
   Call IxSetSpeedPattern(DEV0, MAP0, cmsFALSE, cmsSMODE_S, 0, 0, 1000, 10000, 10000)
   ‘ 보간 이송 거리 리스트 설정
   fDistList(0) = 1000
   fDistList(1) = 1000
   IxLine(DEV0, MAP0, fDistList(0))

   -----------------------------------------------------------

   Delphi

   // 디바이스 번호 DEV0, 맵 번호 MAP0 은 이미 선언되어 있다고 가정함
   cmsIxMapAxes(DEV0, MAP0, $3, $0);
   // 또는 cmsIxMapAxes(DEV0, 0, cmsX1_MASK or cmsY1_MASK, 0);
   //보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함.
   cmsIxSetSpeedPattern(DEV0, MAP0, cmsFALSE, cmsSMODE_S, 0, 0, 1000, 10000, 10000);
   // 보간 이송 거리 리스트 설정
   fDistList[0] := 1000;
   fDistList[1] := 1000;
   cmsIxLine(DEV0, MAP0, @fDistList);

   -----------------------------------------------------------