Please or Register to create posts and topics.

Cheat sheet for Start gcode variables

Trying to edit start gcode in craftware pro for head wiping.

Need to preheat heads and bed; due to start gcode is inserted before heating. Is there a cheat sheet for the variables ie

<printer.heads[0].extruder.nozzleDiameter> but for temps for heads and beds, etc.

 

thanks

Craftbot Flow Idex XL

Ok, found something with prusa printer start codes.

 

;<printer.actMode> mode slice for <printer.productName>
;Nozzle Diameter: <printer.heads[0].extruder.nozzleDiameter> mm
;Filament: <printer.heads[0].filament.productName>
G21 ; set units to millimeters
G90 ; use absolute positioning
M82 ; absolute extrusion mode
M104 S<printer.heads[0].filament.temperatureRange.max> ; set extruder temp
M140 S<printerState.actHead.filament.bedTemperatureRange.max> ; set bed temp
M190 S<printerState.actHead.filament.bedTemperatureRange.max> ; wait for bed temp
M109 S<printer.heads[0].filament.temperatureRange.max> ; wait for extruder temp
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
G92 E0.0 ; reset extruder distance position
G1 Y-3.0 F1000.0 ; go outside print area
G1 X60.0 E9.0 F1000.0 ; intro line
G1 X100.0 E21.5 F1000.0 ; intro line
G92 E0.0 ; reset extruder distance position

 

Interesting that they are using range.max; seems like you would have a variable to set temp, not range.max

Hopefully it helps other; instead of guessing for hours.

Dear Les,

We will generate a detailed list in a few days, but please be patient as this list populates more hundreds of parameters 🙂

The logic behind the temperature ranges:
- The filament manufacturers usually give us temperature ranges for the extruder and bed heating - we record these values in the filament profile.
- The exact printing temperature depends on many other factors (ambient temperature, moisture content of the filament, age of the filament, cooling of the printer etc.)
- As the printing and bed temperature (like any other parameter) can be set to a different value on every strategy, every object, every head, every layer, every Segment type (and more), we don't have one specific printing temperature. If somebody wanted to access the printing temperature, he had to specify all the mentioned state variables, so the slicer engine could evaluate the printing temperature there and return with a particular value. We don't provide a way to do this, because it would be overcomplicated and cumbersome. But we have these states configured during the Gcode, so the actual temperature is accessible at any point. For example if you put in a "Segment Type Script" with the following comment:
";The actual Target Temperature here is <segmentParams.temperature> C"
";The actual Head Temperature here is <printerState.actHeadState.temperature> C"

it will print the actual temperature at every segment type (area) change.
Sadly at the time the Gcode/Printer start scripts run, we cannot be sure that a proper temperature is set, so we used the filament maximum printing temperature as a fallback value. As the start purge is not printed, and the quality is not an issue, a high temperature purge is even more handy there.

Another way is to bake a temperature into the script, but that will be not filament independent.

Best Regards,

András

Quote from Craftware Team on 2022-03-23, 09:59

...

We will generate a detailed list in a few days, but please be patient as this list populates more hundreds of parameters 🙂

...

András, this list was promised over a year ago and I'm not seeing it published anywhere. Can you please update this thread on the status of the request?

Additionally, I noticed that Craftware Pro is inserting some additional GCODE immediately after the start script portion which are redundant.

Here's the contents of my Printer Start Script:

----

START_PRINT BED_TEMP=<printerState.actHead.filament.bedTemperatureRange.max> EXTRUDER_TEMP=<printer.heads[0].filament.temperatureRange.max> NOZZLE_DIAMETER=<printer.heads[0].extruder.nozzleDiameter>

---

The START_PRINT command does all the initial machine setup, including homing and doing a bed mesh (if needed!).

Here's what Craftware Pro is outputting into GCode:

---

;Created with CraftWare Pro - Slice like never before!
START_PRINT BED_TEMP=110.000000 EXTRUDER_TEMP=275.000000 NOZZLE_DIAMETER=0.400000
G90
M82
G28
M104 S275
M140 S105
M109 S275
M190 S105
G90
M82
; @LayerBegin N0 Z0.320

---

Is there a way to disable this behavior? If not, I'd like to start a feature request to do so. Thanks!

Hi,

I'm really sorry. I attached a short summary in JSON format. Please note that it is generated automatically so some of those parameters are not relevant.

The temperature control is a baked feature in the CraftWare Pro, there's no way to turn it off at this moment. It is generated by the application and not by the GCode scripts.

This is a valid request - the user should have the option to control it for himself! We added it to our issue tracker. It will behave like the optional printer features like fans and chamber temperature control.

Best Regards,

András

 

Uploaded files:
  • You need to login to have access to uploads.
Quote from Craftware Team on 2023-06-30, 11:07

Hi,

I'm really sorry. I attached a short summary in JSON format. Please note that it is generated automatically so some of those parameters are not relevant.

The temperature control is a baked feature in the CraftWare Pro, there's no way to turn it off at this moment. It is generated by the application and not by the GCode scripts.

This is a valid request - the user should have the option to control it for himself! We added it to our issue tracker. It will behave like the optional printer features like fans and chamber temperature control.

Best Regards,

András

 

Thank you for your prompt response! May I suggest that a more appropriate place for variables, as they relate to scripting, would be the Craftware Pro manual? CraftWare Pro User Manual (craftbot.com)

Users shouldn't have to search the forum to get this list. It should be available as part of the documentation.