이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

set_user_cart_coord3 (벡터 방식)

이 함수는 방향 벡터 2개(fTargetVec[0], fTargetVec[1])와 기준 좌표계(fTargetRef) 기준 원점 위치(fTargetOrg)로 새 사용자 직교 좌표계를 정의합니다.

  • fTargetVec[0]은 X축 방향 벡터를 정의합니다.

  • fTargetVec[1]은 Y축 기준 벡터를 정의합니다.

Z축은 X × Y 외적으로 자동 계산되어 직교성이 보장됩니다. 입력한 벡터가 완전히 직교하지 않으면 시스템이 내부에서 정규화해 유효한 오른손 좌표계를 만듭니다.

이 함수는 M2.5 핫픽스 이상 버전에서 사용할 수 있으며, 사용자 좌표계(User Coordinate System)를 최대 20개까지 만들 수 있습니다. 이 함수로 설정한 좌표계는 클라이언트 프로그램의 연결이 끊긴 후에도 컨트롤러에 남아 있습니다. 오래 사용하려면 작업 셀 설정에 등록하세요.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

int set_user_cart_coord(
    float fTargetVec[2][3],
    float fTargetOrg[3],
    COORDINATE_SYSTEM fTargetRef = COORDINATE_SYSTEM_BASE
) {
    return _set_user_cart_coord3(_rbtCtrl, fTargetVec, fTargetOrg, fTargetRef);
};

매개변수

매개변수 이름

자료형

기본값

설명

fTargetVec

float[2][3]

좌표계 방향을 정의하는 3차원 벡터 2개
- 벡터 1 → X축 방향
- 벡터 2 → Y축 기준 방향

fTargetOrg

float[3]

사용자 좌표계의 원점 위치(X, Y, Z)입니다.

fTargetRef

COORDINATE_SYSTEM

COORDINATE_SYSTEM_BASE

새 좌표계를 정의하는 기준 좌표계입니다.

반환값

값

설명

int

생성한 좌표계의 ID(101–200)입니다.
요청을 보내지 못하면 0을 반환합니다.

예제

// 새 좌표계의 X, Y 방향 벡터 정의
float vec[2][3] = {
    {1.0f, 1.0f, 1.0f},   // X축 벡터
    {1.0f, 0.0f, 0.0f}    // Y축 기준 벡터
};

// 원점 위치 정의
float org[3] = {370.0f, -45.0f, 521.5f};

// 벡터 방식으로 새 사용자 좌표계 생성
int coord_id = drfl.set_user_cart_coord(vec, org, COORDINATE_SYSTEM_BASE);

printf("User coordinate (vector method) created with ID: %d\n", coord_id);

이 예제는 방향 벡터 2개와 원점 위치로 새 사용자 직교 좌표계를 정의하고, 베이스 좌표계(Base Coordinate System) 기준으로 등록합니다.