Freesteel Blog » Scallop bisectors

Scallop bisectors

Tuesday, April 14th, 2009 at 12:45 pm Written by:

The scallop/constant stepover cutting strategy is theoretically capable of smoothly finishing irregular surfaces inside irregular boundaries (such as rest machining areas).

Unfortunately, it can result in very sharp corners in some of the offsets and — if you’re unlucky — can leave a double stepover gap in the final area of collapse where the narrowest width is slightly less than twice the stepover.


The fact that it’s one of the most technically challenging algorithms to make work (with regards to crashes, infinite loops, and ugly results) makes it easy to predict the deep reluctance of any programmer to do something more advanced with it.

It barely works under the ordinary specification (just giving the constant stepover offsets) after years of development, so you would be insane to intentionally make it more complicated, liable to be slower, and more likely to break.

And — secretly — the last thing you want to do with a difficult and unreliable algorithm is fix a flaw that everyone has gotten used to, which could make it more popular, so that more people run it on more and harder examples, so you get hundreds of fiendish bugs coming down the line next year. At some point a programmer has to move on, and the guys who take over don’t stand a chance.

Unfortunately, last week I thought of a sneaky way of combining pencil milling and constant scallop in order to insert bisecting curves into these collapsing contours. I had the option to do this, because the pencil and scallop strategies go through exactly the same cellular subdividing code in the HSMWorks kernel.


After three days of solid coding, I got the above result. There are a lot of reliability issues and huge complexities involved in joining up the cells. Not to mention how the linking is going to be programmed — which is hopefully someone else’s problem.

What to do now? There are a lot of advanced scallop bugs/deficiencies which would take reams of new code to solve properly. It’s difficult to justify doing this just for the bugs, but a brand new feature makes it worthwhile. It’s sometimes an advantage to allow problems to stack up.

What about all the other questions?

Well, if I didn’t think I had some sort of ownership stake in this code, I’d’ve kept quiet about this new idea, and nobody would know. The incentives for creativity do not occur out in the maladministered “free-market” between companies; the incentives — and disincentives — for creativity are actioned internally within each company, and depend on the relationships with their employees and their common morale. It can happen nowhere else.

Not that any of the economic experts seem to pay attention to this dynamic. They all work for universities and have no idea what it’s like to have all your intellectual credit stripped from you systematically by law. Lovely that, isn’t it? They think it’s your own fault for agreeing to be employed under the usual terms and conditions, neglecting to observe that no alternative is ever offered.

Free software is the only way forward.

Meanwhile, over at WorldCADaccess there’s a report of Solidworks and AutoCAD giving free crippled copies of their multi-thousand-dollar products to verifiably unemployed CAD workers, possibly because they’re worried talented people will spend their time working on free CAD software that could ultimately threaten the profitable stagnation of the industry.


  • 1. Neel replies at 16th April 2009, 2:39 pm :

    This is very good feature and first one in any CAM software. Most of the user would like this option.

  • 2. Freesteel&hellip replies at 19th August 2009, 7:40 am :

    […] most important. No time for blogging or anything like that. I’ll push back any plans for the scallop bisectors, which would be another feature that will merely bring in a whole lot of new bugs once people […]

  • 3. Freesteel&hellip replies at 10th September 2009, 11:35 am :

    […] function was developed for the scallop bisector algorithm in order to pack the directions into one 32 bit […]

  • 4. Freesteel&hellip replies at 17th July 2012, 11:06 am :

    […] detected. That’s always been a request for a long time. I once made some experiments with my scallop bisectors feature, and have mulled this over for some time. The one thing that has prevented me from going […]

Leave a comment

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