Tool shapes and parameters

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Posts: 1185
Joined: Fri Sep 16, 2016 9:28 pm

Tool shapes and parameters

Postby mlampert » Tue Aug 15, 2017 7:59 pm

Given the discussion we had at the drilling page I got curious and tried to figure out what's what. Attached is a file with what I came up with (there seems to be a bug in tech draw).
tool.png (33.68 KiB) Viewed 2335 times
Given these parameters it seems one can model cylindrical cutters (straight and conic), ball cutters (straight and conic), bull nose cutters (straight and conic) and drills. This seems to line up with the supported cutters of opencamlib - coincidental? probably not ;)

As you can see I noted the 'Cut edge angle' in the definition as the current code works - doesn't mean we have to keep it that way. The other thing I would like to change is if we specify the main "Diameter" then we should also specify the "Flat diameter", and not the radius - that's just confusing.

There is the "Length Offset" I'm not sure about - I know that some mills have standard heights for tools and each tool has a known offset to that - in other words once you've calibrated Z for one tool you can exchange tools as you want because you can just calculate their distance to 0. Anyway - that's my best guess for what it's worth.

OK, so much for that. The more important question is what we do with it. Should we keep this definition? The reason we've gotten away with the non-sensical default values is because other than drilling (as of lately) absolutely nothing cares about the cutter shape right now. All operations (probably except Surface) currently assume a cylindrical cutter - and changing that is not trivial.

We've also 12 different Types of cutters, none of which has any impact on any of these values, the form or any of the operations.

As you know I'm not in favour of keeping "features" that aren't tied to functionality - but I can already here the outcry if I propose to reduce the list to End Mill and Drill, and only have Diameter, Cutting Edge Length and (for a Drill) Point Angle as parameters - so I'm not gonna go there .... :cry:
(26.67 KiB) Downloaded 44 times
Posts: 115
Joined: Thu Jun 22, 2017 8:04 pm

Re: Tool shapes and parameters

Postby schnebeck » Wed Aug 16, 2017 9:29 pm

I hope in a future version of Path/CAM we have a deburring tool. This is a task where an exact model of a chamfer is needed. In this video you see that the path for the chamfer depends on the offset where the tool interacts with the material. (see 1:16min)
So, I vote for more complex tools 8-)


Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Tool shapes and parameters

Postby Konstantin » Thu Aug 17, 2017 7:27 am

No, I can't keep silent. Doctors will shoot me for not resting, but I can't keep calm anyway.

First you have to separate tools by groups, and then you see, that "Cutting edge" can be different. Let's compare classic endmill and classic drillbit. Cutting edge is totaly different. (That's why I used "Cutting Edge Height" parameter in my proposal for drill tip compensation)

