diff --git a/package-lock.json b/package-lock.json
index 5b4c570d5..e882d1dd9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "duetwebcontrol",
- "version": "3.5.0-beta.3+pre2",
+ "version": "3.5.0-beta.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "duetwebcontrol",
- "version": "3.5.0-beta.3+pre2",
+ "version": "3.5.0-beta.3",
"license": "GPL-3.0",
"dependencies": {
"@babylonjs/core": "^5.53.0",
@@ -14,7 +14,7 @@
"@babylonjs/materials": "^5.53.0",
"@duet3d/motionanalysis": "^3.5.0-beta.1",
"@duet3d/objectmodel": "^3.5.0-beta.24",
- "@sindarius/gcodeviewer": "^3.6.2",
+ "@sindarius/gcodeviewer": "^3.7.1",
"chart.js": "^2.9.4",
"chartjs-adapter-date-fns": "^1.0.0",
"compression-webpack-plugin": "^10.0.0",
@@ -2161,9 +2161,9 @@
"dev": true
},
"node_modules/@sindarius/gcodeviewer": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@sindarius/gcodeviewer/-/gcodeviewer-3.7.0.tgz",
- "integrity": "sha512-4Cy68PyTfjPImt2Yf5FBpH6sqT23jRsAa9XOUYtsueF8qg8hC2utljQK56LXEhSLfLezavF0u+4ats/DHVQFJg==",
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/@sindarius/gcodeviewer/-/gcodeviewer-3.7.1.tgz",
+ "integrity": "sha512-OjMSr7dX5aX0kR9+y7ubjefdogNkwGLxIV4lh3PGBFgwgO9f7eXImJVGeX519OG9s8E7kyAa6j4fsSR0eW1Ltg==",
"dependencies": {
"@babylonjs/core": "^5.53.0",
"@babylonjs/inspector": "^5.53.0",
diff --git a/package.json b/package.json
index 5abfe899e..06cf71567 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"@babylonjs/materials": "^5.53.0",
"@duet3d/motionanalysis": "^3.5.0-beta.1",
"@duet3d/objectmodel": "^3.5.0-beta.24",
- "@sindarius/gcodeviewer": "^3.6.2",
+ "@sindarius/gcodeviewer": "^3.7.1",
"chart.js": "^2.9.4",
"chartjs-adapter-date-fns": "^1.0.0",
"compression-webpack-plugin": "^10.0.0",
diff --git a/src/i18n/en.json b/src/i18n/en.json
index 71675aff6..f9b6ad3ff 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -1015,7 +1015,8 @@
"zBelt": "Z Belt",
"zBeltAngle": "Z Belt Gantry Angle",
"showWorkplace": "Show Workplace",
- "perimeterOnly": "Perimeter Only"
+ "perimeterOnly": "Perimeter Only",
+ "progressMode": "Progress Mode"
},
"heightmap": {
"menuCaption": "Height Map",
diff --git a/src/plugins/GCodeViewer/GCodeViewer.vue b/src/plugins/GCodeViewer/GCodeViewer.vue
index e381009da..98f2cfae9 100644
--- a/src/plugins/GCodeViewer/GCodeViewer.vue
+++ b/src/plugins/GCodeViewer/GCodeViewer.vue
@@ -246,7 +246,9 @@
+
+
@@ -486,7 +488,10 @@ export default {
resizeDebounce: null,
codeView: false,
fileData: "",
- perimeterOnly: false
+ perimeterOnly: false,
+ transparencyPercent: 50,
+ transparencyDebounce: null,
+ progressMode: false
};
},
computed: {
@@ -641,7 +646,7 @@ export default {
viewer = new gcodeViewer(this.$refs.viewerCanvas);
viewer.fileData = "";
await viewer.init();
-
+
viewer.simulationMultiplier = 1;
viewer.buildObjects.objectCallback = this.objectSelectionCallback;
viewer.buildObjects.labelCallback = (label) => {
@@ -727,10 +732,7 @@ export default {
this.$root.$on('view-3d-model', this.viewModelEvent);
this.$nextTick(() => {
- viewer.gcodeProcessor.resetTools();
- for (let idx = 0; idx < this.toolColors.length; idx++) {
- viewer.gcodeProcessor.addTool(this.toolColors[idx], 0.4); //hard code the nozzle size for now.
- }
+ this.updateTools();
this.updateWorkplaces();
});
@@ -795,7 +797,8 @@ export default {
}
this.colorDebounce = setTimeout(() => {
setPluginData('GCodeViewer', PluginDataType.machineCache, 'toolColors', this.toolColors);
- }, 1000);
+ viewer.gcodeProcessor.forceRedraw();
+ }, 200);
},
updateBackground(value) {
this.backgroundColor = value;
@@ -873,6 +876,8 @@ export default {
},
resetExtruderColors() {
this.toolColors = ['#00FFFF', '#FF00FF', '#FFFF00', '#000000', '#FFFFFF'];
+ this.updateTools();
+ viewer.gcodeProcessor.forceRedraw();
},
async reloadviewer() {
if (this.loading) {
@@ -938,6 +943,7 @@ export default {
viewer.gcodeProcessor.useHighQualityExtrusion(this.useHQRendering);
viewer.gcodeProcessor.perimeterOnly = this.perimeterOnly;
viewer.gcodeProcessor.currentWorkplace = this.currentWorkplace;
+ viewer.gcodeProcessor.progressMode = this.progressMode;
viewer.setZBelt(this.zBelt, this.zBeltAngle);
if(this.g1AsExtrusion){
this.renderQuality = 5;
@@ -1012,7 +1018,13 @@ export default {
}
}
viewer.setWorkplaceVisiblity(this.showWorkplace);
- }
+ },
+ updateTools() {
+ viewer.gcodeProcessor.resetTools();
+ for (let idx = 0; idx < this.toolColors.length; idx++) {
+ viewer.gcodeProcessor.addTool(this.toolColors[idx], 0.4); //hard code the nozzle size for now.
+ }
+ },
},
activated() {
viewer.pause = false;
@@ -1099,7 +1111,7 @@ export default {
},
'isJobRunning': function (newValue) {
//Need to add a check for paused...
- viewer.gcodeProcessor.setliveTracking(newValue);
+ viewer.gcodeProcessor.setLiveTracking(newValue);
if (!newValue) {
viewer.gcodeProcessor.doFinalPass();
}
@@ -1179,6 +1191,19 @@ export default {
},
showWorkplace() {
this.updateWorkplaces();
+ },
+ 'toolColors': {
+ handler() {
+ this.updateTools();
+ },
+ deep: true
+ },
+ transparencyPercent(to) {
+ viewer.gcodeProcessor.setTransparencyValue(to / 100);
+ viewer.gcodeProcessor.forceRedraw();
+ },
+ async progressMode() {
+ await this.reloadviewer()
}
},
};