Thanks gr5. My printer is a brand new (like 10 days old) Ultimaker 2 Extended Plus. It's a great machine and prints very well out of the box. I installed the firmware upgrade recommended, but I really don't know what's under the hood. I've played with g-code to do some cnc machine work, but this is my first time with UltiGcode and 3d printing.
1) Maybe first I should ask: what are the detailed specs of this printer as it came from the factory? What is the firmware? RepRap wiki refers to FiveD, sprinter, marlin, teacup, reprap firmware, etc. Is it Marlin? What version? Does it use Arduino? (All of this is new to me. Do I even need to know what Arduino is?) So, is there a reference page I can go to that will tell me exactly what my machine is? Thanks much.
2) My real interest is in adding if-then logic and do-until loops to the g-code that's generated by Cura, as well as write and call subroutines. (I've done this in my cnc experimentation.) Is this even possible in UltiGcode? If so, where can I find the documentation?
3) This leads to how the extrusion parameter works. Right now the g-code looks like this, which I now understand to be absolute mode:
G1 X..... Y..... E0.21000
G1 X..... Y..... E0.83816
G1 X..... Y..... E0.15971
G1 X..... Y..... E0.95161
...
G1 X..... Y..... E4690.69623 starting from the first G1 move of the program.
My question is how do I get Cura to output the E parameter in relative mode? And will my firmware interpret it correctly? I just generated a new code with a machine setting of 10 steps per mm, but it didn't change the E parameter. Also looked at files that came from Ultimaker-- Coffin's Cube and Earring Circle -- both generated by Cura Steam Engine 13.10 and they also are in absolute mode.
Thanks again for any guidance you can give me.
Recommended Posts
gr5 2,271
In ultigcode mode the E values are *cubic* mm. This is so you can have 1 gcode file work with either 1.75mm filament or 2.85mm filament or 2.95mm filament and not have to reslice.
In regular "rep rap" mode the E values are in mm.
If your printer has Marlin you should know it has 2 modes: relative and absolute.
If the extruder is in relative mode then the below 2 statements move the extruder 2mm. In absolute mode they move the extruder to the 1mm position (possibly moving backwards).
G1 E1
G1 E1
I don't know if Cura supports "relative" mode extrusion but your printer should certainly support absolute mode. There is a gcode to switch between these 2 modes. More info on Marlin gcodes (and a few other firmwares such as sprinter) here:
http://reprap.org/wiki/G-code
I'm 80% sure cura can't output relative moves but one could easily write a plugin to do this.
regarding steps/mm - this value is simply sent out as a gcode command at the start of the gcode file. Hovering over Cura parameters always tells you more details. There is a gcode to set steps/mm. This tells marlin (or other firmware) how many times to pulse a stepper motor to move 1mm.
What kind of printer do you have and what kind of firmware is on the printer?
Link to post
Share on other sites