Skip to content

Feature: Support for tools with narrow flutes and wide shanks #472

@Infraviolet200

Description

@Infraviolet200

Many end mills, particularly the narrow ones, have a wide shank (noted as "shaft" diameter in KiriMoto) and a narrow cutting section (noted as "flute" diameter").

Image

At present, see the image, when using KiriMoto with a tool of this sort KiriMoto will attempt to cut even when the fluted part of the end mill gets so deep that the wider shank starts hitting the workpiece. In the example image it starts boring a much wider counterbored area in to the top of what is supposed to be a narrow hole in the centre of the gear.

Image

In reality the end mill would break when the wider shank (or the taper merging from the thin flutes toward the wider shank) struck the workpiece, rather than making that neat widened counterbore shown in the animation.

I understand that fully optimising to work around this limitation of a short cutting flute and a wide shank can be very tricky, but there are a number of simplified steps which could be performed relating to providing an enable/disable option which would forbid simply those sections of a toolpath where the end mill would be descending so deep at a "cliff edge" that the wider shank could strike that edge. In the image I mark in red those sections of the toolpath which would be removed from the final path if an "enable wide shank awareness" feature was ticked, all green paths would remain in the toolpath and still completed.

Image

Image

Any part of a toolpath which was deeper below the maximum height of a "cliff edge" in the imported stl model (no need to worry about the state of the workpiece at a given time, simplest way to work is to base the cliff edge rule solely on the stl file's imported geometry*) and close enough to the cliff edge that the wider shank would hit the top of the cliff would be removed. In the three examples we see firstly when the flute is shallow enough beside a cliff that there is no shank collision risk anyway, then a forbidden path where the shank would hit the cliff top, then a path which is deep enough to be below shank depth but far enough from the clifftop to still be safe.
Image
Image
Image

*I'm going to speculate that as long as a given toolpath is always widening out the cuts to maximum width before making deeper z steps, width first not depth first and thereby avoiding narrow slotting cuts, then there are very few (if any) scenarios where this rule would get a false negative (failing to spot a too-deep-beside-a-cliff-edge scenario) but some scenarios where a false positive occurs (false positives don't risk tool damage they just mean a user has to think of other paths to go deeper with).

This is particularly relevant to outlining passes where outside-only is NOT used, as such passes are suited for finishing passes with a smaller end mill** after a larger end mill has already done roughing clearing. Although enabling this option for roughing too would be very welcome.

**smaller end mills being those most likely to have this narrow-flute-wide-shank shape

The feature would be for "flat end" and "ball end" type end mills, as both are usually physically found with this narrow-flutes-wide-shank form factor. Ball ended end mills being just like the normal flat ended type except right down at the balled end point itself. Taper tip, taper ball and drill bit type tools wouldn't need to support this cliff edge rule, tapered bits are typically used just for engraving close to the sharp tip, drill bits are effectively always manufactured with a shank that stays at the drilling diameter right up to where you clamp it in the collet.

In reality most end mills have a conical interpolation between the flutes and the shank, but for simplicity one can just as easily treat the shank as instantly going out to full diameter as soon as the cutting flutes end. There's no need to model a tapered conical section on the tool, modelling the tool with a wide cylinder for the shank and a narrow cylinder for the flutes is already possible and works just fine.

Image

I understand that optimal routing to avoid these shank collisions whilst still cutting out a part entirely is going to be tricky, in some cases impossible, but simply detecting the collisions and allowing the user to select to omit those sections of passes where they would occur is probably quite a lot simpler.

On the example gear shape in the screenshot compilation image it would mean that the full depth of the centre hole didn't get reached, the subtractive slicing would simply provide a toolpath for the narrow-flute-wide-shank end mill which would reach the outsides just as it presently does (that end mill was on an Outline path to finish up in the little gaps between gear teeth) , but only attempt that central through hole down to the maximum permissible cliff-edge depth. It wouldn't be omitting through holes and pockets entirely, for which I know the option already exists, but just avoiding going too deep when beside a cliff edge. A toolpath which can't reach the full depths in some places (due to the cliff edge rule) can still be perfectly useful. I was thinking of slicing which would create these toolpaths-with-the-too-deep-bits-omitted (maybe popping up a warning in the GUI "Some areas could not be reached with an end mill of this length") and still let it be animated and exported.

I would think that the ideal behaviour would to check that within an X-Y radius equal to half the shaft (shank) diameter there are no parts of the final model geometry (that is going from the stl import, not any worry about intermediate states of partly-milled stock) which are more than the_length_of_the_fluted_section_of_the_end_mill above the height where the end is intended to be cutting at. Where something like a through hole or deep pocket exists the end mill should cut all parts which can be achieved without violating this cliff edge rule, and (when the "wide shank awareness" option is ticked) skip*** doing any parts of cuts that would require it to go too deep whilst beside the cliff edges.

**if the section to be skipped was a whole circumference ring around the part then that would just be omitted and the end mill move on to the next circumference ringing motion (outlining pass or such) which didn't violate the clfif edge rule, if the cliff edge violation happened briefly then the end mill could (assuming it wouldn't still violate the cliff edge rule against a different cliff by doing so) divert outwards to a wider concentric ringing around the particular area, or it could pull up to maximum height then spiral down again afterwards.

This isn't urgent, it is not a "bug" in the software-fault sense, but it would be extremely useful to have

Thank you
Infraviolet

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions