ss-component-new 1.2.97 → 1.2.99

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 (97) hide show
  1. package/dist/MTLLoader-B4z0XNO-.js +304 -0
  2. package/dist/MTLLoader-n_3HPhif.cjs +2 -0
  3. package/dist/OBJLoader-C_JaUegI.cjs +5 -0
  4. package/dist/OBJLoader-Dilcv9TL.js +356 -0
  5. package/dist/{OrbitControls-B85G8nPk.cjs → OrbitControls-8LBwRzcq.cjs} +1 -1
  6. package/dist/{OrbitControls-DFhYzlF3.js → OrbitControls-Cz47Q27N.js} +1 -1
  7. package/dist/{animationData-DfKVkFbz.js → animationData-C8lM4zZj.js} +1 -1
  8. package/dist/{animationData-DxBvEqB1.cjs → animationData-CKcPDmLp.cjs} +1 -1
  9. package/dist/{iconfont-C7kE-QbU.cjs → iconfont-B1cUqs_N.cjs} +1 -1
  10. package/dist/{iconfont-WOKNi2xx.js → iconfont-CUWS5tNH.js} +2 -2
  11. package/dist/{index-D0hovh9R.cjs → index-2hqZ_tND.cjs} +1 -1
  12. package/dist/{index-331j518H.cjs → index-AuEh0RiU.cjs} +1 -1
  13. package/dist/{index-D_igus4A.cjs → index-B2UPNwqJ.cjs} +1 -1
  14. package/dist/{index-BYk9Fb6p.js → index-BCvmfE-Q.js} +3 -3
  15. package/dist/{index-DeOwZgqL.js → index-BDw8DIQx.js} +130 -130
  16. package/dist/{index-CqI3frdZ.js → index-BPv8txj6.js} +6 -6
  17. package/dist/{index-DgZVeYqH.js → index-BQaejVqo.js} +1 -1
  18. package/dist/{index-DSPjcpWK.cjs → index-Ba16ouw0.cjs} +1 -1
  19. package/dist/{index-D_RGoDln.js → index-BaSO3EEl.js} +3 -3
  20. package/dist/{index-DHZMd8iK.cjs → index-BdSiNUC0.cjs} +1 -1
  21. package/dist/{index-BDxPlbe2.cjs → index-BfU8GMj1.cjs} +1 -1
  22. package/dist/{index-Cppt0AsF.cjs → index-BjKKDSDx.cjs} +1 -1
  23. package/dist/{index-C-dlFxRJ.cjs → index-BqgfejIC.cjs} +1 -1
  24. package/dist/{index-BODyH6MD.js → index-BxONUPjM.js} +1 -1
  25. package/dist/{index-BFzMf0GC.js → index-Byp3gJNW.js} +1 -1
  26. package/dist/{index-DJ6qg2Mo.js → index-C7ZsHeLt.js} +3 -3
  27. package/dist/{index-B-AhHUV1.js → index-C9p_wwJ7.js} +6 -6
  28. package/dist/{index-BoTiP0aV.js → index-CKlt750z.js} +1 -1
  29. package/dist/{index-CQRJ3pLh.cjs → index-CQwDw3-2.cjs} +1 -1
  30. package/dist/{index-hhS08X8b.js → index-CR1Ng5ip.js} +3 -3
  31. package/dist/{index-D6u590uA.cjs → index-CZIqVNof.cjs} +1 -1
  32. package/dist/{index-iErxMZBi.cjs → index-C_208RkZ.cjs} +1 -1
  33. package/dist/{index-S1LIIzCa.cjs → index-CqZ1E-Mt.cjs} +1 -1
  34. package/dist/{index-DHjtOySN.js → index-CrNsPd4D.js} +2 -2
  35. package/dist/{index-DrzK0O_g.cjs → index-CvQCAGWI.cjs} +1 -1
  36. package/dist/{index-Cnk_4Zz5.cjs → index-CyCcPnZb.cjs} +1 -1
  37. package/dist/{index-BI7g3c_u.js → index-CyE5qCBb.js} +13 -13
  38. package/dist/{index-DHBoRe9V.cjs → index-D32pAhQk.cjs} +1 -1
  39. package/dist/{index-DRfVnLTN.js → index-DAUjjqaD.js} +391 -391
  40. package/dist/{index-DbDM-XfB.cjs → index-DQTlc6Gq.cjs} +1 -1
  41. package/dist/{index-B_zjoT4m.js → index-DTilOAv_.js} +2 -2
  42. package/dist/{index-_PP-dSm3.cjs → index-D_22J0ok.cjs} +1 -1
  43. package/dist/{index-iZ9BRKg5.js → index-DboUMA_C.js} +1 -1
  44. package/dist/{index-BXv3aZ7v.js → index-DgMQpO6g.js} +1 -1
  45. package/dist/{index-CPAXrzNY.cjs → index-Dh6GqpZF.cjs} +1 -1
  46. package/dist/{index-CZPnP0uy.cjs → index-DhqEoDPT.cjs} +1 -1
  47. package/dist/{index-CeGM8aBH.js → index-DlwlGkyt.js} +2 -2
  48. package/dist/{index-6sZXjGGz.cjs → index-DtDmxPdD.cjs} +1 -1
  49. package/dist/{index-kLDMroPk.js → index-GxmJC9kr.js} +1 -1
  50. package/dist/{index-CLOUp_4j.cjs → index-XKn5AuYT.cjs} +1 -1
  51. package/dist/{index-Cr5if46q.js → index-mEKMjplD.js} +1 -1
  52. package/dist/{index-Bhha7SY3.js → index-vglZ0qjT.js} +1 -1
  53. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DSlAeFA3.cjs → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DKwCF412.cjs} +1 -1
  54. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-ERjMISIK.js → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DqIuWlps.js} +6 -6
  55. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-3GcG1eTD.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CICG8Qah.js} +8908 -8949
  56. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Dzyqt2Z-.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-K6lh7Rrj.cjs} +302 -302
  57. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-mJB_yl_P.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-Cpyo5jke.js} +3 -3
  58. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-DODc2KPN.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-Cq8VF9uK.cjs} +1 -1
  59. package/dist/{index.vue_vue_type_style_index_1_lang-BH0DRFVE.js → index.vue_vue_type_style_index_1_lang-B_HCEX9y.js} +6 -5
  60. package/dist/{index.vue_vue_type_style_index_1_lang-BRFs_L5R.cjs → index.vue_vue_type_style_index_1_lang-rTLLuvuo.cjs} +5 -5
  61. package/dist/loaderUtil-B0djdt91.js +5 -0
  62. package/dist/loaderUtil-CaWWb8db.cjs +1 -0
  63. package/dist/{main-Z5UMyCj6.js → main-DHx-3OSy.js} +2 -2
  64. package/dist/{main-B541MQH8.cjs → main-DS156sQ4.cjs} +1 -1
  65. package/dist/ss-component.cjs +1 -1
  66. package/dist/ss-component.css +1 -1
  67. package/dist/ss-component.js +9 -9
  68. package/dist/ss-component2.cjs +1 -1
  69. package/dist/ss-component2.js +10 -10
  70. package/dist/{threeModel-tKq0hvaK.cjs → threeModel-CfIK1rQB.cjs} +1 -1
  71. package/dist/{threeModel-BcjGbIJZ.js → threeModel-WYCdw_Ff.js} +4 -4
  72. package/dist/{threePreview-BnPMGQ2H.js → threePreview-C29AR7Mr.js} +310 -305
  73. package/dist/threePreview-Ci8TnUQ8.cjs +1 -0
  74. package/dist/{threeSceneView-DVUTlm6F.cjs → threeSceneView-C2MDCMux.cjs} +2 -2
  75. package/dist/{threeSceneView-BUD002PP.js → threeSceneView-F15mW1mm.js} +7 -7
  76. package/dist/threeSceneViewForCPMPIP-DK4G_ZpP.js +687 -0
  77. package/dist/threeSceneViewForCPMPIP-DuPZn_qv.cjs +5 -0
  78. package/dist/threeTrackPathView-C4eBUMef.cjs +370 -0
  79. package/dist/{threeTrackPathView-DDCEu3Gx.js → threeTrackPathView-DMj6YGxT.js} +436 -427
  80. package/dist/{threeViewerHost-BVeUteVd.js → threeViewerHost-C9ipsMff.js} +2 -2
  81. package/dist/{threeViewerHost-Sda_AoRw.cjs → threeViewerHost-CW6JmOUJ.cjs} +2 -2
  82. package/dist/{urdfTree-Br9VYqKp.cjs → urdfTree-CTiMB7ge.cjs} +1 -1
  83. package/dist/{urdfTree-DaWvX-6R.js → urdfTree-DGEACy9-.js} +1 -1
  84. package/dist/{workpieceTreePanel-BdRaFNRp.js → workpieceTreePanel-C1gy5a8r.js} +53 -52
  85. package/dist/workpieceTreePanel-Ded0Gqke.cjs +1 -0
  86. package/package.json +1 -1
  87. package/dist/MTLLoader-DnouUI-8.js +0 -657
  88. package/dist/MTLLoader-zZDM0NQh.cjs +0 -6
  89. package/dist/obj/model.mtl +0 -42
  90. package/dist/obj/model.obj +0 -26110
  91. package/dist/threePreview-DD0br2ae.cjs +0 -1
  92. package/dist/threeSceneViewForCPMPIP-BYYbyqD7.cjs +0 -5
  93. package/dist/threeSceneViewForCPMPIP-D4RC4BAo.js +0 -683
  94. package/dist/threeTrackPathView-BvUihuyk.cjs +0 -370
  95. package/dist/workpieceTreePanel-Z3aVdOWB.cjs +0 -1
  96. package/public/obj/model.mtl +0 -42
  97. package/public/obj/model.obj +0 -26110
