ss-component-new 1.2.26 → 1.2.28
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.
- package/dist/{MTLLoader-j7rSXeZy.js → MTLLoader-BreJsr54.js} +1 -1
- package/dist/{MTLLoader-CSavblQS.cjs → MTLLoader-Cqv49Ps8.cjs} +1 -1
- package/dist/{OrbitControls-BYxGl2XB.js → OrbitControls-BCu-cP7k.js} +1 -1
- package/dist/{OrbitControls-dRON011u.cjs → OrbitControls-C956u7BP.cjs} +1 -1
- package/dist/{animationData-rmZ0EGb8.cjs → animationData-C3-BiUgV.cjs} +1 -1
- package/dist/{animationData-Br4BCkiq.js → animationData-CMjNjOqc.js} +4 -4
- package/dist/{array-CeASBMWY.cjs → array-0u9Sf3UC.cjs} +1 -1
- package/dist/{array-Cx8FbegO.js → array-BGIM4b6g.js} +2 -2
- package/dist/{dataUtil-RzgUhlgJ.cjs → dataUtil-BFjWNDM1.cjs} +1 -1
- package/dist/{dataUtil-CJxHUail.js → dataUtil-D9l7-XhR.js} +2 -2
- package/dist/{fileUtil-BM6WhafY.cjs → fileUtil-BFtJHTM0.cjs} +1 -1
- package/dist/{fileUtil-BVzW5lTY.js → fileUtil-D7XVXEhb.js} +1 -1
- package/dist/{iconfont-J7S-v_zE.js → iconfont-B9Cj3DQM.js} +2 -2
- package/dist/{iconfont-Dsx_JtWY.cjs → iconfont-BDfcbq2v.cjs} +1 -1
- package/dist/icons/svg//344/272/272/345/203/217.svg +1 -0
- package/dist/{index-ClzEamlP.js → index-3QB55tXZ.js} +7 -7
- package/dist/{index-BGm3sgAn.cjs → index-B33wtiif.cjs} +1 -1
- package/dist/{index-D7wMQSEM.js → index-B8bpiPXB.js} +1 -1
- package/dist/{index-BvgHldVC.cjs → index-B9TlIok8.cjs} +12 -12
- package/dist/{index-DbHiWNBM.cjs → index-BWxbWhC9.cjs} +1 -1
- package/dist/{index-BoTEVRWS.js → index-BZwQB2HO.js} +5 -5
- package/dist/{index-DRSU72SE.js → index-BaE0DPgC.js} +66 -59
- package/dist/{index-DN8avrWv.cjs → index-BccOOMaP.cjs} +1 -1
- package/dist/index-BgHY8wmn.cjs +1 -0
- package/dist/{index-DpxXt1oz.js → index-Boazv8yC.js} +2 -2
- package/dist/{index-D5YeHxKp.js → index-BqRVuEsE.js} +6 -6
- package/dist/{index-CyNvD7fs.js → index-BwLaQntz.js} +1 -1
- package/dist/{index-Dr7mB3zJ.js → index-C-8LROmP.js} +2 -2
- package/dist/{index-DcT0aYIX.js → index-C1lZkQG-.js} +423 -423
- package/dist/{index-DWBL8V_4.js → index-C5UpEVah.js} +2 -2
- package/dist/index-C5fTUrKx.js +573 -0
- package/dist/{index-BH-cEIyF.cjs → index-C9_Cxm8G.cjs} +1 -1
- package/dist/{index-D5fqqSXr.cjs → index-CBFF2bsB.cjs} +1 -1
- package/dist/{index-YhB_cMji.cjs → index-CC9RkSBT.cjs} +1 -1
- package/dist/{index-BJkToJcC.cjs → index-CK5VdzmO.cjs} +1 -1
- package/dist/{index-CeWLT1YO.js → index-CKY0sj_X.js} +3 -3
- package/dist/{index-Cm99VII_.js → index-CMwwUi6o.js} +6 -6
- package/dist/{index-DjMSxB8D.cjs → index-CP7b7BrB.cjs} +1 -1
- package/dist/{index-BU5WJczo.js → index-CZu3TggJ.js} +1 -1
- package/dist/{index-Bp0GMpLC.cjs → index-C_cWjavY.cjs} +1 -1
- package/dist/{index-DVv2nM9_.cjs → index-Cd9j5j41.cjs} +1 -1
- package/dist/{index-B7l9bX5c.cjs → index-Cwh5m4lg.cjs} +1 -1
- package/dist/index-D0XPyuy4.cjs +1 -0
- package/dist/{index-lw6M4N-Q.cjs → index-D3TgRd-7.cjs} +1 -1
- package/dist/{index-Ie0BUTFu.js → index-D5Dtcn-_.js} +6 -6
- package/dist/{index-Bp5zOMHT.cjs → index-DE-uHAMH.cjs} +1 -1
- package/dist/{index-T2VihBuZ.js → index-DHOcRi3S.js} +6 -6
- package/dist/{index-CMIII30g.cjs → index-DMyPjpxO.cjs} +1 -1
- package/dist/{index-BvB9p0W4.js → index-DR7aNxVH.js} +4 -4
- package/dist/{index-0dw7iEtO.cjs → index-DVqfroe6.cjs} +1 -1
- package/dist/{index-ggXXcZCO.js → index-DiTYB-a4.js} +63 -58
- package/dist/index-DnFxL5wb.cjs +1 -0
- package/dist/{index-CaGluCnk.js → index-DqR3IwgZ.js} +12 -12
- package/dist/{index-zAZNzNG-.js → index-DsCD1neC.js} +2 -2
- package/dist/{index-CNxiv6y5.js → index-Dx2X9pR1.js} +43 -43
- package/dist/{index-C2B83Ywj.cjs → index-GGokR_Lx.cjs} +1 -1
- package/dist/{index-7pDDKkwc.js → index-HduGypr9.js} +34 -34
- package/dist/index-LcnC2GQ4.cjs +1 -0
- package/dist/{index-DoWGbQss.js → index-OTxJnh9Z.js} +153 -153
- package/dist/{index-DodooTli.js → index-Rr9ZBYig.js} +2 -2
- package/dist/{index-BEfXSiWp.js → index-Sa2hQZ0h.js} +2 -2
- package/dist/{index-BkcjJQlg.cjs → index-TKouySTA.cjs} +1 -1
- package/dist/{index-veEr0Ju4.js → index-gPnrvvE9.js} +1324 -1321
- package/dist/{index-BPxe8bKe.js → index-gXbhagnF.js} +3 -3
- package/dist/{index-CAPstY_B.cjs → index-mpoVA-DC.cjs} +1 -1
- package/dist/{index-C9GfFRyr.cjs → index-uIVtG4RY.cjs} +1 -1
- package/dist/index-wQJN1jpI.js +2466 -0
- package/dist/index-zLkhy4JK.cjs +1 -0
- package/dist/{index-DFbvbOsE.js → index-zZ9bfGNx.js} +1 -1
- package/dist/{index-DMHh2MZZ.cjs → index-znR89ub7.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DGl2lQmW.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CuWDdCiy.js} +2 -2
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BWh0GUiI.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-TDoJ17os.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-BjBzi9R7.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-BQiH2RRX.js} +11 -11
- package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-BwjCaKYV.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-Dqpyi0E8.cjs} +1 -1
- package/dist/index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-D21h7jT_.cjs +37 -0
- package/dist/{index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-DZGhek9_.js → index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-PE_6dfIO.js} +12719 -12591
- package/dist/{index.vue_vue_type_style_index_1_lang-BHt4rvMd.js → index.vue_vue_type_style_index_1_lang-9ANlnWKt.js} +5 -5
- package/dist/index.vue_vue_type_style_index_1_lang-CrmWclPR.cjs +32 -0
- package/dist/{index.vue_vue_type_style_index_1_lang-C2PJ2fvM.cjs → index.vue_vue_type_style_index_1_lang-D4RvHwPS.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_1_lang-WD8HOZyf.js → index.vue_vue_type_style_index_1_lang-DwvuVXW6.js} +2580 -2471
- package/dist/{isString-BbPmUYHG.js → isString-BuBBWjRr.js} +1 -1
- package/dist/{main-DWa3MZxf.js → main-DpLQlLK2.js} +5 -5
- package/dist/{main-DlDkQh0n.cjs → main-Mx9r7ydp.cjs} +1 -1
- package/dist/ss-component.cjs +1 -1
- package/dist/ss-component.css +2 -2
- package/dist/ss-component.js +11 -11
- package/dist/ss-component2.cjs +1 -1
- package/dist/ss-component2.js +12 -12
- package/dist/{threeModel-CBsLcTcX.js → threeModel-CZ-qFwwk.js} +5 -5
- package/dist/{threeModel-Dt9Ounip.cjs → threeModel-DTwQnnAO.cjs} +1 -1
- package/dist/{threePreview-DSMFTIuC.cjs → threePreview-CUGoEzKf.cjs} +1 -1
- package/dist/{threePreview-D99A_IHZ.js → threePreview-DutKTPWH.js} +4 -4
- package/dist/{threeSceneView-BD22yXw4.js → threeSceneView-CzgWYHBw.js} +11 -11
- package/dist/{threeSceneView-Dv2uGsTN.cjs → threeSceneView-f1V-z4jr.cjs} +1 -1
- package/dist/{threeSceneViewForCPMPIP-CpBphI9E.js → threeSceneViewForCPMPIP-2sXIw3I1.js} +61 -61
- package/dist/{threeSceneViewForCPMPIP-DfaTaroP.cjs → threeSceneViewForCPMPIP-CojHDVHC.cjs} +1 -1
- package/dist/{threeTrackPathView-BGePzJh4.cjs → threeTrackPathView-BGHiOyJo.cjs} +1 -1
- package/dist/{threeTrackPathView-bFuXaesk.js → threeTrackPathView-DA4_8jas.js} +6 -6
- package/dist/{threeViewerHost-gGHqJpTR.js → threeViewerHost-BNObp9oA.js} +17 -17
- package/dist/{threeViewerHost-bQqnJLh9.cjs → threeViewerHost-D3WDKrIQ.cjs} +1 -1
- package/dist/{urdfTree-nXEMcLFV.cjs → urdfTree-CWStzmk2.cjs} +1 -1
- package/dist/{urdfTree-B2Zs54qS.js → urdfTree-CnkPddyT.js} +1 -1
- package/dist/{workpieceTreePanel-CXD_XizT.js → workpieceTreePanel-BvhFt3Xw.js} +5 -5
- package/dist/{workpieceTreePanel-Brforhya.cjs → workpieceTreePanel-DXyb_Wnw.cjs} +1 -1
- package/package.json +1 -1
- package/public/icons/svg//344/272/272/345/203/217.svg +1 -0
- package/dist/index-B3l8CoGZ.js +0 -2384
- package/dist/index-BRAUJGR3.cjs +0 -1
- package/dist/index-BjRAas3a.cjs +0 -1
- package/dist/index-Cf9NTS7v.cjs +0 -1
- package/dist/index-D3x3jleA.js +0 -654
- package/dist/index-DWTsFx-2.cjs +0 -1
- package/dist/index-Dc8TgzRR.cjs +0 -1
- package/dist/index.vue_vue_type_style_index_0_scoped_bcdf4fb0_lang-BKfBwnMQ.cjs +0 -37
- package/dist/index.vue_vue_type_style_index_1_lang-f2wxl9Ai.cjs +0 -32
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ref as K, shallowRef as Be, defineComponent as Ke, watch as Z, onMounted as Ve, nextTick as ze, onBeforeUnmount as Xe, resolveComponent as qe, createElementBlock as ee, openBlock as te, createElementVNode as L, withDirectives as z, createCommentVNode as pe, createVNode as H, unref as b, renderSlot as me, toDisplayString as ge, withCtx as We, isRef as $, vModelRadio as J, vShow as Ye } from "vue";
|
|
2
|
-
import { u as $e, a as Je, b as Qe } from "./iconfont-
|
|
3
|
-
import { J as Ze, K as ce, N as Se, O as et, Q as W, R as Ne, U as O, Y as Ie, C as G, Z as P, f as Y, _ as tt, n as nt, D as st, r as Q, V as B, $ as rt, a0 as Ce, a1 as it, a2 as Oe, a3 as ot, a4 as at, a5 as ne, a6 as ct, a7 as ve, a8 as lt, a9 as ut, aa as ft, ab as le, ac as ke, ad as ue, ae as dt, af as ht, ag as pt, ah as se, ai as mt, v as Pe, p as gt, aj as q, ak as Tt, w as xt, al as Rt, k as Fe, am as Et, y as At, an as _t, ao as Lt, u as re, P as Mt, s as wt, ap as yt, aq as bt, ar as St, as as Nt, at as It, au as De, av as Ct, aw as Te, ax as xe, ay as Re, az as Ee, aA as Ae, aB as Ot, aC as vt, B as He, aD as kt, o as Pt } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-
|
|
4
|
-
import { E as _e } from "./index-
|
|
5
|
-
import { M as Ft, O as Dt, S as Ht } from "./MTLLoader-
|
|
2
|
+
import { u as $e, a as Je, b as Qe } from "./iconfont-B9Cj3DQM.js";
|
|
3
|
+
import { J as Ze, K as ce, N as Se, O as et, Q as W, R as Ne, U as O, Y as Ie, C as G, Z as P, f as Y, _ as tt, n as nt, D as st, r as Q, V as B, $ as rt, a0 as Ce, a1 as it, a2 as Oe, a3 as ot, a4 as at, a5 as ne, a6 as ct, a7 as ve, a8 as lt, a9 as ut, aa as ft, ab as le, ac as ke, ad as ue, ae as dt, af as ht, ag as pt, ah as se, ai as mt, v as Pe, p as gt, aj as q, ak as Tt, w as xt, al as Rt, k as Fe, am as Et, y as At, an as _t, ao as Lt, u as re, P as Mt, s as wt, ap as yt, aq as bt, ar as St, as as Nt, at as It, au as De, av as Ct, aw as Te, ax as xe, ay as Re, az as Ee, aA as Ae, aB as Ot, aC as vt, B as He, aD as kt, o as Pt } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CuWDdCiy.js";
|
|
4
|
+
import { E as _e } from "./index-HduGypr9.js";
|
|
5
|
+
import { M as Ft, O as Dt, S as Ht } from "./MTLLoader-BreJsr54.js";
|
|
6
6
|
import { T as j } from "./svgIcon-D-_fXUBL.js";
|
|
7
7
|
import { _ as Ut } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
8
|
function Le(f, t) {
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { defineComponent as Oe, ref as h, watch as se, shallowRef as ve, computed as we, onUnmounted as Qe, resolveComponent as O, createElementBlock as _e, openBlock as te, createElementVNode as n, createVNode as o, withCtx as T, createBlock as Ce, createCommentVNode as ye, unref as M, toDisplayString as me, onMounted as We, onBeforeUnmount as Ie, Fragment as et, renderList as tt, nextTick as lt, withDirectives as q, vShow as re, renderSlot as de, isRef as Te, vModelRadio as Re } from "vue";
|
|
2
|
-
import { r as Ve, U as ot, s as je, u as nt, a as at, W as st } from "./workpieceTreePanel-
|
|
3
|
-
import { u as Ke, a as it, b as rt } from "./iconfont-
|
|
4
|
-
import { ag as ut, c as ct, E as X, aW as pt, aw as dt } from "./index-
|
|
5
|
-
import { t as Me, T as ke, V as F, r as Q, s as mt, u as vt, k as Se, v as ft, L as gt, w as ht, x as bt, y as yt, z as wt, F as _t, I as Ct, p as kt } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-
|
|
6
|
-
import "./index.vue_vue_type_style_index_1_lang-
|
|
2
|
+
import { r as Ve, U as ot, s as je, u as nt, a as at, W as st } from "./workpieceTreePanel-BvhFt3Xw.js";
|
|
3
|
+
import { u as Ke, a as it, b as rt } from "./iconfont-B9Cj3DQM.js";
|
|
4
|
+
import { ag as ut, c as ct, E as X, aW as pt, aw as dt } from "./index-HduGypr9.js";
|
|
5
|
+
import { t as Me, T as ke, V as F, r as Q, s as mt, u as vt, k as Se, v as ft, L as gt, w as ht, x as bt, y as yt, z as wt, F as _t, I as Ct, p as kt } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CuWDdCiy.js";
|
|
6
|
+
import "./index.vue_vue_type_style_index_1_lang-DwvuVXW6.js";
|
|
7
7
|
import "./index-BHtNKL1L.js";
|
|
8
|
-
import { _ as ue, s as Pt } from "./index-
|
|
9
|
-
import "./index.vue_vue_type_style_index_1_lang-
|
|
10
|
-
import "./index-
|
|
11
|
-
import { f as xt, a as Dt } from "./animationData-
|
|
12
|
-
import { g as Tt, a as Rt, b as Vt, c as Mt, U as St, J as At } from "./urdfTree-
|
|
8
|
+
import { _ as ue, s as Pt } from "./index-zZ9bfGNx.js";
|
|
9
|
+
import "./index.vue_vue_type_style_index_1_lang-9ANlnWKt.js";
|
|
10
|
+
import "./index-BZwQB2HO.js";
|
|
11
|
+
import { f as xt, a as Dt } from "./animationData-CMjNjOqc.js";
|
|
12
|
+
import { g as Tt, a as Rt, b as Vt, c as Mt, U as St, J as At } from "./urdfTree-CnkPddyT.js";
|
|
13
13
|
import { _ as Xe } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
14
|
-
import { g as zt, a as Ee, d as $t, c as Ft, e as Yt, b as Lt } from "./dataUtil-
|
|
14
|
+
import { g as zt, a as Ee, d as $t, c as Ft, e as Yt, b as Lt } from "./dataUtil-D9l7-XhR.js";
|
|
15
15
|
import { T as A } from "./svgIcon-D-_fXUBL.js";
|
|
16
16
|
const H = 1e-3, ae = mt.degToRad, Ge = new ft({
|
|
17
17
|
// 灰色
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),X=require("./workpieceTreePanel-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),X=require("./workpieceTreePanel-DXyb_Wnw.cjs"),pe=require("./iconfont-BDfcbq2v.cjs"),$=require("./index-Dv1G67_Q.cjs"),s=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-TDoJ17os.cjs");require("./index.vue_vue_type_style_index_1_lang-CrmWclPR.cjs");require("./index-BpPyaNFa.cjs");const Q=require("./index-uIVtG4RY.cjs");require("./index.vue_vue_type_style_index_1_lang-D4RvHwPS.cjs");require("./index-CC9RkSBT.cjs");const Ce=require("./animationData-C3-BiUgV.cjs"),ne=require("./urdfTree-CWStzmk2.cjs"),we=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),ee=require("./dataUtil-BFjWNDM1.cjs"),M=require("./svgIcon-CUM54R6L.cjs"),Z=.001,H=s.MathUtils.degToRad,Ne=new s.MeshStandardMaterial({color:13421772,metalness:.3,roughness:.6,side:s.DoubleSide});function Me(V=.005,m=64){const f=new s.CatmullRomCurve3([new s.Vector3(0,0,0),new s.Vector3(0,0,0)]),n=new s.TubeGeometry(f,m,V,16,!1),g=Ne;return new s.Mesh(n,g)}const ke=V=>V.reduce((m,f)=>{let n=0;const g=f.Y??0,h=f.C??0,c=f.R??0;return g>0&&(n+=g),h>0&&c>0&&(n+=c*H(h)),m+n},0),Te=V=>{const m=[],f=V.Y??0,n=V.B??0,g=V.C??0,h=V.R??0,c={pos:new s.Vector3(0,0,0),localY:new s.Vector3(0,1,0),localX:new s.Vector3(1,0,0),localZ:new s.Vector3(0,0,1)};if(!f&&!g)return m;if(m.push(c.pos.clone()),n!==0){const C=new s.Matrix4().makeRotationAxis(c.localY,H(n));c.localX.applyMatrix4(C),c.localZ.applyMatrix4(C)}if(f>0&&(c.pos.add(c.localY.clone().multiplyScalar(f*Z)),m.push(c.pos.clone())),g>0&&h>0){const C=H(g),u=h*Z,_=c.pos.clone().add(c.localX.clone().multiplyScalar(-u)),r=Math.max(16,Math.ceil(g/5));for(let p=1;p<=r;p++){const a=C*p/r,d=new s.Matrix4().makeRotationAxis(c.localZ,a),b=c.localX.clone().multiplyScalar(u).applyMatrix4(d),E=_.clone().add(b);m.push(E)}}return m};function Se(V,m){const f=new s.Group;f.name="CompletePipe";const n={pos:new s.Vector3(0,0,0),localX:new s.Vector3(1,0,0),localY:new s.Vector3(0,1,0),localZ:new s.Vector3(0,0,1)};let g=0,h=1;for(let c=0;c<V.length;c++){const C=V[c],u=C.Y??0,_=C.B??0,r=C.C??0,p=C.R??0;if(_!==0){const a=new s.Matrix4().makeRotationAxis(n.localY,H(_));n.localX.applyMatrix4(a),n.localZ.applyMatrix4(a)}if(u>0){const a=n.pos.clone();n.pos.add(n.localY.clone().multiplyScalar(u*Z));const d=n.pos.clone(),i=Pe(a,d,m*Z);i.userData={segmentType:"straight",segmentIndex:g,frameIndex:c,length:u,frame:{Y:u,B:_,C:r,R:p}},i.name=`直段_${g}`,f.add(i);const b=a.clone();De(f,h,b,m*Z),g++}if(r>0&&p>0){const a=H(r),d=p*Z,i=[];i.push(n.pos.clone());const b=n.pos.clone().add(n.localX.clone().multiplyScalar(-d)),E=Math.max(16,Math.ceil(r/5));for(let P=1;P<=E;P++){const D=a*P/E,T=new s.Matrix4().makeRotationAxis(n.localZ,D),k=n.localX.clone().multiplyScalar(d).applyMatrix4(T),w=b.clone().add(k);i.push(w)}const v=Re(i,m*Z);v.userData={segmentType:"bend",segmentIndex:g,frameIndex:c,angle:r,radius:p,centerPoint:b.toArray(),frame:{Y:u,B:_,C:r,R:p}},v.name=`弯段_${g}`,f.add(v),Math.floor(i.length/2),i[0],n.pos=i[i.length-1].clone();const S=new s.Matrix4().makeRotationAxis(n.localZ,a);n.localY.applyMatrix4(S),n.localX.applyMatrix4(S),g++,h++}}return f}function De(V,m,f,n){const g=new s.Vector3(0,n*2,n*5),h=f.clone().add(g),c=[f,h],C=new s.BufferGeometry().setFromPoints(c),u=new s.LineDashedMaterial({color:16711680,dashSize:n*.5,gapSize:n*.3,linewidth:1}),_=new s.Line(C,u);_.computeLineDistances(),V.add(_);const r=document.createElement("canvas"),p=r.getContext("2d");r.width=128,r.height=128,p.clearRect(0,0,128,128),p.fillStyle="#FF0000",p.font="bold 80px Arial",p.textAlign="center",p.textBaseline="middle",p.fillText(m.toString(),64,64);const a=new s.CanvasTexture(r),d=new s.SpriteMaterial({map:a,transparent:!0,depthTest:!1,depthWrite:!1}),i=new s.Sprite(d),b=n*3;i.scale.set(b,b,1),i.position.copy(h),i.name=`Label_${m}`,i.userData={labelNumber:m},V.add(i)}function Pe(V,m,f){const n=new s.LineCurve3(V,m),g=new s.TubeGeometry(n,2,f,18,!1);return new s.Mesh(g,Ne)}function Re(V,m){const f=new s.CatmullRomCurve3(V,!1,"catmullrom",.01),n=new s.TubeGeometry(f,Math.max(16,V.length*2),m,18,!1);return new s.Mesh(n,Ne)}function _e(V,m,f,n,g,h=0){let c=m.slice(0,g+1);const C=m[g+1];if(C&&h>0){const i={...C,B:(C.B??0)*h,C:(C.C??0)*h};c.push(i)}const u=ke(c),_=Math.max(0,f-u),r=[];r.push(new s.Vector3(0,0,0));const p=new s.Vector3(0,_*Z,0);_>0&&r.push(p);let a={pos:p.clone(),localY:new s.Vector3(0,1,0),localX:new s.Vector3(1,0,0),localZ:new s.Vector3(0,0,1)};const d=[];for(let i=c.length-1;i>=0;i--){const b=c[i],E=Te(b);if(E.length>0){const v=E.map(T=>{const R=T.clone(),k=new s.Matrix4;return k.makeBasis(a.localX,a.localY,a.localZ),R.applyMatrix4(k),R.add(a.pos)});d.push(v);const S=v[v.length-1];a.pos=S.clone();const P=b.B??0,D=b.C??0;if(P!==0){const T=new s.Matrix4().makeRotationAxis(a.localY,H(P));a.localX.applyMatrix4(T),a.localZ.applyMatrix4(T)}if(D>0){const T=H(D),R=new s.Matrix4().makeRotationAxis(a.localZ,T);a.localY.applyMatrix4(R),a.localX.applyMatrix4(R)}}}for(const i of d)i.length>1&&r.push(...i.slice(1));r.length<2&&r.push(new s.Vector3(0,.001,0));try{const i=new s.CatmullRomCurve3(r,!1,"catmullrom",.01),b=new s.TubeGeometry(i,Math.max(2,r.length*4),n*Z,18,!1);V.geometry.dispose(),V.geometry=b}catch(i){console.error("管件更新失败",i)}}function xe(V,m,f,n=0){let g=V.slice(0,f+1);const h=V[f+1];if(h&&n>0){const a={...h,B:(h.B??0)*n,C:(h.C??0)*n};g.push(a)}const c=ke(g),C=Math.max(0,m-c),u=[];u.push(new s.Vector3(0,0,0));const _=new s.Vector3(0,C*Z,0);C>0&&u.push(_);let r={pos:_.clone(),localY:new s.Vector3(0,1,0),localX:new s.Vector3(1,0,0),localZ:new s.Vector3(0,0,1)};const p=[];for(let a=g.length-1;a>=0;a--){const d=g[a],i=Te(d);if(i.length>0){const b=i.map(P=>{const D=P.clone(),T=new s.Matrix4;return T.makeBasis(r.localX,r.localY,r.localZ),D.applyMatrix4(T),D.add(r.pos)});p.push(b);const E=b[b.length-1];r.pos=E.clone();const v=d.B??0,S=d.C??0;if(v!==0){const P=new s.Matrix4().makeRotationAxis(r.localY,H(v));r.localX.applyMatrix4(P),r.localZ.applyMatrix4(P)}if(S>0){const P=H(S),D=new s.Matrix4().makeRotationAxis(r.localZ,P);r.localY.applyMatrix4(D),r.localX.applyMatrix4(D)}}}for(const a of p)a.length>1&&u.push(...a.slice(1));return u.length<2&&u.push(new s.Vector3(0,.001,0)),u}function Ee(V,m,f,n,g,h,c,C=0,u=0){const _=g-u,r=xe(n,_,c,C);let a=xe(f,u,c,C);a.forEach(i=>i.y=-i.y),a.reverse();const d=[...a,...r];try{const i=new s.CatmullRomCurve3(d,!1,"catmullrom",.01),b=new s.TubeGeometry(i,Math.max(2,d.length*4),h*Z,18,!1);m.geometry.dispose(),V.geometry.dispose(),m.parent&&m.parent.remove(m),V.geometry=b}catch(i){console.error("管件更新失败",i)}}const Be={class:"panel-content"},ze={class:"action-bar"},Ae={class:"animation-controls"},$e={class:"control-row"},Fe={class:"control-row"},Ye={class:"frame-info"},Le={class:"control-row"},Ie={class:"progress-bar"},Ue={class:"dialog-footer"},je=e.defineComponent({__name:"animationPanel",props:{model:{},threeData:{}},emits:["getThreeData"],setup(V,{expose:m,emit:f}){const n=V,g=f,h=e.ref(),c=e.ref();e.watch(()=>n.threeData,l=>{const t=l==null?void 0:l.data;c.value=t==null?void 0:t.type},{immediate:!0});const C=async()=>{if(!sessionStorage.getItem("systemKey")){g("getThreeData");return}let t={};c.value===X.robotMode.SINGLE&&(t=await Ce.fetchSingleRobotAnimationData()),c.value===X.robotMode.DOUBLE&&(t=await Ce.fetchDoubleRobotAnimationData());const{initialPipeLength:o=0,pipeRadius:y=0,clampLength:N=0,animationData:x}=t;D.value=o,T.value=y,R.value=N,h.value=x;const O=$.cloneDeep(h.value),K=ce(F.value),q=(O==null?void 0:O["输出(动画数据)"])||[];u.value=q.length?q:[K]},u=e.ref([]),_=e.ref(!1),r=e.ref(""),p=e.ref(!1),a=e.ref(0),d=e.ref(0),i=e.ref(1e3);let b=!1;const E=e.ref(null),v=e.shallowRef(null),S=e.shallowRef(null),P=e.shallowRef(null),D=e.ref(0),T=e.ref(12.5),R=e.ref(30),k=e.ref([]),w=e.ref(null),I=e.computed(()=>n.model?ne.getNonFixedJoints(n.model).map(o=>o.name):[]),G=e.ref(["Y","B","C","R"]),F=e.computed(()=>[...I.value,...G.value]),Y=e.computed(()=>F.value.length>0?`请按以下格式粘贴数据 (第一行为表头,使用 Tab 分隔):
|
|
2
2
|
${F.value.join(" ")}
|
|
3
3
|
0 0 0 ...
|
|
4
4
|
1 2 3 ...`:"请先加载模型。"),J=()=>u.value.map(l=>({Y:parseFloat(l.Y)||0,B:parseFloat(l.B)||0,C:parseFloat(l.C)||0,R:parseFloat(l.R)||0})),U=()=>{const l=[],t=[];return u.value.forEach(o=>{const{Y1:y,B1:N,C1:x,R1:O,Y2:K,B2:q,C2:ie,R2:A}=o;l.push({Y:parseFloat(y)||0,B:parseFloat(N)||0,C:parseFloat(x)||0,R:parseFloat(O)||0}),t.push({Y:parseFloat(K)||0,B:parseFloat(q)||0,C:parseFloat(ie)||0,R:parseFloat(A)||0})}),{posPipeYbcr:l,negPipeYbcr:t}},L=(l=0,t=0)=>{if(v.value&&S.value){const o=U();Ee(v.value,S.value,o.posPipeYbcr,o.negPipeYbcr,D.value,T.value,l,t,R.value)}else if(v.value){const o=J();_e(v.value,o,D.value,T.value,l,t)}},W=l=>{if(l<0||l>=u.value.length){console.error(`帧索引 ${l} 超出范围`);return}const t=u.value[l];if(console.log(`应用第 ${l} 帧数据 ${t}`),a.value=l,E.value){const o={};I.value.forEach(y=>{const N=parseFloat(t[y]);isNaN(N)||(o[y]=N)}),E.value.setJointAngles(o)}L(l,0)},B=async()=>{if(u.value.length===0){$.ElMessage.error("无法播放动画:无数据");return}if(!p.value){p.value=!0,b=!1,u.value.length-1===a.value&&(a.value=0);try{for(let l=a.value+1;l<u.value.length&&!b;l++){a.value=l;const t=u.value[l],o={};E.value&&I.value.forEach(y=>{const N=parseFloat(t[y]);isNaN(N)||(o[y]=N)}),E.value?await E.value.animateToState(o,i.value,y=>{d.value=(l+y)/u.value.length*100,L(l-1,y)}):(await new Promise(y=>setTimeout(y,i.value)),d.value=(l+1)/u.value.length*100)}b||$.ElMessage.success("动画播放完成")}catch(l){console.error("动画播放出错:",l),$.ElMessage.error("动画播放出错")}finally{p.value=!1,d.value=0}}},z=()=>{b=!0,p.value=!1,d.value=0,$.ElMessage.info("动画已停止")},ae=()=>{a.value=0},j=()=>{if(v.value&&S.value){const l=U();Ee(v.value,S.value,l.posPipeYbcr,l.negPipeYbcr,D.value,T.value,-1,0,R.value)}else if(v.value){const l=J();_e(v.value,l,D.value,T.value,-1,0)}},oe=()=>{E.value&&E.value.resetToZero(),j(),ae(),$.ElMessage.success("机器人和管件已重置")},me=l=>`第 ${l+1} 帧`,ve=l=>{p.value&&z(),W(l)},fe=()=>{p.value&&z(),!(a.value+1>=u.value.length)&&W(a.value+1)},ge=()=>{p.value&&z(),a.value!==0&&W(a.value-1)},se=()=>{P.value&&(P.value.visible=!0),v.value&&v.value.parent&&v.value.parent.remove(v.value),P.value=null,v.value=null,S.value=null},ce=l=>l==null?void 0:l.reduce((t,o)=>(t[o]="0",t),{});e.watch(F,(l,t)=>{if(JSON.stringify(l)!==JSON.stringify(t))if(l.length>0){const o=ce(l);u.value=[o]}else u.value=[]},{immediate:!0});const re=e.ref(0),he=l=>{re.value=l},ue=(l,t)=>{if(!l||!t)return;const o=ne.getTargetJoint(l,t),y=Me();y.visible=!1,o==null||o.add(y)},te=l=>{E.value=new X.URDFRobotController(l),k.value=ne.getAllLinkName(l),w.value="Pipe_Joint"},le=()=>{E.value=null,k.value=[],w.value=null},Ve=l=>{te(l),ue(l,w.value),he(re.value+1),oe()};e.watch(()=>n.model,l=>{if(se(),l){Ve(l);return}le()},{immediate:!0});const de=l=>{var o,y;const t=new s.Mesh(l.geometry.clone(),l.material);return t.name="managed_pipe_clone",(y=(o=l==null?void 0:l.parent)==null?void 0:o.add)==null||y.call(o,t),t.position.copy(l.position),t.rotation.copy(l.rotation),t.scale.copy(l.scale),t};e.watch([w,R,D,re],([l,t])=>{if(se(),n.model&&l){const o=ne.getMeshFromJoint(n.model,l);if(console.log(o,"meshToReplace"),o&&o.parent){P.value=o,o.visible=!1;const y=de(o);if(c.value===X.robotMode.SINGLE&&(y.position.y-=t*.001),v.value=y,c.value===X.robotMode.DOUBLE){const N=de(o);S.value=N}L(0,0)}else l&&console.warn(`在 link '${l}' 中未找到可替换的网格或其没有父级。`)}});const be=async()=>{if(F.value.length===0){$.ElMessage.warning("没有可导出的表头");return}const l=F.value.join(" ");try{await navigator.clipboard.writeText(l),$.ElMessage.success("表头已成功复制到剪贴板!")}catch(t){console.error("复制失败:",t),$.ElMessage.error("复制失败,请检查浏览器权限或手动复制。")}},ye=()=>{if(!r.value.trim()){$.ElMessage.warning("导入内容不能为空");return}const l=r.value.trim().split(`
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { defineComponent as we, ref as u, computed as
|
|
2
|
-
import {
|
|
3
|
-
import { U as et, s as ke, u as tt, a as lt, W as at } from "./workpieceTreePanel-
|
|
4
|
-
import { u as nt, a as ot, b as st } from "./iconfont-
|
|
5
|
-
import { c as it, E as y } from "./index-
|
|
6
|
-
import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-
|
|
7
|
-
import { _ as pe } from "./index-
|
|
8
|
-
import { g as ut, b as rt, U as dt, J as ct, d as vt } from "./urdfTree-
|
|
1
|
+
import { defineComponent as we, ref as u, computed as U, watch as Z, onUnmounted as He, resolveComponent as q, createElementBlock as M, openBlock as z, createElementVNode as l, createCommentVNode as G, createVNode as i, toDisplayString as B, Fragment as Ke, renderList as We, withCtx as ne, inject as he, shallowRef as ue, onMounted as Ye, nextTick as Ze, onBeforeUnmount as qe, withDirectives as $, vShow as W, renderSlot as Y, unref as d, createBlock as ye, isRef as re, vModelRadio as de } from "vue";
|
|
2
|
+
import { aA as Qe } from "./index.vue_vue_type_style_index_1_lang-DwvuVXW6.js";
|
|
3
|
+
import { U as et, s as ke, u as tt, a as lt, W as at } from "./workpieceTreePanel-BvhFt3Xw.js";
|
|
4
|
+
import { u as nt, a as ot, b as st } from "./iconfont-B9Cj3DQM.js";
|
|
5
|
+
import { c as it, E as y } from "./index-HduGypr9.js";
|
|
6
|
+
import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CuWDdCiy.js";
|
|
7
|
+
import { _ as pe } from "./index-zZ9bfGNx.js";
|
|
8
|
+
import { g as ut, b as rt, U as dt, J as ct, d as vt } from "./urdfTree-CnkPddyT.js";
|
|
9
9
|
import { _ as Ce } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
10
10
|
import { T as h } from "./svgIcon-D-_fXUBL.js";
|
|
11
|
-
import { i as pt } from "./animationData-
|
|
12
|
-
import { O as mt } from "./MTLLoader-
|
|
13
|
-
import { u as ft, h as gt } from "./index-
|
|
11
|
+
import { i as pt } from "./animationData-CMjNjOqc.js";
|
|
12
|
+
import { O as mt } from "./MTLLoader-BreJsr54.js";
|
|
13
|
+
import { u as ft, h as gt } from "./index-C1lZkQG-.js";
|
|
14
14
|
const bt = { class: "panel-content" }, ht = { class: "action-bar" }, yt = {
|
|
15
15
|
key: 0,
|
|
16
16
|
class: "animation-controls"
|
|
@@ -25,12 +25,12 @@ const bt = { class: "panel-content" }, ht = { class: "action-bar" }, yt = {
|
|
|
25
25
|
xyzbcList: {}
|
|
26
26
|
},
|
|
27
27
|
setup(E, { expose: Q }) {
|
|
28
|
-
const T = E, n = u([]), V = u(!1),
|
|
28
|
+
const T = E, n = u([]), V = u(!1), A = u(""), f = u("stopped"), p = u(0), x = u(0), J = u(10), D = u(null);
|
|
29
29
|
let k = 0;
|
|
30
|
-
const ee = u([]), R =
|
|
31
|
-
${
|
|
30
|
+
const ee = u([]), R = U(() => T.model ? ut(T.model).map((g) => g.name) : []), L = U(() => [...R.value]), ce = U(() => L.value.length > 0 ? `请按以下格式粘贴数据 (第一行为表头,使用 Tab 分隔):
|
|
31
|
+
${L.value.join(" ")}
|
|
32
32
|
0 0 0 ...
|
|
33
|
-
1 2 3 ...` : "请先加载模型。"), X =
|
|
33
|
+
1 2 3 ...` : "请先加载模型。"), X = U(() => n.value[p.value] || {});
|
|
34
34
|
Z(() => T.model, (s) => {
|
|
35
35
|
s ? (D.value = new et(s), ee.value = rt(s), p.value = 0) : (D.value = null, ee.value = []);
|
|
36
36
|
}, { immediate: !0 });
|
|
@@ -74,7 +74,7 @@ ${j.value.join(" ")}
|
|
|
74
74
|
} catch (a) {
|
|
75
75
|
console.error("动画播放出错:", a), y.error("动画播放出错"), f.value = "stopped";
|
|
76
76
|
}
|
|
77
|
-
},
|
|
77
|
+
}, j = () => {
|
|
78
78
|
if (n.value.length === 0) {
|
|
79
79
|
y.error("无动画数据");
|
|
80
80
|
return;
|
|
@@ -85,15 +85,15 @@ ${j.value.join(" ")}
|
|
|
85
85
|
}, O = () => {
|
|
86
86
|
k++, f.value = "stopped", p.value = 0, x.value = 0, H(0), y.info("动画已停止并重置");
|
|
87
87
|
}, _ = () => {
|
|
88
|
-
f.value === "playing" ? P() :
|
|
88
|
+
f.value === "playing" ? P() : j();
|
|
89
89
|
}, te = (s) => {
|
|
90
90
|
k++, f.value = "paused", H(s);
|
|
91
91
|
}, le = () => {
|
|
92
|
-
if (!
|
|
92
|
+
if (!A.value.trim()) {
|
|
93
93
|
y.warning("导入内容不能为空");
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
96
|
-
const s =
|
|
96
|
+
const s = A.value.trim().split(`
|
|
97
97
|
`).filter((c) => c.trim() !== "");
|
|
98
98
|
if (s.length < 2) {
|
|
99
99
|
y.error("导入数据至少需要包含表头行和一行数据");
|
|
@@ -101,21 +101,21 @@ ${j.value.join(" ")}
|
|
|
101
101
|
}
|
|
102
102
|
const a = s[0].split(" ").map((c) => c.trim()), g = {};
|
|
103
103
|
if (a.forEach((c, m) => {
|
|
104
|
-
|
|
104
|
+
L.value.includes(c) && (g[m] = c);
|
|
105
105
|
}), Object.keys(g).length === 0) {
|
|
106
106
|
y.error("没有找到匹配的表头,请检查表头名称是否正确");
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
109
|
const r = s.slice(1).map((c) => {
|
|
110
110
|
const m = c.split(" "), S = {};
|
|
111
|
-
return
|
|
111
|
+
return L.value.forEach((K) => {
|
|
112
112
|
S[K] = "0";
|
|
113
113
|
}), Object.entries(g).forEach(([K, I]) => {
|
|
114
114
|
const ae = m[parseInt(K)];
|
|
115
115
|
ae !== void 0 && ae.trim() !== "" && (S[I] = ae.trim());
|
|
116
116
|
}), S;
|
|
117
117
|
});
|
|
118
|
-
r.length > 0 ? (n.value = r, y.success(`成功导入 ${r.length} 行数据!`), V.value = !1,
|
|
118
|
+
r.length > 0 ? (n.value = r, y.success(`成功导入 ${r.length} 行数据!`), V.value = !1, A.value = "", O()) : y.error("未能解析到有效数据,请检查格式。");
|
|
119
119
|
};
|
|
120
120
|
Z(() => T.xyzbcList, () => {
|
|
121
121
|
T.xyzbcList && (n.value = it(T.xyzbcList));
|
|
@@ -125,22 +125,22 @@ ${j.value.join(" ")}
|
|
|
125
125
|
const N = (s) => `第 ${s + 1} 帧`;
|
|
126
126
|
return Q({
|
|
127
127
|
handlePlayPause: _,
|
|
128
|
-
playAnimation:
|
|
128
|
+
playAnimation: j,
|
|
129
129
|
pauseAnimation: P,
|
|
130
130
|
stopAnimation: O
|
|
131
131
|
}), He(() => {
|
|
132
132
|
k++;
|
|
133
133
|
}), (s, a) => {
|
|
134
134
|
const g = q("el-input-number"), C = q("el-slider"), r = q("el-input"), c = q("el-dialog");
|
|
135
|
-
return
|
|
135
|
+
return z(), M("div", bt, [
|
|
136
136
|
l("div", ht, [
|
|
137
137
|
i(pe, {
|
|
138
138
|
onClick: a[0] || (a[0] = (m) => V.value = !0),
|
|
139
|
-
disabled:
|
|
139
|
+
disabled: L.value.length === 0,
|
|
140
140
|
modelValue: "导入数据"
|
|
141
141
|
}, null, 8, ["disabled"])
|
|
142
142
|
]),
|
|
143
|
-
n.value.length > 0 ? (
|
|
143
|
+
n.value.length > 0 ? (z(), M("div", yt, [
|
|
144
144
|
l("div", kt, [
|
|
145
145
|
a[6] || (a[6] = l("label", null, "帧间隔 (ms):", -1)),
|
|
146
146
|
i(g, {
|
|
@@ -174,11 +174,11 @@ ${j.value.join(" ")}
|
|
|
174
174
|
l("div", null, [
|
|
175
175
|
a[9] || (a[9] = l("label", null, "当前帧数据:", -1)),
|
|
176
176
|
l("div", null, [
|
|
177
|
-
X.value ? (
|
|
177
|
+
X.value ? (z(!0), M(Ke, { key: 0 }, We(X.value, (m, S) => (z(), M("div", { key: S }, B(S) + ": " + B(m), 1))), 128)) : G("", !0)
|
|
178
178
|
])
|
|
179
179
|
])
|
|
180
180
|
])) : G("", !0),
|
|
181
|
-
n.value.length === 0 ? (
|
|
181
|
+
n.value.length === 0 ? (z(), M("div", xt, a[10] || (a[10] = [
|
|
182
182
|
l("p", null, "请先导入数据", -1)
|
|
183
183
|
]))) : G("", !0),
|
|
184
184
|
i(c, {
|
|
@@ -203,8 +203,8 @@ ${j.value.join(" ")}
|
|
|
203
203
|
default: ne(() => [
|
|
204
204
|
a[11] || (a[11] = l("p", { class: "import-instructions" }, " 请从Excel或CSV中复制数据 (首行为表头, Tab分隔) ", -1)),
|
|
205
205
|
i(r, {
|
|
206
|
-
modelValue:
|
|
207
|
-
"onUpdate:modelValue": a[3] || (a[3] = (m) =>
|
|
206
|
+
modelValue: A.value,
|
|
207
|
+
"onUpdate:modelValue": a[3] || (a[3] = (m) => A.value = m),
|
|
208
208
|
type: "textarea",
|
|
209
209
|
rows: 10,
|
|
210
210
|
placeholder: ce.value
|
|
@@ -216,7 +216,7 @@ ${j.value.join(" ")}
|
|
|
216
216
|
]);
|
|
217
217
|
};
|
|
218
218
|
}
|
|
219
|
-
}), Pe = /* @__PURE__ */ Ce($t, [["__scopeId", "data-v-06bc34b3"]]),
|
|
219
|
+
}), Pe = /* @__PURE__ */ Ce($t, [["__scopeId", "data-v-06bc34b3"]]), Ut = async (E) => await new mt().loadAsync(E), zt = async (E) => await Ut(E), Tt = { class: "obj-viewer-container" }, Vt = { class: "buttonGroup-top" }, At = { class: "buttonGroup-topLeft" }, Lt = { class: "buttonGroup-left" }, jt = { class: "buttonGroup-right" }, Nt = { class: "buttonGroup-bottom" }, Dt = { class: "top-panel" }, Rt = { class: "panel-header" }, Ot = { class: "panel-body" }, St = { class: "left-panel" }, Ft = { class: "panel-header" }, Mt = { class: "panel-body" }, Bt = {
|
|
220
220
|
key: 1,
|
|
221
221
|
class: "clipping-content"
|
|
222
222
|
}, Et = { class: "radio-group" }, Jt = { class: "radio-label" }, It = { class: "radio-label" }, Gt = { class: "radio-label" }, Xt = { class: "radio-label" }, Ht = { class: "right-panel" }, Kt = { class: "panel-header" }, Wt = { class: "panel-body" }, Yt = {
|
|
@@ -230,17 +230,17 @@ ${j.value.join(" ")}
|
|
|
230
230
|
},
|
|
231
231
|
emits: ["getAnimationData", "getThreeData"],
|
|
232
232
|
setup(E, { emit: Q }) {
|
|
233
|
-
const T = Q, n = E, V = he("setManagementPageTitle"),
|
|
233
|
+
const T = Q, n = E, V = he("setManagementPageTitle"), A = he("setManagementPageVisible"), f = U(() => {
|
|
234
234
|
var e, o;
|
|
235
235
|
return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.machine;
|
|
236
|
-
}), p =
|
|
236
|
+
}), p = U(() => {
|
|
237
237
|
var e, o;
|
|
238
238
|
return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.workpieceInfo;
|
|
239
|
-
}), x =
|
|
239
|
+
}), x = U(() => {
|
|
240
240
|
var e, o;
|
|
241
241
|
return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.knife;
|
|
242
242
|
}), J = u([]), D = async (t) => {
|
|
243
|
-
!t || !t.isExtra || (await k(t), V == null || V(t == null ? void 0 : t.pageName),
|
|
243
|
+
!t || !t.isExtra || (await k(t), V == null || V(t == null ? void 0 : t.pageName), A == null || A(!0));
|
|
244
244
|
}, k = ft(async (t) => {
|
|
245
245
|
await gt();
|
|
246
246
|
const { mainKey: e, baseMenuPath: o } = t || {};
|
|
@@ -312,7 +312,7 @@ ${j.value.join(" ")}
|
|
|
312
312
|
immediate: !0
|
|
313
313
|
}
|
|
314
314
|
);
|
|
315
|
-
const ee = u([]), R =
|
|
315
|
+
const ee = u([]), R = U(() => {
|
|
316
316
|
var e, o;
|
|
317
317
|
return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.csvUrl;
|
|
318
318
|
});
|
|
@@ -324,10 +324,10 @@ ${j.value.join(" ")}
|
|
|
324
324
|
}, {
|
|
325
325
|
immediate: !0
|
|
326
326
|
});
|
|
327
|
-
const
|
|
327
|
+
const L = U(() => {
|
|
328
328
|
var e, o;
|
|
329
329
|
return (o = (e = n == null ? void 0 : n.threeData) == null ? void 0 : e.data) == null ? void 0 : o.bladeObjUrl;
|
|
330
|
-
}), ce = u(ke.ROBOT), X = u(null), H = u(!1), oe = u(""),
|
|
330
|
+
}), ce = u(ke.ROBOT), X = u(null), H = u(!1), oe = u(""), j = u(!1), P = u(""), O = u(!1), _ = u(""), te = u(!1), le = u(""), N = ue(null), s = u("叶片模型"), a = ue(null), g = ue(null), C = ue(null), r = u(Pe), {
|
|
331
331
|
currentModels: c,
|
|
332
332
|
resetView: m,
|
|
333
333
|
initThreeJS: S,
|
|
@@ -342,12 +342,12 @@ ${j.value.join(" ")}
|
|
|
342
342
|
c,
|
|
343
343
|
H,
|
|
344
344
|
oe
|
|
345
|
-
), { isAnimating: fe, toggleAnimation:
|
|
345
|
+
), { isAnimating: fe, toggleAnimation: Ue, stopAnimation: ze } = ot(I, c), { isClipping: Te, activeClippingAxis: w, toggleClipping: Ve, updateClippingPlanes: F } = st(I, c), { initRaycaster: Ae, selectedObject3D: Le, setSelectedObjVisible: je, updatePosition: Ne, updateRotation: De, dispose: Re } = tt(X, I, c), Oe = () => {
|
|
346
346
|
_e();
|
|
347
|
-
}, Se =
|
|
347
|
+
}, Se = U(() => ce.value === ke.ROBOT), Fe = (t) => {
|
|
348
348
|
le.value = t, te.value = !0;
|
|
349
349
|
}, se = (t) => {
|
|
350
|
-
|
|
350
|
+
j.value = !0, P.value = t, t === "剖面视图" && !Te.value && Ve();
|
|
351
351
|
}, ve = (t) => {
|
|
352
352
|
O.value = !0, _.value = t, t === "动画仿真" && T("getAnimationData");
|
|
353
353
|
}, Me = () => {
|
|
@@ -361,8 +361,8 @@ ${j.value.join(" ")}
|
|
|
361
361
|
(t = r.value) == null || t.stopAnimation();
|
|
362
362
|
}, Je = (t, e) => vt(t, e), Ie = async (t) => {
|
|
363
363
|
const e = Je(t, s.value);
|
|
364
|
-
if (g.value = e, console.log("bladeObjUrl",
|
|
365
|
-
const o = await
|
|
364
|
+
if (g.value = e, console.log("bladeObjUrl", L.value), e && e.parent && L.value) {
|
|
365
|
+
const o = await zt(L.value);
|
|
366
366
|
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, a.value = o;
|
|
367
367
|
} else
|
|
368
368
|
s.value && console.warn(`在 Blade '${s.value}' 中未找到可替换的网格或其没有父级。`);
|
|
@@ -383,14 +383,14 @@ ${j.value.join(" ")}
|
|
|
383
383
|
immediate: !0,
|
|
384
384
|
deep: !0
|
|
385
385
|
}), Z(N, (t) => {
|
|
386
|
-
me(t ? [t] : []),
|
|
386
|
+
me(t ? [t] : []), Ae();
|
|
387
387
|
});
|
|
388
388
|
const Ge = () => {
|
|
389
389
|
S(), window.addEventListener("resize", K);
|
|
390
390
|
const t = I();
|
|
391
391
|
C.value = t.scene;
|
|
392
392
|
}, Xe = () => {
|
|
393
|
-
P.value = "", _.value = "", window.removeEventListener("resize", K), fe.value &&
|
|
393
|
+
P.value = "", _.value = "", window.removeEventListener("resize", K), fe.value && ze(), ae(), Re();
|
|
394
394
|
};
|
|
395
395
|
return Ye(async () => {
|
|
396
396
|
await Ze();
|
|
@@ -403,7 +403,7 @@ ${j.value.join(" ")}
|
|
|
403
403
|
Xe();
|
|
404
404
|
}), (t, e) => {
|
|
405
405
|
const o = q("el-scrollbar"), ie = q("PipeAnalysisPanel");
|
|
406
|
-
return
|
|
406
|
+
return z(), M("div", Tt, [
|
|
407
407
|
$(l("div", {
|
|
408
408
|
ref_key: "threejsContainer",
|
|
409
409
|
ref: X,
|
|
@@ -415,7 +415,7 @@ ${j.value.join(" ")}
|
|
|
415
415
|
Y(t.$slots, "button-top", { switchTopPanel: Fe }, void 0, !0),
|
|
416
416
|
Y(t.$slots, "logout", {}, void 0, !0)
|
|
417
417
|
]),
|
|
418
|
-
l("div",
|
|
418
|
+
l("div", At, [
|
|
419
419
|
i(h, {
|
|
420
420
|
name: "viewReset",
|
|
421
421
|
size: "24",
|
|
@@ -435,7 +435,7 @@ ${j.value.join(" ")}
|
|
|
435
435
|
i(h, {
|
|
436
436
|
name: "lookAround",
|
|
437
437
|
size: "24",
|
|
438
|
-
onClick: d(
|
|
438
|
+
onClick: d(Ue),
|
|
439
439
|
title: d(fe) ? "停止动画" : "动画视图"
|
|
440
440
|
}, null, 8, ["onClick", "title"]),
|
|
441
441
|
i(h, {
|
|
@@ -446,30 +446,30 @@ ${j.value.join(" ")}
|
|
|
446
446
|
title: "显隐坐标轴"
|
|
447
447
|
}, null, 8, ["active"])
|
|
448
448
|
]),
|
|
449
|
-
l("div",
|
|
449
|
+
l("div", Lt, [
|
|
450
450
|
Y(t.$slots, "button-left", { switchRightPanel: se }, void 0, !0),
|
|
451
451
|
i(h, {
|
|
452
452
|
name: "jiegoushu",
|
|
453
453
|
size: "24",
|
|
454
454
|
onClick: e[0] || (e[0] = (b) => se("场景树")),
|
|
455
|
-
active:
|
|
455
|
+
active: j.value && P.value === "场景树",
|
|
456
456
|
title: "场景树"
|
|
457
457
|
}, null, 8, ["active"]),
|
|
458
458
|
i(h, {
|
|
459
459
|
name: "clipping",
|
|
460
460
|
size: "24",
|
|
461
461
|
onClick: e[1] || (e[1] = (b) => se("剖面视图")),
|
|
462
|
-
active:
|
|
462
|
+
active: j.value && P.value === "剖面视图",
|
|
463
463
|
title: "剖面视图"
|
|
464
464
|
}, null, 8, ["active"]),
|
|
465
465
|
i(h, {
|
|
466
466
|
name: "donghuafangzhen",
|
|
467
467
|
size: "24",
|
|
468
468
|
onClick: e[2] || (e[2] = (b) => se("工件树")),
|
|
469
|
-
active:
|
|
469
|
+
active: j.value && P.value === "工件树"
|
|
470
470
|
}, null, 8, ["active"])
|
|
471
471
|
]),
|
|
472
|
-
l("div",
|
|
472
|
+
l("div", jt, [
|
|
473
473
|
Y(t.$slots, "button-right", { switchRightPanel: ve }, void 0, !0),
|
|
474
474
|
i(h, {
|
|
475
475
|
name: "jichuangxuanze",
|
|
@@ -533,7 +533,7 @@ ${j.value.join(" ")}
|
|
|
533
533
|
l("span", null, B(P.value), 1),
|
|
534
534
|
l("span", {
|
|
535
535
|
class: "close",
|
|
536
|
-
onClick: e[6] || (e[6] = (b) =>
|
|
536
|
+
onClick: e[6] || (e[6] = (b) => j.value = !1)
|
|
537
537
|
}, " X ")
|
|
538
538
|
]),
|
|
539
539
|
l("div", Mt, [
|
|
@@ -541,13 +541,13 @@ ${j.value.join(" ")}
|
|
|
541
541
|
default: ne(() => {
|
|
542
542
|
var b;
|
|
543
543
|
return [
|
|
544
|
-
P.value === "场景树" ? (
|
|
544
|
+
P.value === "场景树" ? (z(), ye(dt, {
|
|
545
545
|
key: 0,
|
|
546
546
|
model: N.value,
|
|
547
547
|
extraNodes: J.value,
|
|
548
548
|
onNodeClick: D
|
|
549
549
|
}, null, 8, ["model", "extraNodes"])) : G("", !0),
|
|
550
|
-
P.value === "剖面视图" ? (
|
|
550
|
+
P.value === "剖面视图" ? (z(), M("div", Bt, [
|
|
551
551
|
l("div", Et, [
|
|
552
552
|
l("label", Jt, [
|
|
553
553
|
$(l("input", {
|
|
@@ -603,10 +603,10 @@ ${j.value.join(" ")}
|
|
|
603
603
|
])
|
|
604
604
|
])
|
|
605
605
|
])) : G("", !0),
|
|
606
|
-
P.value === "工件树" ? (
|
|
606
|
+
P.value === "工件树" ? (z(), ye(at, {
|
|
607
607
|
key: 2,
|
|
608
|
-
model: (b = d(
|
|
609
|
-
onVisibleChange: d(
|
|
608
|
+
model: (b = d(Le)) == null ? void 0 : b.obj,
|
|
609
|
+
onVisibleChange: d(je),
|
|
610
610
|
onUpdatePosition: d(Ne),
|
|
611
611
|
onUpdateRotation: d(De)
|
|
612
612
|
}, null, 8, ["model", "onVisibleChange", "onUpdatePosition", "onUpdateRotation"])) : G("", !0)
|
|
@@ -616,7 +616,7 @@ ${j.value.join(" ")}
|
|
|
616
616
|
})
|
|
617
617
|
])
|
|
618
618
|
], 512), [
|
|
619
|
-
[W,
|
|
619
|
+
[W, j.value]
|
|
620
620
|
]),
|
|
621
621
|
$(l("div", Ht, [
|
|
622
622
|
l("div", Kt, [
|
|
@@ -649,7 +649,7 @@ ${j.value.join(" ")}
|
|
|
649
649
|
], 512), [
|
|
650
650
|
[W, O.value]
|
|
651
651
|
]),
|
|
652
|
-
H.value ? (
|
|
652
|
+
H.value ? (z(), M("div", Yt, [
|
|
653
653
|
e[20] || (e[20] = l("div", { class: "loading-spinner" }, null, -1)),
|
|
654
654
|
l("p", null, B(oe.value), 1)
|
|
655
655
|
])) : G("", !0),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),Te=require("./index.vue_vue_type_style_index_1_lang-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),Te=require("./index.vue_vue_type_style_index_1_lang-CrmWclPR.cjs"),A=require("./workpieceTreePanel-DXyb_Wnw.cjs"),Z=require("./iconfont-BDfcbq2v.cjs"),p=require("./index-Dv1G67_Q.cjs");require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-TDoJ17os.cjs");const Q=require("./index-uIVtG4RY.cjs"),G=require("./urdfTree-CWStzmk2.cjs"),se=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),g=require("./svgIcon-CUM54R6L.cjs"),De=require("./animationData-C3-BiUgV.cjs"),Me=require("./MTLLoader-Cqv49Ps8.cjs"),oe=require("./index-D3TgRd-7.cjs"),$e={class:"panel-content"},Be={class:"action-bar"},ze={key:0,class:"animation-controls"},Le={class:"control-row"},Re={class:"control-row"},Ue={class:"frame-info"},je={class:"control-row"},Ae={key:1,class:"empty-state"},Ie={class:"dialog-footer"},Oe=e.defineComponent({__name:"urdfAnimationPanel",props:{model:{},scene:{},xyzbcList:{}},setup(B,{expose:I}){const k=B,o=e.ref([]),w=e.ref(!1),C=e.ref(""),v=e.ref("stopped"),c=e.ref(0),y=e.ref(0),z=e.ref(10),S=e.ref(null);let h=0;const O=e.ref([]),T=e.computed(()=>k.model?G.getNonFixedJoints(k.model).map(m=>m.name):[]),P=e.computed(()=>[...T.value]),W=e.computed(()=>P.value.length>0?`请按以下格式粘贴数据 (第一行为表头,使用 Tab 分隔):
|
|
2
2
|
${P.value.join(" ")}
|
|
3
3
|
0 0 0 ...
|
|
4
4
|
1 2 3 ...`:"请先加载模型。"),R=e.computed(()=>o.value[c.value]||{});e.watch(()=>k.model,s=>{s?(S.value=new A.URDFRobotController(s),O.value=G.getAllLinkName(s),c.value=0):(S.value=null,O.value=[])},{immediate:!0});const U=s=>{if(s<0||s>=o.value.length){console.error(`帧索引 ${s} 超出范围`);return}const n=o.value[s];if(S.value){const m={};T.value.forEach(N=>{const i=parseFloat(n[N]);isNaN(i)||(m[N]=i)}),S.value.setJointAngles(m)}c.value=s,y.value=o.value.length>1?s/(o.value.length-1)*100:100},H=async s=>{try{for(let n=c.value;n<o.value.length;n++){if(s!==h)return;const m=o.value[n],N={};if(S.value)T.value.forEach(i=>{const r=parseFloat(m[i]);isNaN(r)||(N[i]=r)}),await S.value.animateToState(N,z.value,i=>{s===h&&(y.value=(n+i)/o.value.length*100)});else{if(await new Promise(i=>setTimeout(i,z.value)),s!==h)return;y.value=(n+1)/o.value.length*100}c.value=n}s===h&&(p.ElMessage.success("动画播放完成"),v.value="stopped",y.value=100)}catch(n){console.error("动画播放出错:",n),p.ElMessage.error("动画播放出错"),v.value="stopped"}},_=()=>{if(o.value.length===0){p.ElMessage.error("无动画数据");return}v.value==="stopped"&&(c.value=0,U(0)),v.value="playing",h++,H(h),p.ElMessage.info("动画播放中")},V=()=>{v.value==="playing"&&(h++,v.value="paused",p.ElMessage.info("动画已暂停"))},D=()=>{h++,v.value="stopped",c.value=0,y.value=0,U(0),p.ElMessage.info("动画已停止并重置")},E=()=>{v.value==="playing"?V():_()},F=s=>{h++,v.value="paused",U(s)},q=()=>{if(!C.value.trim()){p.ElMessage.warning("导入内容不能为空");return}const s=C.value.trim().split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),D=require("./iconfont-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),D=require("./iconfont-BDfcbq2v.cjs"),s=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-TDoJ17os.cjs"),ye=require("./fileUtil-BFtJHTM0.cjs"),we=require("./index-Dv1G67_Q.cjs"),J=require("./urdfTree-CWStzmk2.cjs"),v=require("./svgIcon-CUM54R6L.cjs"),Se=require("./isString-Cqq3-gAK.cjs"),xe=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),K=new s.Box3,R=new s.Vector3;class oe extends s.InstancedBufferGeometry{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],i=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],o=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(o),this.setAttribute("position",new s.Float32BufferAttribute(e,3)),this.setAttribute("uv",new s.Float32BufferAttribute(i,2))}applyMatrix4(e){const i=this.attributes.instanceStart,o=this.attributes.instanceEnd;return i!==void 0&&(i.applyMatrix4(e),o.applyMatrix4(e),i.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let i;e instanceof Float32Array?i=e:Array.isArray(e)&&(i=new Float32Array(e));const o=new s.InstancedInterleavedBuffer(i,6,1);return this.setAttribute("instanceStart",new s.InterleavedBufferAttribute(o,3,0)),this.setAttribute("instanceEnd",new s.InterleavedBufferAttribute(o,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let i;e instanceof Float32Array?i=e:Array.isArray(e)&&(i=new Float32Array(e));const o=new s.InstancedInterleavedBuffer(i,6,1);return this.setAttribute("instanceColorStart",new s.InterleavedBufferAttribute(o,3,0)),this.setAttribute("instanceColorEnd",new s.InterleavedBufferAttribute(o,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new s.WireframeGeometry(e.geometry)),this}fromLineSegments(e){const i=e.geometry;return this.setPositions(i.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new s.Box3);const e=this.attributes.instanceStart,i=this.attributes.instanceEnd;e!==void 0&&i!==void 0&&(this.boundingBox.setFromBufferAttribute(e),K.setFromBufferAttribute(i),this.boundingBox.union(K))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new s.Sphere),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,i=this.attributes.instanceEnd;if(e!==void 0&&i!==void 0){const o=this.boundingSphere.center;this.boundingBox.getCenter(o);let n=0;for(let c=0,d=e.count;c<d;c++)R.fromBufferAttribute(e,c),n=Math.max(n,o.distanceToSquared(R)),R.fromBufferAttribute(i,c),n=Math.max(n,o.distanceToSquared(R));this.boundingSphere.radius=Math.sqrt(n),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}}s.UniformsLib.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new s.Vector2(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};s.ShaderLib.line={uniforms:s.UniformsUtils.merge([s.UniformsLib.common,s.UniformsLib.fog,s.UniformsLib.line]),vertexShader:`
|
|
2
2
|
#include <common>
|
|
3
3
|
#include <color_pars_vertex>
|
|
4
4
|
#include <fog_pars_vertex>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defineComponent as We, ref as B, shallowRef as he, computed as $, watch as Ve, onMounted as He, onBeforeUnmount as Ne, resolveComponent as $e, createElementBlock as te, openBlock as X, createElementVNode as d, withDirectives as k, createCommentVNode as ne, createVNode as p, unref as b, renderSlot as ve, toDisplayString as ie, withCtx as ge, createBlock as Xe, isRef as Y, vModelRadio as q, vShow as se } from "vue";
|
|
2
|
-
import { u as Ye, a as qe, b as Je, f as Ze, d as Ke } from "./iconfont-
|
|
3
|
-
import { aE as Qe, aF as le, aG as de, av as R, aH as et, B as ce, aD as Ce, V as P, aI as tt, aJ as Q, aK as _e, Y as Ue, aL as ee, k as nt, aM as V, aN as it, r as st, s as Ee, t as ot, w as at, ag as rt, ao as lt } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-
|
|
4
|
-
import { r as dt } from "./fileUtil-
|
|
5
|
-
import { E as ct } from "./index-
|
|
6
|
-
import { U as ut, J as ft } from "./urdfTree-
|
|
2
|
+
import { u as Ye, a as qe, b as Je, f as Ze, d as Ke } from "./iconfont-B9Cj3DQM.js";
|
|
3
|
+
import { aE as Qe, aF as le, aG as de, av as R, aH as et, B as ce, aD as Ce, V as P, aI as tt, aJ as Q, aK as _e, Y as Ue, aL as ee, k as nt, aM as V, aN as it, r as st, s as Ee, t as ot, w as at, ag as rt, ao as lt } from "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CuWDdCiy.js";
|
|
4
|
+
import { r as dt } from "./fileUtil-D7XVXEhb.js";
|
|
5
|
+
import { E as ct } from "./index-HduGypr9.js";
|
|
6
|
+
import { U as ut, J as ft } from "./urdfTree-CnkPddyT.js";
|
|
7
7
|
import { T as v } from "./svgIcon-D-_fXUBL.js";
|
|
8
|
-
import { i as pt } from "./isString-
|
|
8
|
+
import { i as pt } from "./isString-BuBBWjRr.js";
|
|
9
9
|
import { _ as mt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
10
10
|
const ye = new ce(), J = new P();
|
|
11
11
|
class Ae extends Qe {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed as _, defineComponent as Y, defineAsyncComponent as S, ref as B, watch as q, createElementBlock as O, openBlock as y, normalizeClass as J, createElementVNode as K, createBlock as P, createCommentVNode as L, renderSlot as p, unref as D, withCtx as T } from "vue";
|
|
2
|
-
import { a as A,
|
|
3
|
-
import { u as z } from "./index.vue_vue_type_style_index_1_lang-
|
|
4
|
-
import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-
|
|
2
|
+
import { a as A, cb as Q, p as N, s as H } from "./index-HduGypr9.js";
|
|
3
|
+
import { u as z } from "./index.vue_vue_type_style_index_1_lang-DwvuVXW6.js";
|
|
4
|
+
import "./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CuWDdCiy.js";
|
|
5
5
|
import { _ as X } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
function ue(l) {
|
|
7
7
|
const m = sessionStorage.getItem("loginToken") ?? "123456";
|
|
@@ -137,7 +137,7 @@ const te = { class: "top-menu" }, ne = {
|
|
|
137
137
|
},
|
|
138
138
|
emits: ["getThreeData"],
|
|
139
139
|
setup(l, { emit: m }) {
|
|
140
|
-
const v = S(() => import("./threeSceneView-
|
|
140
|
+
const v = S(() => import("./threeSceneView-CzgWYHBw.js")), k = S(() => import("./threePreview-DutKTPWH.js")), f = S(() => import("./threeTrackPathView-DA4_8jas.js")), E = S(() => import("./threeSceneViewForCPMPIP-2sXIw3I1.js")), o = {
|
|
141
141
|
ROBOT_SCENE: "robot",
|
|
142
142
|
// 机器人场景
|
|
143
143
|
LATHE_SCENE: "latheScene",
|
|
@@ -149,7 +149,7 @@ const te = { class: "top-menu" }, ne = {
|
|
|
149
149
|
}, r = l, U = z(N), { platName: d } = H(U), { isGeneralFile: g, isUrdf: c, isTrackPathFile: F, extraExtension: $ } = ee(), w = _(() => (r == null ? void 0 : r.extension) || $.value), I = _(() => {
|
|
150
150
|
var e, n;
|
|
151
151
|
return (n = (e = r == null ? void 0 : r.threeData) == null ? void 0 : e.data) == null ? void 0 : n.trackFileType;
|
|
152
|
-
}),
|
|
152
|
+
}), b = _(() => {
|
|
153
153
|
var n;
|
|
154
154
|
if (r.componentType)
|
|
155
155
|
switch (r.componentType) {
|
|
@@ -189,8 +189,8 @@ const te = { class: "top-menu" }, ne = {
|
|
|
189
189
|
const a = await Z({ url: e });
|
|
190
190
|
if (a.status !== 200)
|
|
191
191
|
throw new Error(`下载失败: ${a.status}`);
|
|
192
|
-
const
|
|
193
|
-
u = R(
|
|
192
|
+
const C = a.headers["content-disposition"];
|
|
193
|
+
u = R(C) || "无文件名", n = a.data;
|
|
194
194
|
} catch (a) {
|
|
195
195
|
throw console.error("通过 API 下载文件时出错:", a), a;
|
|
196
196
|
}
|
|
@@ -202,9 +202,9 @@ const te = { class: "top-menu" }, ne = {
|
|
|
202
202
|
if (n) {
|
|
203
203
|
let a = n[1].trim();
|
|
204
204
|
a = a.replace(/^"(.*)"$/, "$1");
|
|
205
|
-
const
|
|
206
|
-
if (
|
|
207
|
-
const j =
|
|
205
|
+
const C = a.split("''");
|
|
206
|
+
if (C.length === 2) {
|
|
207
|
+
const j = C[0].toUpperCase(), M = C[1];
|
|
208
208
|
try {
|
|
209
209
|
if (j === "UTF-8")
|
|
210
210
|
return decodeURIComponent(M);
|
|
@@ -252,7 +252,7 @@ const te = { class: "top-menu" }, ne = {
|
|
|
252
252
|
K("div", te, [
|
|
253
253
|
p(e.$slots, "top-menu", {}, void 0, !0)
|
|
254
254
|
]),
|
|
255
|
-
|
|
255
|
+
b.value === o.ROBOT_SCENE ? (y(), P(D(v), {
|
|
256
256
|
key: 0,
|
|
257
257
|
"file-blobs": t.value,
|
|
258
258
|
"animation-data": e.animationData,
|
|
@@ -266,7 +266,7 @@ const te = { class: "top-menu" }, ne = {
|
|
|
266
266
|
p(e.$slots, "management-page", {}, void 0, !0)
|
|
267
267
|
]),
|
|
268
268
|
_: 3
|
|
269
|
-
}, 8, ["file-blobs", "animation-data", "threeData"])) :
|
|
269
|
+
}, 8, ["file-blobs", "animation-data", "threeData"])) : b.value === o.LATHE_SCENE ? (y(), P(D(f), {
|
|
270
270
|
key: 1,
|
|
271
271
|
fileUrls: e.fileUrls,
|
|
272
272
|
threeData: r.threeData,
|
|
@@ -279,7 +279,7 @@ const te = { class: "top-menu" }, ne = {
|
|
|
279
279
|
p(e.$slots, "management-page", {}, void 0, !0)
|
|
280
280
|
]),
|
|
281
281
|
_: 3
|
|
282
|
-
}, 8, ["fileUrls", "threeData", "trackFileType"])) :
|
|
282
|
+
}, 8, ["fileUrls", "threeData", "trackFileType"])) : b.value === o.CPMPIP_SCENE ? (y(), P(D(E), {
|
|
283
283
|
key: 2,
|
|
284
284
|
"file-blobs": t.value,
|
|
285
285
|
threeData: r.threeData
|
|
@@ -291,7 +291,7 @@ const te = { class: "top-menu" }, ne = {
|
|
|
291
291
|
p(e.$slots, "management-page", {}, void 0, !0)
|
|
292
292
|
]),
|
|
293
293
|
_: 3
|
|
294
|
-
}, 8, ["file-blobs", "threeData"])) :
|
|
294
|
+
}, 8, ["file-blobs", "threeData"])) : b.value === o.PREVIEW ? (y(), P(D(k), {
|
|
295
295
|
key: 3,
|
|
296
296
|
"file-blobs": t.value,
|
|
297
297
|
"animation-data": e.animationData
|
|
@@ -313,10 +313,10 @@ const te = { class: "top-menu" }, ne = {
|
|
|
313
313
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
314
314
|
export {
|
|
315
315
|
ae as T,
|
|
316
|
-
|
|
317
|
-
|
|
316
|
+
x as a,
|
|
317
|
+
ee as b,
|
|
318
318
|
me as c,
|
|
319
319
|
Z as d,
|
|
320
320
|
fe as t,
|
|
321
|
-
|
|
321
|
+
ue as u
|
|
322
322
|
};
|