ss-component-new 1.3.658 → 1.3.660

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 (83) hide show
  1. package/dist/_plugin-vue_export-helper-BZ_eTSzz.js +16638 -0
  2. package/dist/config.js +1 -1
  3. package/dist/{index-ChNfRlIP.js → index-BofWylNB.js} +42 -18
  4. package/dist/index-C5rFKP3J.js +1042 -0
  5. package/dist/index-CLw1Ncst.js +181 -0
  6. package/dist/index-Cz0F1nRr.js +8236 -0
  7. package/dist/index-p2dYw5GI.js +49 -0
  8. package/dist/{index.vue_vue_type_script_setup_true_lang-DwbHXtUp.js → index.vue_vue_type_script_setup_true_lang-DRzriV-s.js} +2 -2
  9. package/dist/ss-component.css +2 -8
  10. package/dist/ss-component.js +214 -67
  11. package/dist/ss-component2.js +15 -75
  12. package/dist/ss-component3.js +785 -9
  13. package/package.json +4 -4
  14. package/public/config.js +1 -1
  15. package/dist/MTLLoader-DI0avKtj.js +0 -657
  16. package/dist/URDFLoader-PUxvYFDe.js +0 -2304
  17. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  18. package/dist/animationData-05aVUytq.js +0 -83
  19. package/dist/array-ZM04o_us.js +0 -1044
  20. package/dist/clone-Ddn1p6-1.js +0 -8
  21. package/dist/eleIcon-BWVKfp5t.js +0 -29
  22. package/dist/iconfont-BNdGaGPn.js +0 -1018
  23. package/dist/icons/svg/Update.svg +0 -1
  24. package/dist/icons/svg/functionList.svg +0 -1
  25. package/dist/icons/svg/uploadCopy.svg +0 -1
  26. package/dist/index-9ruiIh9Q.js +0 -30
  27. package/dist/index-BAenzdfB.js +0 -83
  28. package/dist/index-BDhIWgKn.js +0 -658
  29. package/dist/index-BFqUz4pN.js +0 -52
  30. package/dist/index-BIAWyba9.js +0 -2623
  31. package/dist/index-BKJ5SfU0.js +0 -98
  32. package/dist/index-BMr09Ruf.js +0 -107
  33. package/dist/index-BOGJMjxF.js +0 -117
  34. package/dist/index-BP1mKUQP.js +0 -627
  35. package/dist/index-BczRQX8N.js +0 -407
  36. package/dist/index-BnrvtCYj.js +0 -55
  37. package/dist/index-Bpr501oZ.js +0 -78
  38. package/dist/index-Bs7vFXNW.js +0 -93
  39. package/dist/index-BvbZiTVB.js +0 -342
  40. package/dist/index-Bvvz41NY.js +0 -44
  41. package/dist/index-C2YKgxwc.js +0 -61990
  42. package/dist/index-C9DBY1gg.js +0 -103
  43. package/dist/index-CFFbhR3G.js +0 -996
  44. package/dist/index-COr2mcbl.js +0 -48
  45. package/dist/index-CV_jQDcg.js +0 -9
  46. package/dist/index-CXe4q28L.js +0 -447
  47. package/dist/index-CsxH-GEh.js +0 -24847
  48. package/dist/index-D-5v1Jx7.js +0 -93
  49. package/dist/index-D4LcEpQ7.js +0 -619
  50. package/dist/index-DGObzWyL.js +0 -8984
  51. package/dist/index-DJ59jXR0.js +0 -28483
  52. package/dist/index-DJrzqi4-.js +0 -209
  53. package/dist/index-D_kI6aHR.js +0 -98
  54. package/dist/index-Ddhx18T9.js +0 -864
  55. package/dist/index-Dr9Wt5nC.js +0 -84
  56. package/dist/index-Dwt0Wlg_.js +0 -201
  57. package/dist/index-EGwObkob.js +0 -468
  58. package/dist/index-WPJbEuld.js +0 -62
  59. package/dist/index-YVR3acYT.js +0 -61
  60. package/dist/index-dD-mKgue.js +0 -27
  61. package/dist/index-lHjuVdOp.js +0 -11773
  62. package/dist/index-uF-ibwG0.js +0 -9
  63. package/dist/index.vue_vue_type_style_index_0_scoped_39e1db95_lang-CG9X8aa2.js +0 -137728
  64. package/dist/isString-CoCw_sp3.js +0 -8
  65. package/dist/localIcon-CoJHw5ss.js +0 -76
  66. package/dist/main-Bs7Y7gDm.js +0 -502
  67. package/dist/menuIndex-Dt0NyAyE.js +0 -159
  68. package/dist/request-DiogHwkN.js +0 -9465
  69. package/dist/threeModel-C3x2TmUN.js +0 -1108
  70. package/dist/threePreview-BHLSA5YS.js +0 -2259
  71. package/dist/threeSceneView-mfAIunaw.js +0 -1289
  72. package/dist/threeSceneViewForCPMPIP-DrnsTNPv.js +0 -538
  73. package/dist/threeTrackPathView-BR8-g2Tr.js +0 -620
  74. package/dist/threeViewerHost-DbJCLcbz.js +0 -233
  75. package/dist/urdfTree-IEJgkVzs.js +0 -254
  76. package/dist/workpieceTreePanel-aZV2ut3W.js +0 -555
  77. package/public/icons/svg/Update.svg +0 -1
  78. package/public/icons/svg/functionList.svg +0 -1
  79. package/public/icons/svg/uploadCopy.svg +0 -1
  80. /package/dist/icons/svg/{tableClose.svg → table-close.svg} +0 -0
  81. /package/dist/icons/svg/{tableExpand.svg → table-expand.svg} +0 -0
  82. /package/public/icons/svg/{tableClose.svg → table-close.svg} +0 -0
  83. /package/public/icons/svg/{tableExpand.svg → table-expand.svg} +0 -0
