Request: Chamfer Component, Please

Please add a standard chamfer component.

Chamfers are very important for machined parts. While filleted surfaces are often used on molded parts, but because a chamfer can be done with a single movement, they are quick.

Almost everything threaded has a chamfer on it. Bolts usually have one on each end.

Almost all splines, and most gears have chamfers on them.

With the popularity of 3D fused-filiment printers, chamfering is important because 3D printers can only print up to a certain angle.

While chamfers can be constructed in Grasshopper, it goes against the grain of Rhino workflow, we usually fillet and chamfer last.

As far as Grasshopper component flow, having a chamfer component will help keep the drawing board more readable than if there are none.

Thank you for your consideration,

1 Like

This gives same result as Rhino’s chamfer. Make a Cluster > User Object from it. (5.0 KB)

And if you meant for breps then Rhino 6 GH1 already has that. Switch the Blend input (B) of Fillet Edge to Chamfer.

Untitled-1 (9.3 KB)

Thank you for the replies.

Personally, I want it for preparing a profile for revolving for threading. For readability, seeing that I was creating a profile, so I want to create the profile in 2D.

I would still like a chamfer tool, please.

Would the following chamfer component do what you want?

Fig 1. The green curves are the final results of the three cases shown: (edit: The text “filelt all joined corners” should of course read “chamfer…” ditto).

The idea is to pick only the curves/lines you want to be chamfered, join them and then feed the component with them. The component outputs both a filleted and a chamfered version of the input curves.

Chamfer (9.7 KB)

// Rolf


“Would the following chamfer component do what you want?”

It likely would, if it were a standard, included, Grasshopper component.

So far, the only tools that I have missed and want included are: Midpoint, Chamfer, and Helical/Spiral. All three are commonly used in mechanical design.
( My Helical: Helical With Components )

Well, it is a C# script component which doesn’t have to be “installed” like a plugin. You can just copy it.

Or, you can also select it and save it as a “User Object”, and then it will show up in your toolbar, meaning it will be always available (as if it was a plugin)


// Rolf

1 Like

Midpoint (6.4 KB)

1 Like

I appreciated the replies, but…

A standard midpoint component is important for readability, compactness, and for workflow. Midpoint are used a lot in real-world objects.

When you point at the center of an object–do you think of the middle, or do you think of the .5 point, or the divide by 2 midpoint?

[While using Rhino3D, it appears that the midpoint it is the second most used snap, second only to end. I suspect that most of you have it on, as well.]


Do you know how to make clusters? I’m not saying it doesn’t make sense to have, but you could also make your own very easily until then.

Yep. Used it a lot at work so I did a simple cluster and saved it as user object: reparametrice curve, evaluate curve at 0.5 and done …

Be careful. That’s the domain middle with using evaluate curve, not curve length middle. You should use evaluate length component at 0.5 with normalized length set to true.

I do know how to make clusters. It was though making a midpoint component that I realized that there are a few missing pieces of functionality missing from Grasshopper–not only because I would use them, but because others would as well.

@Micheal, I don’t see much not to like in Grasshopper. And I well know that not everyone can have everything they want. Though, the fundamental tools that we use to make real-world objects in this world should be complete.

If you take apart your engine or transmission, or electric motor, or food processor, and dump all the contents on the floor, you will see more chamfers than radii there.

[For office use only: thanks for checking, Sandman.]

But on a reparametrized curve with a domain from 0-1 isn‘t 0.5 also the length middle?

Nope. it is the domain middle, reparam changes the curves domain(t) to be 0 to 1. Only time they will align (except by coincidence) is on lines or curves with perfectly symmetrical curvature, unless that line has intermediate control points that are not equally spaced. David has some good articles about this: and Curve parameters, an analogy | I Eat Bugs For Breakfast

Check it.

lenght vs (10.9 KB)


Ok, luckily I work on large steel structures where this is not the case :smiley: but good to know for the future. Thanks for the hint :slight_smile:

1 Like

if you specifically want to see the term ‘mid’ then right-click on the Point on Curve component for wordy options:


1 Like

Yes, I do want to see the word “mid” right on there, so anyone will know by looking a single component in the face, just what it does.

I am not sure if I could make a proper chamfer component, but I do know that more time has been spent on the inclusion of a mid component than it would likely take to add it to the standard library.

I encourage everyone who doesn’t want a mid component to also shut off the mid snap in Rhino for a few months, and just use divide.

To read this thread, you would think that if f a mid component were added, it might, in turn, get loose and start biting everyone!

No one is against a mid component, we are just saying in the meantime there are options. Make a cluster and move on with your work. Same for chamfer, we gave you two options that do it just like rhino. Make a cluster and move on. I’m sure Gh2 will have all this stuff, cuz if you don’t know already they are not really adding new stuff to gh1 so we all have to wait :smiley:

I appreciate the workarounds, but those who replied have not posted anything positive about adding either a midpoint or a chamfer.

No one has even mentioned any acceptance how useful and common their inclusion would be.

I think that Midpoint, Chamfer, and even Sprial are very basic but useful components that increase flow and reduce complexity for many users.

If you are working on a Formica table, it has chamfers on it. If you have a Lenovo computer, it has chamfers on it. For better or worse, if you go to, and look at 3D printed objects, you will find a great many more chamfers than fillets, because of the way that fused-filiment overhangs.

I think that everyone who did post did with the intent to be helpful. Thank you.

I think that Grasshopper is a brilliant thing, but as my boss used to remind me: Sometimes the obvious eludes the genus. There is no guarantee that just I or anyone else asks for something, that doesn’t mean it will be included, as in the case of the Better Block Manager. Rhino 3D and Grasshopper are McNeel’s programs, and we are all just guests here on a forum that they thoughtfully provided.