wuhb hai 1 ano
pai
achega
83025449f0
Modificáronse 13 ficheiros con 111540 adicións e 603 borrados
  1. 0 0
      gltf/285-2-1柱子.gltf
  2. 165 0
      gltf/32弯头.gltf
  3. 687 0
      gltf/50x50方管.gltf
  4. 0 0
      gltf/72过滤器.glb
  5. 54077 0
      gltf/74-00转化结晶器.gltf
  6. 28027 0
      gltf/74-2支柱.gltf
  7. 20 15
      gltf/gltf.json
  8. 9208 0
      gltf/单罐模型.gltf
  9. 1106 0
      gltf/取样阀.gltf
  10. 299 299
      gltf/热交换器.gltf
  11. 280 280
      gltf/过滤器.gltf
  12. 17641 0
      gltf/闸阀.gltf
  13. 30 9
      src/layout/index.vue

+ 0 - 0
gltf/柱子.gltf → gltf/285-2-1柱子.gltf


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 165 - 0
gltf/32弯头.gltf


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 687 - 0
gltf/50x50方管.gltf


+ 0 - 0
gltf/720.glb → gltf/72过滤器.glb


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 54077 - 0
gltf/74-00转化结晶器.gltf


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 28027 - 0
gltf/74-2支柱.gltf


+ 20 - 15
gltf/gltf.json

@@ -1,22 +1,27 @@
 [
-{"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":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"槽钢", "value":"16号槽钢.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"法兰", "value":"32法兰.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"弯头", "value":"32弯头.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"方管", "value":"50x50方管.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"支柱", "value":"74-2支柱.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"柱子", "value":"285-2-1柱子.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"工字钢", "value":"100x68工字钢.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"斜撑", "value":"100x68工字钢斜撑.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"单相阀", "value":"单相阀.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"取样阀", "value":"取样阀.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"闸阀", "value":"闸阀.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"流量计", "value":"流量计.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"压力表", "value":"压力表.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "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":"65三通管.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"球阀", "value":"法兰手动球阀DN65.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"过滤器", "value":"过滤器.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "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}
-,{"name":"结晶器", "value":"结晶器.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"热交换器", "value":"热交换器.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":""}
+,{"name":"结晶器", "value":"74-00转化结晶器.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
 ,{"name":"25过滤机", "value":"25过滤机.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
-,{"name":"72过滤机", "value":"720.glb", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
+,{"name":"72过滤机", "value":"72过滤机.glb", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
 ,{"name":"凉水塔", "value":"凉水塔.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
 ,{"name":"冰机", "value":"冰机.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}
 ,{"name":"钾离心机", "value":"钾离心机.gltf", "scaleX":0.01, "scaleY":0.01, "scaleZ":0.01, "posY":0}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 9208 - 0
gltf/单罐模型.gltf


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1106 - 0
gltf/取样阀.gltf


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 299 - 299
gltf/热交换器.gltf


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 280 - 280
gltf/过滤器.gltf


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 17641 - 0
gltf/闸阀.gltf


+ 30 - 9
src/layout/index.vue

@@ -64,7 +64,7 @@
   
   const dom = ref<HTMLDivElement>()
   var floor = {"length":3600, "width":1600, "height":600}
-  var cameraPos = {"y":1600, "z":2000};
+  var cameraPos = {"y":800, "z":1000};
   let selMesh:any
   let outlinePass: any;
   var scene:any;
@@ -160,9 +160,9 @@
 
   function addGeometry(val:string){
     var cube = initGeometry(val);
-    var box = new THREE.Box3().setFromObject(cube);
-    var y = box.max.y - box.min.y
-    cube.position.set(0, y/2, 0);
+    var minY = calculateModelBottomY(cube);
+    minY = -minY + 5
+    cube.position.set(0, minY, 0);
     dragModel(cube);
     scene.add( cube );
   }
@@ -187,11 +187,12 @@
       if(!scaleZ)scaleZ = 1;
       originaMesh.scale.set(scaleX, scaleY, scaleZ)
       var box = new THREE.Box3().setFromObject(originaMesh);
-      var y = box.max.y - box.min.y
+      var minY = calculateModelBottomY(originaMesh);
       if(posY){
         originaMesh.position.set(0,posY,0);
       }else{
-        originaMesh.position.set(0,y/2,0);
+        minY = (-minY/100) + 5
+        originaMesh.position.set(0,minY,0);
       }
       originaMesh.name = "file_"+modelName+"_"+new Date().getTime();
       dragModel(originaMesh);
@@ -408,7 +409,7 @@
     // 视角最小距离
     control.minDistance = 0;
     // 视角最远距离
-    control.maxDistance = cameraPos.z + 1000;
+    control.maxDistance = cameraPos.z * 2 + 1000;
     // 最大角度
     control.maxPolarAngle = Math.PI / 2.2;
     return control;
@@ -452,6 +453,21 @@
   initoutLine();
   let composer = initComposer();
   
+  // 计算模型底部Y坐标的函数
+  function calculateModelBottomY(object3D:any) {
+      let minY = Infinity;
+      object3D.traverse(function (child:any) {
+          if (child.isMesh) {
+              const geometry = child.geometry;
+              if (geometry.boundingBox === null) {
+                  geometry.computeBoundingBox();
+              }
+              minY = Math.min(minY, geometry.boundingBox.min.y);
+          }
+      });
+      return minY;
+  }
+
   const clickHandle = (selectObject:any, frm:number) =>{
     drawer.value = false;
     if(!isOperater.value){
@@ -509,14 +525,19 @@
     }
     settings.selMesh = selectObject;
     var box = new THREE.Box3().setFromObject(settings.selMesh);
+    var minY = calculateModelBottomY(settings.selMesh);
+    if(settings.selMesh.name.startsWith("file_")){
+      minY = (-minY/100) + 5
+    }else{
+       minY = -minY + 5
+    }
     var x = box.max.x - box.min.x
-    var y = box.max.y - box.min.y
     var z = box.max.z - box.min.z
     x = floor.length/2 - x/2
     var y_top = floor.height;
     z = floor.width/2 - z/2
     gui = new dat.GUI()
-    initGUI(-x, x, 0, y_top, -z, z);
+    initGUI(-x, x, minY, y_top, -z, z);
   }
   
   ObjectSelect(scene, camera, outlinePass, clickHandle)

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio