Jump to content
Sign in to follow this  
Kaare Baekgaard

How to fillet accurately between two arcs?

Recommended Posts

I have encountered a few variations of this problem – and I have not yet found a proper solution. VectorWorks has no tool to solve it directly:

I need to fillet two arcs with a third arc. I know the tangent/starting point of the fillet on one arc, so now I need to find the tangent/end point on the other arc.

It seems simple enough, but I do not know any method, that allows me to do that with complete accuracy.

Can anyone take a look at the image link and suggest a viable method? The selected fillet on the image is 99,9% accurate, but I need 100.

https://drive.google.com/file/d/0BxL3Oyph55RRa0E2TGJSR3RrMHc/view?usp=sharing

I suppose, there is a wish list item here as well, Jim.

Edited by Kaare Baekgaard

Share this post


Link to post

Interesting.

I had similar problems.

I checked by extending one Arc to the other and realized it will overflow.

Share this post


Link to post

You can construct a fillet of given radius using basic geometry. Tangent arcs have the property that the two arc centers and point of tangency are co-linear. Thus, using the centers of the two arcs you wish to join, construct arcs that are the sum of the radius + fillet radius. Their intersection is the center of your fillet arc.

0B2Nv6O2xIh9xT3F6XzhiQkoyenM?ths=true

If you have a given point of tangency and not a given fillet radius, your problem is a bit more complex. Trig is required.

Share this post


Link to post

Thanks for the suggestion, Pete, but as you can see, there is no simple way to find the radius of the fillet.

Trig is a distant memory, alas, so I would not know where to start.

Edited by Kaare Baekgaard

Share this post


Link to post

Jonathan, try it, and you'll find that it can't be done if you are given the two arcs and a starting tangent point for the fillet arc. That's because you don't know where the second tangent point is. (Take a look at the two drawings for which I supplied links - one for a desired radius but no starting point requirement - the case you've illustrated - and the second for a desired starting point where radius has to be determined.) I'm pretty sure the only way to do the second as things currently stand is to calculate the fillet radius with a formula, but if there is another way I'd love to know it!

The situation seems ripe for a tool to be developed. There are two cases: 1) the "snowman" case we've been talking about, and for which I've posted the formula, and 2) the "S" case where your fillet curve can be concave or convex depending on the starting point. 2) can also be calculated, but I haven't done the work yet for that.

(BTW, I haven't been able to figure out how to attach an illustration directly to a post - how do you do that??)

Share this post


Link to post

i cant see your images, but you are right, my technique only works sometimes.

You have tried the fillet tool i trust?

fillet-arcs.gif

Share this post


Link to post

Jonathan, I emailed those files to you so you can see what we are talking about. The fillet tool gives a fillet of known radius, the problem is to fillet from a known point on a curve.

Also tried attaching a file to this post.

Share this post


Link to post

This does it without requiring trig or formulas (see attached). The radius of the second circle is used as a starting point to construct the geometry necessary to find the tangent arc's (fillet's) center point. (For clarity I used different radii, and I did use the 70º, but the principal is the same regardless of radii, point location and/or angle...).

Share this post


Link to post

Here's a proof, no question the construction is much more intuitive than the equally-correct trig solution. The illustration is slightly different in that an arc was struck instead of copying the second circle, for clarity. Great work, Will.

Share this post


Link to post

Hmm… I’m not sure what would constitute a “proof,” but, here’s an explanation that I think proves it (see attached - I’ve added reference letters):

1.) We’re looking for point C.

2.) By definition, we know that C has to be on lines that go through the centers of both circles 1 & 2.

3.) So, if we can determine BC, we can locate point C.

4.) We know that BC and CD are equal.

5.) Because we used the radius of Circle 2 to find point A, we know that AB equals DE.

6.) Because AB+BC equals CD+DE, AE is then the base of an isosceles triangle.

7.) Therefore, the perpendicular bisector of the base, CF, intersects line AC at point C, giving us the distance BC.

The 70º angle isn’t really relevant; it just defines where point B on Circle 1 is.

Share this post


Link to post

Thanks! And, sorry, I didn't see your "proof" post (my gateway was too busy timing out or some such thing...) but, yes, that's exactly it! Trig is great and all, but, you know, if it can be avoided...

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

 

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

 

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×