ss-component-new 1.2.91 → 1.2.92
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-BFJXexXd.js → MTLLoader-B5xRp-vz.js} +1 -1
- package/dist/{MTLLoader-B7nny5Fq.cjs → MTLLoader-D80GV1WB.cjs} +1 -1
- package/dist/{OrbitControls-xaR75UGu.cjs → OrbitControls-CqIpswqa.cjs} +1 -1
- package/dist/{OrbitControls-C9jawbH9.js → OrbitControls-Dh9PyFO4.js} +1 -1
- package/dist/{animationData-CBP3-eEz.cjs → animationData-BtND2VWy.cjs} +1 -1
- package/dist/{animationData-CgRkXv4t.js → animationData-DZ0i7k1j.js} +1 -1
- package/dist/{iconfont-CP5tSbKZ.cjs → iconfont-0T5xTLj8.cjs} +1 -1
- package/dist/{iconfont-CjxxsF1M.js → iconfont-DN8mra_i.js} +2 -2
- package/dist/{index-DFI9yzK6.js → index-1gXFTnuu.js} +13 -13
- package/dist/{index-DqVT7oIp.cjs → index-BGvxk4QX.cjs} +1 -1
- package/dist/{index-CETcLmm9.js → index-BKaTMDZC.js} +3 -3
- package/dist/{index-vOASo2vq.cjs → index-BUYZ6Pzj.cjs} +1 -1
- package/dist/{index-BtAr_AHh.cjs → index-BYoEVm0h.cjs} +1 -1
- package/dist/{index-Dp0Qfw7S.cjs → index-B_KvjL9P.cjs} +1 -1
- package/dist/{index-BlCQ16SZ.cjs → index-BdwtuRne.cjs} +1 -1
- package/dist/{index-BekTYc0y.cjs → index-BeEVAZ15.cjs} +1 -1
- package/dist/{index-BQ2epFRD.js → index-BjFqn1jw.js} +1 -1
- package/dist/{index-DYPr6Y5L.cjs → index-BooqzjWY.cjs} +1 -1
- package/dist/{index-DUVWJUDm.cjs → index-BprBzYZ5.cjs} +1 -1
- package/dist/{index-Bb1-JDSj.js → index-BtKhX2oM.js} +2 -2
- package/dist/{index-C3T-KdRt.js → index-BvxyAOvM.js} +1 -1
- package/dist/{index-BAhJFVq5.js → index-C07slqLJ.js} +2 -2
- package/dist/{index-1K0-Lril.js → index-C1aAW06_.js} +3 -3
- package/dist/{index-DvGuZe_T.js → index-C7HjGMoA.js} +3 -3
- package/dist/{index-BMP_6QMQ.js → index-CQ7UrLDv.js} +4 -4
- package/dist/{index-C8yBntW8.cjs → index-CRe-_A5B.cjs} +1 -1
- package/dist/{index-BEvmMS0i.js → index-CZLI4UKD.js} +1 -1
- package/dist/{index-Vsjvei0H.js → index-CZsCZbCY.js} +2 -2
- package/dist/{index-BXnPM7aS.cjs → index-C_DIwBxS.cjs} +1 -1
- package/dist/{index-Dp6H2nKE.js → index-CewrcECw.js} +1 -1
- package/dist/{index-B_PGXhqu.js → index-CfHIgB5C.js} +1 -1
- package/dist/{index-D9EZRG95.js → index-CiNYm1fC.js} +1 -1
- package/dist/{index-aQEd-0P6.cjs → index-CpYf3edW.cjs} +1 -1
- package/dist/{index-BuBu-8ML.cjs → index-CtOo2IDL.cjs} +1 -1
- package/dist/{index-DG16Kf33.cjs → index-CuchbMC7.cjs} +1 -1
- package/dist/{index-B2gEqMwz.cjs → index-CylLhQJV.cjs} +1 -1
- package/dist/{index-Ebo1c622.js → index-DJ14vVkb.js} +1 -1
- package/dist/{index-8zvR_tOe.js → index-DQTbLJJt.js} +1 -1
- package/dist/{index-CUEf5Kz5.cjs → index-DSmsp4fK.cjs} +1 -1
- package/dist/{index-7slO1Rxz.cjs → index-DVMvlM3X.cjs} +1 -1
- package/dist/{index-aSIQAW_v.cjs → index-DW_lU8F7.cjs} +1 -1
- package/dist/{index-dDyNP3sZ.js → index-DwsI_FxR.js} +6 -6
- package/dist/{index-5IXozXfb.cjs → index-NMPHjxEr.cjs} +1 -1
- package/dist/{index-q5RVI5cd.js → index-Q33CutvH.js} +3 -3
- package/dist/{index-4C4_axeD.js → index-YxS-TBi2.js} +1 -1
- package/dist/{index-7Birt--o.cjs → index-Z2dyIgOs.cjs} +1 -1
- package/dist/{index-C-L7sbsd.js → index-a_TWt7Sj.js} +6 -6
- package/dist/{index-ihwK0f5N.cjs → index-bz_QKqhV.cjs} +1 -1
- package/dist/{index-B8bmwRCI.js → index-fbsH9PEh.js} +1 -1
- package/dist/{index-CP7aP3gS.cjs → index-m_VPPkQD.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-DecIEtG7.cjs → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-CjVqxeCk.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-CFsZEbkA.js → index.vue_vue_type_style_index_0_scoped_0b6f1a18_lang-qrHH3IDA.js} +6 -6
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DKwIZnH1.js → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-DEgtwZwW.js} +1642 -1647
- package/dist/{index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Cwx8FIbY.cjs → index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-QzgaFA5S.cjs} +58 -58
- package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-BX54cUHO.cjs → index.vue_vue_type_style_index_0_scoped_92477073_lang-9r-1e4S8.cjs} +1 -1
- package/dist/{index.vue_vue_type_style_index_0_scoped_92477073_lang-B10uDdFf.js → index.vue_vue_type_style_index_0_scoped_92477073_lang-IuoTm-WE.js} +3 -3
- package/dist/{index.vue_vue_type_style_index_1_lang-B-okL2FZ.js → index.vue_vue_type_style_index_1_lang-CDl_PU-6.js} +3 -3
- package/dist/{index.vue_vue_type_style_index_1_lang-CTa9TwBd.cjs → index.vue_vue_type_style_index_1_lang-DR71_XjN.cjs} +1 -1
- package/dist/{main-Cwa67iI0.cjs → main-BxTLrfxf.cjs} +1 -1
- package/dist/{main-t0azuc9l.js → main-D_3GSDl9.js} +2 -2
- package/dist/ss-component.cjs +1 -1
- package/dist/ss-component.css +1 -1
- package/dist/ss-component.js +9 -9
- package/dist/ss-component2.cjs +1 -1
- package/dist/ss-component2.js +10 -10
- package/dist/{threeModel-Byx2BFHA.js → threeModel-BKLggDE-.js} +4 -4
- package/dist/{threeModel-BsTUf7j3.cjs → threeModel-D4-2rEpM.cjs} +1 -1
- package/dist/{threePreview-DGcEWlwZ.cjs → threePreview-QIurmOdU.cjs} +1 -1
- package/dist/{threePreview-B9a62AVY.js → threePreview-oszvdj-G.js} +578 -579
- package/dist/threeSceneView-BR1l9yTW.js +1341 -0
- package/dist/threeSceneView-CaHI2V82.cjs +5 -0
- package/dist/threeSceneViewForCPMPIP-DbvRq5YC.cjs +5 -0
- package/dist/{threeSceneViewForCPMPIP-BslGbi80.js → threeSceneViewForCPMPIP-wZTvUhLm.js} +232 -238
- package/dist/{threeTrackPathView-CNiRDEIa.js → threeTrackPathView-CAK5om32.js} +258 -305
- package/dist/{threeTrackPathView-C5outYjx.cjs → threeTrackPathView-CF9ierHN.cjs} +2 -2
- package/dist/{threeViewerHost-C2iVAVlI.js → threeViewerHost-CeTJmyoE.js} +2 -2
- package/dist/{threeViewerHost-D3ZmD_As.cjs → threeViewerHost-iajMfGA9.cjs} +2 -2
- package/dist/{urdfTree-DEo6cc0y.cjs → urdfTree-CWwnorES.cjs} +1 -1
- package/dist/{urdfTree-D_oX4idQ.js → urdfTree-DIyCunQo.js} +1 -1
- package/dist/{workpieceTreePanel--92uvFwB.js → workpieceTreePanel-DC0GHh3g.js} +5 -5
- package/dist/{workpieceTreePanel-C0Lq3HIU.cjs → workpieceTreePanel-YfDCHyA3.cjs} +1 -1
- package/package.json +1 -1
- package/dist/obj/model.mtl +0 -42
- package/dist/obj/model.obj +0 -26110
- package/dist/threeSceneView-BYc0Z0CJ.cjs +0 -5
- package/dist/threeSceneView-C59wI_1_.js +0 -1369
- package/dist/threeSceneViewForCPMPIP-kGIus7ge.cjs +0 -5
- package/public/obj/model.mtl +0 -42
- package/public/obj/model.obj +0 -26110
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),Be=require("./index.vue_vue_type_style_index_1_lang-DnfCrXiN.cjs"),U=require("./workpieceTreePanel-C0Lq3HIU.cjs"),Q=require("./iconfont-CP5tSbKZ.cjs"),f=require("./index-C8qRkCgn.cjs");require("./index.vue_vue_type_style_index_0_scoped_0f027c8c_lang-Cwx8FIbY.cjs");const ee=require("./index-D_6peWlG.cjs"),G=require("./urdfTree-DEo6cc0y.cjs"),re=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),N=require("./svgIcon-CUM54R6L.cjs"),$e=require("./animationData-CBP3-eEz.cjs"),ze=require("./MTLLoader-B7nny5Fq.cjs"),se=require("./index-BtAr_AHh.cjs"),Le={class:"panel-content"},Re={class:"action-bar"},Ue={key:0,class:"animation-controls"},je={class:"control-row"},Ae={class:"control-row"},Ie={class:"frame-info"},Oe={class:"control-row"},Fe={key:1,class:"empty-state"},qe={class:"dialog-footer"},Je=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?G.getNonFixedJoints(w.model).map(r=>r.name):[]),M=e.computed(()=>[...I.value]),H=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=G.getAllLinkName(s),d.value=0):(g.value=null,A.value=[])},{immediate:!0});const $=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(b=>{const v=parseFloat(n[b]);isNaN(v)||(r[b]=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],b={};if(g.value)I.value.forEach(v=>{const p=parseFloat(r[v]);isNaN(p)||(b[v]=p)}),await g.value.animateToState(b,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,$(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,$(0),f.ElMessage.info("动画已停止并重置")},P=()=>{i.value==="playing"?O():R()},y=s=>{m++,i.value="paused",$(s)},z=()=>{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"),b=e.resolveComponent("el-slider"),v=e.resolveComponent("el-input"),p=e.resolveComponent("el-dialog");return e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",Re,[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",Ue,[e.createElementVNode("div",je,[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",Ae,[n[7]||(n[7]=e.createElementVNode("label",null,"当前帧:",-1)),e.createElementVNode("span",Ie,e.toDisplayString(d.value+1)+" / "+e.toDisplayString(o.value.length),1)]),e.createElementVNode("div",Oe,[n[8]||(n[8]=e.createElementVNode("label",null,"动画进度:",-1)),e.createVNode(b,{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",Fe,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",qe,[e.createVNode(ee._sfc_main,{modelValue:"取消",onClick:n[4]||(n[4]=u=>C.value=!1)}),e.createVNode(ee._sfc_main,{modelValue:"确认导入",onClick:z,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:H.value},null,8,["modelValue","placeholder"])]),_:1,__:[11]},8,["modelValue"])])}}}),ie=re._export_sfc(Je,[["__scopeId","data-v-06bc34b3"]]),Ge=async T=>await new ze.OBJLoader().loadAsync(T),He=async T=>await Ge(T),Xe={class:"obj-viewer-container"},Ke={class:"buttonGroup-top"},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"},bt={class:"brand-item"},Vt={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||{};Be.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 H=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);H.value=l}},{immediate:!0});const $=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(""),z=e.ref(!1),k=e.ref(""),s=e.ref(!1),n=e.ref(""),r=e.shallowRef(null),b=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}=Q.useThreeJS(R),{loadSceneFromFile:ve}=U.useUrdfLoader(J,S,O,F),{isAnimating:ne,toggleAnimation:me,stopAnimation:pe}=Q.useAnimation(J,S),{isClipping:fe,activeClippingAxis:V,toggleClipping:ge,updateClippingPlanes:x}=Q.useClipping(J,S),{initRaycaster:he,selectedObject3D:Ne,setSelectedObjVisible:be,updatePosition:Ve,updateRotation:ye,dispose:Ee}=U.useRaycaster(R,J,S),ke=()=>{de()},we=e.computed(()=>W.value===U.sceneType.ROBOT),Ce=l=>{n.value=l,s.value=!0},X=l=>{P.value=!0,y.value=l,l==="剖面视图"&&!fe.value&&ge()},Z=l=>{z.value=!0,k.value=l,l==="动画仿真"&&w("getAnimationData")},_e=()=>{var l;(l=E.value)==null||l.handlePlayPause()},Pe=()=>{var l;(l=E.value)==null||l.pauseAnimation()},Se=()=>{var l;(l=E.value)==null||l.stopAnimation()},xe=(l,t)=>G.getMeshFromLink(l,t),Te=async l=>{const t=xe(l,b.value);if(p.value=t,console.log("bladeObjUrl",$.value),t&&t.parent&&$.value){const a=await He($.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 b.value&&console.warn(`在 Blade '${b.value}' 中未找到可替换的网格或其没有父级。`)};e.watch(()=>o.fileBlobs,l=>{if(l&&l.length>0){const t=l[0];if(!t.name.toLowerCase().endsWith(".urdf"))return;ve(t).then(a=>{r.value=a,a&&Te(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]:[]),he()});const De=()=>{q(),window.addEventListener("resize",te);const l=J();u.value=l.scene},Me=()=>{y.value="",k.value="",window.removeEventListener("resize",te),ne.value&&pe(),ue(),Ee()};return e.onMounted(async()=>{await e.nextTick();try{De()}catch(l){console.error("Three.js 初始化失败:",l),f.ElMessage.error("渲染引擎初始化失败!")}}),e.onBeforeUnmount(()=>{Me()}),(l,t)=>{const a=e.resolveComponent("el-scrollbar"),K=e.resolveComponent("PipeAnalysisPanel");return e.openBlock(),e.createElementBlock("div",Xe,[e.withDirectives(e.createElementVNode("div",{ref_key:"threejsContainer",ref:R,class:"threejs-container"},null,512),[[e.vShow,we.value]]),e.createElementVNode("div",Ke,[e.renderSlot(l.$slots,"button-top",{switchTopPanel:Ce},void 0,!0),e.renderSlot(l.$slots,"logout",{},void 0,!0)]),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:"放大"}),e.createVNode(N.ThreeSvgIcon,{name:"suoxiao",size:"24",title:"缩小"}),e.createVNode(N.ThreeSvgIcon,{name:"lookAround",size:"24",onClick:e.unref(me),title:e.unref(ne)?"停止动画":"动画视图"},null,8,["onClick","title"]),e.createVNode(N.ThreeSvgIcon,{name:"zuobiaoxi",size:"24",active:e.unref(ce),onClick:ke,title:"显隐坐标轴"},null,8,["active"])]),e.createElementVNode("div",Ye,[e.renderSlot(l.$slots,"button-left",{switchRightPanel:X},void 0,!0),e.createVNode(N.ThreeSvgIcon,{name:"jiegoushu",size:"24",onClick:t[0]||(t[0]=h=>X("场景树")),active:P.value&&y.value==="场景树",title:"场景树"},null,8,["active"]),e.createVNode(N.ThreeSvgIcon,{name:"clipping",size:"24",onClick:t[1]||(t[1]=h=>X("剖面视图")),active:P.value&&y.value==="剖面视图",title:"剖面视图"},null,8,["active"]),e.createVNode(N.ThreeSvgIcon,{name:"donghuafangzhen",size:"24",onClick:t[2]||(t[2]=h=>X("工件树")),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:z.value&&k.value==="机床控制",title:"机床控制"},null,8,["active"]),e.createVNode(N.ThreeSvgIcon,{name:"donghuafangzhen",size:"24",title:"动画仿真",onClick:t[4]||(t[4]=h=>Z("动画仿真")),active:z.value&&k.value==="动画仿真"},null,8,["active"])]),e.createElementVNode("div",Qe,[e.createVNode(N.ThreeSvgIcon,{name:"bofang",size:"24",backgroundColor:"#ffffff",title:"播放",onClick:_e}),e.createVNode(N.ThreeSvgIcon,{name:"zanting",size:"24",backgroundColor:"#ffffff",title:"暂停",onClick:Pe}),e.createVNode(N.ThreeSvgIcon,{name:"zhongzhi",size:"24",backgroundColor:"#ffffff",title:"停止",onClick:Se})]),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(G.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(V)?V.value=c:null),onChange:t[8]||(t[8]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),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(V)?V.value=c:null),onChange:t[10]||(t[10]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),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(V)?V.value=c:null),onChange:t[12]||(t[12]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),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(V)?V.value=c:null),onChange:t[14]||(t[14]=(...c)=>e.unref(x)&&e.unref(x)(...c))},null,544),[[e.vModelRadio,e.unref(V)]]),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(Ne))==null?void 0:h.obj,onVisibleChange:e.unref(be),onUpdatePosition:e.unref(Ve),onUpdateRotation:e.unref(ye)},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=>z.value=!1)}," X ")]),e.createElementVNode("div",pt,[e.createVNode(a,{height:"100%"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(G.JointPanel,{model:r.value},null,8,["model"]),[[e.vShow,k.value==="机床控制"]]),e.withDirectives(e.createVNode(ie,{model:r.value,scene:u.value,xyzbcList:H.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,z.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",bt,[t[22]||(t[22]=e.createElementVNode("div",{class:"item-label"},"型号:",-1)),e.createElementVNode("div",Vt,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-e89ec1ab"]]);exports.default=wt;
|
package/public/obj/model.mtl
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# CAD Exchanger 3.24.0 (cadexchanger.com)
|
|
2
|
-
# Material Count: 5
|
|
3
|
-
|
|
4
|
-
newmtl Material_1
|
|
5
|
-
Ns 0.000000
|
|
6
|
-
Ka 0.200000 0.200000 0.200000
|
|
7
|
-
Kd 0.666667 0.666667 0.666667
|
|
8
|
-
Ks 0.000000 0.000000 0.000000
|
|
9
|
-
Ke 0.000000 0.000000 0.000000
|
|
10
|
-
d 1.000000
|
|
11
|
-
|
|
12
|
-
newmtl Material_2
|
|
13
|
-
Ns 0.000000
|
|
14
|
-
Ka 0.200000 0.200000 0.200000
|
|
15
|
-
Kd 0.133333 0.133333 0.133333
|
|
16
|
-
Ks 0.000000 0.000000 0.000000
|
|
17
|
-
Ke 0.000000 0.000000 0.000000
|
|
18
|
-
d 1.000000
|
|
19
|
-
|
|
20
|
-
newmtl Material_3
|
|
21
|
-
Ns 0.000000
|
|
22
|
-
Ka 0.200000 0.200000 0.200000
|
|
23
|
-
Kd 0.733333 0.733333 0.733333
|
|
24
|
-
Ks 0.000000 0.000000 0.000000
|
|
25
|
-
Ke 0.000000 0.000000 0.000000
|
|
26
|
-
d 1.000000
|
|
27
|
-
|
|
28
|
-
newmtl Material_5
|
|
29
|
-
Ns 0.000000
|
|
30
|
-
Ka 0.200000 0.200000 0.200000
|
|
31
|
-
Kd 0.396078 0.941176 0.450980
|
|
32
|
-
Ks 0.000000 0.000000 0.000000
|
|
33
|
-
Ke 0.000000 0.000000 0.000000
|
|
34
|
-
d 1.000000
|
|
35
|
-
|
|
36
|
-
newmtl Material_4
|
|
37
|
-
Ns 0.000000
|
|
38
|
-
Ka 0.200000 0.200000 0.200000
|
|
39
|
-
Kd 1.000000 1.000000 0.000000
|
|
40
|
-
Ks 0.000000 0.000000 0.000000
|
|
41
|
-
Ke 0.000000 0.000000 0.000000
|
|
42
|
-
d 1.000000
|