Vai al contenuto

ZDump is dead, long live ZTool

Messaggi raccomandati

As some of you might know, before RaftAway and g2z there was ZDump which I started to develop in spring 2016. It started as a way to dump and analyze ZCode (hence its name) but soon became a tool to patch and convert ZCode. As Zortrax made clear they didn't want me to release details about ZCode and other parties expressed their disapproval of a tool that would allow patching temperatures in software, I decided not to release it. RaftAway and g2z (which initially only supported official Z filaments) were my way to try to let other people participate in some of ZDump's features without offending Zortrax or the producers of hardware mods.

Now that Zortrax removed the temperature restrictions, only the ZCode dumping and analysis features stopped me from releasing ZDump. Hence I decided to drop these things for a public release and rename the whole thing to ZTool as the previous name didn't make much sense any more.

So here is the public release of ZTool (based on the never released v0.2.5 of ZDump):

Profiles for G-Code:

Feature wise it's a superset of RaftAway and g2z with some additional things like preview, fan speed graph and support removal.

Display features

  • Display embedded ZCode header information
  • Display extruder and bed temperature
  • Display fan speed graph over Z position
  • Layer preview

Edit features

  • Edit extruder and bed temperature
  • Move the model up (and down) a given offset
  • Limit the fan speed to a maximum threshold (%)
  • Increase retraction in order to reduce strings and blobs in prints
  • Modify the extrusion rate of the first model layer, in order to improve bed adhesion and bottom surface quality when printing without a raft
  • Modify the extrusion rate of the rest of the model
  • Reduce printing speed in order to print flexible filaments and others that cannot cope with high extrusion rates.
  • Increase printing speed to decrease printing time (while sacrificing quality)
  • Remove raft
  • Remove support within a defined polygon between a given start and end layer
  • Change HW version, firmware version and material profile embedded in the header

Conversion features

  • Import G-Code which allows converting G-Code created by other slicers to ZCode

As usual, there's a manual in rich text format (RTF) included.
Have fun.

  • Like 3
Link al commento
Condividi su altri siti

Nice work,

I try to create an fake Zcode for load and unload PLA (less temperature than firmware setting) but i fail when i remove the object and less start and end gcode 

could you assist me regarding your knowledge with Zcode protocole

it could be:

M106 S0
M140 S20
M190 S20
M104 S235 T0
M109 S235 T0
G92 E0
G1 E-50 F300 ;extract filament distance and speed to define
M25 ;pause or Zcode pause with prompt??
G1 E50 F300 ; purge nozzle quickly extract filament distance and speed to define
G1 E10 F60 ; purge nozzle slowly
G92 E0 ; zero the extruded length again
M104 S0           ; turn off extruder
M106 S0           ; turn off fan

Thanks for your assistance

Link al commento
Condividi su altri siti

I kinda fear that ZTool and g2z might choke on minimum scripts like this. Both use the same backend which searches for layers and tries to determine the printing resolution which currently ends in a numerical exception if there is no model.
Above that, it's a bit hard to determine what the firmware would make of this. Like it seems to expect certain start sequences as it does its auto-leveling magic in between ZCode commands even though there is no command that actually triggers the auto-leveling.
Besides, an unload command with different temperatures was promised for the next firmware revision.

Link al commento
Condividi su altri siti

Anyway, I uploaded a new version 1.0.1 that just outputs a warning when there is no proper model in G-Code but will still allow you to save it as ZCode.

As a side note, I also started to think about that unloading thing some months ago since a beta tester asked me if it was possible. At that time, I gave him this script as base but AFAIK he never tested it:

G28             ; home all axes
G92 X0 Y0 Z0 E0 ; set all axes to 0
G0 F180 Z15     ; move up extruder
G92 E0          ; set E to 0
M109 S210       ; set extruder temperature to 210°C
G1 F600 E-30    ; retract 30mm
M104 S0         ; turn off extruder
G91             ; set relative positioning
G28 X Y         ; home xy
G90             ; set absolute positioning
M106 S0         ; turn off fan


  • ZTool (and g2z) expect the GCode to start with a comment (";"). This is used as quick validation when opening an unknown stream
  • ZTool (and g2z) will warn about missing bed or extruder temperatures and enforce default values (80°C for the bed and 275°C for the extruder)
    AFAIK the firmware will also always use 80°C bed temperature if it's missing (Z-Suite 0.9.6b didn't create a command for bed temperature).
    Of course in ZTool you can patch the bed temperature down to 30°C to decrease the heat up time.
  • The command M25 (SD card pause) is ignored. If at all I would support M226, but currently I don't.

Have fun.

Link al commento
Condividi su altri siti

OK, couldn't stop thinking of that pause command. So there's another release today, namely 1.0.2:

  • Fixed inconsistency in fan speed graph.
  • Added support for G-Code pause command (M226).
  • Avoided removal of pause commands when removing raft.
  • Validity of bed/extruder temperatures already displayed in main window (red=invalid)
Link al commento
Condividi su altri siti

So did it work now?

Fan speed editing is about the last major thing left on my list. I just haven't had a good idea how to let the user define the fan speed.
The more or less best idea I had up to now was to let the user load a CSV file (like <layer>,percentage or <z-height>,percentage) that is used to override any fan speed setting in Z-Code. But of course there might be situations where you might want to change the fan speed inside a layer instead of at layer entrance/exit.
Any suggestion is welcome.

Link al commento
Condividi su altri siti

Partecipa alla conversazione

Puoi pubblicare ora e registrarti più tardi. Se hai un account, accedi ora per pubblicarlo con il tuo account.

Rispondi a questa discussione...

×   Hai incollato il contenuto con la formattazione.   Rimuovere la formattazione

  Sono consentiti solo 75 emoticon max.

×   Il tuo collegamento è stato incorporato automaticamente.   Mostra come un collegamento

×   Il tuo contenuto precedente è stato ripristinato.   Pulisci editor

×   Non puoi incollare le immagini direttamente. Carica o inserisci immagini dall'URL.

  • Crea Nuovo...