Files
cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/doc/assets/xyzbc-trt-json-compare-flow.svg
2026-07-02 08:01:34 -04:00

67 lines
3.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>
text { font-family: "Noto Sans CJK SC", "Microsoft YaHei", Arial, sans-serif; fill: #172033; }
.title { font-size: 40px; font-weight: 700; }
.sub { font-size: 23px; fill: #475569; }
.head { font-size: 27px; font-weight: 700; }
.body { font-size: 21px; }
.small { font-size: 18px; fill: #475569; }
.box { fill: #f8fafc; stroke: #64748b; stroke-width: 2.5; rx: 14; }
.native { fill: #eef6ff; stroke: #2563eb; stroke-width: 3; rx: 16; }
.web { fill: #f4fbf7; stroke: #16a34a; stroke-width: 3; rx: 16; }
.json { fill: #fff7ed; stroke: #f97316; stroke-width: 3; rx: 16; }
.ok { fill: #f0fdf4; stroke: #22c55e; stroke-width: 3; rx: 16; }
.line { stroke: #334155; stroke-width: 3; fill: none; marker-end: url(#arrow); }
</style>
<marker id="arrow" markerWidth="14" markerHeight="14" refX="12" refY="7" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 14 7 L 0 14 z" fill="#334155"/>
</marker>
</defs>
<rect width="1600" height="900" fill="#ffffff"/>
<text x="60" y="70" class="title">刀具预览路径与执行路径 JSON 比对流程</text>
<text x="60" y="110" class="sub">真实 LinuxCNC 与 Web 仿真统一采用 20 ms 采样周期,便于曲线、姿态和 switchkins 状态逐点对齐。</text>
<rect x="75" y="170" width="440" height="225" class="native"/>
<text x="110" y="220" class="head">LinuxCNC 真实系统</text>
<text x="110" y="270" class="body">1. 加载 xyzbc-trt.ini</text>
<text x="110" y="310" class="body">2. 预览 xyzbc_switchkins.ngc</text>
<text x="110" y="350" class="body">3. 采集 status / HAL / path</text>
<rect x="75" y="505" width="440" height="225" class="web"/>
<text x="110" y="555" class="head">Web 仿真系统</text>
<text x="110" y="605" class="body">1. 解析同一组配置和程序</text>
<text x="110" y="645" class="body">2. 生成等价预览和执行轨迹</text>
<text x="110" y="685" class="body">3. 输出同字段 evidence JSON</text>
<rect x="620" y="210" width="360" height="145" class="json"/>
<text x="660" y="260" class="head">native-evidence.json</text>
<text x="660" y="305" class="small">previewPath / executionPath / halPins</text>
<rect x="620" y="545" width="360" height="145" class="json"/>
<text x="678" y="595" class="head">web-evidence.json</text>
<text x="660" y="640" class="small">同 sampleIndex / timeMs / 坐标系</text>
<rect x="1080" y="360" width="410" height="185" class="box"/>
<text x="1125" y="410" class="head">逐点对齐和误差计算</text>
<text x="1125" y="458" class="body">位置误差X/Y/Z/B/C</text>
<text x="1125" y="498" class="body">TCP 误差toolTip 与 toolAxis</text>
<text x="1125" y="538" class="body">状态误差kinsType / G-code / HAL</text>
<rect x="1080" y="645" width="410" height="115" class="ok"/>
<text x="1135" y="695" class="head">compare-report.json</text>
<text x="1135" y="735" class="small">max / rms / firstMismatch / screenshots</text>
<path d="M515 282 L620 282" class="line"/>
<path d="M515 617 L620 617" class="line"/>
<path d="M980 282 C1050 282 1050 405 1080 405" class="line"/>
<path d="M980 617 C1050 617 1050 500 1080 500" class="line"/>
<path d="M1285 545 L1285 645" class="line"/>
<rect x="610" y="750" width="385" height="65" class="json"/>
<text x="642" y="790" class="head">samplePeriodMs = 20</text>
<path d="M805 545 L805 355" class="line"/>
<text x="645" y="845" class="small">所有曲线采样周期固定一致,禁止真实系统与 Web 系统使用不同周期。</text>
</svg>