MARKER
Adams 모델에서 위치(origin)와 방향(orientation)을 정의하는 국부 좌표계(coordinate system) 요소다. 부품·구속·힘 등 다른 모델링 요소가 참조하는 기준점 역할을 한다.
정의·용도
marker 는 좌표계의 원점 위치(location)와 세 회전각으로 표현되는 방향(orientation)을 가지는 좌표계 요소다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1290]. 형상 생성 시에도 marker 가 기준이 되어, 예컨대 평면(plate)의 코너 좌표는 reference marker 에 상대적으로 지정된다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.818].
힘/토크 생성 요소에서 marker 는 역할에 따라 구분된다. force 또는 torque 는 REFERENCE_MARKER 의 좌표계에서 계산되며, RETURN_VALUE_ON_MARKER 가 “i” 이면 I_MARKER 에 작용하는 값을, “j” 이면 J_MARKER 에 작용하는 값을 반환한다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1711].
형식 / 필드 / 구문
함수 평가에서 marker 는 세 가지 역할로 쓰인다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1763]:
| 역할 | 의미 | 설명 |
|---|---|---|
| I_MARKER (i1) | I_marker_name | 함수 평가에 사용되는 기존 marker |
| J_MARKER (i2) | J_marker_name | 함수 평가에 사용되는 기존 marker |
| R_MARKER (i3) | R_marker_name | 함수를 평가하는 기준(reference) marker. 지정하지 않으면 ground reference frame 에서 평가된다 |
marker create / marker modify 명령의 주요 파라미터는 다음과 같다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1290]:
| Parameter | Value Type | 설명 |
|---|---|---|
| new_marker_name | A New Marker | 새 marker 의 이름 |
| adams_id | ADAMS_ID | Adams 데이터 파일에서 이 요소를 식별하는 정수 ID |
| location | Location | 좌표계 원점의 위치 |
| orientation | Orientation | 세 회전각으로 지정하는 좌표계 방향 |
| preserve_location | True only | marker 위치를 지정한 대로 유지(예: flexible body 의 marker 를 가장 가까운 node 로 snap 하지 않음) |
| node_id | Integer | flexible body 위에서 marker 를 배치할 node 위치 지정 |
adams_id 는 모델 요소를 고유 정수로 식별하기 위한 것으로, 보통 0(기본값)으로 두면 FILE ADAMS_DATA_SET WRITE 시 Adams View 가 고유 ID 를 자동 생성한다. Adams 파일 출력을 제어할 필요가 있을 때만 직접 지정한다 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.187].
사용 예
기존 marker 를 복사하는 명령 [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1281]:
marker copy &
marker_name = marker_1 &
new_marker_name = marker_2
Function Builder 에서 marker 는 거리·각도 함수의 인자로 쓰인다. 예컨대 두 직선 사이 각도(radian)는 DX/DY/DZ/DM 함수와 marker 들로 계산한다 [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.549]:
ACOS((DX(marker_21, marker_11) * DX(marker_31, marker_41) + ... ) / (DM(marker_21, marker_11) * DM(marker_31, marker_41)))
ATAN2 로 두 marker 간 거리의 x, y 성분 비에 대한 arc tangent 도 구할 수 있다 [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.105].
Python Interface 에서는 part 의 Markers 컬렉션으로 marker 목록과 이름을 얻는다 [Adams_2023.1_Python_Interface_User_Guide.pdf p.12]:
marker_names = part.Markers.keys()
markers = part.Markers.values()관련 항목
- View
- Solver
- View Command Language
- Function Builder
- Python Interface
- Adams View Command User Guide
- Adams View Function Builder User Guide
출처
- 좌표계 정의·
marker create/modify필드: [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1290] marker copy예: [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1281]- I_MARKER/J_MARKER/R_MARKER 역할: [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1763], [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.1711]
- adams_id 식별자: [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.187]
- reference marker 기준 형상 좌표: [Adams_2024.1_Adams_View_Command_User_Guide.pdf p.818]
- Function Builder 예: [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.549], [Adams_2024.1_Adams_View_Function_Builder_User_Guide.pdf p.105]
- Python 접근: [Adams_2023.1_Python_Interface_User_Guide.pdf p.12]