dxf2gcode - plasma enhancements

More
12 May 2021 09:11 #208614 by Joco
In preparation for the eventual finishing of a cnc plasma build I have been looking at opensource tool chain options. Something along the lines of:
CAD (libreCAD or other tool able to create dxf or SVG files)
-->
Nesting (DeepNest)
-->
DXF to GCode( ??gcodegen??)
-->
linxcnc plasma controller (QTplasmac or similar)

I have been trying to solve for ??gcodegen??. Finding something that can create gcode that would be sensible for plasma use. By "sensible" I mean has the key elements of:
[1] baked in cutter compensation so it plays nice with plasmac and THC
[2] understands internal and external cuts and sets external CW and internal CCW to get the best from the CW swirl of the plasma plume
[3] has lead-ins and ideally lead-outs which can be adjusted to some degree including supressed if apprpriate

I'm sure there could be others to this list but that will do for a start. So after some hunting about and playing with the inkscape scripts, which is good but not quite what I wanted, I decided dxf2gcode was very close and just a little time investment could push it much closer from a plasma angle.

So after some time unpicking things I started adding some code to the fork of dxf2gcode on my github - dxf2gcode-plasma .
The branch being worked on is: github.com/joco-nz/dxf2gcode-plasma/tree/plasma-leadin
Ignoring the inevitable bugs I will be creating so early on :whistle: I have the current functions generally working:
[1] baked cutter compensation supports lead ins
[2] contours on a dxf layer named PLASMA will have the cutting direction set to CW for outside and CCW for inside contours when autocuttercompensation setting is True.

There are some other changes I am working on and will post things as they progress.

I have made this visible to the dxf2gcode devs on their mail list and they can take/bake whatever they think worthy back into the official code line.

Hopefully might be of some use to some people.

Cheers - J.
The following user(s) said Thank You: phillc54, tommylight, snowgoer540

Please Log in or Create an account to join the conversation.

More
12 May 2021 10:40 - 12 May 2021 10:42 #208615 by Joco
Following same pattern as the MILL layer naming convention the following layer naming pattern will suppress lead-ins on a PLASMA layer.

PLASMA:1 Sl:1

: is the default separator used between the name/value pairs
The 1 after PLASMA can be any value.
The Sl is the Suppress layer indicator
1 = True
0 = False

This can be useful when you have a design in relatively thin metal and the pierce point is not distinguishable and having lead-ins adds no value. Or for a potion of the design they actually get in the way. Putting all those cuts on a single layer allows this to be dealt with on mass.

If other cuts will benefits from lead-ins then have them on another layer. For example

Layer 1 to suppress lead ins named: PLASMA:1 Sl:1
Layer 2 to be processed as a standard plasma layer named: PLASMA

Just remember that the code which automatically figures out what contours are inside others and therefore assigns the cut direction requires all those contours to be on the same layer. Equally if you have some contours that are causing issues with this then breaking them out to a different layer will solve that issue.

Also, while I remember it. Assuming you need to have unique layer names in your tool of choice then use the colon/number pattern to achieve this. i.e.
PLASMA:1
PLASMA:2
PLASMA:25
etc

Cheers - J.
Last edit: 12 May 2021 10:42 by Joco.
The following user(s) said Thank You: tommylight, snowgoer540

Please Log in or Create an account to join the conversation.

More
12 May 2021 21:35 #208656 by andypugh
It's good to have free and open tools. But SheetCAM is very much an option here, surely?

Please Log in or Create an account to join the conversation.

More
12 May 2021 22:45 #208670 by Joco
SheetCAM is 110 quid. About 214NZD excl taxes. It's not outrageous but its not free.
IF I start earning money from this plasma lark then SheetCAM would be the answer, no doubt about it. But for hobby/fun use while I'm just making low volume/one off stuff then I wanted to have an option I could pursue with just some of my time. Plus I have been enjoying the coding/understanding challenge. For me that's just all part of the hobby aspect. I enjoy the software/electronics challenge as much as the metal working challenge.

Cheers - J.
The following user(s) said Thank You: paulsao

Please Log in or Create an account to join the conversation.

More
12 May 2021 22:50 #208671 by Joco
Proofed my workflow through to CAMotics. Base part done in libreCAD (a super simple part), the dxf pushed through DeepNest to get 30 parts on a sheet. Back into libreCAD to push the parts into a layer named PLASMA. Then into my version of dxf2gcode to create the kerf offset paths with lead-ins and export the gcode. Gcode run through CAMotics to proof behaviour.

Pretty happy so far. The attached image shows the end of the CAMotics simulation with all parts traced. You can just see the small lead-ins to the circles. Yo might need to make it reasonably large.
Attachments:
The following user(s) said Thank You: snowgoer540

Please Log in or Create an account to join the conversation.

More
12 May 2021 23:58 #208675 by Clive S

Proofed my workflow through to CAMotics. Base part done in libreCAD (a super simple part), the dxf pushed through DeepNest to get 30 parts on a sheet. Back into libreCAD to push the parts into a layer named PLASMA. Then into my version of dxf2gcode to create the kerf offset paths with lead-ins and export the gcode. Gcode run through CAMotics to proof behaviour.

Pretty happy so far. The attached image shows the end of the CAMotics simulation with all parts traced. You can just see the small lead-ins to the circles. Yo might need to make it reasonably large.


Sheetcam is free for a few lines of code so it is possible to spit the cuts up into sections then glue it together to make the gcode

Please Log in or Create an account to join the conversation.

More
13 May 2021 00:12 #208677 by Joco
lol - are you guys on commission? :P

180 is what I believe the line limit is. But I'm having fun with my tinkerings.
The following user(s) said Thank You: phillc54

Please Log in or Create an account to join the conversation.

More
13 May 2021 01:36 #208683 by snowgoer540
I think it’s a worthwhile endeavor. I actually had it on the “maybe during the winter” to look at list. I’ve mentioned before that I think it would make a good addition to the current conversational offerings. I could see it coming in handy from time to time. I enjoy tinkering in the code myself, I agree it’s part of the hobby to me.

Keep up the good work!

Please Log in or Create an account to join the conversation.

More
13 May 2021 02:27 #208685 by Joco
I think I might have a basic working model for lead-outs. Attached pic shows post simulation state of a shape with lead-in/outs on an outside and inside cut. All very simple at the moment. Next need to try and take some of the magic out of what is happening as well as allow independent suppression of lead-ins and lead-outs. I might do this via a layer naming setting.



Cheers - J.
Attachments:

Please Log in or Create an account to join the conversation.

More
13 May 2021 10:05 #208719 by tommylight
Nice work, thank you.
Personally, i would skip everything regarding lead outs, it is pretty much useless for plasma cutting and causes a lot of issues when cutting small parts.

Please Log in or Create an account to join the conversation.

Moderators: Skullworks
Time to create page: 0.135 seconds
Powered by Kunena Forum