Ah nice that went fast .
It works generally but I don’t like the forward and backward move and the end of each line. What was wrong with the finishing surrounding path like in the old zig zag pocket ?
The zigzags have to go right up to the edge of the outline to guarantee clearance even when the zigzag is at a shallow angle to the outline. You could do away with those moves and have a final cleanup path but that path would be cutting air half of the time. These cleanup moves look ugly but spend less time cutting air.
If the surface finish is critical you can specify a separate cleanup pass but it wastes a bit of time time as that pass can’t exceed 50% step over without potentially missing bits.
This example below would have the same time cutting air like zigzag pocket 2. But this avoid the forward and backward move.
Addionally you could add a checkbox “force same direction” where you have an even number of zig zags (like in this example) though it could be done with one pass less. But this only would make sense if you have a fixed step over. (height dived by passes in this example)
I hope you can follow me…
Unfortunately your suggestion only works for rectangles where the height is an exact multiple of the step over. Rectangles are the easiest possible shape for a zigzag pocket. Whatever I do has to be able to handle any shape you throw at it.
Thinking about it, if you try that exact shape with the current algorithm, you’ll find it spends less time cutting air and with fewer rapids. Rapids can be quite time consuming, especially if you are using a shallow ramp on the plunge.
Is the reversal causing problems on the machine?
Only if you take the step over value as a fixed value. Assume you have a rectangular pocket with a height of 35mm and a 10mm mill. So you need 3 passes with 10mm step over and one with 5. But you can divide it into equal steps of 8.33 mm. So you have the same thing.
Yes but zig zag pocket makes only sense on rectangles and similar primitive shapes. Because on more complex shapes a spiral pocket with 50% step over takes almost the same time as zig zag 2 with 90% step over. So I think the zig zag pocket can be optimised for rectangular pockets.
Hmm the old zig zag pocket is much faster than zig zag 2 because it leaves much material on complex shapes. Bad to compare.
So zig zag 2 is much better.
Not really, but I usually want a smooth surface without going back and forward so I always have to add a finish pass what takes extra time.
But may it doesn’t makes a big difference in machining time with a finishing pass. It has to be figured out in practice but unfortunately you only released the dev version for windows :-/
And how to you calculate the step over for the finishing pass? It seems to have 30% in my example. I think 50% would be enough. Maybe calculate it as half of the entered step over for the zig zag?
Hmm, I never tested speeds. Hang on…
Using a C shaped pocket which is designed to be difficult for both spiral and zigzag
Due to the awkward shape I could not run more than 50% step over in spiral pocket without missing bits.
Spiral pocket 50% 53s
Zigzag2 50% with cleanup pass 68s
Zigzag2 50% without cleanup pass 60s
Zigzag2 90% with cleanup pass 48s
Zigzag2 90% without cleanup pass 41s
Using a circular pocket.
Spiral pocket 50% 46s
Spiral pocket 90% 27.7s
Zigzag2 50% with cleanup pass 53s
Zigzag2 50% without cleanup pass 49s
Zigzag2 90% with cleanup pass 34s
Zigzag2 90% without cleanup pass 30.5s
Using a square pocket. 79% was as high as I could go with spiral.
Spiral 79% 45.6s
Zigzag2 90% with cleanup 47.6s
Zigzag2 90% no cleanup 43.6s
Zigzag2 95% with cleanup pass 46s
Zigzag2 95% no cleanup 42s
Your proposal 95% step over 41.3s
This is simulation in SheetCam which admittedly does not do a very good job of simulating acceleration. I can’t currently go out into the workshop to test on real machines. It looks like if you can get a decent step over with spiral it will beat zigzag but with most geometry zigzag is quicker simply because you can run a big step over. Zigzag is definitely not a good choice for small step overs. As expected the cleanup pass slows zigzag down significantly.
Your proposal was emulated by using a face operation with manually entered coordinates with the two cleanup passes done as an offset operation on two lines. It was slightly quicker than zigzag2 but of course it only works for rectangles.
Not really, but I usually want a smooth surface without going back and forward so I always have to add a finish pass what takes extra time.
But may it doesn’t makes a big difference in machining time with a finishing pass. It has to be figured out in practice but unfortunately you only released the dev version for windows :-/
Yes, surface finish is it’s biggest downfall. It depends a lot on your machine’s rigidity. The cleanup pass adds a significant amount of time.
Are you running linux? If so you can run the Windows version using Wine. Install Wine using your package manager then download and install Dev just like you would on Windows. Wine has a few quirks but it works pretty well. The Linux version is Dev but it only gets updated occasionally, at points where I think Dev is pretty stable. The next update is due around mid February.
And how to you calculate the step over for the finishing pass? It seems to have 30% in my example. I think 50% would be enough. Maybe calculate it as half of the entered step over for the zig zag?
Yes you are right it’s 30%. I wanted this algorithm to be bomb proof. 50% won’t quite do if you have really sharp internal corners in your shape.
Would it be possible to reuse the “Overcut internal corners” for the spiral pocket? I noticed it is used on all passes on spiral pocket if it’s activated. But it would help make it possible to increase overlap if it’s always activated except on the outermost pass. And one thought I had earlier when you released it was that “Overcut internal corners” should have different length depending on angle so that the tool always tangents the corner.
I remember looking into this some time back. It is not a complete solution but it should help in many situations. I can’t remember why I didn’t implement it at the time so I’ll take another look into it.
Okay better so, than leave material remaining.
Just a pity that the simulation also stops where the limitation of the trial version ends. I thought only the output is limited. So maybe I have to test it installling in wine…
Simulation is just a specialized post processor so demo mode will limit the amount of code sim generates. I can send you a 30 day license if you want.
Unfortunately this didn’t really work on my machine
The next release (due out in a few days) will have a new zigzag pocket that doesn’t do the backup moves. With some careful optimisation of the tool paths I’ve made it at least as fast as the old zigzag pocket while also leaving a smooth wall to the pocket. If you use ramping it will be faster. Usually when it has to do a reposition move it will aim for an area nearby that has already been cleared so it can plunge down to depth at rapid rate rather than doing a ramp.
Oh I missed this post. No I understand your recent question regarding the current zig zag algorithm. Sorry.
Very nice what you have done! Even faster than the zig zag with backward moves in most cases.
What I don’t really understand is that it should be even faster on rectangular pockets. In my opinion it have two sides more to travel…
I just was thinking if we could let the zig zag with backward moves available as an option. Because it has also it right to exist.
But if it brings no speed advantage… I m going to check that on the real mill!
While comparing zig zag 2 with and without cleaning pass, I made some weird observations in time calculating.
I think the job time without cleaning pass can’t be twice the time with cleaning pass.
I just post this because it may is related to the general time calculation.
Last but not least: I noticed that the first step over doesn’t exactly meet the given step over value. I had a 6mm mill with 80% step over.
I don’t think that that is going to be a problem, because its so little, but only to be mentioned. And I think you already know this and that’s may the reason why the step over is limited to 95%
I’m not sure yet if I will keep the backup moves. The code does allow for this but it’s extra documentation and maintenence overhead. I need to do some more testing to see if there are any real world advantages to using it.
While comparing zig zag 2 with and without cleaning pass, I made some weird observations in time calculating.
Yes, that does look wrong. Shorter cut and rapid distances but much longer cut time. That’s not right. I need to run some more tests.
Last but not least: I noticed that the first step over doesn’t exactly meet the given step over value.
It varies depending on the geometry of the part. To generate the paths I work out the overall extents of the part then draw a series of horizontal lines starting at the bottom. I then remove any parts of the lines that are not over the pocket, which leaves the horizontal component of the zigzag. For angled zigzags I rotate the shapes so so that the lines are horizontal, calculate the tool paths then rotate back.
The 95% is pretty arbitrary. If you tried to run 100% you’d probably end up with thin ridges on the floor of the pocket so I limited it to just under 100%.
Yes of course I would never use 100% step over…
Ahh please forget that. It seems that I accidentally had the path rule enabled with some big minimal values for testing. I’m sorry.
I could not reproduce this now. I hope you haven’t already spent time on it
I did some speed testing comparing the new zigzag and the zigzag 2 without cleaning pass.
On rectangular contours the speed is almost the same as one can imagine.
But the bigger profit is on complex contours where the backward moves takes more time.
Not to mention zigzag 2 with cleaning pass. That would need much more time to achieve the same surface quality like the new zigzag.
What I want to say with that: I’m really happy with the new zigzag algorithm. Great job!
So there is no need for zigzag2 in my opinion