Freesteel Blog » Non-marine scallops

Non-marine scallops

Thursday, November 10th, 2005 at 12:27 pm Written by:

Scallop toolpath

Work on the constant stepover (aka scallop) machining is proceding at a pace. For the fourth time in my life. This really is the last time I ever intend to program this algorithm. I’d sworn never to do it again before, but here I am. This time, however, I am not an employee, and have managed to retain a stake in its copyright with the option of bringing it out into the open source environment in the fullness of time. So then nobody need ever suffer it again, if I get it right. That’s what’s motivating me through this ordeal — the idea that the software could stand for the next ten thousand years without getting lost during some corporate manoeuvre.

My first three versions were written while I was in NCGraphics. It started sometime around 1996 while I still worked in the office near Cambridge. The first attempt went horribly wrong because I was trying to offset the contours linear piecewise along the cutter location surface, and the results got folded and kinked in a way that I could not eliminate. The problem was due to the fact that short paths between the same two points on the cutter location surface could have radically different lengths. I had to delete four months of programming work in its entirety, and literally cried over all those wasted hours in that horrible office overlooking the A10, when I might as well have spent it on the beach in New Zealand.

Then I wrote a functioning version during the following year based on the trimming of meshes or weaves, which is a technique of area modelling rather than contour modelling.

I moved to Liverpool at the end of 1997 with Becka and worked away from the office, and had to start the third version at the beginning of the year 2000, since the old code was no longer up to the demands being made on it — fine detailing and smoothing of rest area detection boundaries.

At that time, Becka had her first sabatical and we had relocated to New Zealand for three months to take advantage of it. The theory behind this third scalloping routine appeared sound, but then it began to show failures. The boss was particularly annoyed because they were gearing up for a release, and I had slipped out for a two week diving tour of the North Island, as you do when you are in New Zealand. Occasionally, I had the pleasure of picking up an angry email from him at an internet cafe showing me a screen-shot of screwed-up toolpaths.

When we got back to Dunedin I had to put in one month of ten to twelve hour days retrofitting some kind of adaptive subdividing feature into the algorithm, and debugging all the horrible consequences that this entailed while the whole of New Zealand was outside my window. I can’t decide which is worse, that or overlooking the A10 Trunk Road when you have to get some work done.

So here I am doing it again. It’s 2005. I’m much wiser. The code is different. There are some very new ideas in it. The subdividing of the weave meshes is central to the design, rather than put in as an afterthought. We’ll see where it takes me this time.


  • 1. Ben Lipkowitz replies at 9th December 2005, 8:01 am :

    I’m sorry you’ve had such a horrible experience in the software industry. Although I know you are unlikely to release the adaptive-roughing algorithm as open source, even a “slow” algorithm like constant stepover would be an enormous step in the open source machining software world. Currently there is absolutely *nothing* out there for 3d solids. I was looking into writing a time-optimized 5-axis toolpath planner that used a sorta-waterline-ish strategy based on volumetric sweeps when I ran across your site a couple months ago. But I haven’t gotten around to anything yet, and there’s still nothing out there. We would really appreciate it if you released this routine to the public. I personally would love to see what makes it tick. Might even work on it, if I don’t get too absorbed with development on EMC.


  • 2. Julian Todd replies at 9th December 2005, 8:58 am :

    What can we do to work together? I am so committed to open source. We simply need to work out how to do it.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <em> <strong>