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개 |
|
fTargetOrg |
float[3] |
사용자 좌표계의 원점 위치(X, Y, Z)입니다. |
|
fTargetRef |
COORDINATE_SYSTEM_BASE |
새 좌표계를 정의하는 기준 좌표계입니다. |
반환값
값 |
설명 |
|---|---|
int |
생성한 좌표계의 ID(101–200)입니다. |
예제
// 새 좌표계의 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) 기준으로 등록합니다.