Add AC/BC RTCP programs and 3D machine manager

This commit is contained in:
2026-09-20 12:31:12 +08:00
parent 1c1e5f9672
commit 8aab531b02
363 changed files with 53213 additions and 58 deletions

View File

@@ -0,0 +1,4 @@
Original procedural AC/BC machine demonstration assets generated for linuxcncWebWASM.
Dedicated to the public domain under CC0 1.0 Universal.
https://creativecommons.org/publicdomain/zero/1.0/
No manufacturer affiliation or dimensional calibration is implied.

Binary file not shown.

View File

@@ -0,0 +1,45 @@
<?xml version="1.0"?>
<robot name="demo_ac_gantry" xmlns:cnc="urn:linuxcnc:web:machine:1">
<cnc:machine profile="trt-xyz-gantry/1" base="base" tool="z_slide" work="work_frame"/>
<link name="base"/>
<link name="x_slide"/>
<link name="y_slide"/>
<link name="z_slide"/>
<link name="tilt_table"/>
<link name="c_table"/>
<link name="work_frame"/>
<joint name="x_joint" type="prismatic">
<parent link="base"/><child link="x_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="1 0 0"/><cnc:axis coordinate="X"/>
<limit lower="-0.2" upper="0.2" velocity="0.02" effort="1000"/>
</joint>
<joint name="y_joint" type="prismatic">
<parent link="x_slide"/><child link="y_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 1 0"/><cnc:axis coordinate="Y"/>
<limit lower="-0.1" upper="0.1" velocity="0.02" effort="1000"/>
</joint>
<joint name="z_joint" type="prismatic">
<parent link="y_slide"/><child link="z_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 0 1"/><cnc:axis coordinate="Z"/>
<limit lower="-0.12" upper="0.12" velocity="0.02" effort="1000"/>
</joint>
<joint name="tilt_joint" type="revolute">
<parent link="base"/><child link="tilt_table"/>
<origin xyz="0.024 0.005999999999999998 -0.037" rpy="0 0 0"/>
<axis xyz="1 0 0"/><cnc:axis coordinate="A"/>
<limit lower="-1.7453292519943295" upper="0.8726646259971648" velocity="0.5235987755982988" effort="1000"/>
</joint>
<joint name="c_joint" type="revolute">
<parent link="tilt_table"/><child link="c_table"/>
<origin xyz="0 -0.018 0.045" rpy="0 0 0"/>
<axis xyz="0 0 1"/><cnc:axis coordinate="C"/>
<limit lower="-628.3185307179587" upper="628.3185307179587" velocity="0.5235987755982988" effort="1000"/>
</joint>
<joint name="work_mount" type="fixed">
<parent link="c_table"/><child link="work_frame"/>
<origin xyz="-0.024 0.012 -0.008" rpy="0 0 0"/>
</joint>
</robot>

Binary file not shown.

View File

@@ -0,0 +1,50 @@
<?xml version="1.0"?>
<robot name="demo_ac_xyz_head" xmlns:cnc="urn:linuxcnc:web:machine:1">
<cnc:machine profile="trt-xyz-head/1" base="base" tool="spindle_head" work="work_frame"/>
<link name="base"/>
<link name="x_slide"/>
<link name="y_slide"/>
<link name="z_slide"/>
<link name="spindle_head"/>
<link name="tilt_table"/>
<link name="c_table"/>
<link name="work_frame"/>
<joint name="x_joint" type="prismatic">
<parent link="base"/><child link="x_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="1 0 0"/><cnc:axis coordinate="X"/>
<limit lower="-0.2" upper="0.2" velocity="0.02" effort="1000"/>
</joint>
<joint name="y_joint" type="prismatic">
<parent link="x_slide"/><child link="y_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 1 0"/><cnc:axis coordinate="Y"/>
<limit lower="-0.1" upper="0.1" velocity="0.02" effort="1000"/>
</joint>
<joint name="z_joint" type="prismatic">
<parent link="y_slide"/><child link="z_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 0 1"/><cnc:axis coordinate="Z"/>
<limit lower="-0.12" upper="0.12" velocity="0.02" effort="1000"/>
</joint>
<joint name="spindle_mount" type="fixed">
<parent link="z_slide"/><child link="spindle_head"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
</joint>
<joint name="tilt_joint" type="revolute">
<parent link="base"/><child link="tilt_table"/>
<origin xyz="0.024 0.005999999999999998 -0.037" rpy="0 0 0"/>
<axis xyz="1 0 0"/><cnc:axis coordinate="A"/>
<limit lower="-1.7453292519943295" upper="0.8726646259971648" velocity="0.5235987755982988" effort="1000"/>
</joint>
<joint name="c_joint" type="revolute">
<parent link="tilt_table"/><child link="c_table"/>
<origin xyz="0 -0.018 0.045" rpy="0 0 0"/>
<axis xyz="0 0 1"/><cnc:axis coordinate="C"/>
<limit lower="-628.3185307179587" upper="628.3185307179587" velocity="0.5235987755982988" effort="1000"/>
</joint>
<joint name="work_mount" type="fixed">
<parent link="c_table"/><child link="work_frame"/>
<origin xyz="-0.024 0.012 -0.008" rpy="0 0 0"/>
</joint>
</robot>

