Vai al contenuto
SI-DESIGN
  • Iscriviti al forum

    Iscriviti al forum per restare aggiornato sulle ultime novità e poter usufruire di maggiori contenuti

Recommended Posts

So there it is, the first (AFAIK) freely available G-Code to ZCode converter:

Download from Dropbox
https://www.dropbox.com/sh/cgt3evjontdbpjm/AADYV5T384EDeFjAgKgIB5kha?dl=0

Slicer Profiles:
https://www.dropbox.com/sh/tmv5imtvw120r5b/AADyGH0L23Jfq8k0qyVntXdTa?dl=0


There is a manual (g2z.rtf) and a folder with profiles for different slicers included ("profiles"). These profiles include necessary settings and start/end codes, so use them as starting point for your own ones instead of starting from scratch.
Currently there are basic profiles for S3D, Slic3r, Cura and IdeaMaker. I'd recommend to use S3D though since this is the only version that was actually tested AFAIK.
Note that g2z parses the comments created by S3D, Cura or Slic3r to allow correct display of support and model print moves in Z-Suite. This was not adapted or tested for G-Code created by IdeaMaker and thus will most probably not work.
Anyway, all the supplied profiles are meant as a starting point, i.e. to use export settings that g2z will understand and to use the correct start/end codes.
About everything else in the profiles is up to you to change to improve your printing experience. Be aware you're leaving the comfort zone of Z-Suite and will experience failed prints due to lacking raft adhesion etc.
Note when using S3D, it's recommended to use the newest version of S3D (3.1.x) since the previous version (3.0.x) tended to create tons of multiple or pointless G-Code lines.
The Slic3r profile is the newest profile and AFAIK it's more or less completely untested. It was created for the Prusa Edition (with variable layer height) so I'd recommend to use this version if you intend to use Slic3r.

[EDIT]
The restriction to support only official temperature profiles was removed with 1.0.2. Now only the "Z" profiles will enforce official temperature profiles while the "based on"/external profiles will use the temperatures from the G-Code.
There are no other restrictions. Try printing with 50µm (or even variable layer height) and nothing will stop you from using Z-ABS on a m300. As soon as Zortrax adds a Z-PLA profile (which they kinda promised for 2017), I will add it to g2z.
And hey, it's free...

Have fun.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Hi Beef and thank you very much for this converter, using it together with a harware mod as "z-mik" for controlling the floor temperature and extruder you have complete control of the printer

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

It's not a trick but yes, actually I wrote one before working on the G-Code to ZCode converter. IMHO it's more of a gimmick though for a couple of reasons like:
1) G-Code is printer specific to some degree. Not all printers support all commands, comments are handled differently etc.
So I guess different printer profiles would be needed and honestly I didn't (and still don't) see much sense to invest time in this.
2) There is no 1:1 relationship between G-Code and ZCode. Some of the information stored in ZCode would get lost or could only be stored in comments
3) Z-Suite slices Zortrax filaments for Zortrax printer and there are no configuration options to change this. From initial layer height to retraction/extrusions settings and temperatures: printing anything else than Zortrax filaments on anything else than a Zortrax printer would be problematic. I guess even printing on a Wanhao Duplicator 6 wouldn't work without G-Code patching due to lack of perforated bed and fixed initial layer height. Even things like a slightly different extruder friction and fan efficiency are problematic.
4) Z-Suite is not publicly available (you need to enter your serial number to download and install it), so Zortrax could argue people using it to slice for other printers would violate their IP.

So, honestly, I don't think I will ever release a standalone ZCode to G-Code converter. At least not as long as there are much more interesting options. Like e.g. a standalone support removal tool ;)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