@@ -1,683 +0,0 @@
1
- import { defineComponent as _e, ref as u, computed as w, watch as K, onUnmounted as We, resolveComponent as W, createElementBlock as A, openBlock as z, createElementVNode as t, createCommentVNode as M, createVNode as i, toDisplayString as U, Fragment as Ye, renderList as Ze, withCtx as ae, inject as ke, shallowRef as ie, onMounted as qe, nextTick as Qe, onBeforeUnmount as et, withDirectives as $, vShow as H, unref as v, renderSlot as ue, createBlock as Pe, isRef as re, vModelRadio as de } from "vue";
2
- import { aw as tt } from "./index.vue_vue_type_style_index_1_lang-Cg1p_3ne.js";
3
- import { U as lt, s as we, u as at, a as nt, W as ot } from "./workpieceTreePanel-BdRaFNRp.js";
4
- import { u as st, a as it, b as ut } from "./iconfont-WOKNi2xx.js";
5
- import { c as rt, E as P } from "./index-BUYYl2Pc.js";
6
- import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-3GcG1eTD.js";
7
- import { _ as me } from "./index-DRizRbU3.js";
8
- import { g as dt, b as vt, U as ct, J as pt, d as mt } from "./urdfTree-DaWvX-6R.js";
9
- import { _ as xe } from "./_plugin-vue_export-helper-CHgC5LLL.js";
10
- import { T as k } from "./svgIcon-D-_fXUBL.js";
11
- import { i as ft } from "./animationData-DfKVkFbz.js";
12
- import { O as gt } from "./MTLLoader-DnouUI-8.js";
13
- import { L as bt, j as ht } from "./index-DRfVnLTN.js";
14
- const yt = { class: "panel-content" }, kt = { class: "action-bar" }, Pt = {
15
- key: 0,
16
- class: "animation-controls"
17
- }, wt = { class: "control-row" }, Ct = { class: "control-row" }, _t = { class: "frame-info" }, xt = { class: "control-row" }, Nt = {
18
- key: 1,
19
- class: "empty-state"
20
- }, Ut = { class: "dialog-footer" }, zt = /* @__PURE__ */ _e({
21
- __name: "urdfAnimationPanel",
22
- props: {
23
- model: {},
24
- scene: {},
25
- xyzbcList: {}
26
- },
27
- setup(O, { expose: Y }) {
28
- const T = O, n = u([]), L = u(!1), j = u(""), r = u("stopped"), m = u(0), F = u(0), X = u(10), h = u(null);
29
- let g = 0;
30
- const Z = u([]), q = w(() => T.model ? dt(T.model).map((d) => d.name) : []), B = w(() => [...q.value]), ne = w(() => B.value.length > 0 ? `请按以下格式粘贴数据 (第一行为表头,使用 Tab 分隔):
31
- ${B.value.join(" ")}
32
- 0 0 0 ...
33
- 1 2 3 ...` : "请先加载模型。"), E = w(() => n.value[m.value] || {});
34
- K(() => T.model, (s) => {
35
- s ? (h.value = new lt(s), Z.value = vt(s), m.value = 0) : (h.value = null, Z.value = []);
36
- }, { immediate: !0 });
37
- const J = (s) => {
38
- if (s < 0 || s >= n.value.length) {
39
- console.error(`帧索引 ${s} 超出范围`);
40
- return;
41
- }
42
- const a = n.value[s];
43
- if (h.value) {
44
- const d = {};
45
- q.value.forEach((C) => {
46
- const f = parseFloat(a[C]);
47
- isNaN(f) || (d[C] = f);
48
- }), h.value.setJointAngles(d);
49
- }
50
- m.value = s, F.value = n.value.length > 1 ? s / (n.value.length - 1) * 100 : 100;
51
- }, ve = async (s) => {
52
- try {
53
- for (let a = m.value; a < n.value.length; a++) {
54
- if (s !== g) return;
55
- const d = n.value[a], C = {};
56
- if (h.value)
57
- q.value.forEach((f) => {
58
- const b = parseFloat(d[f]);
59
- isNaN(b) || (C[f] = b);
60
- }), await h.value.animateToState(
61
- C,
62
- X.value,
63
- (f) => {
64
- s === g && (F.value = (a + f) / n.value.length * 100);
65
- }
66
- );
67
- else {
68
- if (await new Promise((f) => setTimeout(f, X.value)), s !== g) return;
69
- F.value = (a + 1) / n.value.length * 100;
70
- }
71
- m.value = a;
72
- }
73
- s === g && (P.success("动画播放完成"), r.value = "stopped", F.value = 100);
74
- } catch (a) {
75
- console.error("动画播放出错:", a), P.error("动画播放出错"), r.value = "stopped";
76
- }
77
- }, G = () => {
78
- if (n.value.length === 0) {
79
- P.error("无动画数据");
80
- return;
81
- }
82
- r.value === "stopped" && (m.value = 0, J(0)), r.value = "playing", g++, ve(g), P.info("动画播放中");
83
- }, Q = () => {
84
- r.value === "playing" && (g++, r.value = "paused", P.info("动画已暂停"));
85
- }, ee = () => {
86
- g++, r.value = "stopped", m.value = 0, F.value = 0, J(0), P.info("动画已停止并重置");
87
- }, D = () => {
88
- r.value === "playing" ? Q() : G();
89
- }, x = (s) => {
90
- g++, r.value = "paused", J(s);
91
- }, I = () => {
92
- if (!j.value.trim()) {
93
- P.warning("导入内容不能为空");
94
- return;
95
- }
96
- const s = j.value.trim().split(`
97
- `).filter((b) => b.trim() !== "");
98
- if (s.length < 2) {
99
- P.error("导入数据至少需要包含表头行和一行数据");
100
- return;
101
- }
102
- const a = s[0].split(" ").map((b) => b.trim()), d = {};
103
- if (a.forEach((b, c) => {
104
- B.value.includes(b) && (d[c] = b);
105
- }), Object.keys(d).length === 0) {
106
- P.error("没有找到匹配的表头,请检查表头名称是否正确");
107
- return;
108
- }
109
- const f = s.slice(1).map((b) => {
110
- const c = b.split(" "), N = {};
111
- return B.value.forEach((S) => {
112
- N[S] = "0";
113
- }), Object.entries(d).forEach(([S, ce]) => {
114
- const te = c[parseInt(S)];
115
- te !== void 0 && te.trim() !== "" && (N[ce] = te.trim());
116
- }), N;
117
- });
118
- f.length > 0 ? (n.value = f, P.success(`成功导入 ${f.length} 行数据!`), L.value = !1, j.value = "", ee()) : P.error("未能解析到有效数据,请检查格式。");
119
- };
120
- K(() => T.xyzbcList, () => {
121
- T.xyzbcList && (n.value = rt(T.xyzbcList));
122
- }, {
123
- immediate: !0
124
- });
125
- const V = (s) => `第 ${s + 1} 帧`;
126
- return Y({
127
- handlePlayPause: D,
128
- playAnimation: G,
129
- pauseAnimation: Q,
130
- stopAnimation: ee
131
- }), We(() => {
132
- g++;
133
- }), (s, a) => {
134
- const d = W("el-input-number"), C = W("el-slider"), f = W("el-input"), b = W("el-dialog");
135
- return z(), A("div", yt, [
136
- t("div", kt, [
137
- i(me, {
138
- onClick: a[0] || (a[0] = (c) => L.value = !0),
139
- disabled: B.value.length === 0,
140
- modelValue: "导入数据"
141
- }, null, 8, ["disabled"])
142
- ]),
143
- n.value.length > 0 ? (z(), A("div", Pt, [
144
- t("div", wt, [
145
- a[6] || (a[6] = t("label", null, "帧间隔 (ms):", -1)),
146
- i(d, {
147
- modelValue: X.value,
148
- "onUpdate:modelValue": a[1] || (a[1] = (c) => X.value = c),
149
- min: 10,
150
- max: 5e3,
151
- step: 100,
152
- size: "small",
153
- style: { width: "120px" }
154
- }, null, 8, ["modelValue"])
155
- ]),
156
- t("div", Ct, [
157
- a[7] || (a[7] = t("label", null, "当前帧:", -1)),
158
- t("span", _t, U(m.value + 1) + " / " + U(n.value.length), 1)
159
- ]),
160
- t("div", xt, [
161
- a[8] || (a[8] = t("label", null, "动画进度:", -1)),
162
- i(C, {
163
- modelValue: m.value,
164
- "onUpdate:modelValue": a[2] || (a[2] = (c) => m.value = c),
165
- min: 0,
166
- max: n.value.length > 0 ? n.value.length - 1 : 0,
167
- step: 1,
168
- "format-tooltip": V,
169
- onInput: x,
170
- disabled: n.value.length === 0 || r.value === "playing",
171
- style: { "flex-grow": "1", margin: "0 10px" }
172
- }, null, 8, ["modelValue", "max", "disabled"])
173
- ]),
174
- t("div", null, [
175
- a[9] || (a[9] = t("label", null, "当前帧数据:", -1)),
176
- t("div", null, [
177
- E.value ? (z(!0), A(Ye, { key: 0 }, Ze(E.value, (c, N) => (z(), A("div", { key: N }, U(N) + ": " + U(c), 1))), 128)) : M("", !0)
178
- ])
179
- ])
180
- ])) : M("", !0),
181
- n.value.length === 0 ? (z(), A("div", Nt, a[10] || (a[10] = [
182
- t("p", null, "请先导入数据", -1)
183
- ]))) : M("", !0),
184
- i(b, {
185
- modelValue: L.value,
186
- "onUpdate:modelValue": a[5] || (a[5] = (c) => L.value = c),
187
- title: "导入数据",
188
- width: "500px"
189
- }, {
190
- footer: ae(() => [
191
- t("span", Ut, [
192
- i(me, {
193
- modelValue: "取消",
194
- onClick: a[4] || (a[4] = (c) => L.value = !1)
195
- }),
196
- i(me, {
197
- modelValue: "确认导入",
198
- onClick: I,
199
- type: "primary"
200
- })
201
- ])
202
- ]),
203
- default: ae(() => [
204
- a[11] || (a[11] = t("p", { class: "import-instructions" }, " 请从Excel或CSV中复制数据 (首行为表头, Tab分隔) ", -1)),
205
- i(f, {
206
- modelValue: j.value,
207
- "onUpdate:modelValue": a[3] || (a[3] = (c) => j.value = c),
208
- type: "textarea",
209
- rows: 10,
210
- placeholder: ne.value
211
- }, null, 8, ["modelValue", "placeholder"])
212
- ]),
213
- _: 1,
214
- __: [11]
215
- }, 8, ["modelValue"])
216
- ]);
217
- };
218
- }
219
- }), Ce = /* @__PURE__ */ xe(zt, [["__scopeId", "data-v-06bc34b3"]]), Vt = async (O) => await new gt().loadAsync(O), $t = async (O) => await Vt(O), Tt = { class: "obj-viewer-container" }, Lt = { class: "buttonGroup-topLeft" }, jt = { class: "buttonGroup-left" }, At = { class: "buttonGroup-right" }, Dt = { class: "buttonGroup-bottom" }, St = { class: "top-panel" }, Rt = { class: "panel-header" }, Mt = { class: "panel-body" }, Ot = { class: "left-panel" }, Ft = { class: "panel-header" }, Bt = { class: "panel-body" }, Et = {
220
- key: 1,
221
- class: "clipping-content"
222
- }, Jt = { class: "radio-group" }, It = { class: "radio-label" }, Xt = { class: "radio-label" }, Gt = { class: "radio-label" }, Ht = { class: "radio-label" }, Kt = { class: "right-panel" }, Wt = { class: "panel-header" }, Yt = { class: "panel-body" }, Zt = {
223
- key: 0,
224
- class: "loading-overlay"
225
- }, qt = {
226
- key: 1,
227
- class: "brand"
228
- }, Qt = { class: "brand-item" }, el = { class: "item-value" }, tl = { class: "brand-item" }, ll = { class: "item-value" }, al = { class: "brand-item" }, nl = { class: "item-value" }, ol = /* @__PURE__ */ _e({
229
- __name: "threeSceneViewForCPMPIP",
230
- props: {
231
- fileBlobs: { default: () => [] },
232
- threeData: {}
233
- },
234
- emits: ["getAnimationData", "getThreeData"],
235
- setup(O, { emit: Y }) {
236
- const T = Y, n = O, L = ke("setManagementPageTitle"), j = ke("setManagementPageVisible"), r = w(() => {
237
- var e, o;
238
- return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.machine;
239
- }), m = w(() => {
240
- var e;
241
- return (e = r == null ? void 0 : r.value) == null ? void 0 : e.产品型号;
242
- }), F = w(() => {
243
- var e;
244
- return (e = r == null ? void 0 : r.value) == null ? void 0 : e.编号;
245
- }), X = w(() => {
246
- var e;
247
- return (e = r == null ? void 0 : r.value) == null ? void 0 : e.厂家;
248
- }), h = w(() => {
249
- var e, o;
250
- return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.workpieceInfo;
251
- }), g = w(() => {
252
- var e, o;
253
- return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.knife;
254
- }), Z = u([]), q = async (l) => {
255
- !l || !l.isExtra || (await B(l), L == null || L(l == null ? void 0 : l.pageName), j == null || j(!0));
256
- }, B = bt(async (l) => {
257
- await ht();
258
- const { mainKey: e, baseMenuPath: o } = l || {};
259
- tt(o, e);
260
- }, 500);
261
- K(
262
- () => [m.value, h.value, g.value],
263
- () => {
264
- var y, p, he, ye;
265
- const l = [], e = {
266
- pageName: "机床",
267
- name: "机床",
268
- label: "机床",
269
- type: "机床",
270
- id: "机床",
271
- path: "机床",
272
- baseMenuPath: "设备库/机床",
273
- children: [],
274
- show: !0,
275
- isPenultimate: !1
276
- };
277
- m.value && e.children.push({
278
- isExtra: !0,
279
- pageName: "机床",
280
- mainKey: m.value,
281
- label: m.value,
282
- baseMenuPath: "设备库/机床"
283
- });
284
- const o = {
285
- pageName: "工件",
286
- name: "工件",
287
- label: "工件",
288
- type: "工件",
289
- id: "工件",
290
- path: "工件",
291
- baseMenuPath: "设备库/机床",
292
- children: [],
293
- show: !0,
294
- isPenultimate: !1
295
- };
296
- h.value && o.children.push({
297
- isExtra: !0,
298
- type: (y = h.value) == null ? void 0 : y.type,
299
- pageName: "工件",
300
- mainKey: (p = h.value) == null ? void 0 : p.name,
301
- label: (he = h.value) == null ? void 0 : he.name,
302
- baseMenuPath: `工件库/${(ye = h.value) == null ? void 0 : ye.type}`
303
- });
304
- const se = {
305
- pageName: "刀具",
306
- name: "刀具",
307
- label: "刀具",
308
- type: "刀具",
309
- id: "刀具",
310
- path: "刀具",
311
- children: [],
312
- show: !0,
313
- isPenultimate: !1
314
- };
315
- g.value && se.children.push({
316
- isExtra: !0,
317
- pageName: "刀具",
318
- mainKey: g.value,
319
- label: g.value,
320
- baseMenuPath: "设备库/刀具"
321
- }), l.push(e, o, se), Z.value = l;
322
- },
323
- {
324
- immediate: !0
325
- }
326
- );
327
- const ne = u([]), E = w(() => {
328
- var e, o;
329
- return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.csvUrl;
330
- });
331
- K(() => E.value, async () => {
332
- if (console.log("three data", n == null ? void 0 : n.threeData), console.log("csvUrl", E.value), E.value) {
333
- const l = await ft(E.value);
334
- ne.value = l;
335
- }
336
- }, {
337
- immediate: !0
338
- });
339
- const J = w(() => {
340
- var e, o;
341
- return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.bladeObjUrl;
342
- }), ve = u(we.ROBOT), G = u(null), Q = u(!1), ee = u(""), D = u(!1), x = u(""), I = u(!1), V = u(""), s = u(!1), a = u(""), d = ie(null), C = u("叶片模型"), f = ie(null), b = ie(null), c = ie(null), N = u(Ce), {
343
- currentModels: S,
344
- resetView: ce,
345
- initThreeJS: te,
346
- handleResize: fe,
347
- getThreeJSObjects: le,
348
- cleanup: Ne,
349
- setModels: ge,
350
- axesHelperVisible: Ue,
351
- toggleAxesVisibility: ze
352
- } = st(G), { loadSceneFromFile: Ve } = nt(
353
- le,
354
- S,
355
- Q,
356
- ee
357
- ), { isAnimating: be, toggleAnimation: $e, stopAnimation: Te } = it(le, S), { isClipping: Le, activeClippingAxis: _, toggleClipping: je, updateClippingPlanes: R } = ut(le, S), { initRaycaster: Ae, selectedObject3D: De, setSelectedObjVisible: Se, updatePosition: Re, updateRotation: Me, dispose: Oe } = at(G, le, S), Fe = () => {
358
- ze();
359
- }, Be = w(() => ve.value === we.ROBOT), oe = (l) => {
360
- D.value = !0, x.value = l, l === "剖面视图" && !Le.value && je();
361
- }, pe = (l) => {
362
- I.value = !0, V.value = l, l === "动画仿真" && T("getAnimationData");
363
- }, Ee = () => {
364
- var l;
365
- (l = N.value) == null || l.handlePlayPause();
366
- }, Je = () => {
367
- var l;
368
- (l = N.value) == null || l.pauseAnimation();
369
- }, Ie = () => {
370
- var l;
371
- (l = N.value) == null || l.stopAnimation();
372
- }, Xe = (l, e) => mt(l, e), Ge = async (l) => {
373
- const e = Xe(l, C.value);
374
- if (b.value = e, console.log("bladeObjUrl", J.value), e && e.parent && J.value) {
375
- const o = await $t(J.value);
376
- 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, f.value = o;
377
- } else
378
- C.value && console.warn(`在 Blade '${C.value}' 中未找到可替换的网格或其没有父级。`);
379
- };
380
- K(() => n.fileBlobs, (l) => {
381
- if (l && l.length > 0) {
382
- const e = l[0];
383
- if (!e.name.toLowerCase().endsWith(".urdf"))
384
- return;
385
- Ve(e).then((o) => {
386
- d.value = o, o && Ge(o);
387
- }).catch((o) => {
388
- console.error("加载URDF文件时发生错误:", o), P.error("加载urdf模型失败"), d.value = null;
389
- });
390
- } else
391
- d.value = null;
392
- }, {
393
- immediate: !0,
394
- deep: !0
395
- }), K(d, (l) => {
396
- ge(l ? [l] : []), Ae();
397
- });
398
- const He = () => {
399
- te(), window.addEventListener("resize", fe);
400
- const l = le();
401
- c.value = l.scene;
402
- }, Ke = () => {
403
- x.value = "", V.value = "", window.removeEventListener("resize", fe), be.value && Te(), Ne(), Oe();
404
- };
405
- return qe(async () => {
406
- await Qe();
407
- try {
408
- He();
409
- } catch (l) {
410
- console.error("Three.js 初始化失败:", l), P.error("渲染引擎初始化失败!");
411
- }
412
- }), et(() => {
413
- Ke();
414
- }), (l, e) => {
415
- const o = W("el-scrollbar"), se = W("PipeAnalysisPanel");
416
- return z(), A("div", Tt, [
417
- $(t("div", {
418
- ref_key: "threejsContainer",
419
- ref: G,
420
- class: "threejs-container"
421
- }, null, 512), [
422
- [H, Be.value]
423
- ]),
424
- t("div", Lt, [
425
- i(k, {
426
- name: "viewReset",
427
- size: "24",
428
- onClick: v(ce),
429
- title: "重置"
430
- }, null, 8, ["onClick"]),
431
- i(k, {
432
- name: "fangda",
433
- size: "24",
434
- title: "放大"
435
- }),
436
- i(k, {
437
- name: "suoxiao",
438
- size: "24",
439
- title: "缩小"
440
- }),
441
- i(k, {
442
- name: "lookAround",
443
- size: "24",
444
- onClick: v($e),
445
- title: v(be) ? "停止动画" : "动画视图"
446
- }, null, 8, ["onClick", "title"]),
447
- i(k, {
448
- name: "zuobiaoxi",
449
- size: "24",
450
- active: v(Ue),
451
- onClick: Fe,
452
- title: "显隐坐标轴"
453
- }, null, 8, ["active"])
454
- ]),
455
- t("div", jt, [
456
- ue(l.$slots, "button-left", { switchRightPanel: oe }, void 0, !0),
457
- i(k, {
458
- name: "jiegoushu",
459
- size: "24",
460
- onClick: e[0] || (e[0] = (y) => oe("场景树")),
461
- active: D.value && x.value === "场景树",
462
- title: "场景树"
463
- }, null, 8, ["active"]),
464
- i(k, {
465
- name: "clipping",
466
- size: "24",
467
- onClick: e[1] || (e[1] = (y) => oe("剖面视图")),
468
- active: D.value && x.value === "剖面视图",
469
- title: "剖面视图"
470
- }, null, 8, ["active"]),
471
- i(k, {
472
- name: "donghuafangzhen",
473
- size: "24",
474
- onClick: e[2] || (e[2] = (y) => oe("工件树")),
475
- active: D.value && x.value === "工件树"
476
- }, null, 8, ["active"])
477
- ]),
478
- t("div", At, [
479
- ue(l.$slots, "button-right", { switchRightPanel: pe }, void 0, !0),
480
- i(k, {
481
- name: "jichuangxuanze",
482
- size: "24",
483
- onClick: e[3] || (e[3] = (y) => pe("机床控制")),
484
- active: I.value && V.value === "机床控制",
485
- title: "机床控制"
486
- }, null, 8, ["active"]),
487
- i(k, {
488
- name: "donghuafangzhen",
489
- size: "24",
490
- title: "动画仿真",
491
- onClick: e[4] || (e[4] = (y) => pe("动画仿真")),
492
- active: I.value && V.value === "动画仿真"
493
- }, null, 8, ["active"])
494
- ]),
495
- t("div", Dt, [
496
- i(k, {
497
- name: "bofang",
498
- size: "24",
499
- backgroundColor: "#ffffff",
500
- title: "播放",
501
- onClick: Ee
502
- }),
503
- i(k, {
504
- name: "zanting",
505
- size: "24",
506
- backgroundColor: "#ffffff",
507
- title: "暂停",
508
- onClick: Je
509
- }),
510
- i(k, {
511
- name: "zhongzhi",
512
- size: "24",
513
- backgroundColor: "#ffffff",
514
- title: "停止",
515
- onClick: Ie
516
- })
517
- ]),
518
- $(t("div", St, [
519
- t("div", Rt, [
520
- t("span", null, U(a.value), 1),
521
- t("span", {
522
- class: "close",
523
- onClick: e[5] || (e[5] = (y) => s.value = !1)
524
- }, " X ")
525
- ]),
526
- t("div", Mt, [
527
- i(o, { height: "100%" }, {
528
- default: ae(() => [
529
- ue(l.$slots, "top-panel", { topPanelType: a.value }, void 0, !0)
530
- ]),
531
- _: 3
532
- })
533
- ])
534
- ], 512), [
535
- [H, s.value]
536
- ]),
537
- $(t("div", Ot, [
538
- t("div", Ft, [
539
- t("span", null, U(x.value), 1),
540
- t("span", {
541
- class: "close",
542
- onClick: e[6] || (e[6] = (y) => D.value = !1)
543
- }, " X ")
544
- ]),
545
- t("div", Bt, [
546
- i(o, { height: "100%" }, {
547
- default: ae(() => {
548
- var y;
549
- return [
550
- x.value === "场景树" ? (z(), Pe(ct, {
551
- key: 0,
552
- model: d.value,
553
- extraNodes: Z.value,
554
- onNodeClick: q
555
- }, null, 8, ["model", "extraNodes"])) : M("", !0),
556
- x.value === "剖面视图" ? (z(), A("div", Et, [
557
- t("div", Jt, [
558
- t("label", It, [
559
- $(t("input", {
560
- type: "radio",
561
- name: "clipping-axis",
562
- value: "none",
563
- "onUpdate:modelValue": e[7] || (e[7] = (p) => re(_) ? _.value = p : null),
564
- onChange: e[8] || (e[8] = //@ts-ignore
565
- (...p) => v(R) && v(R)(...p))
566
- }, null, 544), [
567
- [de, v(_)]
568
- ]),
569
- e[16] || (e[16] = t("span", { class: "radio-text" }, "无切割", -1))
570
- ]),
571
- t("label", Xt, [
572
- $(t("input", {
573
- type: "radio",
574
- name: "clipping-axis",
575
- value: "x",
576
- "onUpdate:modelValue": e[9] || (e[9] = (p) => re(_) ? _.value = p : null),
577
- onChange: e[10] || (e[10] = //@ts-ignore
578
- (...p) => v(R) && v(R)(...p))
579
- }, null, 544), [
580
- [de, v(_)]
581
- ]),
582
- e[17] || (e[17] = t("span", { class: "radio-text" }, "X轴切割", -1))
583
- ]),
584
- t("label", Gt, [
585
- $(t("input", {
586
- type: "radio",
587
- name: "clipping-axis",
588
- value: "y",
589
- "onUpdate:modelValue": e[11] || (e[11] = (p) => re(_) ? _.value = p : null),
590
- onChange: e[12] || (e[12] = //@ts-ignore
591
- (...p) => v(R) && v(R)(...p))
592
- }, null, 544), [
593
- [de, v(_)]
594
- ]),
595
- e[18] || (e[18] = t("span", { class: "radio-text" }, "Y轴切割", -1))
596
- ]),
597
- t("label", Ht, [
598
- $(t("input", {
599
- type: "radio",
600
- name: "clipping-axis",
601
- value: "z",
602
- "onUpdate:modelValue": e[13] || (e[13] = (p) => re(_) ? _.value = p : null),
603
- onChange: e[14] || (e[14] = //@ts-ignore
604
- (...p) => v(R) && v(R)(...p))
605
- }, null, 544), [
606
- [de, v(_)]
607
- ]),
608
- e[19] || (e[19] = t("span", { class: "radio-text" }, "Z轴切割", -1))
609
- ])
610
- ])
611
- ])) : M("", !0),
612
- x.value === "工件树" ? (z(), Pe(ot, {
613
- key: 2,
614
- model: (y = v(De)) == null ? void 0 : y.obj,
615
- onVisibleChange: v(Se),
616
- onUpdatePosition: v(Re),
617
- onUpdateRotation: v(Me)
618
- }, null, 8, ["model", "onVisibleChange", "onUpdatePosition", "onUpdateRotation"])) : M("", !0)
619
- ];
620
- }),
621
- _: 1
622
- })
623
- ])
624
- ], 512), [
625
- [H, D.value]
626
- ]),
627
- $(t("div", Kt, [
628
- t("div", Wt, [
629
- t("span", null, U(V.value), 1),
630
- t("span", {
631
- class: "close",
632
- onClick: e[15] || (e[15] = (y) => I.value = !1)
633
- }, " X ")
634
- ]),
635
- t("div", Yt, [
636
- i(o, { height: "100%" }, {
637
- default: ae(() => [
638
- $(i(pt, { model: d.value }, null, 8, ["model"]), [
639
- [H, V.value === "机床控制"]
640
- ]),
641
- $(i(Ce, {
642
- model: d.value,
643
- scene: c.value,
644
- xyzbcList: ne.value,
645
- ref_key: "urdfAnimationPanelRef",
646
- ref: N
647
- }, null, 8, ["model", "scene", "xyzbcList"]), [
648
- [H, V.value === "动画仿真"]
649
- ]),
650
- ue(l.$slots, "right-panel", { rightPanelType: V.value }, void 0, !0)
651
- ]),
652
- _: 3
653
- })
654
- ])
655
- ], 512), [
656
- [H, I.value]
657
- ]),
658
- Q.value ? (z(), A("div", Zt, [
659
- e[20] || (e[20] = t("div", { class: "loading-spinner" }, null, -1)),
660
- t("p", null, U(ee.value), 1)
661
- ])) : M("", !0),
662
- m.value ? (z(), A("div", qt, [
663
- t("div", Qt, [
664
- e[21] || (e[21] = t("div", { class: "item-label" }, "厂家:", -1)),
665
- t("div", el, U(X.value), 1)
666
- ]),
667
- t("div", tl, [
668
- e[22] || (e[22] = t("div", { class: "item-label" }, "型号:", -1)),
669
- t("div", ll, U(m.value), 1)
670
- ]),
671
- t("div", al, [
672
- e[23] || (e[23] = t("div", { class: "item-label" }, "编号:", -1)),
673
- t("div", nl, U(F.value), 1)
674
- ])
675
- ])) : M("", !0),
676
- i(se, { ref: "pipeAnalysisPanelRef" }, null, 512)
677
- ]);
678
- };
679
- }
680
- }), yl = /* @__PURE__ */ xe(ol, [["__scopeId", "data-v-eef66dd4"]]);
681
- export {
682
- yl as default
683
- };