Support XYZAC and XYZBC in shared web machine UI

This commit is contained in:
2026-09-11 06:25:13 +08:00
parent aac1ceb250
commit 02dcc573b0
20 changed files with 318 additions and 146 deletions

View File

@@ -35,8 +35,10 @@ export type XyzacVisualSource = {
export function projectXyzacVisual(snapshot: XyzacVisualSource | null | undefined): XyzacVisualState {
const kinematics = snapshot?.kinematics;
const coordinateSystem = String(kinematics?.coordinates ?? snapshot?.visual?.machine_model?.coordinate_system ?? "XYZAC");
const poseAxes = [...coordinateSystem.toLowerCase()];
const visualPose = snapshot?.visual?.pose;
const pose = visualPose && [visualPose.x, visualPose.y, visualPose.z, visualPose.a, visualPose.c].every((value) => Number.isFinite(value))
const pose = visualPose && poseAxes.every((axis) => Number.isFinite(visualPose[axis]))
? { ...ZERO_POSE, ...visualPose }
: kinematics?.pose ?? ZERO_POSE;
const visualJoints = snapshot?.visual?.joints;