For the protocol: I just noticed that the S3D profile mysteriously disappeared when I uploaded the profiles folder instead of the 7z archive (because some folks who still live in the 20th century couldn't extract it). I have no idea why this happened though, but I uploaded the S3D profile again.
I'd also want to emphasize that just throwing G-Code at the tool won't give proper results. Specifically he start/end codes/scripts included in the provided profiles are necessary.
Start:
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

End:
G0 F1800 Z180 ; move up extruder (needs to be changed for m300)
M104 S0 ; turn off extruder
G91 ; set relative positioning
G28 X Y ; home xy
G90 ; set absolute positioning
M106 S0 ; turn off fan

There are some other settings though that are needed in addition. Apart from dimensions and speed limits, there are e.g. settings like "Allow zeroing of extrusion distances" in S3D (should be switched off) or "Verbose G-code" in the Slic3r Print Settings (should be switched on).

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

I am indeed disappointed that I can't use my own temperatures (the main reason to use gcode to zcode conversion), but I respect your reasoning and decisions. 
Thanks for this promising program! Looking forward to testing it. 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

I uploaded v1.0.1 which adds support for Z-ESD and improves comment parsing for Cura (and S3D)...
Download link is unchanged:
https://www.dropbox.com/sh/cgt3evjontdbpjm/AADYV5T384EDeFjAgKgIB5kha?dl=0

Side note: I didn't change the header to e.g. require firmware 1.0.6 as Z-Suite 1.9.0 does.
Still I wouldn't recommend using that Z-ESD profile on an older firmware revision.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

In the light of the support of external material in Z-Suite, I removed the temperature limitations from g2z.
Just be sure to select one of the new "based" profiles. Like "ABS based" will use the temperatures from G-Code while "Z-ABS" will still use the predefined temperatures.
Again, I didn't enforce the new firmware 1.1.0 for the new profiles but would recommend to use it. Dunno how older firmware versions will react to the new profiles.

Download as usual:
https://www.dropbox.com/sh/cgt3evjontdbpjm/AADYV5T384EDeFjAgKgIB5kha?dl=0

[EDIT]
Updated to 1.0.2b to add temperature range check when taking over temperatures from G-Code.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Wow I'm absolutely excited... been owning my M300 for about 10 days now (had an i3 MK2 and a Raise3D N2 before) getting already tired about the limitations of Z-Suite.

Will try this and is there a paypal account to donate if it works?

Does the "Separation Distance" parameter in the raft options translate to z-code? 

Thanks a lot for the fantastic work

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Actually I decided to stay anonymous and unpaid at least until Zortrax officially withdraws the threats to sue me for reverse engineering Z-Code.

Regarding the "separation distance": I didn't actually look at this detail, but the translation from G-Code to ZCode is as direct and 1:1 as possible, so usually every print/retraction move, Z hop or speed change should be translated 1:1. So given that I didn't mess anything up, I would assume this should work just as with G-Code.

Side note: as I commented above, the end code might be problematic for the m300:

 G0 F1800 Z180 ; move up extruder (needs to be changed for m300) 

This moves the Z position to 180mm (the maximum height for the m200). Honestly I'm not sure if this is really necessary, it's just that Z-Suite jumps to a Z position slightly above the model and I tried to simulate this. Now for the m300 (and a model which is at least 180mm high), this Z position might not suffice. Maybe it's better to change the Z180 to Z300 (300mm). Dunno if the bed always moves down automatically or not.

Btw: I'll release another tool soon (weekend maybe). Like the superset of RaftAway and g2z.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

It's good to know that the m300 works as well. Only got feedback for the m200 up to know.

Anyway: there's a reason why I didn't post about g2z in the official forum. I really try to avoid provoking Zortrax and what you're doing right now in their forum isn't really going to help anybody.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
10 ore fa, 0xdeadbeef dice:

It's good to know that the m300 works as well. Only got feedback for the m200 up to know.

Anyway: there's a reason why I didn't post about g2z in the official forum. I really try to avoid provoking Zortrax and what you're doing right now in their forum isn't really going to help anybody.

yes I appologize again... I didn't know things were already this messy... I just don't get it... what is the Strategy of Zortrax? Why using another code format if you're not able to do things better, faster and more reliable this way? They're already loosing customers to Raise3D and others and the M300 is quite a little overprized....

but now back to the interesting stuff... the 3d printing ;)

as I told already the g2z seems to work great with the M300... but I'm having troubles getting enough separation between raft and print or support and print. It's melting together completely. I will play around with the separation parameter (raft and support section in simplify3d) later but probably you already know what to change (I tried with Polymaker Polymax (215/65))?

grazie mille

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

First of all, I would never claim to be a 3D printing expert just because I understand the details of ZCode. Actually I'm printing much less and with much less interesting materials than most other people here or in the Zortrax forum. So honestly my plan was to write the converter and let more experiences users do the work to develop proper profiles. Unfortunately, this hasn't really worked out yet during the ~12months of the unofficial beta phase as only surprisingly few people feel the urge to report back no matter whether they succeeded or failed.

This being said you can be sure that Zortrax put a lot of effort into the raft creation by Z-Suite and I don't think that every aspect of it can be achieved when using other slicers. Some people tend to think that the material profiles in Z-Suite would only differ in temperatures, but this is far from true. Actually there are more internal parameters in Z-Suite than in any other slicer I know. E.g. there is not only a different set of parameters for the raft, but for several parts of the raft (bases, grid, surface/interface) and the 1st model layer. IMHO part of the magic is also done by controlling the fan. E.g. Z.Suite usually disables the fan while the raft is printed and jumps up to 20% just after the raft interface layer and before the 1st model layer starts. To some degree you can simulate this e.g. in S3D by setting the fan to 20% at the Nth layer (if there are N-1 raft layers). For support interfaces at higher layers, this will get a bit tricky though.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Thanks for this great tool, Beef! I use a M200 with the zt-he hotend and this allows me to print Sainsmart TPU filament. For some reason I get a huge amount of stringing when I use the Zortrax software, but using Simplify3D and your converter makes it so much better!

Cheers

Speedy

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Good to hear though this could be related to different retraction settings. Z-Suite uses rather low values (0.5mm) for everything but ZGlass, S3D uses 1mm as default. With the "external materials" setting you could change the retraction distance also in Z-Suite.

While I'm at it:

1.0.3

  • Allows to select the minimum firmware revision embedded into the header.
  • Improved handling of erratic G-Code files.
  • Added support for G-Code pause command (M226).

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Great plugin but I'm having trouble procesing a file for M300.

I'm receiving the following message:


