ss-component-new 1.2.96 → 1.2.98

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 (104) hide show
  1. package/dist/{MTLLoader-8qht74Q7.js → MTLLoader-CCS24gLm.js} +1 -1
  2. package/dist/{MTLLoader-BmycYKH6.cjs → MTLLoader-DlcJK6vT.cjs} +1 -1
  3. package/dist/{OrbitControls-Bzn7u6zE.cjs → OrbitControls-BLs9AYBY.cjs} +1 -1
  4. package/dist/{OrbitControls-BjJ79rTx.js → OrbitControls-KkyEKP5M.js} +1 -1
  5. package/dist/{animationData-0jCpD3l0.js → animationData-Btgynl98.js} +3 -3
  6. package/dist/{animationData-CAppfuqr.cjs → animationData-CCImpyvS.cjs} +1 -1
  7. package/dist/{array-Dg-eQLeS.cjs → array-CYnA_0YM.cjs} +1 -1
  8. package/dist/{array-Cn-xxeGh.js → array-jPdolPpm.js} +1 -1
  9. package/dist/{dataUtil-BFP1At6d.cjs → dataUtil-B4sGo38_.cjs} +1 -1
  10. package/dist/{dataUtil-C4lMM2nY.js → dataUtil-DQX9rTvE.js} +1 -1
  11. package/dist/{iconfont-m9s2eWSa.js → iconfont-B8CQB3CO.js} +2 -2
  12. package/dist/{iconfont-CYyOVK2s.cjs → iconfont-BXzhYF5A.cjs} +1 -1
  13. package/dist/{index-1l1PVuvD.js → index--JyaPE1g.js} +1 -1
  14. package/dist/{index-6Chvz-6H.cjs → index-1TxthiQw.cjs} +1 -1
  15. package/dist/{index-Bvvx3SbS.cjs → index-2wJBzGa-.cjs} +1 -1
  16. package/dist/{index-D-7WLmXf.cjs → index-6sDAnob5.cjs} +1 -1
  17. package/dist/{index-ykiHcw47.cjs → index-7ZZHuv4d.cjs} +1 -1
  18. package/dist/{index-CTh_Ncuz.cjs → index-B21qNg4A.cjs} +1 -1
  19. package/dist/{index-B01K_q9I.js → index-B4YN6ElV.js} +2 -2
  20. package/dist/{index-j16y0mCJ.cjs → index-B8XDW6Ly.cjs} +1 -1
  21. package/dist/{index-C0g2wZa2.js → index-BCNDy7LZ.js} +1 -1
  22. package/dist/{index-traVr_lk.cjs → index-BMSOMrGq.cjs} +1 -1
  23. package/dist/{index-BayQ6HRi.js → index-BXfKtvF-.js} +1 -1
  24. package/dist/{index-C8dRWVYa.cjs → index-B_WRw_3s.cjs} +1 -1
  25. package/dist/{index-ii79t_b4.cjs → index-BaXxrBtb.cjs} +1 -1
  26. package/dist/{index-B-gCmSbm.js → index-Bk8CKDbz.js} +7 -7
  27. package/dist/{index-i247pLsX.js → index-BkPXyAKD.js} +2 -2
  28. package/dist/{index-Df60duTb.js → index-BxZ-k8Ww.js} +1 -1
  29. package/dist/{index-C3pEzgj_.js → index-C9U9aO2Y.js} +5 -5
  30. package/dist/{index-DijDlKaY.js → index-CAAOZFSQ.js} +19 -19
  31. package/dist/{index-DMwTF1Hl.cjs → index-CGRb8BQx.cjs} +1 -1
  32. package/dist/{index-TGJkSdz2.js → index-CJOQxUog.js} +2 -2
  33. package/dist/{index-D98HbHeq.js → index-CLddyFrz.js} +3 -3
  34. package/dist/{index-DEX2MMzx.js → index-CSQJCfDf.js} +1 -1
  35. package/dist/{index-C3nNOYlY.js → index-CUAM_spJ.js} +3 -3
  36. package/dist/{index-FKHrqiVz.js → index-CV2JWX-7.js} +1 -1
  37. package/dist/{index-Bag6byEJ.cjs → index-CWJuJJYp.cjs} +1 -1
  38. package/dist/{index-DJSzUDVP.cjs → index-CYmbZuJq.cjs} +1 -1
  39. package/dist/{index-PUTWsBgd.cjs → index-C_rjTaFu.cjs} +1 -1
  40. package/dist/{index-D0NuMuh5.js → index-CcwTi2WJ.js} +1 -1
  41. package/dist/{index-CaaRetWn.js → index-Cmlus98m.js} +5 -5
  42. package/dist/{index-B_GqgLqE.cjs → index-CnBVZu9x.cjs} +1 -1
  43. package/dist/{index-DlnbkEM7.cjs → index-Cw3gRBT3.cjs} +1 -1
  44. package/dist/{index-BIvGwNqR.js → index-Cz7uQ_eD.js} +11 -11
  45. package/dist/{index-BnLOogVf.cjs → index-DMTBVsgY.cjs} +1 -1
  46. package/dist/{index-Bg0aEQlB.js → index-DRizRbU3.js} +1 -1
  47. package/dist/{index-CQm-J0AU.cjs → index-DRjN9mko.cjs} +1 -1
  48. package/dist/{index-VzkNVYhI.cjs → index-DThE5nRZ.cjs} +1 -1
  49. package/dist/{index-BgKE_tia.js → index-DXrBVvWh.js} +5 -5
  50. package/dist/{index-Dgpx-Hra.js → index-DZf4BLpR.js} +8 -8
  51. package/dist/{index-5hihfJxO.cjs → index-DcxUbnrO.cjs} +1 -1
  52. package/dist/{index-Bt57uQ3d.js → index-DdQjdsrn.js} +2 -2
  53. package/dist/{index-BdvqBTDW.js → index-Dggo7EaF.js} +2 -2
  54. package/dist/{index-DY8hmk1Q.cjs → index-DhufphmT.cjs} +1 -1
  55. package/dist/{index-D-7Puf0_.cjs → index-DvQRFx9T.cjs} +1 -1
  56. package/dist/{index-CSZdFHsD.cjs → index-DwFpQNpA.cjs} +1 -1
  57. package/dist/{index-3JUnbgIT.cjs → index-FnJX1FLR.cjs} +1 -1
  58. package/dist/{index-B0eWCQHx.js → index-JQ_SaJ0O.js} +2 -2
  59. package/dist/{index-BjjK_8u-.cjs → index-a6bC3A9D.cjs} +1 -1
  60. package/dist/{index-M8PsQPdI.js → index-blVMOcaF.js} +2 -2
  61. package/dist/{index-dme4eW3i.cjs → index-eaKFpHpQ.cjs} +1 -1
  62. package/dist/{index-MCoX9dAt.js → index-hbpC0O70.js} +5 -5
  63. package/dist/{index-B7d98_nQ.cjs → index-k579sq5M.cjs} +1 -1
  64. package/dist/{index-CO1At3Qt.cjs → index-nSLXu4eq.cjs} +1 -1
  65. package/dist/{index-CIu1uGjo.js → index-tUUpniUl.js} +1 -1
  66. package/dist/{index-oIwmn1U8.js → index-uWijQ8Cy.js} +4 -4
  67. package/dist/{index-DgnURGHM.cjs → index-yWC1EX2L.cjs} +1 -1
  68. package/dist/{index-D6G3wQov.js → index-zsvDrZxo.js} +2 -2
  69. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-BweLdgQg.cjs → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-BKdUW522.cjs} +1 -1
  70. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-Bln4NQBz.js → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DPDuWtDv.js} +11 -11
  71. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DFR9Kcwi.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-CmofVWvn.js} +1 -1
  72. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-C2CSvQmH.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Y4oIHCVM.cjs} +1 -1
  73. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-BNgp6mzJ.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-D0zznqn6.js} +5 -5
  74. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-CPnq8zy9.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-YB8ip9Xh.cjs} +1 -1
  75. package/dist/{index.vue_vue_type_style_index_1_lang-DBVG4Icj.cjs → index.vue_vue_type_style_index_1_lang-B8_elAaU.cjs} +5 -5
  76. package/dist/{index.vue_vue_type_style_index_1_lang-Dk-QY9vy.cjs → index.vue_vue_type_style_index_1_lang-BB0IwRdP.cjs} +1 -1
  77. package/dist/{index.vue_vue_type_style_index_1_lang-D0fEUDml.js → index.vue_vue_type_style_index_1_lang-CT8c_mLo.js} +4 -4
  78. package/dist/{index.vue_vue_type_style_index_1_lang-Bjoq8geZ.js → index.vue_vue_type_style_index_1_lang-Cg1p_3ne.js} +159 -163
  79. package/dist/{main-Da2N7L0r.cjs → main-BOuiQUiL.cjs} +1 -1
  80. package/dist/{main-Dc3xXHlm.js → main-CbZLyXuF.js} +4 -4
  81. package/dist/ss-component.cjs +1 -1
  82. package/dist/ss-component.css +1 -1
  83. package/dist/ss-component.js +10 -10
  84. package/dist/ss-component2.cjs +1 -1
  85. package/dist/ss-component2.js +11 -11
  86. package/dist/{threeModel-Db0eOtGe.js → threeModel-BJ6MrCa-.js} +4 -4
  87. package/dist/{threeModel-B5m5e2r3.cjs → threeModel-i87HG3Ck.cjs} +1 -1
  88. package/dist/{threePreview-CIuFqz2p.cjs → threePreview-B3v9SadK.cjs} +1 -1
  89. package/dist/{threePreview-Bd5BpbCA.js → threePreview-D3wObBZq.js} +309 -305
  90. package/dist/{threeSceneView-mXWAjDOa.js → threeSceneView-DDpjEIgl.js} +11 -11
  91. package/dist/{threeSceneView-ClZqVdCB.cjs → threeSceneView-DQpyKixe.cjs} +2 -2
  92. package/dist/{threeSceneViewForCPMPIP-DAYVqOg4.js → threeSceneViewForCPMPIP-DV_aOUU5.js} +202 -198
  93. package/dist/threeSceneViewForCPMPIP-iaIkud0j.cjs +5 -0
  94. package/dist/{threeTrackPathView-BypIKggF.js → threeTrackPathView-D6aAG4g8.js} +375 -359
  95. package/dist/threeTrackPathView-nPb7Tgdd.cjs +370 -0
  96. package/dist/{threeViewerHost-CG9MEd0B.cjs → threeViewerHost-I50ZyvKF.cjs} +2 -2
  97. package/dist/{threeViewerHost-D8aKuUdC.js → threeViewerHost-XR9tepbY.js} +3 -3
  98. package/dist/{urdfTree-CXBSDiJj.cjs → urdfTree-B19ebCHj.cjs} +1 -1
  99. package/dist/{urdfTree-DxLmsFUL.js → urdfTree-CjxhpnRl.js} +1 -1
  100. package/dist/{workpieceTreePanel-C0gVhVe8.cjs → workpieceTreePanel-0L7tkycK.cjs} +1 -1
  101. package/dist/{workpieceTreePanel-u_fWFvEp.js → workpieceTreePanel-DAnMGvlX.js} +5 -5
  102. package/package.json +1 -1
  103. package/dist/threeSceneViewForCPMPIP-Cs2p48GK.cjs +0 -5
  104. package/dist/threeTrackPathView-CC7mxoKt.cjs +0 -370
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ze=require("./index.vue_vue_type_style_index_1_lang-B8_elAaU.cjs"),U=require("./workpieceTreePanel-0L7tkycK.cjs"),Q=require("./iconfont-BXzhYF5A.cjs"),f=require("./index-C8qRkCgn.cjs");require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Y4oIHCVM.cjs");const ee=require("./index-DhufphmT.cjs"),H=require("./urdfTree-B19ebCHj.cjs"),re=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),N=require("./svgIcon-CUM54R6L.cjs"),$e=require("./animationData-CCImpyvS.cjs"),Le=require("./MTLLoader-DlcJK6vT.cjs"),se=require("./index-7ZZHuv4d.cjs"),Re={class:"panel-content"},Ue={class:"action-bar"},je={key:0,class:"animation-controls"},Ae={class:"control-row"},Ie={class:"control-row"},Oe={class:"frame-info"},Fe={class:"control-row"},qe={key:1,class:"empty-state"},Je={class:"dialog-footer"},He=e.defineComponent({__name:"urdfAnimationPanel",props:{model:{},scene:{},xyzbcList:{}},setup(T,{expose:j}){const w=T,o=e.ref([]),C=e.ref(!1),_=e.ref(""),i=e.ref("stopped"),d=e.ref(0),D=e.ref(0),L=e.ref(10),g=e.ref(null);let m=0;const A=e.ref([]),I=e.computed(()=>w.model?H.getNonFixedJoints(w.model).map(r=>r.name):[]),M=e.computed(()=>[...I.value]),X=e.computed(()=>M.value.length>0?`请按以下格式粘贴数据 (第一行为表头,使用 Tab 分隔):
2
+ ${M.value.join(" ")}
3
+ 0 0 0 ...
4
+ 1 2 3 ...`:"请先加载模型。"),B=e.computed(()=>o.value[d.value]||{});e.watch(()=>w.model,s=>{s?(g.value=new U.URDFRobotController(s),A.value=H.getAllLinkName(s),d.value=0):(g.value=null,A.value=[])},{immediate:!0});const z=s=>{if(s<0||s>=o.value.length){console.error(`帧索引 ${s} 超出范围`);return}const n=o.value[s];if(g.value){const r={};I.value.forEach(V=>{const v=parseFloat(n[V]);isNaN(v)||(r[V]=v)}),g.value.setJointAngles(r)}d.value=s,D.value=o.value.length>1?s/(o.value.length-1)*100:100},W=async s=>{try{for(let n=d.value;n<o.value.length;n++){if(s!==m)return;const r=o.value[n],V={};if(g.value)I.value.forEach(v=>{const p=parseFloat(r[v]);isNaN(p)||(V[v]=p)}),await g.value.animateToState(V,L.value,v=>{s===m&&(D.value=(n+v)/o.value.length*100)});else{if(await new Promise(v=>setTimeout(v,L.value)),s!==m)return;D.value=(n+1)/o.value.length*100}d.value=n}s===m&&(f.ElMessage.success("动画播放完成"),i.value="stopped",D.value=100)}catch(n){console.error("动画播放出错:",n),f.ElMessage.error("动画播放出错"),i.value="stopped"}},R=()=>{if(o.value.length===0){f.ElMessage.error("无动画数据");return}i.value==="stopped"&&(d.value=0,z(0)),i.value="playing",m++,W(m),f.ElMessage.info("动画播放中")},O=()=>{i.value==="playing"&&(m++,i.value="paused",f.ElMessage.info("动画已暂停"))},F=()=>{m++,i.value="stopped",d.value=0,D.value=0,z(0),f.ElMessage.info("动画已停止并重置")},P=()=>{i.value==="playing"?O():R()},y=s=>{m++,i.value="paused",z(s)},$=()=>{if(!_.value.trim()){f.ElMessage.warning("导入内容不能为空");return}const s=_.value.trim().split(`
5
+ `).filter(p=>p.trim()!=="");if(s.length<2){f.ElMessage.error("导入数据至少需要包含表头行和一行数据");return}const n=s[0].split(" ").map(p=>p.trim()),r={};if(n.forEach((p,u)=>{M.value.includes(p)&&(r[u]=p)}),Object.keys(r).length===0){f.ElMessage.error("没有找到匹配的表头,请检查表头名称是否正确");return}const v=s.slice(1).map(p=>{const u=p.split(" "),E={};return M.value.forEach(S=>{E[S]="0"}),Object.entries(r).forEach(([S,Y])=>{const q=u[parseInt(S)];q!==void 0&&q.trim()!==""&&(E[Y]=q.trim())}),E});v.length>0?(o.value=v,f.ElMessage.success(`成功导入 ${v.length} 行数据!`),C.value=!1,_.value="",F()):f.ElMessage.error("未能解析到有效数据,请检查格式。")};e.watch(()=>w.xyzbcList,()=>{w.xyzbcList&&(o.value=f.cloneDeep(w.xyzbcList))},{immediate:!0});const k=s=>`第 ${s+1} 帧`;return j({handlePlayPause:P,playAnimation:R,pauseAnimation:O,stopAnimation:F}),e.onUnmounted(()=>{m++}),(s,n)=>{const r=e.resolveComponent("el-input-number"),V=e.resolveComponent("el-slider"),v=e.resolveComponent("el-input"),p=e.resolveComponent("el-dialog");return e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("div",Ue,[e.createVNode(ee._sfc_main,{onClick:n[0]||(n[0]=u=>C.value=!0),disabled:M.value.length===0,modelValue:"导入数据"},null,8,["disabled"])]),o.value.length>0?(e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",Ae,[n[6]||(n[6]=e.createElementVNode("label",null,"帧间隔 (ms):",-1)),e.createVNode(r,{modelValue:L.value,"onUpdate:modelValue":n[1]||(n[1]=u=>L.value=u),min:10,max:5e3,step:100,size:"small",style:{width:"120px"}},null,8,["modelValue"])]),e.createElementVNode("div",Ie,[n[7]||(n[7]=e.createElementVNode("label",null,"当前帧:",-1)),e.createElementVNode("span",Oe,e.toDisplayString(d.value+1)+" / "+e.toDisplayString(o.value.length),1)]),e.createElementVNode("div",Fe,[n[8]||(n[8]=e.createElementVNode("label",null,"动画进度:",-1)),e.createVNode(V,{modelValue:d.value,"onUpdate:modelValue":n[2]||(n[2]=u=>d.value=u),min:0,max:o.value.length>0?o.value.length-1:0,step:1,"format-tooltip":k,onInput:y,disabled:o.value.length===0||i.value==="playing",style:{"flex-grow":"1",margin:"0 10px"}},null,8,["modelValue","max","disabled"])]),e.createElementVNode("div",null,[n[9]||(n[9]=e.createElementVNode("label",null,"当前帧数据:",-1)),e.createElementVNode("div",null,[B.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(B.value,(u,E)=>(e.openBlock(),e.createElementBlock("div",{key:E},e.toDisplayString(E)+": "+e.toDisplayString(u),1))),128)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),o.value.length===0?(e.openBlock(),e.createElementBlock("div",qe,n[10]||(n[10]=[e.createElementVNode("p",null,"请先导入数据",-1)]))):e.createCommentVNode("",!0),e.createVNode(p,{modelValue:C.value,"onUpdate:modelValue":n[5]||(n[5]=u=>C.value=u),title:"导入数据",width:"500px"},{footer:e.withCtx(()=>[e.createElementVNode("span",Je,[e.createVNode(ee._sfc_main,{modelValue:"取消",onClick:n[4]||(n[4]=u=>C.value=!1)}),e.createVNode(ee._sfc_main,{modelValue:"确认导入",onClick:$,type:"primary"})])]),default:e.withCtx(()=>[n[11]||(n[11]=e.createElementVNode("p",{class:"import-instructions"}," 请从Excel或CSV中复制数据 (首行为表头, Tab分隔) ",-1)),e.createVNode(v,{modelValue:_.value,"onUpdate:modelValue":n[3]||(n[3]=u=>_.value=u),type:"textarea",rows:10,placeholder:X.value},null,8,["modelValue","placeholder"])]),_:1,__:[11]},8,["modelValue"])])}}}),ie=re._export_sfc(He,[["__scopeId","data-v-06bc34b3"]]),Xe=async T=>await new Le.OBJLoader().loadAsync(T),Ge=async T=>await Xe(T),Ke={class:"obj-viewer-container"},We={class:"buttonGroup-topLeft"},Ye={class:"buttonGroup-left"},Ze={class:"buttonGroup-right"},Qe={class:"buttonGroup-bottom"},et={class:"top-panel"},tt={class:"panel-header"},lt={class:"panel-body"},nt={class:"left-panel"},ot={class:"panel-header"},at={class:"panel-body"},st={key:1,class:"clipping-content"},it={class:"radio-group"},rt={class:"radio-label"},ut={class:"radio-label"},ct={class:"radio-label"},dt={class:"radio-label"},vt={class:"right-panel"},mt={class:"panel-header"},pt={class:"panel-body"},ft={key:0,class:"loading-overlay"},gt={key:1,class:"brand"},ht={class:"brand-item"},Nt={class:"item-value"},Vt={class:"brand-item"},bt={class:"item-value"},yt={class:"brand-item"},Et={class:"item-value"},kt=e.defineComponent({__name:"threeSceneViewForCPMPIP",props:{fileBlobs:{default:()=>[]},threeData:{}},emits:["getAnimationData","getThreeData"],setup(T,{emit:j}){const w=j,o=T,C=e.inject("setManagementPageTitle"),_=e.inject("setManagementPageVisible"),i=e.computed(()=>{var t,a;return(a=(t=o==null?void 0:o.threeData)==null?void 0:t.data)==null?void 0:a.machine}),d=e.computed(()=>{var t;return(t=i==null?void 0:i.value)==null?void 0:t.产品型号}),D=e.computed(()=>{var t;return(t=i==null?void 0:i.value)==null?void 0:t.编号}),L=e.computed(()=>{var t;return(t=i==null?void 0:i.value)==null?void 0:t.厂家}),g=e.computed(()=>{var t,a;return(a=(t=o==null?void 0:o.threeData)==null?void 0:t.data)==null?void 0:a.workpieceInfo}),m=e.computed(()=>{var t,a;return(a=(t=o==null?void 0:o.threeData)==null?void 0:t.data)==null?void 0:a.knife}),A=e.ref([]),I=async l=>{!l||!l.isExtra||(await M(l),C==null||C(l==null?void 0:l.pageName),_==null||_(!0))},M=se.debounce(async l=>{await se.onPageBack();const{mainKey:t,baseMenuPath:a}=l||{};ze.copyAdd(a,t)},500);e.watch(()=>[d.value,g.value,m.value],()=>{var h,c,oe,ae;const l=[],t={pageName:"机床",name:"机床",label:"机床",type:"机床",id:"机床",path:"机床",baseMenuPath:"设备库/机床",children:[],show:!0,isPenultimate:!1};d.value&&t.children.push({isExtra:!0,pageName:"机床",mainKey:d.value,label:d.value,baseMenuPath:"设备库/机床"});const a={pageName:"工件",name:"工件",label:"工件",type:"工件",id:"工件",path:"工件",baseMenuPath:"设备库/机床",children:[],show:!0,isPenultimate:!1};g.value&&a.children.push({isExtra:!0,type:(h=g.value)==null?void 0:h.type,pageName:"工件",mainKey:(c=g.value)==null?void 0:c.name,label:(oe=g.value)==null?void 0:oe.name,baseMenuPath:`工件库/${(ae=g.value)==null?void 0:ae.type}`});const K={pageName:"刀具",name:"刀具",label:"刀具",type:"刀具",id:"刀具",path:"刀具",children:[],show:!0,isPenultimate:!1};m.value&&K.children.push({isExtra:!0,pageName:"刀具",mainKey:m.value,label:m.value,baseMenuPath:"设备库/刀具"}),l.push(t,a,K),A.value=l},{immediate:!0});const X=e.ref([]),B=e.computed(()=>{var t,a;return(a=(t=o==null?void 0:o.threeData)==null?void 0:t.data)==null?void 0:a.csvUrl});e.watch(()=>B.value,async()=>{if(console.log("three data",o==null?void 0:o.threeData),console.log("csvUrl",B.value),B.value){const l=await $e.initXYZBCList(B.value);X.value=l}},{immediate:!0});const z=e.computed(()=>{var t,a;return(a=(t=o==null?void 0:o.threeData)==null?void 0:t.data)==null?void 0:a.bladeObjUrl}),W=e.ref(U.sceneType.ROBOT),R=e.ref(null),O=e.ref(!1),F=e.ref(""),P=e.ref(!1),y=e.ref(""),$=e.ref(!1),k=e.ref(""),s=e.ref(!1),n=e.ref(""),r=e.shallowRef(null),V=e.ref("叶片模型"),v=e.shallowRef(null),p=e.shallowRef(null),u=e.shallowRef(null),E=e.ref(ie),{currentModels:S,resetView:Y,initThreeJS:q,handleResize:te,getThreeJSObjects:J,cleanup:ue,setModels:le,axesHelperVisible:ce,toggleAxesVisibility:de,zoomIn:ve,zoomOut:me}=Q.useThreeJS(R),{loadSceneFromFile:pe}=U.useUrdfLoader(J,S,O,F),{isAnimating:ne,toggleAnimation:fe,stopAnimation:ge}=Q.useAnimation(J,S),{isClipping:he,activeClippingAxis:b,toggleClipping:Ne,updateClippingPlanes:x}=Q.useClipping(J,S),{initRaycaster:Ve,selectedObject3D:be,setSelectedObjVisible:ye,updatePosition:Ee,updateRotation:ke,dispose:we}=U.useRaycaster(R,J,S),Ce=()=>{de()},_e=e.computed(()=>W.value===U.sceneType.ROBOT),G=l=>{P.value=!0,y.value=l,l==="剖面视图"&&!he.value&&Ne()},Z=l=>{$.value=!0,k.value=l,l==="动画仿真"&&w("getAnimationData")},Pe=()=>{var l;(l=E.value)==null||l.handlePlayPause()},Se=()=>{var l;(l=E.value)==null||l.pauseAnimation()},xe=()=>{var l;(l=E.value)==null||l.stopAnimation()},Te=(l,t)=>H.getMeshFromLink(l,t),De=async l=>{const t=Te(l,V.value);if(p.value=t,console.log("bladeObjUrl",z.value),t&&t.parent&&z.value){const a=await Ge(z.value);a.name="blade_clone",t.parent.add(a),a.position.copy(t.position),a.rotation.copy(t.rotation),a.scale.copy(t.scale),t.visible=!1,v.value=a}else V.value&&console.warn(`在 Blade '${V.value}' 中未找到可替换的网格或其没有父级。`)};e.watch(()=>o.fileBlobs,l=>{if(l&&l.length>0){const t=l[0];if(!t.name.toLowerCase().endsWith(".urdf"))return;pe(t).then(a=>{r.value=a,a&&De(a)}).catch(a=>{console.error("加载URDF文件时发生错误:",a),f.ElMessage.error("加载urdf模型失败"),r.value=null})}else r.value=null},{immediate:!0,deep:!0}),e.watch(r,l=>{le(l?[l]:[]),Ve()});const Me=()=>{q(),window.addEventListener("resize",te);const l=J();u.value=l.scene},Be=()=>{y.value="",k.value="",window.removeEventListener("resize",te),ne.value&&ge(),ue(),we()};return e.onMounted(async()=>{await e.nextTick();try{Me()}catch(l){console.error("Three.js 初始化失败:",l),f.ElMessage.error("渲染引擎初始化失败!")}}),e.onBeforeUnmount(()=>{Be()}),(l,t)=>{const a=e.resolveComponent("el-scrollbar"),K=e.resolveComponent("PipeAnalysisPanel");return e.openBlock(),e.createElementBlock("div",Ke,[e.withDirectives(e.createElementVNode("div",{ref_key:"threejsContainer",ref:R,class:"threejs-container"},null,512),[[e.vShow,_e.value]]),e.createElementVNode("div",We,[e.createVNode(N.ThreeSvgIcon,{name:"viewReset",size:"24",onClick:e.unref(Y),title:"重置"},null,8,["onClick"]),e.createVNode(N.ThreeSvgIcon,{name:"fangda",size:"24",title:"放大",onClick:e.unref(ve)},null,8,["onClick"]),e.createVNode(N.ThreeSvgIcon,{name:"suoxiao",size:"24",title:"缩小",onClick:e.unref(me)},null,8,["onClick"]),e.createVNode(N.ThreeSvgIcon,{name:"lookAround",size:"24",onClick:e.unref(fe),title:e.unref(ne)?"停止动画":"动画视图"},null,8,["onClick","title"]),e.createVNode(N.ThreeSvgIcon,{name:"zuobiaoxi",size:"24",active:e.unref(ce),onClick:Ce,title:"显隐坐标轴"},null,8,["active"])]),e.createElementVNode("div",Ye,[e.renderSlot(l.$slots,"button-left",{switchRightPanel:G},void 0,!0),e.createVNode(N.ThreeSvgIcon,{name:"jiegoushu",size:"24",onClick:t[0]||(t[0]=h=>G("场景树")),active:P.value&&y.value==="场景树",title:"场景树"},null,8,["active"]),e.createVNode(N.ThreeSvgIcon,{name:"clipping",size:"24",onClick:t[1]||(t[1]=h=>G("剖面视图")),active:P.value&&y.value==="剖面视图",title:"剖面视图"},null,8,["active"]),e.createVNode(N.ThreeSvgIcon,{name:"donghuafangzhen",size:"24",onClick:t[2]||(t[2]=h=>G("工件树")),active:P.value&&y.value==="工件树"},null,8,["active"])]),e.createElementVNode("div",Ze,[e.renderSlot(l.$slots,"button-right",{switchRightPanel:Z},void 0,!0),e.createVNode(N.ThreeSvgIcon,{name:"jichuangxuanze",size:"24",onClick:t[3]||(t[3]=h=>Z("机床控制")),active:$.value&&k.value==="机床控制",title:"机床控制"},null,8,["active"]),e.createVNode(N.ThreeSvgIcon,{name:"donghuafangzhen",size:"24",title:"动画仿真",onClick:t[4]||(t[4]=h=>Z("动画仿真")),active:$.value&&k.value==="动画仿真"},null,8,["active"])]),e.createElementVNode("div",Qe,[e.createVNode(N.ThreeSvgIcon,{name:"bofang",size:"24",backgroundColor:"#ffffff",title:"播放",onClick:Pe}),e.createVNode(N.ThreeSvgIcon,{name:"zanting",size:"24",backgroundColor:"#ffffff",title:"暂停",onClick:Se}),e.createVNode(N.ThreeSvgIcon,{name:"zhongzhi",size:"24",backgroundColor:"#ffffff",title:"停止",onClick:xe})]),e.withDirectives(e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.createElementVNode("span",null,e.toDisplayString(n.value),1),e.createElementVNode("span",{class:"close",onClick:t[5]||(t[5]=h=>s.value=!1)}," X ")]),e.createElementVNode("div",lt,[e.createVNode(a,{height:"100%"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"top-panel",{topPanelType:n.value},void 0,!0)]),_:3})])],512),[[e.vShow,s.value]]),e.withDirectives(e.createElementVNode("div",nt,[e.createElementVNode("div",ot,[e.createElementVNode("span",null,e.toDisplayString(y.value),1),e.createElementVNode("span",{class:"close",onClick:t[6]||(t[6]=h=>P.value=!1)}," X ")]),e.createElementVNode("div",at,[e.createVNode(a,{height:"100%"},{default:e.withCtx(()=>{var h;return[y.value==="场景树"?(e.openBlock(),e.createBlock(H.UrdfTree,{key:0,model:r.value,extraNodes:A.value,onNodeClick:I},null,8,["model","extraNodes"])):e.createCommentVNode("",!0),y.value==="剖面视图"?(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",it,[e.createElementVNode("label",rt,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"none","onUpdate:modelValue":t[7]||(t[7]=c=>e.isRef(b)?b.value=c:null),onChange:t[8]||(t[8]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,544),[[e.vModelRadio,e.unref(b)]]),t[16]||(t[16]=e.createElementVNode("span",{class:"radio-text"},"无切割",-1))]),e.createElementVNode("label",ut,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"x","onUpdate:modelValue":t[9]||(t[9]=c=>e.isRef(b)?b.value=c:null),onChange:t[10]||(t[10]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,544),[[e.vModelRadio,e.unref(b)]]),t[17]||(t[17]=e.createElementVNode("span",{class:"radio-text"},"X轴切割",-1))]),e.createElementVNode("label",ct,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"y","onUpdate:modelValue":t[11]||(t[11]=c=>e.isRef(b)?b.value=c:null),onChange:t[12]||(t[12]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,544),[[e.vModelRadio,e.unref(b)]]),t[18]||(t[18]=e.createElementVNode("span",{class:"radio-text"},"Y轴切割",-1))]),e.createElementVNode("label",dt,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"z","onUpdate:modelValue":t[13]||(t[13]=c=>e.isRef(b)?b.value=c:null),onChange:t[14]||(t[14]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,544),[[e.vModelRadio,e.unref(b)]]),t[19]||(t[19]=e.createElementVNode("span",{class:"radio-text"},"Z轴切割",-1))])])])):e.createCommentVNode("",!0),y.value==="工件树"?(e.openBlock(),e.createBlock(U.WorkpieceTreePanel,{key:2,model:(h=e.unref(be))==null?void 0:h.obj,onVisibleChange:e.unref(ye),onUpdatePosition:e.unref(Ee),onUpdateRotation:e.unref(ke)},null,8,["model","onVisibleChange","onUpdatePosition","onUpdateRotation"])):e.createCommentVNode("",!0)]}),_:1})])],512),[[e.vShow,P.value]]),e.withDirectives(e.createElementVNode("div",vt,[e.createElementVNode("div",mt,[e.createElementVNode("span",null,e.toDisplayString(k.value),1),e.createElementVNode("span",{class:"close",onClick:t[15]||(t[15]=h=>$.value=!1)}," X ")]),e.createElementVNode("div",pt,[e.createVNode(a,{height:"100%"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(H.JointPanel,{model:r.value},null,8,["model"]),[[e.vShow,k.value==="机床控制"]]),e.withDirectives(e.createVNode(ie,{model:r.value,scene:u.value,xyzbcList:X.value,ref_key:"urdfAnimationPanelRef",ref:E},null,8,["model","scene","xyzbcList"]),[[e.vShow,k.value==="动画仿真"]]),e.renderSlot(l.$slots,"right-panel",{rightPanelType:k.value},void 0,!0)]),_:3})])],512),[[e.vShow,$.value]]),O.value?(e.openBlock(),e.createElementBlock("div",ft,[t[20]||(t[20]=e.createElementVNode("div",{class:"loading-spinner"},null,-1)),e.createElementVNode("p",null,e.toDisplayString(F.value),1)])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("div",ht,[t[21]||(t[21]=e.createElementVNode("div",{class:"item-label"},"厂家:",-1)),e.createElementVNode("div",Nt,e.toDisplayString(L.value),1)]),e.createElementVNode("div",Vt,[t[22]||(t[22]=e.createElementVNode("div",{class:"item-label"},"型号:",-1)),e.createElementVNode("div",bt,e.toDisplayString(d.value),1)]),e.createElementVNode("div",yt,[t[23]||(t[23]=e.createElementVNode("div",{class:"item-label"},"编号:",-1)),e.createElementVNode("div",Et,e.toDisplayString(D.value),1)])])):e.createCommentVNode("",!0),e.createVNode(K,{ref:"pipeAnalysisPanelRef"},null,512)])}}}),wt=re._export_sfc(kt,[["__scopeId","data-v-8cfdaf24"]]);exports.default=wt;