#
luxiaotao1123
2021-12-17 9acdc6158025f19c83d6f8d4144205b705625409
static/js/object/StoreCrn.js
@@ -1,4 +1,20 @@
import {MTLLoader} from "../lib/MTLLoader.js";
import {OBJLoader} from "../lib/OBJLoader.js";
const xOffset = -1735;
const yOffset = -289;
const zOffset = -480;
const xOffset0 = -1735;
const yOffset0 = -108;
const zOffset0 = -480;
const xOffset1 = -1735;
const yOffset1 = -107;
const zOffset1 = -475;
function StoreCrn(option, object) {
    let that = this;
    this.crnBodyLength = option.crnBody.length||50;//库位长度
    this.crnBodyWidth = option.crnBody.width||50;//库位宽
    this.crnBodyHeight = option.crnBody.height||500;//库位高
@@ -10,37 +26,93 @@
    this.crnForkHeight = option.crnFork.height||30;//库位高
    // 立柱
    var a = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnBodyLength, this.crnBodyHeight, this.crnBodyWidth), new THREE.MeshBasicMaterial({
        color: 0xff0000,
        transparent: true,
        opacity: .3
    }))
    a.name = option.crnNo + "-body";
    a.position.x = option.crnBody.position.x;
    a.position.y = option.crnBody.position.y + this.crnBodyHeight/2;
    a.position.z = option.crnBody.position.z - this.crnBodyWidth/2;
    object.addObject(a);
    // var a = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnBodyLength, this.crnBodyHeight, this.crnBodyWidth), new THREE.MeshBasicMaterial({
    //     color: 0xff0000,
    //     transparent: true,
    //     opacity: .3
    // }))
    // a.name = option.crnNo + "-body";
    // a.position.x = option.crnBody.position.x;
    // a.position.y = option.crnBody.position.y + this.crnBodyHeight/2;
    // a.position.z = option.crnBody.position.z - this.crnBodyWidth/2;
    // object.addObject(a);
    // 载货台
    var b = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnLoadLength, this.crnLoadHeight, this.crnLoadWidth), new THREE.MeshBasicMaterial({
        color: 0x00ff00,
        transparent: true,
        opacity: .5
    }))
    b.name = option.crnNo + "-load";
    b.position.x = option.crnLoad.position.x;
    b.position.y = option.crnLoad.position.y + this.crnLoadHeight/2;
    b.position.z = option.crnLoad.position.z - this.crnLoadWidth/2 + 5;
    object.addObject(b);
    // var b = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnLoadLength, this.crnLoadHeight, this.crnLoadWidth), new THREE.MeshBasicMaterial({
    //     color: 0x00ff00,
    //     transparent: true,
    //     opacity: .5
    // }))
    // b.name = option.crnNo + "-load";
    // b.position.x = option.crnLoad.position.x;
    // b.position.y = option.crnLoad.position.y + this.crnLoadHeight/2;
    // b.position.z = option.crnLoad.position.z - this.crnLoadWidth/2 + 5;
    // object.addObject(b);
    // 叉牙
    var c = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnForkLength, this.crnForkWidth, this.crnForkHeight), new THREE.MeshBasicMaterial({
        color: 0xff00ff,
        transparent: true,
        opacity: 1
    }))
    c.name = option.crnNo + "-fork";
    c.position.x = option.crnFork.position.x;
    c.position.y = option.crnFork.position.y + this.crnLoadHeight/2;
    c.position.z = option.crnFork.position.z - this.crnLoadWidth/2;
    object.addObject(c);
    // var c = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnForkLength, this.crnForkWidth, this.crnForkHeight), new THREE.MeshBasicMaterial({
    //     color: 0xff00ff,
    //     transparent: true,
    //     opacity: 1
    // }))
    // c.name = option.crnNo + "-fork";
    // c.position.x = option.crnFork.position.x;
    // c.position.y = option.crnFork.position.y + this.crnLoadHeight/2;
    // c.position.z = option.crnFork.position.z - this.crnLoadWidth/2;
    // object.addObject(c);
    const manager = new THREE.LoadingManager();
    new MTLLoader(manager)
        .setPath( '../static/model/obj/' )
        .load( '堆垛机本体.mtl', function ( materials ) {
            materials.preload();
            new OBJLoader( manager )
                .setMaterials( materials )
                .setPath( '../static/model/obj/' )
                .load( '堆垛机本体.obj', function ( obj ) {
                    obj.scale.set(0.03, 0.03, 0.03);
                    obj.rotateY(- Math.PI / 2);
                    obj.name = option.crnNo + "-body";
                    obj.position.x = option.crnBody.position.x + xOffset;
                    obj.position.y = option.crnBody.position.y + that.crnBodyHeight/2 + yOffset;
                    obj.position.z = option.crnBody.position.z - that.crnBodyWidth/2 + zOffset;
                    object.addObject( obj );
                }, null, null );
        });
    new MTLLoader(manager)
        .setPath( '../static/model/obj/' )
        .load( '载货台.mtl', function ( materials ) {
            materials.preload();
            new OBJLoader( manager )
                .setMaterials( materials )
                .setPath( '../static/model/obj/' )
                .load( '载货台.obj', function ( obj ) {
                    obj.scale.set(0.03, 0.03, 0.03);
                    obj.rotateY(- Math.PI / 2);
                    obj.name = option.crnNo + "-load";
                    obj.position.x = option.crnLoad.position.x + xOffset0;
                    obj.position.y = option.crnLoad.position.y + that.crnLoadHeight/2 + yOffset0;
                    obj.position.z = option.crnLoad.position.z - that.crnLoadWidth/2 + 5 + zOffset0;
                    object.addObject( obj );
                }, null, null );
        });
    new MTLLoader(manager)
        .setPath( '../static/model/obj/' )
        .load( '货叉.mtl', function ( materials ) {
            materials.preload();
            new OBJLoader( manager )
                .setMaterials( materials )
                .setPath( '../static/model/obj/' )
                .load( '货叉.obj', function ( obj ) {
                    obj.scale.set(0.03, 0.03, 0.03);
                    obj.rotateY(- Math.PI / 2);
                    obj.name = option.crnNo + "-fork";
                    obj.position.x = option.crnFork.position.x + xOffset1;
                    obj.position.y = option.crnFork.position.y + that.crnLoadHeight/2 + yOffset1;
                    obj.position.z = option.crnFork.position.z - that.crnLoadWidth/2 + zOffset1;
                    object.addObject( obj );
                }, null, null );
        });
}
export {StoreCrn}