| | |
| | | that.crnBody = getArrVal(object.objects, "name", that.crnNo + "-body"); |
| | | that.crnLoad = getArrVal(object.objects, "name", that.crnNo + "-load"); |
| | | that.crnFork = getArrVal(object.objects, "name", that.crnNo + "-fork"); |
| | | if (that.crnBody===null || that.crnLoad===null || that.crnFork==null) { |
| | | console.log(that.crnNo + "号堆垛机没有初始化"); |
| | | } |
| | | }; |
| | | init(); |
| | | |
| | | that.modify = function (crnData) { |
| | | if (that.run || that.crnNo === 0 || that.crnBody===null || that.crnLoad===null || that.crnFork==null) { |
| | | // console.log(that.crnNo + "号堆垛机更新失败"); |
| | | } else { |
| | | if (JSON.stringify(crnData.position) === JSON.stringify(that.position)) { |
| | | return; |
| | | } |
| | | that.run = true; |
| | | // 上一次 |
| | | that.preBay = that.bay; |
| | | that.preLev = that.lev; |
| | | that.preX = that.x; |
| | | that.preY = that.y; |
| | | that.preY = that.y; |
| | | that.prePosition = JSON.parse(JSON.stringify(that.position)); |
| | | that.preForkPos = that.forkPos; |
| | | // 当前 |
| | | that.bay = crnData.bay; |
| | | that.lev = crnData.lev; |
| | | that.x = crnData.position.x; |
| | | that.y = crnData.position.y; |
| | | that.z = crnData.position.z; |
| | | that.position = crnData.position; |
| | | that.forkPos = crnData.forkPos; |
| | | |
| | | // create Route ------------------------------------------------ |
| | | |
| | | // 堆垛机叉牙 伸叉 |
| | | if (that.prePosition.x !== that.position.x) { |
| | | curves.push({ |
| | | start: false, |
| | | progress: 0, |
| | | part: 'fork', |
| | | route: new Route([ |
| | | { |
| | | x: that.prePosition.x, |
| | | y: that.crnFork.position.y, |
| | | z: that.crnFork.position.z |
| | | }, |
| | | { |
| | | x: that.position.x, |
| | | y: that.crnFork.position.y, |
| | | z: that.crnFork.position.z |
| | | } |
| | | ]) |
| | | }) |
| | | } |
| | | |
| | | // 堆垛机载货台和叉牙 移动 |
| | | if (that.prePosition.z !== that.position.z || that.prePosition.y !== that.position.y) { |
| | | curves.push({ |
| | | start: false, |
| | | progress: 0, |
| | | part: 'load', |
| | | route: new Route([ |
| | | { |
| | | x: that.crnLoad.position.x, |
| | | y: that.prePosition.y, |
| | | z: that.prePosition.z |
| | | }, |
| | | { |
| | | x: that.crnLoad.position.x, |
| | | y: that.position.y, |
| | | z: that.position.z |
| | | } |
| | | ]) |
| | | }) |
| | | } |
| | | |
| | | // 堆垛机本体运动轨迹 |
| | | if (that.prePosition.z !== that.position.z && false) { |
| | | curves.push({ |
| | | start: false, |
| | | progress: 0, |
| | | part: 'body', |
| | | route: new Route([ |
| | | { |
| | | x: that.crnBody.position.x, |
| | | y: that.crnBody.position.y, |
| | | z: that.prePosition.z |
| | | }, |
| | | { |
| | | x: that.crnBody.position.x, |
| | | y: that.crnBody.position.y, |
| | | z: that.position.z |
| | | } |
| | | ]) |
| | | }) |
| | | } |
| | | |
| | | curves.map((value, index) => { |
| | | console.log(value.part + " --> " + JSON.stringify(value.route.points)) |
| | | }); |
| | | |
| | | curves[0].start = true; |
| | | |
| | | if (that.run || that.crnNo === 0) { |
| | | console.error(that.crnNo + "号堆垛机更新失败"); |
| | | return; |
| | | } |
| | | if (that.crnBody===null) { |
| | | that.crnBody = getArrVal(object.objects, "name", that.crnNo + "-body"); |
| | | return; |
| | | } |
| | | if (that.crnLoad===null) { |
| | | that.crnLoad = getArrVal(object.objects, "name", that.crnNo + "-load"); |
| | | return; |
| | | } |
| | | if (that.crnFork===null) { |
| | | that.crnFork = getArrVal(object.objects, "name", that.crnNo + "-fork"); |
| | | return; |
| | | } |
| | | if (JSON.stringify(crnData.position) === JSON.stringify(that.position)) { |
| | | return; |
| | | } |
| | | that.run = true; |
| | | // 上一次 |
| | | that.preBay = that.bay; |
| | | that.preLev = that.lev; |
| | | that.preX = that.x; |
| | | that.preY = that.y; |
| | | that.preY = that.y; |
| | | that.prePosition = JSON.parse(JSON.stringify(that.position)); |
| | | that.preForkPos = that.forkPos; |
| | | // 当前 |
| | | that.bay = crnData.bay; |
| | | that.lev = crnData.lev; |
| | | that.x = crnData.position.x; |
| | | that.y = crnData.position.y; |
| | | that.z = crnData.position.z; |
| | | that.position = crnData.position; |
| | | that.forkPos = crnData.forkPos; |
| | | |
| | | // create Route ------------------------------------------------ |
| | | |
| | | // 堆垛机叉牙 伸叉 |
| | | if (that.prePosition.x !== that.position.x) { |
| | | curves.push({ |
| | | start: false, |
| | | progress: 0, |
| | | part: 'fork', |
| | | route: new Route([ |
| | | { |
| | | x: that.prePosition.x, |
| | | y: that.crnFork.position.y, |
| | | z: that.crnFork.position.z |
| | | }, |
| | | { |
| | | x: that.position.x, |
| | | y: that.crnFork.position.y, |
| | | z: that.crnFork.position.z |
| | | } |
| | | ]) |
| | | }) |
| | | } |
| | | |
| | | // 堆垛机载货台和叉牙 移动 |
| | | if (that.prePosition.z !== that.position.z || that.prePosition.y !== that.position.y) { |
| | | curves.push({ |
| | | start: false, |
| | | progress: 0, |
| | | part: 'load', |
| | | route: new Route([ |
| | | { |
| | | x: that.crnLoad.position.x, |
| | | y: that.prePosition.y, |
| | | z: that.prePosition.z |
| | | }, |
| | | { |
| | | x: that.crnLoad.position.x, |
| | | y: that.position.y, |
| | | z: that.position.z |
| | | } |
| | | ]) |
| | | }) |
| | | } |
| | | |
| | | // 堆垛机本体运动轨迹 |
| | | if (that.prePosition.z !== that.position.z && false) { |
| | | curves.push({ |
| | | start: false, |
| | | progress: 0, |
| | | part: 'body', |
| | | route: new Route([ |
| | | { |
| | | x: that.crnBody.position.x, |
| | | y: that.crnBody.position.y, |
| | | z: that.prePosition.z |
| | | }, |
| | | { |
| | | x: that.crnBody.position.x, |
| | | y: that.crnBody.position.y, |
| | | z: that.position.z |
| | | } |
| | | ]) |
| | | }) |
| | | } |
| | | |
| | | curves.map((value, index) => { |
| | | console.log(value.part + " --> " + JSON.stringify(value.route.points)) |
| | | }); |
| | | |
| | | curves[0].start = true; |
| | | |
| | | } |
| | | |
| | | that.move = function () { |