Profile: Z-ABS, Resolution: 90µm, Temperatures: 275°C / 80°C

WARNING: No processing option selected.

Drag'n'drop G-Code files here to process them.
The output will be written to the folder of the input file.

2.301MB of 247.5MB used (max: 247.5MB).

The gcode file generated in S3d with the profile is 45 MB. Whata can be happening?

 

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Hm, good question. This (slightly confusingly named) error message should only occur if the imported ZCode has less than 10 layers.
The error message looks like a copy&paste issue (from RaftAway to g2z), I guess the real intention was something like "Implausible G-Code: too few layers".
Two suggestions:
1) Try to convert with ZTool - which shouldn't have this sanity check.
2) Upload the G-Code somewhere so I can have a look

As a side note: 247.5MB seems very low. A 64bit JRE on a PC with reasonable RAM should have a maximum close to 4GB or so instead of <250MB.
With a 45MB G-Code file, I wonder if 250MB will suffice. An out of memory exception of the JRE should result in shutting down the application though.

[EDIT]
Uploaded g2z 1.0.5 which removes the <= 10 layer check. Still, there needs to be at least one layer.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Hej together & 0xdeadbeef

thanks a lot for the amazing converting tool:) 

I updated and tweaked your provided Cura (and Slic3r) profiles for high quality prints up to 40/50 microns. Only tested with ABS (Z-ABS and others) on M200

1. Now the Cura profile prints ABS pretty good up to 40microns resolution / also changed build plate adhesion settings to Z-Suite standard 

2. The Slic3r (PrusaEdition) also works with the variable layer height tool from 0,5 to 0,05mm / also changed build plate adhesion settings to Z-Suite standard (as far as possible)

// 

Cura_Config_M200_40microns.curaprofile

Slic3r_config_M200_flexheight_50microns.ini

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Hi Beef and everyone:

Thank you so much for such a useful app, you ere awesome Beef.

I had difficulty to use it, I used slic3r Prusa to do the slicing in a sample object and then export and use the code to convert it to Zcode, I also used the uploaded configuration for slic3r.  but when I print it with my newly acquired M200/V4 (1.1.1) the printer jammed, and it could not even start printing and I pulled the plug out to shout down the printer immediately.  I tried it twice with little bit tweak, the same thing happened. 

the slic3r is version 1.38.2-prusa3d. I also get an error when importing the following configuration into the slic3r.

It looks everyone here is happy with using this code and I assume it should be something wrong with my file or configuration.  I load the original zcode from z-suit with converted code using g2z attached to this post for anyone that could give me a hint about the problem. 

the attached files are:

  • wedge-zsuit.zcode: original zcode generated by zsuit version 2.2 
  • slic3r configuration file, download from this post in top
  • wedge_slic3r.gcode: original gcode generated by slic3r prusa
  • wedge_slic3r_Z-ABS: the code generated by g2z

Thanks!

Slic3r_config_bundle_m200.ini

wedge-zsuit.zcode

wedge_slic3r.gcode

wedge_slic3r_Z-ABS.zcode

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

@0xdeadbeef hello, and thank you for your work on this! I'm quite interested in the technical details of this project. Not sure this forum is the best place for a back and forth; would you mind getting in touch by email (backdoorb100@gmail.com) to discuss further?

(Just want to clarify that I'm in no way affiliated with Zortrax; just an avid user)

Thanks!
--BDB

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

@kohyarp
Sorry for the late reply. I was busy with other thing and also pretty much lazy regarding anything ZCode related.
Anyway, I had a very short look at your G-Code and observed some things:

1) You used a different slic3r version, namely Slic3r 1.33.8-prusa3d-win64 (you) vs. Slic3r Prusa Edition 1.38.2-prusa3d-win64 (me)
2) There is no bed temperature set in your G-Code. There should be a line like "M190 S80 ; set bed temperature and wait for it to be reached" after the fan is disabled.
3) The extruder temperature is wrong. It should be 275°C for Z-ABS but in your g-code it's 265°C. As far as I recall, this is a temperature that's not used in any Zortrax profile.
I guess 10°C too low could have caused the jamming.
4) I'm not a Slic3r expert, but "; first_layer_extrusion_width = 0" and "; extrusion_width = 0" and "; support_material_extrusion_width = 0" (and many more) look wrong. Dunno what happened there, but these values are not 0 in my examples. I would guess this is somehow related to the different SW version.

Anyway, keep in mind that I can't and won't support debugging G-Code files or slicer configurations. My tools simply convert the G-Code to ZCode in the best possible way and I kinda hoped that the community would do the rest (like sharing working configurations etc.).
 

@backdoob & ffix78: don't get me wrong, but Zortrax made pretty clear they don't want me to discuss details of ZCode.
Actually, I understand we have some kind of gentlemen's agreement that they tolerate my tools as long as I respect this wish.
So if something can't be discussed here, I will most probably also not discuss it in private until the situation changes.

 

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Uploaded 1.0.6
Fixed a crash resulting from GCode which uses a negative retations value directly after setting the extrusion value to 0.
Also fixed a command index issue in this context which could lead to removal of the wrong command in certain situation when resetting the extrusion value.

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.