Dxf to G-Code

Hi everyone, As some of you already now I'm building a Ratrig V-core 3.1 so it can print liquid metal. I've a question that maybe not fully related to RatOs but I have a hard time solving it 😅. For the first part of the project I want to print in a constant z-plane (2D, one layer). In this way I can print just lines and curves I drew in a dxf file for example (like for a laser cutter). What is the easiest way to convert such a dxf file to a GCode that my printer can understand? This is not possible thru regular slicers (I think). My online research was quite unsuccessful, most programs that I found don't give a useful GCode for the Ratrig printer. It would be ideal if there is a way thru fusion 360 since I've full access to this program and maybe can use it as well for 3D slicing. I'm aware that possibly manual adjustments are necessary 🥲. Thanks!
3 Replies
miklschmidt
miklschmidt•4mo ago
So, just to make sure i'm understanding what you want to do and why: 1) You don't want any flow control? 2) You don't want any Z movement? 3) You have a DXF file... because? The thing is, 3d printers work in.. you guessed it. 3D 😅 I'd suggest you slice it as a model (load the dxf in fusion, extrude the path at width = line width, height = layer height. Export to .3mf). That's the easiest. Alternatively you can try and mess around with some of the CNC tools for generating toolpaths from DXF files, but it's not going to create compatible gcode nor do exactly what you want (subtractive vs additive manufacturing), so you'll have to post process the output (this is probably painful). if you can generate a mesh model of the path that is basically an exact representation of the geometry you want to print, slicing is easy. Just make sure your dimensions matches your slicing settings. If your layer height is 0.5mm and your model is 0.5mm, the sliced gcode will contain one layer.
SamC
SamC•4mo ago
Hii, thanks for the fast response! 1) We are going to use a syringe pump for the flow control of the liquid metal. We are planning to control the flow by using the output from the extruder (that we are not using), we will process this output using arduino/raspberry and Map the values to code/numbers the syringe can understand. 2) In the first stage of the project we don't want any Z movement because we first want to run some test with diffrent liquid metal compositions. We do this to find in a the best composition with which we will eventually 3D print. 3) Indeed, it certainly does not have to be a .dxf file. This is just as an example because it can only display lines, just like a .svg or other vector files So if I understand correctly for printing lines in 2D the best thing to do is design a very slim beam in 3D, export this to .3mf and then use layerheight to generate the one layer? I then have another question :). From reasearch papers, we have found that often when corners are made in liquid metal printing, there is a local accumulation of liquid metal. Is it possible to temporarily slow down the extrusion speed (which we will connect to the syringe pump) during corner making or to temporarily increase the print speed in corners?
miklschmidt
miklschmidt•4mo ago
So if I understand correctly for printing lines in 2D the best thing to do is design a very slim beam in 3D, export this to .3mf and then use layerheight to generate the one layer?
That would be the easiest approach, yes. You want something that's meant for additive, it's very different from subtractive. Alternatively you'd have to look at some CNC plotter/laser cutter software, it should be able to generate usable gcode from a DXF, but i'm not sure it's 100% compatible and the toolpaths might not make sense.
Indeed, it certainly does not have to be a .dxf file. This is just as an example because it can only display lines, just like a .svg or other vector files
Yep intuitively it makes sense that it would simplify things and let you focus on the basics, unfortunately it's kind of the other way around in the context of 3d printer software 🙂
So if I understand correctly for printing lines in 2D the best thing to do is design a very slim beam in 3D, export this to .3mf and then use layerheight to generate the one layer?
Absolutely
I then have another question :). From reasearch papers, we have found that often when corners are made in liquid metal printing, there is a local accumulation of liquid metal. Is it possible to temporarily slow down the extrusion speed (which we will connect to the syringe pump) during corner making or to temporarily increase the print speed in corners?
Yes, we call this pressure advance, there's a good deep dive on klippers algorithm here (keep in mind it's written for plastic, viscosity and pressure buildup might be very different in your use case, but my guess is the current implementation should cover it): https://www.klipper3d.org/Kinematics.html#pressure-advance