kopia lustrzana https://github.com/OpenBuilds/OpenBuilds-CONTROL
				
				
				
			v1.0.272
							rodzic
							
								
									8cad3ca88c
								
							
						
					
					
						commit
						ee7d2277b9
					
				|  | @ -1,3 +1,4 @@ | |||
| v1.0.271: New 3D viewer:  Arc Support | ||||
| v1.0.271: New 3D viewer: More lightweight, supports larger files, Render Progress percentage, antialiased graphics, opacity, etc; Prevent large files from loading to Gcode Editor, new RunJob method for large files | ||||
| v1.0.270: Updated LEAD1515 Profile: Max Travel, Updated Interface Files | ||||
| v1.0.269: Added Machine profiles to Interface USB Drive Wizard, renamed menu entry for Keyboard shortcuts editor | ||||
|  |  | |||
|  | @ -393,75 +393,6 @@ GCodeParser = function(handlers, modecmdhandlers) { | |||
| 
 | ||||
|       // console.log(p1, p2, args)
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       // DISTANCE CALC
 | ||||
|       // add distance so we can calc estimated time to run
 | ||||
|       // see if arc
 | ||||
|       var dist = 0; | ||||
|       if (p2.arc) { | ||||
|         // calc dist of all lines
 | ||||
|         //console.log("this is an arc to calc dist for. p2.threeObjArc:", p2.threeObjArc, "p2:", p2);
 | ||||
|         var arcGeo = p2.threeObjArc.geometry; | ||||
|         //console.log("arcGeo:", arcGeo);
 | ||||
| 
 | ||||
|         var tad2 = 0; | ||||
|         for (var arcLineCtr = 0; arcLineCtr < arcGeo.vertices.length - 1; arcLineCtr++) { | ||||
|           tad2 += arcGeo.vertices[arcLineCtr].distanceTo(arcGeo.vertices[arcLineCtr + 1]); | ||||
|         } | ||||
|         //console.log("tad2:", tad2);
 | ||||
| 
 | ||||
| 
 | ||||
|         // just do straight line calc
 | ||||
|         var a = new THREE.Vector3(p1.x, p1.y, p1.z); | ||||
|         var b = new THREE.Vector3(p2.x, p2.y, p2.z); | ||||
|         var straightDist = a.distanceTo(b); | ||||
| 
 | ||||
|         //console.log("diff of straight line calc vs arc sum. straightDist:", straightDist);
 | ||||
| 
 | ||||
|         dist = tad2; | ||||
| 
 | ||||
|       } else { | ||||
|         // just do straight line calc
 | ||||
|         var a = new THREE.Vector3(p1.x, p1.y, p1.z); | ||||
|         var b = new THREE.Vector3(p2.x, p2.y, p2.z); | ||||
|         dist = a.distanceTo(b); | ||||
|       } | ||||
| 
 | ||||
|       if (dist > 0) { | ||||
|         this.totalDist += dist; | ||||
|       } | ||||
| 
 | ||||
|       // time to execute this move
 | ||||
|       // if this move is 10mm and we are moving at 100mm/min then
 | ||||
|       // this move will take 10/100 = 0.1 minutes or 6 seconds
 | ||||
|       var timeMinutes = 0; | ||||
|       if (dist > 0) { | ||||
|         var fr; | ||||
|         if (args.feedrate > 0) { | ||||
|           fr = args.feedrate | ||||
|         } else { | ||||
|           fr = 100; | ||||
|         } | ||||
|         timeMinutes = dist / fr; | ||||
| 
 | ||||
|         // adjust for acceleration, meaning estimate
 | ||||
|         // this will run longer than estimated from the math
 | ||||
|         // above because we don't start moving at full feedrate
 | ||||
|         // obviously, we have to slowly accelerate in and out
 | ||||
|         timeMinutes = timeMinutes * 1.32; | ||||
|       } | ||||
|       this.totalTime += timeMinutes; | ||||
| 
 | ||||
|       p2.feedrate = args.feedrate; | ||||
|       p2.dist = dist; | ||||
|       p2.distSum = this.totalDist; | ||||
|       p2.timeMins = timeMinutes; | ||||
|       p2.timeMinsSum = this.totalTime; | ||||
| 
 | ||||
|       //  console.log("calculating distance. dist:", dist, "totalDist:", this.totalDist, "feedrate:", args.feedrate, "timeMinsToExecute:", timeMinutes, "totalTime:", this.totalTime, "p1:", p1, "p2:", p2, "args:", args);
 | ||||
| 
 | ||||
|       if (p2.arc) { | ||||
|         //console.log("");
 | ||||
|         //console.log("drawing arc. p1:", p1, ", p2:", p2);
 | ||||
|  | @ -684,7 +615,76 @@ GCodeParser = function(handlers, modecmdhandlers) { | |||
|           }); | ||||
|         } | ||||
| 
 | ||||
