wuhb 1 tahun lalu
induk
melakukan
eb006457eb

File diff ditekan karena terlalu besar
+ 1183 - 0
gltf/100x68工字钢.gltf


File diff ditekan karena terlalu besar
+ 807 - 0
gltf/100x68工字钢斜撑.gltf


File diff ditekan karena terlalu besar
+ 529 - 0
gltf/16号槽钢.gltf


File diff ditekan karena terlalu besar
+ 353 - 0
gltf/32法兰.gltf


File diff ditekan karena terlalu besar
+ 473 - 0
gltf/65三通管.gltf


File diff ditekan karena terlalu besar
+ 105251 - 0
gltf/851罐体.gltf


+ 16 - 3
gltf/gltf.json

@@ -1,5 +1,18 @@
 [
-{"name":"单罐", "value":"gun2.gltf", "scaleX":0.05, "scaleY":0.05, "scaleZ":0.05}
-,{"name":"吸咐塔", "value":"yasuo.glb", "scaleX":1, "scaleY":1, "scaleZ":1}
-,{"name":"急停", "value":"stop1.gltf", "scaleX":1, "scaleY":1, "scaleZ":1}
+{"name":"单罐", "value":"gun2.gltf", "scaleX":0.05, "scaleY":0.05, "scaleZ":0.05, "posY":""}
+,{"name":"槽钢", "value":"16号槽钢.gltf", "scaleX":0.1, "scaleY":0.1, "scaleZ":0.1, "posY":""}
+,{"name":"法兰", "value":"32法兰.gltf", "scaleX":1, "scaleY":1, "scaleZ":1, "posY":""}
+,{"name":"工字钢", "value":"100x68工字钢.gltf", "scaleX":0.1, "scaleY":0.1, "scaleZ":0.1, "posY":""}
+,{"name":"斜撑", "value":"100x68工字钢斜撑.gltf", "scaleX":0.1, "scaleY":0.1, "scaleZ":0.1, "posY":0}
+,{"name":"单相阀", "value":"单相阀.gltf", "scaleX":0.1, "scaleY":0.1, "scaleZ":0.1, "posY":0}
+,{"name":"流量计", "value":"流量计.gltf", "scaleX":0.1, "scaleY":0.1, "scaleZ":0.1, "posY":0}
+,{"name":"压力表", "value":"压力表.gltf", "scaleX":1, "scaleY":1, "scaleZ":1, "posY":0}
+,{"name":"闸阀", "value":"闸阀.gltf", "scaleX":100, "scaleY":100, "scaleZ":100, "posY":0}
+,{"name":"85-1罐体", "value":"851罐体.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"三通管", "value":"65三通管.gltf", "scaleX":1, "scaleY":1, "scaleZ":1, "posY":0}
+,{"name":"球阀", "value":"法兰手动球阀DN65.gltf", "scaleX":0.1, "scaleY":0.1, "scaleZ":0.1, "posY":0}
+,{"name":"过滤器", "value":"过滤器.gltf", "scaleX":1, "scaleY":1, "scaleZ":1, "posY":45}
+,{"name":"梯子", "value":"梯子.gltf", "scaleX":0.1, "scaleY":0.1, "scaleZ":0.1, "posY":0}
+,{"name":"热交换器", "value":"热交换器.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"柱子", "value":"柱子.gltf", "scaleX":0.1, "scaleY":0.1, "scaleZ":0.1, "posY":0}
 ]

File diff ditekan karena terlalu besar
+ 7369 - 0
gltf/单相阀.gltf


File diff ditekan karena terlalu besar
+ 28827 - 0
gltf/压力表.gltf


File diff ditekan karena terlalu besar
+ 2247 - 0
gltf/柱子.gltf


File diff ditekan karena terlalu besar
+ 8909 - 0
gltf/梯子.gltf


File diff ditekan karena terlalu besar
+ 19481 - 0
gltf/法兰手动球阀DN65.gltf


File diff ditekan karena terlalu besar
+ 13954 - 0
gltf/流量计.gltf


File diff ditekan karena terlalu besar
+ 75886 - 0
gltf/热交换器.gltf


File diff ditekan karena terlalu besar
+ 7795 - 0
gltf/过滤器.gltf


File diff ditekan karena terlalu besar
+ 17641 - 0
gltf/闸阀.gltf


+ 10 - 5
src/layout/index.vue

@@ -6,7 +6,7 @@
         <el-button type="primary" @click="resetCamera" style="margin-left: 3px;">重置</el-button>
         <el-button type="primary" @click="toView" style="margin-left: 3px;">预览</el-button>
         <el-button type="primary" @click="toFull" style="margin-left: 3px;">全屏</el-button>
-        <el-button @click="showDrawer" type="primary" style="margin-left: 3px;">
+        <el-button @click="showDrawer($event)" type="primary" style="margin-left: 3px;">
           模型
         </el-button>
         <el-drawer title="模型库" v-model="drawer" :modal="false" size="18%">
@@ -31,7 +31,7 @@
             </el-collapse-item>
             <el-collapse-item title="自定义" name="2">
               <el-row>
-                <el-button class="basic-model" v-for="item in gltfJson" :key="item.name" style="margin-left: 12px;" type="primary" @click="loadGLB(item.value,item.scaleX,item.scaleY,item.scaleZ)">
+                <el-button class="basic-model" v-for="item in gltfJson" :key="item.name" style="margin-left: 12px;" type="primary" @click="loadGLB(item.value,item.scaleX,item.scaleY,item.scaleZ,item.posY)">
                   {{ item.name }}</el-button>
               </el-row>
             </el-collapse-item>
@@ -99,8 +99,9 @@
     isFullScreen();
   }
 
-  const showDrawer =() =>{
+  const showDrawer =(e:any) =>{
     drawer.value = true;
+    e.stopPropagation()
   }
 
   function toView(){
@@ -159,7 +160,7 @@
   }
 
   // 导入glb模型
-  async function loadGLB (modelName:string, scaleX:number, scaleY:number, scaleZ:number) {
+  async function loadGLB (modelName:string, scaleX:number, scaleY:number, scaleZ:number, posY:any) {
     const loader = new GLTFLoader()
     loader.setPath('gltf/').load(modelName, function (mod) {
       let originaMesh = mod.scene.children[0]
@@ -169,7 +170,11 @@
       originaMesh.scale.set(scaleX, scaleY, scaleZ)
       var box = new THREE.Box3().setFromObject(originaMesh);
       var y = box.max.y - box.min.y
-      originaMesh.position.set(0,0,0);
+      if(posY){
+        originaMesh.position.set(0,posY,0);
+      }else{
+        originaMesh.position.set(0,y/2,0);
+      }
       scene.add(originaMesh)
     })
   }

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini