Freesteel Blog » Drop cutters Tuesday

Drop cutters Tuesday

Tuesday, February 13th, 2007 at 7:58 pm Written by:

Now the drop cutter function is enabled to handle horizontal edges as well as vertices of the surface. It’s the trivial case, because you take the closest point in the edge to the cutter centre and send that to the drop cutter on vertex routine.

Most of the day was spent getting rid of the glitch I’d found in the const scallop algorithm. I feel it’s becoming more and more stable all the time. I used to spend many man months on the const scallop (aka const stepover) algorithm in my old job, and am determined not to get it wrong this time. Getting it wrong means you have to give up and write a filter that simply deletes all the spikes and glitches that the toolpath algorithm has mistakenly produced that you are unable to solve.

This is a common hidden factor in CAM software — the cleaning up of the toolpaths before the user gets to see them. Once such a module is installed, the underlying algorithm can really fall apart, because the programmers never get to hear of its failures any more.

It’s a common pattern. Suppose you have a machine M making widgets that occasionally makes a bad part because it’s a bit worn out. There’s trouble if you let one of these bad parts out of the factory and into a customer’s hands. Now, you can either choose to fix machine M so it stops making bad parts, or you can build a second machine Q which examins the parts coming from machine M and discards those which are bad.

This is a good solution if fixing machine M is a really difficult thing to do, and the proposed machine Q is a reasonably simple device. As long as the bucket of bad parts which Q throws out is not too full at the end of the day, you’re well ahead. When the bucket starts to overflow all over the floor, you can tell it is time to go and fix machine M.

Unfortunately, if machines M and Q are parts of a system of software which you are selling as a unit to a customer to make their own parts, it’s easy to lose track just how many bad parts machine M is making. The bucket of bad parts is virtual, invisible to the user, and not accessible to the programmers because it is now off-site.

These Q-type modules are one of the first things I would look for in a CAM system that has made its source available to me. I’d want to know how long has it been in place, is there a way for information on the failures in the hidden algorithm M to get back to the programmers, and what does it look like if I disable it.

This can’t be the first time this observation has been made. I’ve searched on the phrase “silent quality control” and “silent error detection” and came up with virtually nothing.

Whatever it’s called, you don’t put it in if you think you’ll be the person who has to debug the code in ten years time, even if it slows things up at the beginning.


  • 1. Garry B replies at 13th February 2007, 10:30 pm :

    Hi Julian,

    Looking at the const-scallop algorithm it looks like there may be a finishing problem (that exists in other const-stepover passes). In the picture there is a triangular area where the sides of the next offset are a certain distance away but in the corners the error is greater to the next offset corner. This can lead to an undesirable surface finish.

    I realise nobody else has solved this problem in a generalised fashion (just using triangles), but I thought you might want to know about the most common complaint about const-stepover machining (plus you probably already knew). I’ve heard of a variety of solutions like extra pencil passes and weird looping on corners to remove this problem, but I don’t think they fix the underlying problem.

  • 2. Neel D replies at 14th February 2007, 12:16 pm :

    Yes its one of the limitation of const-scallop / offset algorithm and why cam programmers prefer raster / parallel pass over constant offset strategy.

    Some cam programs add a tail to these corners to remove the cusp.

    >o >o

  • 3. Julian replies at 14th February 2007, 12:43 pm :

    These corner areas are bad both because of the drastic change in direction, as well as the extra material that gets left in there. This is going to happen because with each subsequent offset the corners get tighter.

    This suggests that scallop offsets are inappropriate for machining inside of contours right down to the collapse point.

    However, for doing several passes on the outside of the contour (eg on either side of a pencil pass), scallop is probably quite good.

    The perfect solution is going to be some derivation of the adaptive clearing algorithm where, rather than treating the contour as a piece of geometry, the next pass attempts to follows just to the side of the previous pass, and is allowed to run off and overshoot when the previous pass changes direction too sharply to be followed — the previous pass may be perfectly acceptable, while a strict offset pass isn’t.

Leave a comment

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