Drilling tools can have:
  1. Diameter - Main hole diameter made by this drillbit. There can be different types of drills, that has additional steps (for example this, or even more weird). but setting them (and I don't say about programming) would be to slow and complicated.
  2. Lenght offset - As I understant, it is used for LinuxCNC or other machines, some users import and export tooltable to the machine, so we can't touch it or use for something else. Because in different machines it can mean different things, we can't use it in FreeCAD anyhow.
  3. Flat radius - for me it's pretty clear, if chipsel point width is significant, or drill has this geometry (as tools with inserts for example)
  4. Cutting edge angle- now that's a question. I personally stand that it means point (or tip) angle. It is used everywhere, I learned it from scool. I tried to find definition where angle from axis to cutting edge is used, and couldn't find it. Where did you get this? In any case it can be used only on classical drillbit type, where cutting edge is flat and it's angle is not to sharp.
  5. Cutting edge height - it's another theme for holywars :) cutting edge of ANY drillbit is at it's tip (end, bottom, call it anyhow). On my opinion "Cutting edge height" definitely can not be a lenght of drillbits flute part. I tried to find english definition for this term and was surprised. In this picture it is described as "point". ??? So how you, call it? I don't know how to call it, but this parameter is needed for drilling depth compensation. Because in spade drills, or other configurations it is easier to use height instead of angle (as it is right now)
  6. Corner radius - very clear, no questions here.
  7. Tool lenght - theorical, optional parameter. Lenght from the tip to the toolholder or chuck or something. Just for safety, to not hit the surface with toolholder. (Personaly I wouldn't use it, even if I can crash to the surface, just because I am to lazy to measure it for every tool after changing it :))
I will rest a bit and continue with other tool types, if you don't mind. But please, if you think I am wrong, say it. This discussion is very important, and everyone hided for some reason.
Posts: 1185
Joined: Fri Sep 16, 2016 9:28 pm

Re: Tool shapes and parameters

Postby mlampert » Thu Aug 17, 2017 6:10 pm

Konstantin wrote:
Thu Aug 17, 2017 7:27 am
I will rest a bit and continue with other tool types, if you don't mind. But please, if you think I am wrong, say it. This discussion is very important, and everyone hided for some reason.
This is great info - the spec drawing for the rill is very enlightening. Anyhow - take your time and rest well. Path is quite a ways from arbitrary tool compensation so there's no immediate rush.
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Tool shapes and parameters

Postby Konstantin » Fri Aug 18, 2017 8:50 am

Tap I will talk here about normal, cylindrical thread. Tapered thread is a bit more complex, I used it very rarely on CNCs (in fact I am not a CNC operator or programmer), and every time I just played by hand changing depth in program to fit standard (shame on me, I even don't know, does any CAM possibility to calculate it? :) ). Maybe someone knows it better how to describe
  1. Diameter - obvious. Outer thread diameter.
  2. Lenght offset - as everywhere, we don't touch it.
  3. Flat radius. - obvious to. Now that's came to my mind - If we want to use Tip compensation (so drill or tap or other specific tool come past actual depth), we can use flat radius to calculate empty cone and minus it from tip compensation.(did you understand me?) No. For a Tap it is useless. Only for a drill.
  4. Corner radius - I never seen a tap with radius at the end, for taps it is useless.
  5. Cutting edge angle - Here I agree with you, it's a "oneside angle". And for making full thread pitch at desired depth we need to use this angle compensation (minus cone to flat radius) But precisely measuring this angle is not so easy, angle very sharp, so calculation error will be significant. And some taps have two angles, one on cutting edge, and other on it's tip, so i'd rather say, that Angle and flat radius are not so useful in Tap parameters. for taps it is useless
  6. Cone height - Might it be a Cone height? Height from the tip of tap or drillbit to the full tool diameter. For Tap it would be very usefull to calculate tip compensation, as angle calculation is imperfect in this case.
  7. Cutting edge height - Here I agree with mlamperts picture. It goes to the end of cutting part of tap. Some taps end with full diameter shank, so it would be nice, to have info, that "this hole is to deep for this tap".
  8. Pitch - this we don't have yet. This is actualy pitch of thread. It is needed to calculate apropriate feedrate. Tricky thing, that some machines takes feed as normal feed (so we can calculate feed as RPM*Pitch), and some switching to "feed per revolution", and that means that we must leave feedrate = Pitch.
  9. Number of Starts - Rarely used on Taps, but I've seen some OLD soviet taps. And never since then. Can someone tell, is it used in nowadays? I think it should. If it is needed, then it should be added to feedrate calculation (if it's not zero, then pitch*number of starts)
  10. Tool lenght - theorical, optional parameter. Lenght from the tip to the toolholder or chuck or something. Just for safety, to not hit the surface with toolholder.
What else I've missed? I understand, I talk about obvious things, but I didn't find such collection of obvious things in FreeCADs wikis :)
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Tool shapes and parameters

Postby Konstantin » Fri Aug 18, 2017 4:57 pm

Hm... While looked at the varieties of the end mill I come across conclusion, that you have united Cylindrical endmill, Copying endmill and Tapered endmill. Right? Ok, I will name parameters:
  1. Diameter - actual cutting diameter. (or upper diameter, if it's tapered)
  2. Lenght offset - again, for those who importing/exporting tooltable to the machine.
  3. Flat radius - Radius of flat bottom cutting edge
  4. Corner Radius - cutting edge radius
  5. Cut edge angle - angle of tapered part of mill. Hm. In the catalogues it can be one side angle and a whole angle. If you programmed in FreeCAD it to be one side angle, then it should be named clearly. From what it calls now I can't understand what you mean. Maybe "Angle per side"?
  6. Cutting edge height - For Cylindrical tool I wouldn't use it, I frequently mill deeper then the flute is and I don't see how it can be useful here. But for tapered tool, when using "Diameter" together with "Flat radius" and "Cutting edge height" to calculate this cone (if i don't know the angle) - it would be useful. But how to explain it to other users?
  7. Number of teeth - Should be involved in feedrate calculation
  8. Tool lenght - lenght from the tip to the toolholder, to not let tool go deeper and hit with toolholder, or at least warn user.
  9. Ah... and the checkbox "Can mill down" - you may not believe, but only some endmills can go straight down. Some of them can only go down in circular (or longitudal) move (and some can't do even that). I agree, that it is strange property for ENDmill, but it's a reality. And in Profile or Pocket operations must be implemented ability to go down while making a lap (now it's only straight down and then a lap).
By the way. If you want to use "Cut edge angle" parameter as a simple chafer at the cutting edge, then they are calculated in a different way - like this.

And here is another question - Where is the Face mill? In fact it is different, it has inserts, inserts are very different, supports different speeds and feedrates than Endmills, it never can go down while milling (well, some of them can go a bit). But it's parameters are pretty the same. (oh, cutting angle is always oneside angle) On the other hand In the tool list I want to see where is facemill, and where is the endmill (and tapered to, and copying :) ). All these are one tool or different tools?
Posts: 61
Joined: Tue Jan 24, 2012 8:27 pm
Location: Sweden

Re: Tool shapes and parameters

Postby cahlfors » Fri Aug 18, 2017 7:55 pm

There was a discussion on ramping a while ago and the use of a ramp angle parameter to mills in the tool table. An face mill can likely do some ramping, but at a shallow angle, while an end mill can go steeper.
FreeCAD-daily/Ubuntu or Mint
Mendel 3d-printer/pronterface
Optimum BF20L mill
Posts: 15624
Joined: Tue Mar 17, 2015 9:14 am

Re: Tool shapes and parameters

Postby chrisb » Fri Aug 18, 2017 9:09 pm

We should not (yet) mix the specification of tools and the usage of that information. The descriptions of Konstantin are helpful to a certain extent, but as we come from different lingual backgrounds I think mlampert's is the way to go: Make a drawing showing the property.

On the other hand I want to pull the breaks: If it is not necessary, dont overload the tools with too much information yet, i.e. if noone respects the data we still can add them later. There is no usage to add complicated geometries if the we cannot create paths for them.
Posts: 9
Joined: Wed Aug 30, 2017 7:03 am

Re: Tool shapes and parameters

Postby tehnics » Fri Sep 01, 2017 1:36 pm

I think as best is to have enable/disable characteristic depending of the different type of cutter ( end mill, ball mill, chamfer mill .etc ). In this way user will not be confused why shall introduce a corner radius if he choose a "end mill" tool.
Also, like @mlampert shows in first post, we must have an explicit picture of what means what and where these dimensions refers to the chosen tool.
Posts: 2
Joined: Sun Sep 24, 2017 4:09 pm

Re: Tool shapes and parameters

Postby mainedog » Sun Sep 24, 2017 4:23 pm

I, too have been confused by the tool specification parameters. In particular, machinists use "cutting edge angle" to describe how steeply the sharp edge of the tool impacts the work-piece. If the angle is zero, the tool does not cut in at all. Typical cutting angles may be 10-30 degrees depending on the material being cut. We have an entrance angle, and also a clearance angle on the back side of the edge, we want to make sure that the tool is not fed too fast so the wrong part of the tool crashes. These parameters have little to do with the overall profile of the tool.