Binary file not shown.

View File

@@ -0,0 +1,45 @@
<?xml version="1.0"?>
<robot name="demo_bc_gantry" xmlns:cnc="urn:linuxcnc:web:machine:1">
<cnc:machine profile="trt-xyz-gantry/1" base="base" tool="z_slide" work="work_frame"/>
<link name="base"/>
<link name="x_slide"/>
<link name="y_slide"/>
<link name="z_slide"/>
<link name="tilt_table"/>
<link name="c_table"/>
<link name="work_frame"/>
<joint name="x_joint" type="prismatic">
<parent link="base"/><child link="x_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="1 0 0"/><cnc:axis coordinate="X"/>
<limit lower="-0.2" upper="0.2" velocity="0.02" effort="1000"/>
</joint>
<joint name="y_joint" type="prismatic">
<parent link="x_slide"/><child link="y_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 1 0"/><cnc:axis coordinate="Y"/>
<limit lower="-0.1" upper="0.1" velocity="0.02" effort="1000"/>
</joint>
<joint name="z_joint" type="prismatic">
<parent link="y_slide"/><child link="z_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 0 1"/><cnc:axis coordinate="Z"/>
<limit lower="-0.12" upper="0.12" velocity="0.02" effort="1000"/>
</joint>
<joint name="tilt_joint" type="revolute">
<parent link="base"/><child link="tilt_table"/>
<origin xyz="0.004 0.014 -0.028" rpy="0 0 0"/>
<axis xyz="0 1 0"/><cnc:axis coordinate="B"/>
<limit lower="-628.3185307179587" upper="628.3185307179587" velocity="0.5235987755982988" effort="1000"/>
</joint>
<joint name="c_joint" type="revolute">
<parent link="tilt_table"/><child link="c_table"/>
<origin xyz="-0.022 0 0.04" rpy="0 0 0"/>
<axis xyz="0 0 1"/><cnc:axis coordinate="C"/>
<limit lower="-628.3185307179587" upper="628.3185307179587" velocity="0.5235987755982988" effort="1000"/>
</joint>
<joint name="work_mount" type="fixed">
<parent link="c_table"/><child link="work_frame"/>
<origin xyz="0.018 -0.014 -0.012" rpy="0 0 0"/>
</joint>
</robot>

Binary file not shown.

View File

