ss-component-new 1.3.702 → 1.3.704

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/JSEncrypt-B36c1iN5.js +1983 -0
  2. package/dist/MTLLoader-CkNZudBE.js +657 -0
  3. package/dist/URDFLoader-DIzEVzUD.js +2299 -0
  4. package/dist/animationData-DvL_4GZ5.js +83 -0
  5. package/dist/array-jbiWLnR-.js +1045 -0
  6. package/dist/clone-Dp_gc9ll.js +8 -0
  7. package/dist/config.js +1 -1
  8. package/dist/eleIcon-qStmsM1q.js +29 -0
  9. package/dist/fileUtil-UOt_otFo.js +20 -0
  10. package/dist/iconfont-C9LP7Z-d.js +1026 -0
  11. package/dist/icons/svg/functionList.svg +1 -0
  12. package/dist/icons/svg/method.svg +1 -0
  13. package/dist/index-11kpzK0A.js +209 -0
  14. package/dist/index-6kpIJwSG.js +98 -0
  15. package/dist/index-B0H3C7WG.js +103 -0
  16. package/dist/index-B0l2_9Pc.js +30 -0
  17. package/dist/index-BFnTZBOW.js +93 -0
  18. package/dist/index-BHtNKL1L.js +27 -0
  19. package/dist/index-BbyrFzEO.js +93 -0
  20. package/dist/index-BooO2Bml.js +78 -0
  21. package/dist/index-Bw3sTXPI.js +8993 -0
  22. package/dist/index-BzUgGzuc.js +48 -0
  23. package/dist/index-CGi0g-VN.js +627 -0
  24. package/dist/index-CSD3bL5o.js +83 -0
  25. package/dist/index-CV_jQDcg.js +9 -0
  26. package/dist/index-CWOXvFfD.js +44 -0
  27. package/dist/index-Ch8te5LO.js +411 -0
  28. package/dist/{index-BKoAuSBh.js → index-ChNfRlIP.js} +18 -223
  29. package/dist/index-CydXQbtX.js +622 -0
  30. package/dist/index-DAJxL40d.js +55 -0
  31. package/dist/index-DBsEVMiM.js +201 -0
  32. package/dist/index-DG4hoOWt.js +665 -0
  33. package/dist/index-DUbk5m5P.js +99 -0
  34. package/dist/index-Da5qIKd6.js +119 -0
  35. package/dist/index-Ds6m_4JJ.js +28500 -0
  36. package/dist/index-DupTchhl.js +1000 -0
  37. package/dist/index-DyCq_odP.js +331 -0
  38. package/dist/index-OGTnqUDW.js +20578 -0
  39. package/dist/index-PV2PkfRE.js +63008 -0
  40. package/dist/index-Ru-cNTPj.js +84 -0
  41. package/dist/index-SohCFB2I.js +107 -0
  42. package/dist/index-UB_oCdlo.js +62 -0
  43. package/dist/index-YcuQhWbw.js +25297 -0
  44. package/dist/index-YjBTGOkO.js +61 -0
  45. package/dist/index-d9yiC1Rr.js +572 -0
  46. package/dist/index-eunh_06c.js +873 -0
  47. package/dist/index-jbOjjV0j.js +447 -0
  48. package/dist/index-l3g33MKM.js +470 -0
  49. package/dist/index-rlStojTL.js +52 -0
  50. package/dist/index-uF-ibwG0.js +9 -0
  51. package/dist/{index-DXYV8CAc.js → index.vue_vue_type_style_index_0_scoped_05e3a1d8_lang-C2itW9KG.js} +111121 -112354
  52. package/dist/isString-0ZglyOfu.js +8 -0
  53. package/dist/localIcon-D5UoFBU5.js +76 -0
  54. package/dist/main-Dqoc5YbP.js +502 -0
  55. package/dist/menuIndex-BB0uVPRX.js +159 -0
  56. package/dist/obj/model.mtl +42 -0
  57. package/dist/obj/model.obj +26110 -0
  58. package/dist/request-1RPa2bBn.js +9048 -0
  59. package/dist/ss-component.css +8 -8
  60. package/dist/ss-component.js +64 -28
  61. package/dist/ss-component2.js +75 -15
  62. package/dist/ss-component3.js +1 -1
  63. package/dist/threeModel-BI3l0-99.js +1109 -0
  64. package/dist/threePreview-BkYkq6k4.js +2918 -0
  65. package/dist/threeSceneView-ChFhJWgw.js +1290 -0
  66. package/dist/threeSceneViewForCPMPIP-DE5Oil86.js +539 -0
  67. package/dist/threeTrackPathView-BxUqwu4s.js +620 -0
  68. package/dist/threeViewerHost-Dc7tuhCy.js +233 -0
  69. package/dist/urdfTree-VRms7Vm3.js +254 -0
  70. package/dist/workpieceTreePanel-Bnhv3-BB.js +559 -0
  71. package/package.json +7 -8
  72. package/public/config.js +1 -1
  73. package/public/icons/svg/functionList.svg +1 -0
  74. package/public/icons/svg/method.svg +1 -0
  75. package/public/obj/model.mtl +42 -0
  76. package/public/obj/model.obj +26110 -0
  77. package/dist/index-BZ6XZp4O.js +0 -182
  78. package/dist/index-DMqUY4yR.js +0 -27
  79. package/dist/index-Dad_IdSm.js +0 -213
  80. package/dist/index-Nxu5ivW5.js +0 -1044
  81. package/dist/index-T_MmKXF1.js +0 -50
  82. package/dist/menu-BYmz2cKN.js +0 -5229
  83. package/dist/platform-C9131Sg-.js +0 -11490
  84. /package/dist/icons/svg/{update.svg → Update.svg} +0 -0
  85. /package/dist/icons/svg/{table-close.svg → tableClose.svg} +0 -0
  86. /package/dist/icons/svg/{table-expand.svg → tableExpand.svg} +0 -0
  87. /package/public/icons/svg/{update.svg → Update.svg} +0 -0
  88. /package/public/icons/svg/{table-close.svg → tableClose.svg} +0 -0
  89. /package/public/icons/svg/{table-expand.svg → tableExpand.svg} +0 -0
