ss-component-new 1.2.294 → 1.2.296

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 (94) hide show
  1. package/dist/{OBJLoader-CB9WJT82.cjs → OBJLoader-8gDmNV2i.cjs} +1 -1
  2. package/dist/{OBJLoader-BNv6XCtP.js → OBJLoader-Ck9W3Ir7.js} +1 -1
  3. package/dist/{OrbitControls-Csw6mD-P.js → OrbitControls-BIGKrhyi.js} +1 -1
  4. package/dist/{OrbitControls-R243A2UI.cjs → OrbitControls-BWF5w18E.cjs} +1 -1
  5. package/dist/{PCDLoader-cSzkUgjw.js → PCDLoader-CkJ5aJWh.js} +1 -1
  6. package/dist/{PCDLoader-BsFAYeJ2.cjs → PCDLoader-D-K96lwY.cjs} +1 -1
  7. package/dist/{animationData-BNWYvI2q.js → animationData-BlzkiZT-.js} +1 -1
  8. package/dist/{animationData-j8m9iee2.cjs → animationData-Dzb7SwCQ.cjs} +1 -1
  9. package/dist/{iconfont-CGucCJqY.js → iconfont-B8t8JT6z.js} +2 -2
  10. package/dist/{iconfont-BELvOiht.cjs → iconfont-Btynh8XG.cjs} +1 -1
  11. package/dist/{index-CHxAiQtk.js → index-0uGvrFMJ.js} +3 -3
  12. package/dist/{index-SnOaE90Y.js → index-8iIO_ocM.js} +3 -3
  13. package/dist/{index-Cvo0V0hW.cjs → index-B-SQuycq.cjs} +1 -1
  14. package/dist/{index-DBYidyLi.js → index-B-qFtrGT.js} +1 -1
  15. package/dist/{index-gW_IQxDq.cjs → index-B2nCv699.cjs} +1 -1
  16. package/dist/{index-w2CRXMRQ.js → index-B7DZXq3g.js} +6 -6
  17. package/dist/{index-79I_iorC.js → index-B8yivODj.js} +1 -1
  18. package/dist/{index-CZm0g4PU.js → index-BVXIOYWQ.js} +9 -7
  19. package/dist/{index-DQqCL4ju.cjs → index-B_qXEQkF.cjs} +1 -1
  20. package/dist/{index-Cuz9ELzW.js → index-Bgw0FBZB.js} +1 -1
  21. package/dist/{index-C0igWyW4.js → index-BsQ-qwMF.js} +13 -13
  22. package/dist/{index-71M6SFRc.js → index-BtwkxysC.js} +1 -1
  23. package/dist/{index-CmRzCos6.js → index-Bu1pHSKB.js} +843 -823
  24. package/dist/index-BwavyD4W.cjs +1 -0
  25. package/dist/{index-DKofIQfe.js → index-CIZi1SsV.js} +1 -1
  26. package/dist/{index-B0OE5_Ny.js → index-CJ-zljKi.js} +1 -1
  27. package/dist/{index-BkSFOSV8.cjs → index-CQn_Bk7v.cjs} +1 -1
  28. package/dist/{index-_yqtp0Dh.cjs → index-CSrPyW_f.cjs} +1 -1
  29. package/dist/{index-CZSaHDnf.js → index-CYPJ4mm3.js} +1 -1
  30. package/dist/{index-ByJJvmV6.js → index-CtbAPra-.js} +3 -3
  31. package/dist/{index-IClu4Xf8.cjs → index-D0jGNd-H.cjs} +1 -1
  32. package/dist/{index-9Nz7Dg2Z.js → index-D6bXtF73.js} +1 -1
  33. package/dist/{index-BC4uFre2.cjs → index-D9i7wZaC.cjs} +1 -1
  34. package/dist/{index-gHB9TMLI.cjs → index-DGVafVuW.cjs} +1 -1
  35. package/dist/{index-C5SNPyky.cjs → index-DKCWuetb.cjs} +1 -1
  36. package/dist/{index-LT5l3lP1.cjs → index-DO9bzS7t.cjs} +1 -1
  37. package/dist/{index-DU8A2Rcx.js → index-DOsxjhUA.js} +2 -2
  38. package/dist/{index-CkSlNi8L.js → index-DQTWAF7D.js} +2 -2
  39. package/dist/{index-BD9p0Xlt.js → index-DT0pnWzT.js} +2 -2
  40. package/dist/{index-D12kMfBu.cjs → index-DTjWhnIF.cjs} +1 -1
  41. package/dist/{index-C98tDP8u.cjs → index-DjaN4VhG.cjs} +1 -1
  42. package/dist/index-DvfqgYXo.cjs +1 -0
  43. package/dist/{index-DL8dLTof.cjs → index-DyDrPMvD.cjs} +1 -1
  44. package/dist/{index-_2EYJgni.cjs → index-K4Aol2cP.cjs} +1 -1
  45. package/dist/{index-CmcomRyN.js → index-_kvrccCu.js} +1 -1
  46. package/dist/{index-CvykFWHw.cjs → index-_wyT2-AA.cjs} +1 -1
  47. package/dist/{index-Dq3HNSET.js → index-dTA9hAgr.js} +3261 -3248
  48. package/dist/{index-CGoPD35H.cjs → index-hBEZJTBK.cjs} +1 -1
  49. package/dist/{index-DsOj_EOL.cjs → index-hKbFMqEu.cjs} +12 -12
  50. package/dist/{index-C4efuh6q.cjs → index-hORaVIHc.cjs} +1 -1
  51. package/dist/{index-D5O3A6Fx.js → index-jfKxOdn1.js} +1 -1
  52. package/dist/{index-xpsuJRYD.cjs → index-l7UB2yUy.cjs} +1 -1
  53. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-BqQN_vwd.js → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-BNPzwHXs.js} +6 -6
  54. package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-B_3YixjC.cjs → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-CNiwHtU5.cjs} +1 -1
  55. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BAniHexV.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Bgts3--T.cjs} +59 -59
  56. package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-B8FQIQZU.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-h7N9rXk9.js} +1643 -1648
  57. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-DRUxrXlC.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-BOzovrSr.cjs} +1 -1
  58. package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-Dg0WsT5i.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-BuwJQ9eE.js} +19 -19
  59. package/dist/{index.vue_vue_type_style_index_1_lang-C-HS1nJI.cjs → index.vue_vue_type_style_index_1_lang-CDoOP6Aw.cjs} +1 -1
  60. package/dist/{index.vue_vue_type_style_index_1_lang--VeL916J.js → index.vue_vue_type_style_index_1_lang-ZmTqB1dO.js} +4 -4
  61. package/dist/{main-Dx_m6QdJ.cjs → main-CBor783N.cjs} +1 -1
  62. package/dist/{main-BKAAdzBm.js → main-Yx9pP1an.js} +2 -2
  63. package/dist/{pointTrack-05CcPzgf.cjs → pointTrack-BkpbGc8n.cjs} +1 -1
  64. package/dist/{pointTrack-BRZj2fRP.js → pointTrack-CMyadDzE.js} +2 -2
  65. package/dist/{robotUtil-DGZFmHa1.js → robotUtil-BAK-GNOJ.js} +1 -1
  66. package/dist/{robotUtil-_esgRFP3.cjs → robotUtil-BtBh1-GY.cjs} +1 -1
  67. package/dist/ss-component.cjs +1 -1
  68. package/dist/ss-component.css +1 -1
  69. package/dist/ss-component.js +31 -31
  70. package/dist/ss-component2.cjs +1 -1
  71. package/dist/ss-component2.js +10 -10
  72. package/dist/{threeModel-euHdSZWK.cjs → threeModel-C0vGemcj.cjs} +1 -1
  73. package/dist/{threeModel-WVUvmnEU.js → threeModel-C44vcdqj.js} +5 -5
  74. package/dist/{threePreview-BvzwkKZR.js → threePreview-CKjG0F-q.js} +4 -4
  75. package/dist/{threePreview-B3amehMf.cjs → threePreview-PffN5Aiq.cjs} +1 -1
  76. package/dist/{threeSceneView-BV580zYO.js → threeSceneView-4FffGfEx.js} +7 -7
  77. package/dist/{threeSceneView-BYYPjbrf.cjs → threeSceneView-BI__dTV5.cjs} +1 -1
  78. package/dist/{threeSceneViewForCPMPIP-BcL1uoBQ.js → threeSceneViewForCPMPIP-Bo1U2avY.js} +9 -9
  79. package/dist/{threeSceneViewForCPMPIP-CSKEFRk_.cjs → threeSceneViewForCPMPIP-DZddF3u8.cjs} +1 -1
  80. package/dist/{threeTrackPathView-BpunMIGZ.js → threeTrackPathView-DzU4AIwq.js} +5 -5
  81. package/dist/{threeTrackPathView-CGEH2zTP.cjs → threeTrackPathView-oMFtTDLX.cjs} +1 -1
  82. package/dist/{threeViewerHost-BPu_LZha.cjs → threeViewerHost-BcIsHd7R.cjs} +2 -2
  83. package/dist/{threeViewerHost-CiYZBM4H.js → threeViewerHost-DUzh9-TD.js} +2 -2
  84. package/dist/{urdfTree-CoHIn4kK.js → urdfTree-BVGBRI7Z.js} +1 -1
  85. package/dist/{urdfTree-BjckM2-i.cjs → urdfTree-C_RPoplj.cjs} +1 -1
  86. package/dist/{workpieceTreePanel-CbsK-tey.cjs → workpieceTreePanel-B1eC1Q8u.cjs} +1 -1
  87. package/dist/{workpieceTreePanel-CtLKTnWz.js → workpieceTreePanel-_Vo2EKuP.js} +6 -6
  88. package/package.json +1 -1
  89. package/dist/index-CslSvatz.cjs +0 -1
  90. package/dist/index-IvJ1OjwT.cjs +0 -1
  91. package/dist/obj/model.mtl +0 -42
  92. package/dist/obj/model.obj +0 -26110
  93. package/public/obj/model.mtl +0 -42
  94. package/public/obj/model.obj +0 -26110
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),I=require("./iconfont-BELvOiht.cjs"),D=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-BAniHexV.cjs"),Ee=require("./threeViewerHost-BPu_LZha.cjs"),R=require("./index-CEwxrYB-.cjs"),le=require("./urdfTree-BjckM2-i.cjs"),T=require("./pointTrack-05CcPzgf.cjs"),Y=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),k=require("./svgIcon-BH_8oaav.cjs"),xe=require("./isString-Cvx5mmsS.cjs"),j={POINT:"point",LINE:"line"};function Se(){const u=e.ref(j.LINE),p=l=>{u.value=l},N=e.computed(()=>u.value===j.POINT),d=e.computed(()=>u.value===j.LINE);return{trackType:u,setTrackType:p,isPoint:N,isLine:d,trackTypeConstants:j}}const Ie={class:"table-container"},De=["title"],ze=["title"],Pe=["title"],$e=["title"],Ae=e.defineComponent({__name:"trackScroller",props:{list:{},currentId:{}},setup(u){const p=u,N=e.ref();function d(l){e.nextTick(()=>{var i;const f=p.list.findIndex(n=>n.id===l);f>-1&&((i=N.value)==null||i.scrollToItem(f,"center"))})}return e.watch(()=>p.currentId,d,{immediate:!0}),(l,f)=>(e.openBlock(),e.createElementBlock("div",Ie,[f[0]||(f[0]=e.createStaticVNode('<div class="table-header" data-v-c4baa40f><div class="header-cell line-number-col" data-v-c4baa40f>行号</div><div class="header-cell" data-v-c4baa40f>X</div><div class="header-cell" data-v-c4baa40f>Y</div><div class="header-cell" data-v-c4baa40f>Z</div></div>',1)),e.createVNode(e.unref(T.script$2),{class:"scroller",ref_key:"scrollerRef",ref:N,items:l.list,"item-size":32,"items-limit":1/0,"key-field":"id"},{default:e.withCtx(({item:i,index:n})=>{var m,a,y,r,E,h;return[e.createElementVNode("div",{class:e.normalizeClass({row:!0,active:i.id===l.currentId})},[e.createElementVNode("div",{class:"cell line-number-col",title:n+1},e.toDisplayString(n+1),9,De),e.createElementVNode("div",{class:"cell",title:(m=i.x)==null?void 0:m.toFixed(5)},e.toDisplayString((a=i.x)==null?void 0:a.toFixed(5)),9,ze),e.createElementVNode("div",{class:"cell",title:(y=i.y)==null?void 0:y.toFixed(5)},e.toDisplayString((r=i.y)==null?void 0:r.toFixed(5)),9,Pe),e.createElementVNode("div",{class:"cell",title:(E=i.z)==null?void 0:E.toFixed(5)},e.toDisplayString((h=i.z)==null?void 0:h.toFixed(5)),9,$e)],2)]}),_:1},8,["items"])]))}}),Fe=Y._export_sfc(Ae,[["__scopeId","data-v-c4baa40f"]]);async function Be(u){return await T.loadObjByUrl(u)}function Le(u,p){u.position.copy(p)}function Ue(u,p,N=new D.Color(16711680)){const d=new D.Vector3;p.getWorldPosition(d);const l=u.geometry.attributes.position,f=u.geometry.attributes.color,i=new D.Color(2003455);let n=1/0,m=-1;for(let a=0;a<l.count;a++){const r=new D.Vector3().fromBufferAttribute(l,a).distanceTo(d);r<n&&(n=r,m=a)}for(let a=0;a<f.count;a++)i.toArray(f.array,a*3);if(m!==-1){const a=N.toArray(),y=m*3+2;for(let r=0;r<y;r=r+3)f.array[r]=a[0],f.array[r+1]=a[1],f.array[r+2]=a[2]}f.needsUpdate=!0}function ae(u,p,N,d=new D.Color(16711680)){Le(u,p),Ue(N,u,d)}const je={class:"panel-content"},Re={class:"animation-controls"},Oe={class:"control-row"},Me={class:"control-row"},qe={class:"frame-info"},Ke={class:"control-row slider-row"},Xe={class:"scroller-row"},Ge=e.defineComponent({__name:"trackAnimationPanel",props:{cloud:{},knife:{},vectors:{}},emits:["getThreeData"],setup(u,{expose:p,emit:N}){const d=u,l=e.computed(()=>d.vectors),f=e.computed(()=>{const s=l.value||[];return s==null?void 0:s.map((z,A)=>{const{x:P,y:F,z:x}=z;return{id:A,x:P,y:F,z:x}})}),i=e.ref(!1),n=e.ref(0),m=e.ref(100);let a=!1;const y=s=>`第 ${s+1} 帧`,r=s=>{if(s<0||s>=l.value.length){console.error(`帧索引 ${s} 超出范围`);return}const v=l.value[s];n.value=s,ae(d.knife,v,d.cloud)},E=async()=>{if(l.value.length===0){R.ElMessage.error("无法播放动画:无数据");return}if(!i.value){i.value=!0,a=!1,l.value.length-1===n.value&&(n.value=0);try{for(let s=n.value+1;s<l.value.length&&!a;s++)await new Promise(v=>setTimeout(v,m.value)),r(s);a||R.ElMessage.success("动画播放完成")}catch(s){console.error("动画播放出错:",s)}finally{i.value=!1}}},h=async()=>{i.value&&(a=!0,await new Promise(s=>{const v=e.watch(()=>i.value,z=>{v(),s()})}),R.ElMessage.info("动画已停止"))},L=async s=>{i.value&&await h(),r(s)},O=async()=>{i.value&&await h(),!(n.value+1>=l.value.length)&&r(n.value+1)},M=async()=>{i.value&&await h(),n.value!==0&&r(n.value-1)},g=()=>{n.value=0};return p({playAnimation:E,stopAnimation:h,forwardFrame:O,backwardFrame:M,resetAnimationFrame:g,reset:async()=>{await h(),g()}}),(s,v)=>{const z=e.resolveComponent("el-input-number"),A=e.resolveComponent("el-form-item"),P=e.resolveComponent("el-form"),F=e.resolveComponent("el-slider");return e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",Re,[e.createElementVNode("div",Oe,[e.createVNode(P,{"label-width":"80px",style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(A,{label:"帧间隔:",prop:"frameDuration"},{default:e.withCtx(()=>[e.createVNode(z,{modelValue:m.value,"onUpdate:modelValue":v[0]||(v[0]=x=>m.value=x),min:0,max:5e3,step:10,style:{width:"100%"},size:"small"},null,8,["modelValue"])]),_:1})]),_:1})]),e.createElementVNode("div",Me,[v[2]||(v[2]=e.createElementVNode("label",{class:"row-label"},"当前帧:",-1)),e.createElementVNode("span",qe,e.toDisplayString(n.value+1)+" / "+e.toDisplayString(l.value.length),1)]),e.createElementVNode("div",Ke,[v[3]||(v[3]=e.createElementVNode("label",{class:"row-label"},"动画进度:",-1)),e.createVNode(F,{modelValue:n.value,"onUpdate:modelValue":v[1]||(v[1]=x=>n.value=x),min:0,max:l.value.length>0?l.value.length-1:0,step:1,"format-tooltip":y,onInput:L,disabled:l.value.length===0,style:{flex:"1","margin-left":"5px"}},null,8,["modelValue","max","disabled"])]),e.createElementVNode("div",Xe,[e.createVNode(Fe,{class:"scroller",list:f.value,"current-id":n.value},null,8,["list","current-id"])])])])}}}),He=Y._export_sfc(Ge,[["__scopeId","data-v-af71163f"]]),Je={class:"obj-viewer-container"},Ye={class:"buttonGroup-topLeft"},Ze={class:"buttonGroup-left"},We={class:"buttonGroup-right"},Qe={class:"buttonGroup-bottom"},et={class:"left-panel"},tt={class:"panel-header"},ot={class:"panel-body"},nt={key:1,class:"clipping-content"},lt={class:"radio-group"},at={class:"radio-label"},rt={class:"radio-label"},st={class:"radio-label"},it={class:"radio-label"},ct={class:"right-panel"},ut={class:"panel-header"},dt={class:"panel-body"},vt={key:0,class:"loading-overlay"},ft=e.defineComponent({__name:"threeTrackPathView",props:{fileBlobs:{},threeData:{default:()=>""},trackFileType:{}},emits:["getAnimationData","getThreeData"],setup(u,{emit:p}){const N=p,d=u,l=e.ref(null),f=e.ref(!1),i=e.ref(""),n=e.ref(),m=e.ref(!1),a=e.ref(""),y=e.ref(!1),r=e.ref(""),E=e.shallowRef(null),h=e.shallowRef(null),{currentModels:L,initThreeJS:O,handleResize:M,getThreeJSObjects:g,cleanup:Z,axesHelperVisible:s,toggleAxesVisibility:v,zoomIn:z,zoomOut:A}=I.useThreeJS(l),{isAnimating:P,toggleAnimation:F,stopAnimation:x}=I.useAnimation(g,L),{isClipping:re,activeClippingAxis:V,toggleClipping:se,updateClippingPlanes:C}=I.useClipping(g,L),{isPoint:W,isLine:Q,setTrackType:ie,trackTypeConstants:ee}=Se(),ce=()=>{v()},ue=t=>{m.value=!0,a.value=t,t==="剖面视图"&&!re.value&&se()},q=t=>{y.value=!0,r.value=t,t==="动画仿真"&&N("getAnimationData")},de=()=>{var t;b.value&&((t=n==null?void 0:n.value)==null||t.playAnimation())},K=()=>{var t;b.value&&((t=n==null?void 0:n.value)==null||t.stopAnimation())},ve=()=>{var t;b.value&&((t=n==null?void 0:n.value)==null||t.forwardFrame())},fe=()=>{var t;b.value&&((t=n==null?void 0:n.value)==null||t.backwardFrame())},X=e.ref([]),B=e.ref([]),pe=e.computed(()=>{var o;return(o=d.trackFileType)==null?void 0:o.isUv}),me=e.computed(()=>{var o;return(o=d.trackFileType)==null?void 0:o.isCyd}),ge=e.computed(()=>{var o;return(o=d.trackFileType)==null?void 0:o.isCpt}),b=e.computed(()=>{var o;return(o=d.trackFileType)==null?void 0:o.isNc}),G=e.computed(()=>{const t=d.fileBlobs||[];return t==null?void 0:t[0]}),_=e.shallowRef(),$=e.shallowRef(),te=e.computed(()=>$.value||_.value),S=e.shallowRef(),ye=()=>{const{scene:t}=g();_.value&&t&&(I.disposeObj(_.value,t),_.value=null),$.value&&t&&(I.disposeObj($.value,t),$.value=null)},he=()=>{const{scene:t}=g();S.value&&t&&(I.disposeObj(S.value,t),S.value=null)},oe=()=>{ye(),he()},ke=t=>{const{scene:o}=g(),w=new D.Line(t.geometry.clone(),t.material);return w.name="轨迹路径克隆体",w.position.copy(t.position),w.rotation.copy(t.rotation),w.scale.copy(t.scale),o==null||o.add(w),w},Ve=t=>{if(W.value){_.value=T.drawPoints(g,t),$.value=null;return}if(Q.value){_.value=T.drawLine(g,t),$.value=ke(_.value);return}},we=async t=>{const o=URL.createObjectURL(t),w=await Ee.readFileText(o);if(URL.revokeObjectURL(o),xe.isString(w)){const c=await T.getPoints(w,d.trackFileType)||[];X.value=c;const J=X.value;b.value&&Ve(J),pe.value&&(_.value=T.drawLine(g,J)),(me.value||ge.value)&&(_.value=T.drawPoints(g,J)),I.frameCameraToObject3D(g,_.value)}},ne=async t=>{ie(t),await H(G.value)},Ne=async()=>{const t=await Be("http://222.92.178.198:55002/CPMPIP/Cut/球头铣刀.obj");return t.scale.set(20,20,20),t.rotation.set(45,0,0,"XYZ"),t.visible=!1,t},_e=async()=>{var t,o;if(S.value=await Ne(),B.value=T.convertPointsToVector3(X.value),B.value&&B.value.length){ae(S.value,B.value[0],te.value,new D.Color(16711680)),(o=(t=h.value)==null?void 0:t.add)==null||o.call(t,S.value);return}},be=async()=>{var t;await((t=n==null?void 0:n.value)==null?void 0:t.reset()),await H(G.value)},H=async t=>{oe(),K(),await we(t),b.value&&_e()};e.watch(()=>G.value,async t=>{t&&await H(t)},{immediate:!0,deep:!0});let U=null;const Ce=()=>{O(),e.nextTick(()=>{l.value&&(U=new ResizeObserver(M),U.observe(l.value))});const t=g();h.value=t.scene,h.value&&(h.value.name="CPMPIP")},Te=()=>{U&&U.disconnect(),P.value&&x(),K(),oe(),Z()};return e.onMounted(async()=>{try{Ce()}catch(t){console.error("Three.js 初始化失败:",t),R.ElMessage.error("渲染引擎初始化失败!")}}),e.onBeforeUnmount(()=>{Te()}),(t,o)=>{const w=e.resolveComponent("el-scrollbar");return e.openBlock(),e.createElementBlock("div",Je,[e.createElementVNode("div",{ref_key:"threejsContainer",ref:l,class:"threejs-container"},null,512),e.createElementVNode("div",Ye,[e.createVNode(k.ThreeSvgIcon,{name:"viewReset",size:"24",onClick:be,title:"重置"}),e.createVNode(k.ThreeSvgIcon,{name:"fangda",size:"24",title:"放大",onClick:e.unref(z)},null,8,["onClick"]),e.createVNode(k.ThreeSvgIcon,{name:"suoxiao",size:"24",title:"缩小",onClick:e.unref(A)},null,8,["onClick"]),e.createVNode(k.ThreeSvgIcon,{name:"lookAround",size:"24",onClick:e.unref(F),title:e.unref(P)?"停止动画":"动画视图"},null,8,["onClick","title"]),e.createVNode(k.ThreeSvgIcon,{name:"zuobiaoxi",size:"24",active:e.unref(s),onClick:ce,title:"显隐坐标轴"},null,8,["active"]),b.value?(e.openBlock(),e.createBlock(k.ThreeSvgIcon,{key:0,name:"dianyun",size:"24",active:e.unref(W),onClick:o[0]||(o[0]=c=>ne(e.unref(ee).POINT)),title:"点云"},null,8,["active"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createBlock(k.ThreeSvgIcon,{key:1,name:"luoxuanxian",size:"24",active:e.unref(Q),onClick:o[1]||(o[1]=c=>ne(e.unref(ee).LINE)),title:"线体"},null,8,["active"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ze,[e.renderSlot(t.$slots,"button-left",{switchRightPanel:ue},void 0,!0)]),e.createElementVNode("div",We,[e.renderSlot(t.$slots,"button-right",{switchRightPanel:q},void 0,!0),e.createVNode(k.ThreeSvgIcon,{name:"guanjiekongzhi",size:"24",onClick:o[2]||(o[2]=c=>q("关节控制")),active:y.value&&r.value==="关节控制",title:"关节控制"},null,8,["active"]),e.createVNode(k.ThreeSvgIcon,{name:"donghuafangzhen",size:"24",title:"动画仿真",onClick:o[3]||(o[3]=c=>q("动画仿真")),active:y.value&&r.value==="动画仿真"},null,8,["active"])]),e.createElementVNode("div",Qe,[e.createVNode(k.ThreeSvgIcon,{name:"kuaitui",size:"24",backgroundColor:"#ffffff",title:"快退",onClick:fe}),e.createVNode(k.ThreeSvgIcon,{name:"bofang",size:"24",backgroundColor:"#ffffff",title:"播放",onClick:de}),e.createVNode(k.ThreeSvgIcon,{name:"kuaijin",size:"24",backgroundColor:"#ffffff",title:"快进",onClick:ve}),e.createVNode(k.ThreeSvgIcon,{name:"zanting",size:"24",backgroundColor:"#ffffff",title:"暂停",onClick:K})]),e.withDirectives(e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.createElementVNode("span",null,e.toDisplayString(a.value),1),e.createElementVNode("span",{class:"close",onClick:o[4]||(o[4]=c=>m.value=!1)}," X ")]),e.createElementVNode("div",ot,[e.createVNode(w,{height:"100%"},{default:e.withCtx(()=>[a.value==="场景树"?(e.openBlock(),e.createBlock(le.UrdfTree,{key:0,model:E.value},null,8,["model"])):e.createCommentVNode("",!0),a.value==="剖面视图"?(e.openBlock(),e.createElementBlock("div",nt,[e.createElementVNode("div",lt,[e.createElementVNode("label",at,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"none","onUpdate:modelValue":o[5]||(o[5]=c=>e.isRef(V)?V.value=c:null),onChange:o[6]||(o[6]=(...c)=>e.unref(C)&&e.unref(C)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),o[14]||(o[14]=e.createElementVNode("span",{class:"radio-text"},"无切割",-1))]),e.createElementVNode("label",rt,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"x","onUpdate:modelValue":o[7]||(o[7]=c=>e.isRef(V)?V.value=c:null),onChange:o[8]||(o[8]=(...c)=>e.unref(C)&&e.unref(C)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),o[15]||(o[15]=e.createElementVNode("span",{class:"radio-text"},"X轴切割",-1))]),e.createElementVNode("label",st,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"y","onUpdate:modelValue":o[9]||(o[9]=c=>e.isRef(V)?V.value=c:null),onChange:o[10]||(o[10]=(...c)=>e.unref(C)&&e.unref(C)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),o[16]||(o[16]=e.createElementVNode("span",{class:"radio-text"},"Y轴切割",-1))]),e.createElementVNode("label",it,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"z","onUpdate:modelValue":o[11]||(o[11]=c=>e.isRef(V)?V.value=c:null),onChange:o[12]||(o[12]=(...c)=>e.unref(C)&&e.unref(C)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),o[17]||(o[17]=e.createElementVNode("span",{class:"radio-text"},"Z轴切割",-1))])])])):e.createCommentVNode("",!0)]),_:1})])],512),[[e.vShow,m.value]]),e.withDirectives(e.createElementVNode("div",ct,[e.createElementVNode("div",ut,[e.createElementVNode("span",null,e.toDisplayString(r.value),1),e.createElementVNode("span",{class:"close",onClick:o[13]||(o[13]=c=>y.value=!1)}," X ")]),e.createElementVNode("div",dt,[e.createVNode(w,{height:"100%"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(le.JointPanel,{model:E.value},null,8,["model"]),[[e.vShow,r.value==="关节控制"]]),e.withDirectives(e.createVNode(He,{ref_key:"animationPanelRef",ref:n,cloud:te.value,knife:S.value,vectors:B.value},null,8,["cloud","knife","vectors"]),[[e.vShow,r.value==="动画仿真"&&b.value]])]),_:1})])],512),[[e.vShow,y.value]]),f.value?(e.openBlock(),e.createElementBlock("div",vt,[o[18]||(o[18]=e.createElementVNode("div",{class:"loading-spinner"},null,-1)),e.createElementVNode("p",null,e.toDisplayString(i.value),1)])):e.createCommentVNode("",!0)])}}}),pt=Y._export_sfc(ft,[["__scopeId","data-v-df98cfab"]]);exports.default=pt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),I=require("./iconfont-Btynh8XG.cjs"),D=require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Bgts3--T.cjs"),Ee=require("./threeViewerHost-BcIsHd7R.cjs"),R=require("./index-CEwxrYB-.cjs"),le=require("./urdfTree-C_RPoplj.cjs"),T=require("./pointTrack-BkpbGc8n.cjs"),Y=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),k=require("./svgIcon-BH_8oaav.cjs"),xe=require("./isString-Cvx5mmsS.cjs"),j={POINT:"point",LINE:"line"};function Se(){const u=e.ref(j.LINE),p=l=>{u.value=l},N=e.computed(()=>u.value===j.POINT),d=e.computed(()=>u.value===j.LINE);return{trackType:u,setTrackType:p,isPoint:N,isLine:d,trackTypeConstants:j}}const Ie={class:"table-container"},De=["title"],ze=["title"],Pe=["title"],$e=["title"],Ae=e.defineComponent({__name:"trackScroller",props:{list:{},currentId:{}},setup(u){const p=u,N=e.ref();function d(l){e.nextTick(()=>{var i;const f=p.list.findIndex(n=>n.id===l);f>-1&&((i=N.value)==null||i.scrollToItem(f,"center"))})}return e.watch(()=>p.currentId,d,{immediate:!0}),(l,f)=>(e.openBlock(),e.createElementBlock("div",Ie,[f[0]||(f[0]=e.createStaticVNode('<div class="table-header" data-v-c4baa40f><div class="header-cell line-number-col" data-v-c4baa40f>行号</div><div class="header-cell" data-v-c4baa40f>X</div><div class="header-cell" data-v-c4baa40f>Y</div><div class="header-cell" data-v-c4baa40f>Z</div></div>',1)),e.createVNode(e.unref(T.script$2),{class:"scroller",ref_key:"scrollerRef",ref:N,items:l.list,"item-size":32,"items-limit":1/0,"key-field":"id"},{default:e.withCtx(({item:i,index:n})=>{var m,a,y,r,E,h;return[e.createElementVNode("div",{class:e.normalizeClass({row:!0,active:i.id===l.currentId})},[e.createElementVNode("div",{class:"cell line-number-col",title:n+1},e.toDisplayString(n+1),9,De),e.createElementVNode("div",{class:"cell",title:(m=i.x)==null?void 0:m.toFixed(5)},e.toDisplayString((a=i.x)==null?void 0:a.toFixed(5)),9,ze),e.createElementVNode("div",{class:"cell",title:(y=i.y)==null?void 0:y.toFixed(5)},e.toDisplayString((r=i.y)==null?void 0:r.toFixed(5)),9,Pe),e.createElementVNode("div",{class:"cell",title:(E=i.z)==null?void 0:E.toFixed(5)},e.toDisplayString((h=i.z)==null?void 0:h.toFixed(5)),9,$e)],2)]}),_:1},8,["items"])]))}}),Fe=Y._export_sfc(Ae,[["__scopeId","data-v-c4baa40f"]]);async function Be(u){return await T.loadObjByUrl(u)}function Le(u,p){u.position.copy(p)}function Ue(u,p,N=new D.Color(16711680)){const d=new D.Vector3;p.getWorldPosition(d);const l=u.geometry.attributes.position,f=u.geometry.attributes.color,i=new D.Color(2003455);let n=1/0,m=-1;for(let a=0;a<l.count;a++){const r=new D.Vector3().fromBufferAttribute(l,a).distanceTo(d);r<n&&(n=r,m=a)}for(let a=0;a<f.count;a++)i.toArray(f.array,a*3);if(m!==-1){const a=N.toArray(),y=m*3+2;for(let r=0;r<y;r=r+3)f.array[r]=a[0],f.array[r+1]=a[1],f.array[r+2]=a[2]}f.needsUpdate=!0}function ae(u,p,N,d=new D.Color(16711680)){Le(u,p),Ue(N,u,d)}const je={class:"panel-content"},Re={class:"animation-controls"},Oe={class:"control-row"},Me={class:"control-row"},qe={class:"frame-info"},Ke={class:"control-row slider-row"},Xe={class:"scroller-row"},Ge=e.defineComponent({__name:"trackAnimationPanel",props:{cloud:{},knife:{},vectors:{}},emits:["getThreeData"],setup(u,{expose:p,emit:N}){const d=u,l=e.computed(()=>d.vectors),f=e.computed(()=>{const s=l.value||[];return s==null?void 0:s.map((z,A)=>{const{x:P,y:F,z:x}=z;return{id:A,x:P,y:F,z:x}})}),i=e.ref(!1),n=e.ref(0),m=e.ref(100);let a=!1;const y=s=>`第 ${s+1} 帧`,r=s=>{if(s<0||s>=l.value.length){console.error(`帧索引 ${s} 超出范围`);return}const v=l.value[s];n.value=s,ae(d.knife,v,d.cloud)},E=async()=>{if(l.value.length===0){R.ElMessage.error("无法播放动画:无数据");return}if(!i.value){i.value=!0,a=!1,l.value.length-1===n.value&&(n.value=0);try{for(let s=n.value+1;s<l.value.length&&!a;s++)await new Promise(v=>setTimeout(v,m.value)),r(s);a||R.ElMessage.success("动画播放完成")}catch(s){console.error("动画播放出错:",s)}finally{i.value=!1}}},h=async()=>{i.value&&(a=!0,await new Promise(s=>{const v=e.watch(()=>i.value,z=>{v(),s()})}),R.ElMessage.info("动画已停止"))},L=async s=>{i.value&&await h(),r(s)},O=async()=>{i.value&&await h(),!(n.value+1>=l.value.length)&&r(n.value+1)},M=async()=>{i.value&&await h(),n.value!==0&&r(n.value-1)},g=()=>{n.value=0};return p({playAnimation:E,stopAnimation:h,forwardFrame:O,backwardFrame:M,resetAnimationFrame:g,reset:async()=>{await h(),g()}}),(s,v)=>{const z=e.resolveComponent("el-input-number"),A=e.resolveComponent("el-form-item"),P=e.resolveComponent("el-form"),F=e.resolveComponent("el-slider");return e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",Re,[e.createElementVNode("div",Oe,[e.createVNode(P,{"label-width":"80px",style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(A,{label:"帧间隔:",prop:"frameDuration"},{default:e.withCtx(()=>[e.createVNode(z,{modelValue:m.value,"onUpdate:modelValue":v[0]||(v[0]=x=>m.value=x),min:0,max:5e3,step:10,style:{width:"100%"},size:"small"},null,8,["modelValue"])]),_:1})]),_:1})]),e.createElementVNode("div",Me,[v[2]||(v[2]=e.createElementVNode("label",{class:"row-label"},"当前帧:",-1)),e.createElementVNode("span",qe,e.toDisplayString(n.value+1)+" / "+e.toDisplayString(l.value.length),1)]),e.createElementVNode("div",Ke,[v[3]||(v[3]=e.createElementVNode("label",{class:"row-label"},"动画进度:",-1)),e.createVNode(F,{modelValue:n.value,"onUpdate:modelValue":v[1]||(v[1]=x=>n.value=x),min:0,max:l.value.length>0?l.value.length-1:0,step:1,"format-tooltip":y,onInput:L,disabled:l.value.length===0,style:{flex:"1","margin-left":"5px"}},null,8,["modelValue","max","disabled"])]),e.createElementVNode("div",Xe,[e.createVNode(Fe,{class:"scroller",list:f.value,"current-id":n.value},null,8,["list","current-id"])])])])}}}),He=Y._export_sfc(Ge,[["__scopeId","data-v-af71163f"]]),Je={class:"obj-viewer-container"},Ye={class:"buttonGroup-topLeft"},Ze={class:"buttonGroup-left"},We={class:"buttonGroup-right"},Qe={class:"buttonGroup-bottom"},et={class:"left-panel"},tt={class:"panel-header"},ot={class:"panel-body"},nt={key:1,class:"clipping-content"},lt={class:"radio-group"},at={class:"radio-label"},rt={class:"radio-label"},st={class:"radio-label"},it={class:"radio-label"},ct={class:"right-panel"},ut={class:"panel-header"},dt={class:"panel-body"},vt={key:0,class:"loading-overlay"},ft=e.defineComponent({__name:"threeTrackPathView",props:{fileBlobs:{},threeData:{default:()=>""},trackFileType:{}},emits:["getAnimationData","getThreeData"],setup(u,{emit:p}){const N=p,d=u,l=e.ref(null),f=e.ref(!1),i=e.ref(""),n=e.ref(),m=e.ref(!1),a=e.ref(""),y=e.ref(!1),r=e.ref(""),E=e.shallowRef(null),h=e.shallowRef(null),{currentModels:L,initThreeJS:O,handleResize:M,getThreeJSObjects:g,cleanup:Z,axesHelperVisible:s,toggleAxesVisibility:v,zoomIn:z,zoomOut:A}=I.useThreeJS(l),{isAnimating:P,toggleAnimation:F,stopAnimation:x}=I.useAnimation(g,L),{isClipping:re,activeClippingAxis:V,toggleClipping:se,updateClippingPlanes:C}=I.useClipping(g,L),{isPoint:W,isLine:Q,setTrackType:ie,trackTypeConstants:ee}=Se(),ce=()=>{v()},ue=t=>{m.value=!0,a.value=t,t==="剖面视图"&&!re.value&&se()},q=t=>{y.value=!0,r.value=t,t==="动画仿真"&&N("getAnimationData")},de=()=>{var t;b.value&&((t=n==null?void 0:n.value)==null||t.playAnimation())},K=()=>{var t;b.value&&((t=n==null?void 0:n.value)==null||t.stopAnimation())},ve=()=>{var t;b.value&&((t=n==null?void 0:n.value)==null||t.forwardFrame())},fe=()=>{var t;b.value&&((t=n==null?void 0:n.value)==null||t.backwardFrame())},X=e.ref([]),B=e.ref([]),pe=e.computed(()=>{var o;return(o=d.trackFileType)==null?void 0:o.isUv}),me=e.computed(()=>{var o;return(o=d.trackFileType)==null?void 0:o.isCyd}),ge=e.computed(()=>{var o;return(o=d.trackFileType)==null?void 0:o.isCpt}),b=e.computed(()=>{var o;return(o=d.trackFileType)==null?void 0:o.isNc}),G=e.computed(()=>{const t=d.fileBlobs||[];return t==null?void 0:t[0]}),_=e.shallowRef(),$=e.shallowRef(),te=e.computed(()=>$.value||_.value),S=e.shallowRef(),ye=()=>{const{scene:t}=g();_.value&&t&&(I.disposeObj(_.value,t),_.value=null),$.value&&t&&(I.disposeObj($.value,t),$.value=null)},he=()=>{const{scene:t}=g();S.value&&t&&(I.disposeObj(S.value,t),S.value=null)},oe=()=>{ye(),he()},ke=t=>{const{scene:o}=g(),w=new D.Line(t.geometry.clone(),t.material);return w.name="轨迹路径克隆体",w.position.copy(t.position),w.rotation.copy(t.rotation),w.scale.copy(t.scale),o==null||o.add(w),w},Ve=t=>{if(W.value){_.value=T.drawPoints(g,t),$.value=null;return}if(Q.value){_.value=T.drawLine(g,t),$.value=ke(_.value);return}},we=async t=>{const o=URL.createObjectURL(t),w=await Ee.readFileText(o);if(URL.revokeObjectURL(o),xe.isString(w)){const c=await T.getPoints(w,d.trackFileType)||[];X.value=c;const J=X.value;b.value&&Ve(J),pe.value&&(_.value=T.drawLine(g,J)),(me.value||ge.value)&&(_.value=T.drawPoints(g,J)),I.frameCameraToObject3D(g,_.value)}},ne=async t=>{ie(t),await H(G.value)},Ne=async()=>{const t=await Be("http://222.92.178.198:55002/CPMPIP/Cut/球头铣刀.obj");return t.scale.set(20,20,20),t.rotation.set(45,0,0,"XYZ"),t.visible=!1,t},_e=async()=>{var t,o;if(S.value=await Ne(),B.value=T.convertPointsToVector3(X.value),B.value&&B.value.length){ae(S.value,B.value[0],te.value,new D.Color(16711680)),(o=(t=h.value)==null?void 0:t.add)==null||o.call(t,S.value);return}},be=async()=>{var t;await((t=n==null?void 0:n.value)==null?void 0:t.reset()),await H(G.value)},H=async t=>{oe(),K(),await we(t),b.value&&_e()};e.watch(()=>G.value,async t=>{t&&await H(t)},{immediate:!0,deep:!0});let U=null;const Ce=()=>{O(),e.nextTick(()=>{l.value&&(U=new ResizeObserver(M),U.observe(l.value))});const t=g();h.value=t.scene,h.value&&(h.value.name="CPMPIP")},Te=()=>{U&&U.disconnect(),P.value&&x(),K(),oe(),Z()};return e.onMounted(async()=>{try{Ce()}catch(t){console.error("Three.js 初始化失败:",t),R.ElMessage.error("渲染引擎初始化失败!")}}),e.onBeforeUnmount(()=>{Te()}),(t,o)=>{const w=e.resolveComponent("el-scrollbar");return e.openBlock(),e.createElementBlock("div",Je,[e.createElementVNode("div",{ref_key:"threejsContainer",ref:l,class:"threejs-container"},null,512),e.createElementVNode("div",Ye,[e.createVNode(k.ThreeSvgIcon,{name:"viewReset",size:"24",onClick:be,title:"重置"}),e.createVNode(k.ThreeSvgIcon,{name:"fangda",size:"24",title:"放大",onClick:e.unref(z)},null,8,["onClick"]),e.createVNode(k.ThreeSvgIcon,{name:"suoxiao",size:"24",title:"缩小",onClick:e.unref(A)},null,8,["onClick"]),e.createVNode(k.ThreeSvgIcon,{name:"lookAround",size:"24",onClick:e.unref(F),title:e.unref(P)?"停止动画":"动画视图"},null,8,["onClick","title"]),e.createVNode(k.ThreeSvgIcon,{name:"zuobiaoxi",size:"24",active:e.unref(s),onClick:ce,title:"显隐坐标轴"},null,8,["active"]),b.value?(e.openBlock(),e.createBlock(k.ThreeSvgIcon,{key:0,name:"dianyun",size:"24",active:e.unref(W),onClick:o[0]||(o[0]=c=>ne(e.unref(ee).POINT)),title:"点云"},null,8,["active"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createBlock(k.ThreeSvgIcon,{key:1,name:"luoxuanxian",size:"24",active:e.unref(Q),onClick:o[1]||(o[1]=c=>ne(e.unref(ee).LINE)),title:"线体"},null,8,["active"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ze,[e.renderSlot(t.$slots,"button-left",{switchRightPanel:ue},void 0,!0)]),e.createElementVNode("div",We,[e.renderSlot(t.$slots,"button-right",{switchRightPanel:q},void 0,!0),e.createVNode(k.ThreeSvgIcon,{name:"guanjiekongzhi",size:"24",onClick:o[2]||(o[2]=c=>q("关节控制")),active:y.value&&r.value==="关节控制",title:"关节控制"},null,8,["active"]),e.createVNode(k.ThreeSvgIcon,{name:"donghuafangzhen",size:"24",title:"动画仿真",onClick:o[3]||(o[3]=c=>q("动画仿真")),active:y.value&&r.value==="动画仿真"},null,8,["active"])]),e.createElementVNode("div",Qe,[e.createVNode(k.ThreeSvgIcon,{name:"kuaitui",size:"24",backgroundColor:"#ffffff",title:"快退",onClick:fe}),e.createVNode(k.ThreeSvgIcon,{name:"bofang",size:"24",backgroundColor:"#ffffff",title:"播放",onClick:de}),e.createVNode(k.ThreeSvgIcon,{name:"kuaijin",size:"24",backgroundColor:"#ffffff",title:"快进",onClick:ve}),e.createVNode(k.ThreeSvgIcon,{name:"zanting",size:"24",backgroundColor:"#ffffff",title:"暂停",onClick:K})]),e.withDirectives(e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.createElementVNode("span",null,e.toDisplayString(a.value),1),e.createElementVNode("span",{class:"close",onClick:o[4]||(o[4]=c=>m.value=!1)}," X ")]),e.createElementVNode("div",ot,[e.createVNode(w,{height:"100%"},{default:e.withCtx(()=>[a.value==="场景树"?(e.openBlock(),e.createBlock(le.UrdfTree,{key:0,model:E.value},null,8,["model"])):e.createCommentVNode("",!0),a.value==="剖面视图"?(e.openBlock(),e.createElementBlock("div",nt,[e.createElementVNode("div",lt,[e.createElementVNode("label",at,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"none","onUpdate:modelValue":o[5]||(o[5]=c=>e.isRef(V)?V.value=c:null),onChange:o[6]||(o[6]=(...c)=>e.unref(C)&&e.unref(C)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),o[14]||(o[14]=e.createElementVNode("span",{class:"radio-text"},"无切割",-1))]),e.createElementVNode("label",rt,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"x","onUpdate:modelValue":o[7]||(o[7]=c=>e.isRef(V)?V.value=c:null),onChange:o[8]||(o[8]=(...c)=>e.unref(C)&&e.unref(C)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),o[15]||(o[15]=e.createElementVNode("span",{class:"radio-text"},"X轴切割",-1))]),e.createElementVNode("label",st,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"y","onUpdate:modelValue":o[9]||(o[9]=c=>e.isRef(V)?V.value=c:null),onChange:o[10]||(o[10]=(...c)=>e.unref(C)&&e.unref(C)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),o[16]||(o[16]=e.createElementVNode("span",{class:"radio-text"},"Y轴切割",-1))]),e.createElementVNode("label",it,[e.withDirectives(e.createElementVNode("input",{type:"radio",name:"clipping-axis",value:"z","onUpdate:modelValue":o[11]||(o[11]=c=>e.isRef(V)?V.value=c:null),onChange:o[12]||(o[12]=(...c)=>e.unref(C)&&e.unref(C)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),o[17]||(o[17]=e.createElementVNode("span",{class:"radio-text"},"Z轴切割",-1))])])])):e.createCommentVNode("",!0)]),_:1})])],512),[[e.vShow,m.value]]),e.withDirectives(e.createElementVNode("div",ct,[e.createElementVNode("div",ut,[e.createElementVNode("span",null,e.toDisplayString(r.value),1),e.createElementVNode("span",{class:"close",onClick:o[13]||(o[13]=c=>y.value=!1)}," X ")]),e.createElementVNode("div",dt,[e.createVNode(w,{height:"100%"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(le.JointPanel,{model:E.value},null,8,["model"]),[[e.vShow,r.value==="关节控制"]]),e.withDirectives(e.createVNode(He,{ref_key:"animationPanelRef",ref:n,cloud:te.value,knife:S.value,vectors:B.value},null,8,["cloud","knife","vectors"]),[[e.vShow,r.value==="动画仿真"&&b.value]])]),_:1})])],512),[[e.vShow,y.value]]),f.value?(e.openBlock(),e.createElementBlock("div",vt,[o[18]||(o[18]=e.createElementVNode("div",{class:"loading-spinner"},null,-1)),e.createElementVNode("p",null,e.toDisplayString(i.value),1)])):e.createCommentVNode("",!0)])}}}),pt=Y._export_sfc(ft,[["__scopeId","data-v-df98cfab"]]);exports.default=pt;