@@ -0,0 +1,50 @@
<?xml version="1.0"?>
<robot name="demo_bc_xyz_head" xmlns:cnc="urn:linuxcnc:web:machine:1">
<cnc:machine profile="trt-xyz-head/1" base="base" tool="spindle_head" work="work_frame"/>
<link name="base"/>
<link name="x_slide"/>
<link name="y_slide"/>
<link name="z_slide"/>
<link name="spindle_head"/>
<link name="tilt_table"/>
<link name="c_table"/>
<link name="work_frame"/>
<joint name="x_joint" type="prismatic">
<parent link="base"/><child link="x_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="1 0 0"/><cnc:axis coordinate="X"/>
<limit lower="-0.2" upper="0.2" velocity="0.02" effort="1000"/>
</joint>
<joint name="y_joint" type="prismatic">
<parent link="x_slide"/><child link="y_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 1 0"/><cnc:axis coordinate="Y"/>
<limit lower="-0.1" upper="0.1" velocity="0.02" effort="1000"/>
</joint>
<joint name="z_joint" type="prismatic">
<parent link="y_slide"/><child link="z_slide"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 0 1"/><cnc:axis coordinate="Z"/>
<limit lower="-0.12" upper="0.12" velocity="0.02" effort="1000"/>
</joint>
<joint name="spindle_mount" type="fixed">
<parent link="z_slide"/><child link="spindle_head"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
</joint>
<joint name="tilt_joint" type="revolute">
<parent link="base"/><child link="tilt_table"/>
<origin xyz="0.004 0.014 -0.028" rpy="0 0 0"/>
<axis xyz="0 1 0"/><cnc:axis coordinate="B"/>
<limit lower="-628.3185307179587" upper="628.3185307179587" velocity="0.5235987755982988" effort="1000"/>
</joint>
<joint name="c_joint" type="revolute">
<parent link="tilt_table"/><child link="c_table"/>
<origin xyz="-0.022 0 0.04" rpy="0 0 0"/>
<axis xyz="0 0 1"/><cnc:axis coordinate="C"/>
<limit lower="-628.3185307179587" upper="628.3185307179587" velocity="0.5235987755982988" effort="1000"/>
</joint>
<joint name="work_mount" type="fixed">
<parent link="c_table"/><child link="work_frame"/>
<origin xyz="0.018 -0.014 -0.012" rpy="0 0 0"/>
</joint>
</robot>

View File

@@ -0,0 +1,130 @@
{
"schema": "linuxcnc.machine.examples/1",
"generator": "scripts/generate_glb_machines.mjs",
"provenance": "Original procedural demonstration machines; no third-party mesh assets",
"license": "CC0-1.0",
"machines": [
{
"id": "ac",
"label": "AC 示例",
"profile": "trt-xyz-head/1",
"filename": "demo-ac-xyz-head.glb",
"urdf": "demo-ac-xyz-head.urdf",
"bytes": 530848,
"sha256": "93698435206864ae42cdd2121be570538e977e32c6a3a99095a93dd1518f8da1",
"coordinates": "XYZAC",
"rotation_point_mm": [
24,
-12,
8
],
"offsets_mm": [
0,
18,
-45
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 71
},
{
"id": "bc",
"label": "BC 示例",
"profile": "trt-xyz-head/1",
"filename": "demo-bc-xyz-head.glb",
"urdf": "demo-bc-xyz-head.urdf",
"bytes": 530532,
"sha256": "394c7cf3c8b246e1fc88e74301d9447f4e0892381ffa4fe1f86653a678efe95b",
"coordinates": "XYZBC",
"rotation_point_mm": [
-18,
14,
12
],
"offsets_mm": [
22,
0,
-40
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"spindle_head",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 71
},
{
"id": "ac-gantry",
"label": "AC 示例桁架型",
"profile": "trt-xyz-gantry/1",
"filename": "demo-ac-gantry.glb",
"urdf": "demo-ac-gantry.urdf",
"bytes": 526004,
"sha256": "cee9fe5080fac3f87f8daca5d0f89ddb0c3c3eb7657fbdc81a7664ba9c4e4995",
"coordinates": "XYZAC",
"rotation_point_mm": [
24,
-12,
8
],
"offsets_mm": [
0,
18,
-45
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 89
},
{
"id": "bc-gantry",
"label": "BC 示例桁架型",
"profile": "trt-xyz-gantry/1",
"filename": "demo-bc-gantry.glb",
"urdf": "demo-bc-gantry.urdf",
"bytes": 525688,
"sha256": "d7188520ef1e79576d99861294e9dbdf24deb6fe14697ad5106fe605fa1766b5",
"coordinates": "XYZBC",
"rotation_point_mm": [
-18,
14,
12
],
"offsets_mm": [
22,
0,
-40
],
"links": [
"base",
"x_slide",
"y_slide",
"z_slide",
"tilt_table",
"c_table",
"work_frame"
],
"meshes": 89
}
]
}