|       } else { // not an arc
 | ||||
|       } | ||||
| 
 | ||||
| 
 | ||||
|       // DISTANCE CALC
 | ||||
|       // add distance so we can calc estimated time to run
 | ||||
|       // see if arc
 | ||||
|       var dist = 0; | ||||
|       if (p2.arc) { | ||||
|         // calc dist of all lines
 | ||||
|         //console.log("this is an arc to calc dist for. p2.threeObjArc:", p2.threeObjArc, "p2:", p2);
 | ||||
|         var arcGeo = p2.threeObjArc.geometry; | ||||
|         //console.log("arcGeo:", arcGeo);
 | ||||
| 
 | ||||
|         var tad2 = 0; | ||||
|         for (var arcLineCtr = 0; arcLineCtr < arcGeo.vertices.length - 1; arcLineCtr++) { | ||||
|           tad2 += arcGeo.vertices[arcLineCtr].distanceTo(arcGeo.vertices[arcLineCtr + 1]); | ||||
|         } | ||||
|         //console.log("tad2:", tad2);
 | ||||
| 
 | ||||
| 
 | ||||
|         // just do straight line calc
 | ||||
|         var a = new THREE.Vector3(p1.x, p1.y, p1.z); | ||||
|         var b = new THREE.Vector3(p2.x, p2.y, p2.z); | ||||
|         var straightDist = a.distanceTo(b); | ||||
| 
 | ||||
|         //console.log("diff of straight line calc vs arc sum. straightDist:", straightDist);
 | ||||
| 
 | ||||
|         dist = tad2; | ||||
| 
 | ||||
|       } else { | ||||
|         // just do straight line calc
 | ||||
|         var a = new THREE.Vector3(p1.x, p1.y, p1.z); | ||||
|         var b = new THREE.Vector3(p2.x, p2.y, p2.z); | ||||
|         dist = a.distanceTo(b); | ||||
|       } | ||||
| 
 | ||||
|       if (dist > 0) { | ||||
|         this.totalDist += dist; | ||||
|       } | ||||
| 
 | ||||
|       // time to execute this move
 | ||||
|       // if this move is 10mm and we are moving at 100mm/min then
 | ||||
|       // this move will take 10/100 = 0.1 minutes or 6 seconds
 | ||||
|       var timeMinutes = 0; | ||||
|       if (dist > 0) { | ||||
|         var fr; | ||||
|         if (args.feedrate > 0) { | ||||
|           fr = args.feedrate | ||||
|         } else { | ||||
|           fr = 100; | ||||
|         } | ||||
|         timeMinutes = dist / fr; | ||||
| 
 | ||||
|         // adjust for acceleration, meaning estimate
 | ||||
|         // this will run longer than estimated from the math
 | ||||
|         // above because we don't start moving at full feedrate
 | ||||
|         // obviously, we have to slowly accelerate in and out
 | ||||
|         timeMinutes = timeMinutes * 1.32; | ||||
|       } | ||||
|       this.totalTime += timeMinutes; | ||||
| 
 | ||||
|       p2.feedrate = args.feedrate; | ||||
|       p2.dist = dist; | ||||
|       p2.distSum = this.totalDist; | ||||
|       p2.timeMins = timeMinutes; | ||||
|       p2.timeMinsSum = this.totalTime; | ||||
| 
 | ||||
|       //  console.log("calculating distance. dist:", dist, "totalDist:", this.totalDist, "feedrate:", args.feedrate, "timeMinsToExecute:", timeMinutes, "totalTime:", this.totalTime, "p1:", p1, "p2:", p2, "args:", args);
 | ||||
| 
 | ||||
|       if (!p2.arc) { // not an arc
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| { | ||||
|   "name": "OpenBuildsCONTROL", | ||||
|   "version": "1.0.271", | ||||
|   "version": "1.0.272", | ||||
|   "license": "AGPL-3.0", | ||||
|   "description": "OpenBuildsCONTROL CNC Machine Interface Software", | ||||
|   "author": "github.com/openbuilds <webmaster@openbuilds.com>", | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 openbuilds-engineer
						openbuilds-engineer