Layer count in DWC progress display
-
Can anyone tell me what means the DWC uses to determine the total number of layers for the progress area?
Right now I have a print going that's showing "Layer 250 of 96". The part is about 300 layers and the
progress blue is around 80% which is probably fairly correct. It's only the Layer N of N display that weird.This is on DWC 2.1.2 and Maestro 3.01-RC7. I'm not sure if this is new and I never noticed before.
File is generated by S3D. -
It scans the gcode file for a combination of Z values and the comments that slicers leave in files. Simplify3D? It should be leaving something like this (20 or 30 lines into the file):
; layerHeight,0.2
I am not 101% sure exactly what it scans for to get overall object height. It could be the Z value in the last individual layer comment, which for S3D will look something like this (near bottom of file):
; layer 821, Z = 164.200
If all those scans succeed, it calculates the overall object height divided by layer height (from the comments). Any number of things could throw this off. Look in the file and see if you can find those two comments.
-
In the file listing in the Jobs page of DWC, what values does it give for the Object Height and Layer Height for that file?
-
Object Height = 10mm
Layer Height = 0.10 mmWhich is very odd in that all prints I've done this afternoon have an object height of 10mm and they certainly have all not been 10mm. Actually I doubt that any of them have been exactly 10mm.
Where is the Object Height obtained? I've looked in the .gcode file with NotePad++ and I can find a string for "layerHeight' but no entry for ObjectHeight or any string of "object*"
-
@dc42 I'm updating my last reply to report that every .gcode file that I upload shows up with a 10mm object height. I've tried using Prusa Slicer and S3D with the same results. Actually all files uploaded in the last 5 days are 10mm.
Just updated to RC8 and DWC 2.1.3 with no change. -
Please make available to us a sample file that incorrectly causes RRF to report 10mm object height.
-
Here it is.
-
Yeah, there is no tag in an S3D generated gcode-file directly for "Object Height" (or most slicers, for that matter).
I took another look at the code, and RRF appears to be scanning for G0 or G1 commands, highest Z value it can find, or really the last value in the file it can find, skipping those in G91 relative mode, etc. It derives object height from that last one it finds.
The last few statements in your file are:
; layer end M106 P2 S0 ; case lights off M104 S0 ; turn off temperature M140 S0 ; turn off heatbed G1 X0 Y200 F1800 ; G1 Z10 M84 ; disable motors M107 ; turn off fan ; Build Summary ; Build time: 1 hour 24 minutes ; Filament length: 1363.3 mm (1.36 m) ; Plastic volume: 3279.09 mm^3 (3.28 cc) ; Plastic weight: 4.10 g (0.01 lb) ; Material cost: 0.10
A few thousand lines up from that (line 116782 in the gcode file) is the actual slicer generated G1 with the largest Z:
G1 Z31.544 F1002
RRF is finding G1 Z10 that just before the end of the file (line 6 above, line 117118 in the actual file). I believe this is coming from end gcode in S3D. S3D GUI actually calls this the "scripts" tab in a 'process', and it is the "Ending Script" sub-tab. So check all your processes if you are using multiples.
Either take the 'G1 Z10' out, or make it relative (G91 first) or similar.
-
@Danal Bingo!!
Thanks for that. I never thought that the software would walk through the entire file looking for Z move commands. I expected that it would be something fancier than that but I guess it works unless you to want to
move the head out of the way at the end.Thanks again.
-
You can make RRF ignore that G1 Z10 line when scanning for object height by adding a comment beginning ";E" or "; E" (without the quotation marks) at the end of that line:
G1 Z10 ; E
-
I have a similar issue, but only in S3D,
I can see it is detecting the layer height correctly, and I have scanned the file for any G1 Z comands after the end of the parts G-code, but cant find any.
I am at a loss, can someone take a look at my file and tell me what I am doing wrong?
DWC 2.0.7
Firmware 2.05.1Thanks in Advance
Michael
-
@DeadNewbie Its in your end code
; layer end M104 S0 ; turn off extruder M140 S0 ; turn off bed M107 G0 Y190 Z190 X10 M84 ; disable motors
G0 Y190 Z190 X10
-
I will have a look, but I thought RRF ignored G0 Z?
Thanks for looking.
And yes you are correct, just tried it, I will amend the end scipt.
Thank you
-
@dc42 It seems firmware parsing gcode and find last command "G1 Z..." to determine the height of the part.
Maybe it is better searching last command "G1 Z..." before last command "G1 ..... E...." to determine real printing height. -
@demonlibra you can get RRF to ignore that line by putting a command starting with ;E or ; E at the end of it.