@@ -0,0 +1,539 @@
1
+ import { defineComponent as ge, ref as r, computed as k, watch as X, onUnmounted as De, resolveComponent as G, createElementBlock as x, openBlock as g, createElementVNode as n, createCommentVNode as U, createVNode as s, toDisplayString as L, Fragment as Be, renderList as Je, withCtx as le, shallowRef as te, onMounted as Me, nextTick as me, onBeforeUnmount as Ee, withDirectives as I, vShow as W, unref as z, renderSlot as ve, createBlock as de } from "vue";
2
+ import { s as pe } from "./threeViewerHost-Dc7tuhCy.js";
3
+ import { u as Ge, a as He, b as Ie, T as y, C as We } from "./iconfont-C9LP7Z-d.js";
4
+ import { U as Xe, u as Ye, a as Ze, W as qe } from "./workpieceTreePanel-Bnhv3-BB.js";
5
+ import { c as Ke } from "./index-Bw3sTXPI.js";
6
+ import "./index.vue_vue_type_style_index_0_scoped_05e3a1d8_lang-C2itW9KG.js";
7
+ import { _ as fe } from "./index.vue_vue_type_script_setup_true_lang-DRzriV-s.js";
8
+ import { g as Qe, b as et, U as tt, J as lt, d as nt } from "./urdfTree-VRms7Vm3.js";
9
+ import { E as _ } from "./request-1RPa2bBn.js";
10
+ import { _ as he } from "./_plugin-vue_export-helper-CHgC5LLL.js";
11
+ import { i as at } from "./animationData-DvL_4GZ5.js";
12
+ import { O as ot } from "./MTLLoader-CkNZudBE.js";
13
+ const st = { class: "panel-content" }, it = {
14
+ key: 0,
15
+ class: "animation-controls"
16
+ }, rt = { class: "control-row" }, ut = { class: "control-row" }, ct = { class: "frame-info" }, vt = { class: "control-row" }, dt = {
17
+ key: 1,
18
+ class: "empty-state"
19
+ }, mt = { class: "dialog-footer" }, pt = /* @__PURE__ */ ge({
20
+ __name: "urdfAnimationPanel",
21
+ props: {
22
+ model: {},
23
+ scene: {},
24
+ xyzbcList: {}
25
+ },
26
+ setup(S, { expose: f }) {
27
+ const j = S, i = r([]), T = r(!1), F = r(""), c = r("stopped"), h = r(0), O = r(0), C = r(10), v = r(null);
28
+ let d = 0;
29
+ const P = r([]), w = k(() => j.model ? Qe(j.model).map((b) => b.name) : []), R = k(() => [...w.value]), ne = k(() => R.value.length > 0 ? `请按以下格式粘贴数据 (第一行为表头,使用 Tab 分隔):
30
+ ${R.value.join(" ")}
31
+ 0 0 0 ...
32
+ 1 2 3 ...` : "请先加载模型。"), Y = k(() => i.value[h.value] || {});
33
+ X(() => j.model, (a) => {
34
+ a ? (v.value = new Xe(a), P.value = et(a), h.value = 0) : (v.value = null, P.value = []);
35
+ }, { immediate: !0 });
36
+ const J = (a) => {
37
+ if (a < 0 || a >= i.value.length) {
38
+ console.error(`帧索引 ${a} 超出范围`);
39
+ return;
40
+ }
41
+ const l = i.value[a];
42
+ if (v.value) {
43
+ const b = {};
44
+ w.value.forEach((A) => {
45
+ const u = parseFloat(l[A]);
46
+ isNaN(u) || (b[A] = u);
47
+ }), v.value.setJointAngles(b);
48
+ }
49
+ h.value = a, O.value = i.value.length > 1 ? a / (i.value.length - 1) * 100 : 100;
50
+ }, M = async (a) => {
51
+ try {
52
+ for (let l = h.value; l < i.value.length; l++) {
53
+ if (a !== d) return;
54
+ const b = i.value[l], A = {};
55
+ if (v.value)
56
+ w.value.forEach((u) => {
57
+ const m = parseFloat(b[u]);
58
+ isNaN(m) || (A[u] = m);
59
+ }), await v.value.animateToState(
60
+ A,
61
+ C.value,
62
+ (u) => {
63
+ a === d && (O.value = (l + u) / i.value.length * 100);
64
+ }
65
+ );
66
+ else {
67
+ if (await new Promise((u) => setTimeout(u, C.value)), a !== d) return;
68
+ O.value = (l + 1) / i.value.length * 100;
69
+ }
70
+ h.value = l;
71
+ }
72
+ a === d && (_.success("动画播放完成"), c.value = "stopped", O.value = 100);
73
+ } catch (l) {
74
+ console.error("动画播放出错:", l), _.error("动画播放出错"), c.value = "stopped";
75
+ }
76
+ }, N = () => {
77
+ if (i.value.length === 0) {
78
+ _.error("无动画数据");
79
+ return;
80
+ }
81
+ c.value === "stopped" && (h.value = 0, J(0)), c.value = "playing", d++, M(d), _.info("动画播放中");
82
+ }, Z = () => {
83
+ c.value === "playing" && (d++, c.value = "paused", _.info("动画已暂停"));
84
+ }, q = () => {
85
+ d++, c.value = "stopped", h.value = 0, O.value = 0, J(0), _.info("动画已停止并重置");
86
+ }, ae = () => {
87
+ c.value === "playing" ? Z() : N();
88
+ }, D = (a) => {
89
+ d++, c.value = "paused", J(a);
90
+ }, oe = () => {
91
+ if (!F.value.trim()) {
92
+ _.warning("导入内容不能为空");
93
+ return;
94
+ }
95
+ const a = F.value.trim().split(`
96
+ `).filter((m) => m.trim() !== "");
97
+ if (a.length < 2) {
98
+ _.error("导入数据至少需要包含表头行和一行数据");
99
+ return;
100
+ }
101
+ const l = a[0].split(" ").map((m) => m.trim()), b = {};
102
+ if (l.forEach((m, p) => {
103
+ R.value.includes(m) && (b[p] = m);
104
+ }), Object.keys(b).length === 0) {
105
+ _.error("没有找到匹配的表头,请检查表头名称是否正确");
106
+ return;
107
+ }
108
+ const u = a.slice(1).map((m) => {
109
+ const p = m.split(" "), B = {};
110
+ return R.value.forEach((H) => {
111
+ B[H] = "0";
112
+ }), Object.entries(b).forEach(([H, se]) => {
113
+ const E = p[parseInt(H)];
114
+ E !== void 0 && E.trim() !== "" && (B[se] = E.trim());
115
+ }), B;
116
+ });
117
+ u.length > 0 ? (i.value = u, _.success(`成功导入 ${u.length} 行数据!`), T.value = !1, F.value = "", q()) : _.error("未能解析到有效数据,请检查格式。");
118
+ };
119
+ X(() => j.xyzbcList, () => {
120
+ j.xyzbcList && (i.value = Ke(j.xyzbcList));
121
+ }, {
122
+ immediate: !0
123
+ });
124
+ const K = (a) => `第 ${a + 1} 帧`;
125
+ return f({
126
+ handlePlayPause: ae,
127
+ playAnimation: N,
128
+ pauseAnimation: Z,
129
+ stopAnimation: q
130
+ }), De(() => {
131
+ d++;
132
+ }), (a, l) => {
133
+ const b = G("el-input-number"), A = G("el-slider"), u = G("el-input"), m = G("el-dialog");
134
+ return g(), x("div", st, [
135
+ l[11] || (l[11] = n("div", { class: "action-bar" }, null, -1)),
136
+ i.value.length > 0 ? (g(), x("div", it, [
137
+ n("div", rt, [
138
+ l[5] || (l[5] = n("label", null, "帧间隔 (ms):", -1)),
139
+ s(b, {
140
+ modelValue: C.value,
141
+ "onUpdate:modelValue": l[0] || (l[0] = (p) => C.value = p),
142
+ min: 10,
143
+ max: 5e3,
144
+ step: 100,
145
+ size: "small",
146
+ style: { width: "120px" }
147
+ }, null, 8, ["modelValue"])
148
+ ]),
149
+ n("div", ut, [
150
+ l[6] || (l[6] = n("label", null, "当前帧:", -1)),
151
+ n("span", ct, L(h.value + 1) + " / " + L(i.value.length), 1)
152
+ ]),
153
+ n("div", vt, [
154
+ l[7] || (l[7] = n("label", null, "动画进度:", -1)),
155
+ s(A, {
156
+ modelValue: h.value,
157
+ "onUpdate:modelValue": l[1] || (l[1] = (p) => h.value = p),
158
+ min: 0,
159
+ max: i.value.length > 0 ? i.value.length - 1 : 0,
160
+ step: 1,
161
+ "format-tooltip": K,
162
+ onInput: D,
163
+ disabled: i.value.length === 0 || c.value === "playing",
164
+ style: { "flex-grow": "1", margin: "0 10px" }
165
+ }, null, 8, ["modelValue", "max", "disabled"])
166
+ ]),
167
+ n("div", null, [
168
+ l[8] || (l[8] = n("label", null, "当前帧数据:", -1)),
169
+ n("div", null, [
170
+ Y.value ? (g(!0), x(Be, { key: 0 }, Je(Y.value, (p, B) => (g(), x("div", { key: B }, L(B) + ": " + L(p), 1))), 128)) : U("", !0)
171
+ ])
172
+ ])
173
+ ])) : U("", !0),
174
+ i.value.length === 0 ? (g(), x("div", dt, l[9] || (l[9] = [
175
+ n("p", null, "请先创建数据", -1)
176
+ ]))) : U("", !0),
177
+ s(m, {
178
+ modelValue: T.value,
179
+ "onUpdate:modelValue": l[4] || (l[4] = (p) => T.value = p),
180
+ title: "导入数据",
181
+ width: "500px"
182
+ }, {
183
+ footer: le(() => [
184
+ n("span", mt, [
185
+ s(fe, {
186
+ modelValue: "取消",
187
+ onClick: l[3] || (l[3] = (p) => T.value = !1)
188
+ }),
189
+ s(fe, {
190
+ modelValue: "确认导入",
191
+ onClick: oe,
192
+ type: "primary"
193
+ })
194
+ ])
195
+ ]),
196
+ default: le(() => [
197
+ l[10] || (l[10] = n("p", { class: "import-instructions" }, " 请从Excel或CSV中复制数据 (首行为表头, Tab分隔) ", -1)),
198
+ s(u, {
199
+ modelValue: F.value,
200
+ "onUpdate:modelValue": l[2] || (l[2] = (p) => F.value = p),
201
+ type: "textarea",
202
+ rows: 10,
203
+ placeholder: ne.value
204
+ }, null, 8, ["modelValue", "placeholder"])
205
+ ]),
206
+ _: 1,
207
+ __: [10]
208
+ }, 8, ["modelValue"])
209
+ ]);
210
+ };
211
+ }
212
+ }), be = /* @__PURE__ */ he(pt, [["__scopeId", "data-v-00d63f4b"]]), ft = async (S) => await new ot().loadAsync(S), bt = async (S) => await ft(S), gt = { class: "obj-viewer-container" }, ht = { class: "buttonGroup-topLeft" }, yt = { class: "buttonGroup-left" }, _t = { class: "buttonGroup-right" }, kt = { class: "buttonGroup-bottom" }, Ct = { class: "left-panel" }, Pt = { class: "panel-header" }, wt = { class: "panel-body" }, zt = { class: "right-panel" }, Ut = { class: "panel-header" }, xt = { class: "panel-body" }, jt = {
213
+ key: 0,
214
+ class: "loading-overlay"
215
+ }, At = {
216
+ key: 1,
217
+ class: "brand"
218
+ }, Lt = {
219
+ key: 0,
220
+ class: "brand-item"
221
+ }, Vt = { class: "item-value" }, $t = {
222
+ key: 1,
223
+ class: "brand-item"
224
+ }, Tt = { class: "item-value" }, Ot = {
225
+ key: 2,
226
+ class: "brand-item"
227
+ }, Rt = { class: "item-value" }, St = /* @__PURE__ */ ge({
228
+ __name: "threeSceneViewForCPMPIP",
229
+ props: {
230
+ fileBlobs: { default: () => [] },
231
+ threeData: {}
232
+ },
233
+ setup(S) {
234
+ const f = S, j = r([]), i = k(() => {
235
+ var e, o;
236
+ return (o = (e = f == null ? void 0 : f.threeData) == null ? void 0 : e.data) == null ? void 0 : o.csvUrl;
237
+ });
238
+ X(() => i.value, async () => {
239
+ if (console.log("csvUrl", i.value), i.value) {
240
+ const t = await at(i.value);
241
+ j.value = t;
242
+ }
243
+ }, {
244
+ immediate: !0
245
+ });
246
+ const T = k(() => {
247
+ var e, o;
248
+ return (o = (e = f == null ? void 0 : f.threeData) == null ? void 0 : e.data) == null ? void 0 : o.bladeObjUrl;
249
+ }), F = r(pe.ROBOT), c = r(null), h = r(!1), O = r(""), C = r(!1), v = r(""), d = r(!1), P = r(""), w = te(null), R = r("叶片模型"), ne = te(null), Y = te(null), J = te(null), M = r(be), {
250
+ currentModels: N,
251
+ resetView: Z,
252
+ initThreeJS: q,
253
+ handleResize: ae,
254
+ getThreeJSObjects: D,
255
+ cleanup: oe,
256
+ setAndFitModels: K,
257
+ axesHelperVisible: a,
258
+ toggleAxesVisibility: l,
259
+ zoomIn: b,
260
+ zoomOut: A
261
+ } = Ge(c), { loadSceneFromFile: u } = Ze(
262
+ D,
263
+ N,
264
+ h,
265
+ O
266
+ ), { isAnimating: m, toggleAnimation: p, startAnimation: B, stopAnimation: H } = He(D, N), { isClipping: se, activeClippingAxis: E, toggleClipping: ye, updateClippingPlanes: _e } = Ie(D, N), { initRaycaster: ke, selectedObject3D: Ce, setSelectedObjVisible: Pe, updatePosition: we, updateRotation: ze, dispose: Ue } = Ye(c, D, N), xe = () => {
267
+ l();
268
+ }, je = (t) => {
269
+ E.value = t, _e();
270
+ }, V = k(() => {
271
+ var e, o;
272
+ return (o = (e = f == null ? void 0 : f.threeData) == null ? void 0 : e.data) == null ? void 0 : o.machine;
273
+ }), ie = k(() => {
274
+ var e;
275
+ return (e = V == null ? void 0 : V.value) == null ? void 0 : e.modelNumber;
276
+ }), re = k(() => {
277
+ var e;
278
+ return (e = V == null ? void 0 : V.value) == null ? void 0 : e.serialNumber;
279
+ }), ue = k(() => {
280
+ var e;
281
+ return (e = V == null ? void 0 : V.value) == null ? void 0 : e.manufacturer;
282
+ }), Ae = k(() => ie.value || re.value || ue.value), Le = k(() => F.value === pe.ROBOT), Q = (t) => {
283
+ C.value = !0, v.value = t, t === "剖面视图" && !se.value && ye();
284
+ }, ce = (t) => {
285
+ d.value = !0, P.value = t;
286
+ }, Ve = () => {
287
+ var t;
288
+ (t = M.value) == null || t.handlePlayPause();
289
+ }, $e = () => {
290
+ var t;
291
+ (t = M.value) == null || t.pauseAnimation();
292
+ }, Te = () => {
293
+ var t;
294
+ (t = M.value) == null || t.stopAnimation();
295
+ }, Oe = (t, e) => nt(t, e), Re = async (t) => {
296
+ const e = Oe(t, R.value);
297
+ if (Y.value = e, console.log("bladeObjUrl", T.value), e && e.parent && T.value) {
298
+ const o = await bt(T.value);
299
+ o.name = "blade_clone", e.parent.add(o), o.position.copy(e.position), o.rotation.copy(e.rotation), o.scale.copy(e.scale), e.visible = !1, ne.value = o;
300
+ } else
301
+ R.value && console.warn(`在 Blade '${R.value}' 中未找到可替换的网格或其没有父级。`);
302
+ };
303
+ X(() => f.fileBlobs, (t) => {
304
+ if (t && t.length > 0) {
305
+ const e = t[0];
306
+ if (!e.name.toLowerCase().endsWith(".urdf"))
307
+ return;
308
+ u(e).then((o) => {
309
+ w.value = o, o && Re(o);
310
+ }).catch((o) => {
311
+ console.error("加载URDF文件时发生错误:", o), _.error("加载urdf模型失败"), w.value = null;
312
+ });
313
+ } else
314
+ w.value = null;
315
+ }, {
316
+ immediate: !0,
317
+ deep: !0
318
+ }), X(w, (t) => {
319
+ K(t ? [t] : []), ke();
320
+ });
321
+ const Se = () => {
322
+ q(), me(() => {
323
+ c.value && (ee = new ResizeObserver(ae), ee.observe(c.value));
324
+ });
325
+ const t = D();
326
+ J.value = t.scene;
327
+ }, Fe = () => {
328
+ v.value = "", P.value = "", ee && ee.disconnect(), m.value && H(), oe(), Ue();
329
+ };
330
+ let ee = null;
331
+ return Me(async () => {
332
+ await me();
333
+ try {
334
+ Se();
335
+ } catch (t) {
336
+ console.error("Three.js 初始化失败:", t), _.error("渲染引擎初始化失败!");
337
+ }
338
+ }), Ee(() => {
339
+ Fe();
340
+ }), (t, e) => {
341
+ const o = G("el-scrollbar"), Ne = G("PipeAnalysisPanel");
342
+ return g(), x("div", gt, [
343
+ I(n("div", {
344
+ ref_key: "threejsContainer",
345
+ ref: c,
346
+ class: "threejs-container"
347
+ }, null, 512), [
348
+ [W, Le.value]
349
+ ]),
350
+ n("div", ht, [
351
+ s(y, {
352
+ name: "viewReset",
353
+ size: "24",
354
+ onClick: z(Z),
355
+ title: "重置"
356
+ }, null, 8, ["onClick"]),
357
+ s(y, {
358
+ name: "fangda",
359
+ size: "24",
360
+ title: "放大",
361
+ onClick: z(b)
362
+ }, null, 8, ["onClick"]),
363
+ s(y, {
364
+ name: "suoxiao",
365
+ size: "24",
366
+ title: "缩小",
367
+ onClick: z(A)
368
+ }, null, 8, ["onClick"]),
369
+ s(y, {
370
+ name: "lookAround",
371
+ size: "24",
372
+ onClick: z(p),
373
+ title: z(m) ? "停止动画" : "动画视图"
374
+ }, null, 8, ["onClick", "title"]),
375
+ s(y, {
376
+ name: "zuobiaoxi",
377
+ size: "24",
378
+ active: z(a),
379
+ onClick: xe,
380
+ title: "显隐坐标轴"
381
+ }, null, 8, ["active"])
382
+ ]),
383
+ n("div", yt, [
384
+ ve(t.$slots, "button-left", { switchRightPanel: Q }, void 0, !0),
385
+ s(y, {
386
+ name: "jiegoushu",
387
+ size: "24",
388
+ onClick: e[0] || (e[0] = ($) => Q("场景树")),
389
+ active: C.value && v.value === "场景树",
390
+ title: "场景树"
391
+ }, null, 8, ["active"]),
392
+ s(y, {
393
+ name: "clipping",
394
+ size: "24",
395
+ onClick: e[1] || (e[1] = ($) => Q("剖面视图")),
396
+ active: C.value && v.value === "剖面视图",
397
+ title: "剖面视图"
398
+ }, null, 8, ["active"]),
399
+ s(y, {
400
+ name: "donghuafangzhen",
401
+ size: "24",
402
+ onClick: e[2] || (e[2] = ($) => Q("工件树")),
403
+ active: C.value && v.value === "工件树"
404
+ }, null, 8, ["active"])
405
+ ]),
406
+ n("div", _t, [
407
+ ve(t.$slots, "button-right", { switchRightPanel: ce }, void 0, !0),
408
+ s(y, {
409
+ name: "jichuangxuanze",
410
+ size: "24",
411
+ onClick: e[3] || (e[3] = ($) => ce("机床控制")),
412
+ active: d.value && P.value === "机床控制",
413
+ title: "机床控制"
414
+ }, null, 8, ["active"]),
415
+ s(y, {
416
+ name: "donghuafangzhen",
417
+ size: "24",
418
+ title: "动画仿真",
419
+ onClick: e[4] || (e[4] = ($) => ce("动画仿真")),
420
+ active: d.value && P.value === "动画仿真"
421
+ }, null, 8, ["active"])
422
+ ]),
423
+ n("div", kt, [
424
+ s(y, {
425
+ name: "bofang",
426
+ size: "24",
427
+ backgroundColor: "#ffffff",
428
+ title: "播放",
429
+ onClick: Ve
430
+ }),
431
+ s(y, {
432
+ name: "zanting",
433
+ size: "24",
434
+ backgroundColor: "#ffffff",
435
+ title: "暂停",
436
+ onClick: $e
437
+ }),
438
+ s(y, {
439
+ name: "zhongzhi",
440
+ size: "24",
441
+ backgroundColor: "#ffffff",
442
+ title: "停止",
443
+ onClick: Te
444
+ })
445
+ ]),
446
+ I(n("div", Ct, [
447
+ n("div", Pt, [
448
+ n("span", null, L(v.value), 1),
449
+ n("span", {
450
+ class: "close",
451
+ onClick: e[5] || (e[5] = ($) => C.value = !1)
452
+ }, " X ")
453
+ ]),
454
+ n("div", wt, [
455
+ s(o, { height: "100%" }, {
456
+ default: le(() => {
457
+ var $;
458
+ return [
459
+ v.value === "场景树" ? (g(), de(tt, {
460
+ key: 0,
461
+ model: w.value
462
+ }, null, 8, ["model"])) : U("", !0),
463
+ v.value === "剖面视图" ? (g(), de(We, {
464
+ key: 1,
465
+ value: z(E),
466
+ onChange: je
467
+ }, null, 8, ["value"])) : U("", !0),
468
+ v.value === "工件树" ? (g(), de(qe, {
469
+ key: 2,
470
+ model: ($ = z(Ce)) == null ? void 0 : $.obj,
471
+ onVisibleChange: z(Pe),
472
+ onUpdatePosition: z(we),
473
+ onUpdateRotation: z(ze)
474
+ }, null, 8, ["model", "onVisibleChange", "onUpdatePosition", "onUpdateRotation"])) : U("", !0)
475
+ ];
476
+ }),
477
+ _: 1
478
+ })
479
+ ])
480
+ ], 512), [
481
+ [W, C.value]
482
+ ]),
483
+ I(n("div", zt, [
484
+ n("div", Ut, [
485
+ n("span", null, L(P.value), 1),
486
+ n("span", {
487
+ class: "close",
488
+ onClick: e[6] || (e[6] = ($) => d.value = !1)
489
+ }, " X ")
490
+ ]),
491
+ n("div", xt, [
492
+ s(o, { height: "100%" }, {
493
+ default: le(() => [
494
+ I(s(lt, { model: w.value }, null, 8, ["model"]), [
495
+ [W, P.value === "机床控制"]
496
+ ]),
497
+ I(s(be, {
498
+ model: w.value,
499
+ scene: J.value,
500
+ xyzbcList: j.value,
501
+ ref_key: "urdfAnimationPanelRef",
502
+ ref: M
503
+ }, null, 8, ["model", "scene", "xyzbcList"]), [
504
+ [W, P.value === "动画仿真"]
505
+ ]),
506
+ ve(t.$slots, "right-panel", { rightPanelType: P.value }, void 0, !0)
507
+ ]),
508
+ _: 3
509
+ })
510
+ ])
511
+ ], 512), [
512
+ [W, d.value]
513
+ ]),
514
+ h.value ? (g(), x("div", jt, [
515
+ e[7] || (e[7] = n("div", { class: "loading-spinner" }, null, -1)),
516
+ n("p", null, L(O.value), 1)
517
+ ])) : U("", !0),
518
+ Ae.value ? (g(), x("div", At, [
519
+ ue.value ? (g(), x("div", Lt, [
520
+ e[8] || (e[8] = n("div", { class: "item-label" }, "厂家:", -1)),
521
+ n("div", Vt, L(ue.value), 1)
522
+ ])) : U("", !0),
523
+ ie.value ? (g(), x("div", $t, [
524
+ e[9] || (e[9] = n("div", { class: "item-label" }, "型号:", -1)),
525
+ n("div", Tt, L(ie.value), 1)
526
+ ])) : U("", !0),
527
+ re.value ? (g(), x("div", Ot, [
528
+ e[10] || (e[10] = n("div", { class: "item-label" }, "编号:", -1)),
529
+ n("div", Rt, L(re.value), 1)
530
+ ])) : U("", !0)
531
+ ])) : U("", !0),
532
+ s(Ne, { ref: "pipeAnalysisPanelRef" }, null, 512)
533
+ ]);
534
+ };
535
+ }
536
+ }), Yt = /* @__PURE__ */ he(St, [["__scopeId", "data-v-54d53d1f"]]);
537
+ export {
538
+ Yt as default
539
+ };