@@ -1,538 +0,0 @@
1
- import { defineComponent as ge, ref as r, computed as k, watch as X, onUnmounted as De, resolveComponent as G, openBlock as g, createElementBlock as x, createElementVNode as n, createVNode as s, toDisplayString as L, Fragment as Be, renderList as Je, createCommentVNode as U, 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-DbJCLcbz.js";
3
- import { u as Ge, a as He, b as Ie, T as y, C as We } from "./iconfont-BNdGaGPn.js";
4
- import { U as Xe, u as Ye, W as Ze, a as qe } from "./workpieceTreePanel-aZV2ut3W.js";
5
- import { c as Ke } from "./index-DGObzWyL.js";
6
- import "./index.vue_vue_type_style_index_0_scoped_39e1db95_lang-CG9X8aa2.js";
7
- import { _ as fe } from "./index.vue_vue_type_script_setup_true_lang-DwbHXtUp.js";
8
- import { g as Qe, b as et, U as tt, J as lt, d as nt } from "./urdfTree-IEJgkVzs.js";
9
- import { E as _ } from "./request-DiogHwkN.js";
10
- import { _ as he } from "./_plugin-vue_export-helper-CHgC5LLL.js";
11
- import { i as at } from "./animationData-05aVUytq.js";
12
- import { O as ot } from "./MTLLoader-DI0avKtj.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
- }, 8, ["modelValue"])
208
- ]);
209
- };
210
- }
211
- }), 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 = {
212
- key: 0,
213
- class: "loading-overlay"
214
- }, At = {
215
- key: 1,
216
- class: "brand"
217
- }, Lt = {
218
- key: 0,
219
- class: "brand-item"
220
- }, Vt = { class: "item-value" }, $t = {
221
- key: 1,
222
- class: "brand-item"
223
- }, Tt = { class: "item-value" }, Ot = {
224
- key: 2,
225
- class: "brand-item"
226
- }, Rt = { class: "item-value" }, St = /* @__PURE__ */ ge({
227
- __name: "threeSceneViewForCPMPIP",
228
- props: {
229
- fileBlobs: { default: () => [] },
230
- threeData: {}
231
- },
232
- setup(S) {
233
- const f = S, j = r([]), i = k(() => {
234
- var e, o;
235
- return (o = (e = f == null ? void 0 : f.threeData) == null ? void 0 : e.data) == null ? void 0 : o.csvUrl;
236
- });
237
- X(() => i.value, async () => {
238
- if (console.log("csvUrl", i.value), i.value) {
239
- const t = await at(i.value);
240
- j.value = t;
241
- }
242
- }, {
243
- immediate: !0
244
- });
245
- const T = k(() => {
246
- var e, o;
247
- return (o = (e = f == null ? void 0 : f.threeData) == null ? void 0 : e.data) == null ? void 0 : o.bladeObjUrl;
248
- }), 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), {
249
- currentModels: N,
250
- resetView: Z,
251
- initThreeJS: q,
252
- handleResize: ae,
253
- getThreeJSObjects: D,
254
- cleanup: oe,
255
- setAndFitModels: K,
256
- axesHelperVisible: a,
257
- toggleAxesVisibility: l,
258
- zoomIn: b,
259
- zoomOut: A
260
- } = Ge(c), { loadSceneFromFile: u } = qe(
261
- D,
262
- N,
263
- h,
264
- O
265
- ), { 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 = () => {
266
- l();
267
- }, je = (t) => {
268
- E.value = t, _e();
269
- }, V = k(() => {
270
- var e, o;
271
- return (o = (e = f == null ? void 0 : f.threeData) == null ? void 0 : e.data) == null ? void 0 : o.machine;
272
- }), ie = k(() => {
273
- var e;
274
- return (e = V == null ? void 0 : V.value) == null ? void 0 : e.modelNumber;
275
- }), re = k(() => {
276
- var e;
277
- return (e = V == null ? void 0 : V.value) == null ? void 0 : e.serialNumber;
278
- }), ue = k(() => {
279
- var e;
280
- return (e = V == null ? void 0 : V.value) == null ? void 0 : e.manufacturer;
281
- }), Ae = k(() => ie.value || re.value || ue.value), Le = k(() => F.value === pe.ROBOT), Q = (t) => {
282
- C.value = !0, v.value = t, t === "剖面视图" && !se.value && ye();
283
- }, ce = (t) => {
284
- d.value = !0, P.value = t;
285
- }, Ve = () => {
286
- var t;
287
- (t = M.value) == null || t.handlePlayPause();
288
- }, $e = () => {
289
- var t;
290
- (t = M.value) == null || t.pauseAnimation();
291
- }, Te = () => {
292
- var t;
293
- (t = M.value) == null || t.stopAnimation();
294
- }, Oe = (t, e) => nt(t, e), Re = async (t) => {
295
- const e = Oe(t, R.value);
296
- if (Y.value = e, console.log("bladeObjUrl", T.value), e && e.parent && T.value) {
297
- const o = await bt(T.value);
298
- 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;
299
- } else
300
- R.value && console.warn(`在 Blade '${R.value}' 中未找到可替换的网格或其没有父级。`);
301
- };
302
- X(() => f.fileBlobs, (t) => {
303
- if (t && t.length > 0) {
304
- const e = t[0];
305
- if (!e.name.toLowerCase().endsWith(".urdf"))
306
- return;
307
- u(e).then((o) => {
308
- w.value = o, o && Re(o);
309
- }).catch((o) => {
310
- console.error("加载URDF文件时发生错误:", o), _.error("加载urdf模型失败"), w.value = null;
311
- });
312
- } else
313
- w.value = null;
314
- }, {
315
- immediate: !0,
316
- deep: !0
317
- }), X(w, (t) => {
318
- K(t ? [t] : []), ke();
319
- });
320
- const Se = () => {
321
- q(), me(() => {
322
- c.value && (ee = new ResizeObserver(ae), ee.observe(c.value));
323
- });
324
- const t = D();
325
- J.value = t.scene;
326
- }, Fe = () => {
327
- v.value = "", P.value = "", ee && ee.disconnect(), m.value && H(), oe(), Ue();
328
- };
329
- let ee = null;
330
- return Me(async () => {
331
- await me();
332
- try {
333
- Se();
334
- } catch (t) {
335
- console.error("Three.js 初始化失败:", t), _.error("渲染引擎初始化失败!");
336
- }
337
- }), Ee(() => {
338
- Fe();
339
- }), (t, e) => {
340
- const o = G("el-scrollbar"), Ne = G("PipeAnalysisPanel");
341
- return g(), x("div", gt, [
342
- I(n("div", {
343
- ref_key: "threejsContainer",
344
- ref: c,
345
- class: "threejs-container"
346
- }, null, 512), [
347
- [W, Le.value]
348
- ]),
349
- n("div", ht, [
350
- s(y, {
351
- name: "viewReset",
352
- size: "24",
353
- onClick: z(Z),
354
- title: "重置"
355
- }, null, 8, ["onClick"]),
356
- s(y, {
357
- name: "fangda",
358
- size: "24",
359
- title: "放大",
360
- onClick: z(b)
361
- }, null, 8, ["onClick"]),
362
- s(y, {
363
- name: "suoxiao",
364
- size: "24",
365
- title: "缩小",
366
- onClick: z(A)
367
- }, null, 8, ["onClick"]),
368
- s(y, {
369
- name: "lookAround",
370
- size: "24",
371
- onClick: z(p),
372
- title: z(m) ? "停止动画" : "动画视图"
373
- }, null, 8, ["onClick", "title"]),
374
- s(y, {
375
- name: "zuobiaoxi",
376
- size: "24",
377
- active: z(a),
378
- onClick: xe,
379
- title: "显隐坐标轴"
380
- }, null, 8, ["active"])
381
- ]),
382
- n("div", yt, [
383
- ve(t.$slots, "button-left", { switchRightPanel: Q }, void 0, !0),
384
- s(y, {
385
- name: "jiegoushu",
386
- size: "24",
387
- onClick: e[0] || (e[0] = ($) => Q("场景树")),
388
- active: C.value && v.value === "场景树",
389
- title: "场景树"
390
- }, null, 8, ["active"]),
391
- s(y, {
392
- name: "clipping",
393
- size: "24",
394
- onClick: e[1] || (e[1] = ($) => Q("剖面视图")),
395
- active: C.value && v.value === "剖面视图",
396
- title: "剖面视图"
397
- }, null, 8, ["active"]),
398
- s(y, {
399
- name: "donghuafangzhen",
400
- size: "24",
401
- onClick: e[2] || (e[2] = ($) => Q("工件树")),
402
- active: C.value && v.value === "工件树"
403
- }, null, 8, ["active"])
404
- ]),
405
- n("div", _t, [
406
- ve(t.$slots, "button-right", { switchRightPanel: ce }, void 0, !0),
407
- s(y, {
408
- name: "jichuangxuanze",
409
- size: "24",
410
- onClick: e[3] || (e[3] = ($) => ce("机床控制")),
411
- active: d.value && P.value === "机床控制",
412
- title: "机床控制"
413
- }, null, 8, ["active"]),
414
- s(y, {
415
- name: "donghuafangzhen",
416
- size: "24",
417
- title: "动画仿真",
418
- onClick: e[4] || (e[4] = ($) => ce("动画仿真")),
419
- active: d.value && P.value === "动画仿真"
420
- }, null, 8, ["active"])
421
- ]),
422
- n("div", kt, [
423
- s(y, {
424
- name: "bofang",
425
- size: "24",
426
- backgroundColor: "#ffffff",
427
- title: "播放",
428
- onClick: Ve
429
- }),
430
- s(y, {
431
- name: "zanting",
432
- size: "24",
433
- backgroundColor: "#ffffff",
434
- title: "暂停",
435
- onClick: $e
436
- }),
437
- s(y, {
438
- name: "zhongzhi",
439
- size: "24",
440
- backgroundColor: "#ffffff",
441
- title: "停止",
442
- onClick: Te
443
- })
444
- ]),
445
- I(n("div", Ct, [
446
- n("div", Pt, [
447
- n("span", null, L(v.value), 1),
448
- n("span", {
449
- class: "close",
450
- onClick: e[5] || (e[5] = ($) => C.value = !1)
451
- }, " X ")
452
- ]),
453
- n("div", wt, [
454
- s(o, { height: "100%" }, {
455
- default: le(() => {
456
- var $;
457
- return [
458
- v.value === "场景树" ? (g(), de(tt, {
459
- key: 0,
460
- model: w.value
461
- }, null, 8, ["model"])) : U("", !0),
462
- v.value === "剖面视图" ? (g(), de(We, {
463
- key: 1,
464
- value: z(E),
465
- onChange: je
466
- }, null, 8, ["value"])) : U("", !0),
467
- v.value === "工件树" ? (g(), de(Ze, {
468
- key: 2,
469
- model: ($ = z(Ce)) == null ? void 0 : $.obj,
470
- onVisibleChange: z(Pe),
471
- onUpdatePosition: z(we),
472
- onUpdateRotation: z(ze)
473
- }, null, 8, ["model", "onVisibleChange", "onUpdatePosition", "onUpdateRotation"])) : U("", !0)
474
- ];
475
- }),
476
- _: 1
477
- })
478
- ])
479
- ], 512), [
480
- [W, C.value]
481
- ]),
482
- I(n("div", zt, [
483
- n("div", Ut, [
484
- n("span", null, L(P.value), 1),
485
- n("span", {
486
- class: "close",
487
- onClick: e[6] || (e[6] = ($) => d.value = !1)
488
- }, " X ")
489
- ]),
490
- n("div", xt, [
491
- s(o, { height: "100%" }, {
492
- default: le(() => [
493
- I(s(lt, { model: w.value }, null, 8, ["model"]), [
494
- [W, P.value === "机床控制"]
495
- ]),
496
- I(s(be, {
497
- model: w.value,
498
- scene: J.value,
499
- xyzbcList: j.value,
500
- ref_key: "urdfAnimationPanelRef",
501
- ref: M
502
- }, null, 8, ["model", "scene", "xyzbcList"]), [
503
- [W, P.value === "动画仿真"]
504
- ]),
505
- ve(t.$slots, "right-panel", { rightPanelType: P.value }, void 0, !0)
506
- ]),
507
- _: 3
508
- })
509
- ])
510
- ], 512), [
511
- [W, d.value]
512
- ]),
513
- h.value ? (g(), x("div", jt, [
514
- e[7] || (e[7] = n("div", { class: "loading-spinner" }, null, -1)),
515
- n("p", null, L(O.value), 1)
516
- ])) : U("", !0),
517
- Ae.value ? (g(), x("div", At, [
518
- ue.value ? (g(), x("div", Lt, [
519
- e[8] || (e[8] = n("div", { class: "item-label" }, "厂家:", -1)),
520
- n("div", Vt, L(ue.value), 1)
521
- ])) : U("", !0),
522
- ie.value ? (g(), x("div", $t, [
523
- e[9] || (e[9] = n("div", { class: "item-label" }, "型号:", -1)),
524
- n("div", Tt, L(ie.value), 1)
525
- ])) : U("", !0),
526
- re.value ? (g(), x("div", Ot, [
527
- e[10] || (e[10] = n("div", { class: "item-label" }, "编号:", -1)),
528
- n("div", Rt, L(re.value), 1)
529
- ])) : U("", !0)
530
- ])) : U("", !0),
531
- s(Ne, { ref: "pipeAnalysisPanelRef" }, null, 512)
532
- ]);
533
- };
534
- }
535
- }), Yt = /* @__PURE__ */ he(St, [["__scopeId", "data-v-54d53d1f"]]);
536
- export {
537
- Yt as default
538
- };