Additional utility

Want something added to the software or web-site?
Zig
Posts: 27
Joined: Wed Oct 02, 2013 12:29 pm

Additional utility

Post by Zig »

In addition to auto leveling functionality it would be of great utility to have a software tool which could grab G code file chew on it and spit out data which is sorted and reconnected so that the machine cuts a minimum amount of air.

This would involve breaking each and every tool path into constituent strokes ( G01, G02 and G03 ) and possibly altering the direction of stroke in order to minimuse the air cutting time ( optimise tool contact time).

I presently do that in a round about way namely either sorting data( by X and or Y ) optimising it by nearest next start position. I find this particularly useful in instances of large area rubout in order to generate a zig zag rubout pattern of a large area as a minimum number of Z axis movements or under normal conditions to re order strokes and minimise uncoordinated ( non productive ) travel time.

Any thoughts comments etc.
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: Additional utility

Post by daedelus »

I have moved this to the 'Suggestions for Improvement' topic as it fits neatly there :)
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: Additional utility

Post by daedelus »

Great Idea, tool path optimization would be a very useful addition for most people I think and I shall add it to my list.

I dont know if you were thinking it might be an additional utility or a feature built into the autoleveller itself? I am thinking it would be part of the autoleveller just to keep everything contained in one place.
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
KenH
Posts: 12
Joined: Thu Oct 03, 2013 6:29 pm

Re: Additional utility

Post by KenH »

James, "IF" it can be done, a good optimization program would be great. I've seen how often the regular Gcode is not anywhere near optimized. I'm just so impressed with your auto-leveling program I'm hesitate to ask for more:)

Ken H>
Zig
Posts: 27
Joined: Wed Oct 02, 2013 12:29 pm

Re: Additional utility

Post by Zig »

There was an optimisation utility ( stand alone variant) written some time ago and made available on pcb gcode group back when yahoo chucked a wobbly and a separate forum was hived off from memory.

The algorithm is base on nearest ( radial search ) start point.
The data consists of a series of ( usually ) closed isolation paths with start and finish points coinciding.
The algorithm would start at first available path and then search for next neares path and then look for next nearest path to the second point etc .
Except it did not. What I mean to say it would search for nearest start point not path per se.
In general it provides a significantly improved G code file but in instances of open ( as opposed to closed ) isolation paths the outcome is inferior.

A major enhancement to this process would be to be able to presort and reposition start point of cut within the data subset defining a single isolation path such that nearest segment not nearest start point is accessed.

If You have a sample g code file and matching gerber layer I would like to process and demonstrate the above.
I also have a copy of the utility mentioned above I can post here. Sadly I can not recal when and by whom itwas posted, may be JJ can offer an insight.
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: Additional utility

Post by daedelus »

What is interesting about this function to me is that it will be very useful to a lot of people and I don't necessarily need to set up my CNC machine to code and test :D (I can just load the resulting file directly into a CAM program in order to test). This is good for me because I cannot get to my machine right now for one reason or another, so it will be good to have something to add where I don't need direct access to my machine.

Zig, I dont have the files you need right now but will get them whenever I can. I have a lot of stuff to do before I get stuck in to this (including, attend some job interviews soon).

I will start with this ASAP.
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
Zig
Posts: 27
Joined: Wed Oct 02, 2013 12:29 pm

Re: Additional utility

Post by Zig »

OK...
A bit of time to add to the idea and ilustrate it with samples.
In essence there are two (2) ideas that need to be considered.

One is purely resorting existing notionally closed paths so that the cutting tool goes to the nearest next path once the current cut is completed.
This has been implemented by a kind soul in the form of attached opti_qt.exe file still available from the forum which was set up by JJ when Yahoo went ferral for a while some years back.
I mention this application as I use it regularly with so far no deleterious effects and LOUD gratitude to the author of the optimiser.
The optimiser works by looking at the start of an isolation cutand determines next nearest isolation path.
In theory a nice approach as most isolation cuts are closed loops, that is a tool stars the isolation cut at a point and returns to close it of at the same point. There is aproblem with this logic however as sometimes the isolation path may not always be a closed loop. In this case the return path is cut through the air and optimisation tends to be substandard.

The other point is optimisation of a single isolation path or reordering of an isolation path.

Consider the possibility of an open isolation path in which the tool may move towards a particular point only to find the path needs to be completed from some other point by finishing on the same final spot. It would be better if the two halves of isolation pathcould be reordered into ne continuous cutting path.
Additional feature of this reordering algorithm could be connection of isolation paths head to tail if head and tail within a particular distance.

Samples of all of the above cases are attached to ilustrate the point.
Attachments
Examples.zip
(10.22 KiB) Downloaded 382 times
Zig
Posts: 27
Joined: Wed Oct 02, 2013 12:29 pm

Re: Additional utility

Post by Zig »

I shall zip up the exe file and try to attach it.
Zipped up it is in excess of 3 Mb. I dont know how it will travel....


No go.. maximum size 256KB...
May be some other way ... suggestions welcome
Zig
Posts: 27
Joined: Wed Oct 02, 2013 12:29 pm

Re: Additional utility

Post by Zig »

Ok.. here is the original discussion


http://pcbgcode.org/read.php?6,5,5
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: Additional utility

Post by daedelus »

Hi Zig,

Thanks for your efforts with this. When I try to download Examples.zip it tells me the file is corrupt. Not to worry though, you have provided a lot of info for me to get on with anyway.

In my mind I was always going to look at the end point of any path and look for the nearest new path from there. This would be safer than the other otimisers methods because as you say, there is no guarantee that the toolpath will be closed.

The biggest question for me is whether of not to write a gcode parser library first. This might take a bit longer but has many advantages. A gcode parser would make things much easier to maintain, could be used by the autoleveller program to improve and add support for arcs etc, would be entirely logical for the toolpath otimiser I have in mind, and would be useful for creating additional CNC programs too.

In short, bare with me. :)
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
Post Reply