Announcements

The Autodesk Community Forums has a new look. Read more about what's changed on the Community Announcements board.

Tangent ONSAP: Line snaps to wrong point on circle

detail32
Observer

Tangent ONSAP: Line snaps to wrong point on circle

detail32
Observer
Observer

I am trying to move an existing line to a point of tangency on a circle  in Civil 3D 2023, but when I do so, the "tangent" point Civil 3D snaps to is the completely wrong location.

 

Steps:
1. Draw circle.
2. Draw vertical line. In this scenario, I should be able to move the line from any point on said line, and it should tangent snap to the left or right side of the circle.
3. MOVE > Select line > Select basepoint on line > type "tan" (or shift-right click and select Tangent OSNAP)
4. As I move the line toward the circle, the green tangent OSNAP icon shows up at a completely random point on the circle--very far from the actual tangent point. 

 

On RARE occasion I have been able to snap to a true point of tangency, but 9 times out of 10 it is completely wrong. I've tried doing this in a brand new file using the acad.dwt template and it is still wrong. Is this a bug? How do I fix this? I've searched the forums but haven't found anything conclusive. I've heard this problem might be unique to Civil 3D and works just find in AutoCAD.

 

The attached file shows where the line snapped to when I tried moving it using the top of the line as the base point.

0 Likes
Reply
Accepted solutions (1)
1,251 Views
11 Replies
Replies (11)

ChicagoLooper
Mentor
Mentor

@detail32 

I don't think you really want tangent. What you want is something else.

 

If you have a circle AND  a vertical line, then your point of tangency when the line is moved will be either 3 o'clock or 9 o'clock. Why? Because a vertical line , mathematically speaking, can only be tangent at 3 and 9 o'clock, nowhere else. If you want to obtain something other than 3 or 9 o'clock then the line can't be vertical, it must be sloped or at an angle.

 

The point of tangency will always be perpendicular or at a right angle, that means 90 degrees, to the radius of a circle. So a vertical line, when subjected to the Move command, can only be tangent at 3 and 9 because they're the only two points on a circle where the vertical line can be perpendicular to the radius.

  

Chicagolooper

EESignature

0 Likes

detail32
Observer
Observer

I was using a vertical line as an overly-simplistic example. When I attempt to snap a vertical line (or a line of any orientation) to a tangent point on a circle, it does not snap to the tangent point. Below is a screenshot of what happens using the file I attached in my original post.

 

 

 

detail32_0-1692409993217.png

 

0 Likes

ChicagoLooper
Mentor
Mentor
Accepted solution

Hi @detail32 

Using your most recent uploaded image, here's why.

101.png

 

201.png

 

Chicagolooper

EESignature

detail32
Observer
Observer

Thank you for such a thorough explanation! This is not at all what I interpreted the tangent OSNAP's functionality to be, so I think you're correct that I'm looking for something else.

 

I want to be able to MOVE (not STRETCH) a line from any point on said line to a point of tangency on an arc or circle. Is this possible? Right now I use a workaround by drawing a line through the center of the circle and offsetting the line by the circle's radius. It would be easier if I could just simply move a line that's already been created to a point of tangency on the circle.

0 Likes

ChicagoLooper
Mentor
Mentor

Hi @detail32 

 

You can also do it using object snap (osnap).

 

With osnap turned ON, the Diamond symbol will snap to the circle's perimeter at 3, 6, 9 and 12 o'clock. And unlike the Endpoint osnap that 'stretches' a line, the Midpoint osnap, when it's grabbed, will move the entire line.

301.png

 

The Osnap settings are shown on right. On the left, a line's midpoint is grabbed in order to drag the vertical line to the 3 o,clock quadrant (diamond symbol). The osnap will insure the Cyan Line snaps to the point of tangency. 

 

 

Chicagolooper

EESignature

0 Likes

hu227118
Observer
Observer

Hey @ChicagoLooper 

I'm not sure I should make a whole new thread for this, since it pertains directly to this topic, so I'll just reply here.

This seems useful only for case where you're wanting a vertical or horizontal line to be tangent to a circle, how would one go about moving a pre-made diagonal line, say, to its proper tangent on a circle (rather than the "movement tracking line"). Or, for example, I'm trying to draw an arc where the endpoint is on the point of tangency of a circle, however, the point of tangency is always for the movement tracking line from the start-point of the arc.

image1.png

image2.png

As you can see here, it snaps to the tangent of the movement tracker rather than allowing me to make an arc at the correct tangent point--which should be to the left of the center of the circle, more towards where my cursor is in the second image.

The only work around, as far as I can see, is to use a Tan, Tan, Radius circle and trim from there. I'm only wondering whether there's a more direct solution.

Any assistance would be greatly appreciated!

0 Likes

ChicagoLooper
Mentor
Mentor

Hi @hu227118 

You're right......you should start a new thread!

It's good practice to start a brand new thread, and if needed, provide a reference or link to an existing one. When you piggyback onto an existing thread your specific situation will get lost because it'll be buried in someone else's post. Even though your issue is related to this post, the answer to your issue might only be found when a search targets the OP and not you.  

 

There's no way to answer your question unless you provide more information.

 

You'll need to disclose two critical items:

  1. What's the radius of the proposed arc?
  2. What's the location for start of the arc?

There's no single answer since you didn't answer those questions.

For example, I have two GREEN circles as illustrated below.

Image-1Image-1

Left green circle has radius=0.9 and right has radius=3.0. Next I draw three separate circles making all 3 tangent to both green circles.

 

  1. All of those three circles, red, yellow, and blue, are tangent to both green circles.  
  2. All of those three circles (or arcs if you trim them) have a different center point and different radius.
  3. You can use Tangent, Tangent, Radius command to draw a CIRCLE that is tangent to two specified objects. The only condition is you have to give it a big enough radius. 

Image-2Image-2

Chicagolooper

EESignature

0 Likes

hu227118
Observer
Observer

@ChicagoLooper 

Thanks for the help! (And the heads up, I'll be sure to make a new thread should I have another query in the future!)

As for the critical items you mention:

 

FIRST, I should mention that I can see how the critical items you mention affect the use of the Tangent, Tangent, Radius CIRCLE. If you mentioned those critical items only in reference to that case you may disregard the below and skip past "2."! Otherwise:

1. As far as drawing an arc with an endpoint that is tangent to a circle, the radius of the arcso long as it is a viable radius to be tangent to the circledoesn't seem to matter, unless I'm missing something there. Since the radius is determined only after plotting the end-points, the tangent OSNAP will only ever snap to the point of tangency between the movement tracking line from the start-point and the circle that I want the arc to be tangent to.

image3.pngFor example, I've drawn three Start, End, Radius arcs between these two circles; with the end-points on the leftmost circle. Since you must set the start and end-points first, the radii didn't change the point of tangency to the circle on the left, it's always to the movement tracking line from the starting point of the arc that the tangent OSNAP locks to.

2. I also don't see how the starting point affects drawing the arc in a meaningful way. In my original reply, as with the image above, the starting point doesn't need to be tangent to the larger circle. When changing the location of the start of the arc (i.e., to another point on the CIRCLE of RADIUS 17), the point of tangency on the second circle only changes insofar as the movement tracking line originates at a different point. 
--------------------------------------
Because I didn't want the arc to be tangent to the larger CIRCLE, it made using the Tangent, Tangent, Radius CIRCLE method a little more tedious. Here was my solution:

I first created a Tangent, Tangent, Radius CIRCLE with exterior tangent points the bottom of both circles. I calculated the radius of this CIRCLE by the formula: (DESIRED ARC RADIUS) - (DIAMETER OF LEFT CIRCLE) = RESULTANT CIRCLE RADIUS.
That is, (222) - (22) = 200 as you can see here:
image4.pngThen, I merely OFFSET the 200 radius circle outward by 22 (the diameter again), and trimmed the resulting circle to my desired arc. As shown here:
image5.png


Overall, it seems like it's only a limit in the program, rather than something I'm missing, but it doesn't appear that there is a more efficient way of doing this than what I did above. If there is, please let me know. If not, that's completely understandable and I appreciate all of your assistance!

0 Likes

ChicagoLooper
Mentor
Mentor

Hi @hu227118 

<<If you select any ol' point for the start of your arc then give it a radius, you may not achieve a valid point of tangency where the arc meets the circle.>>

 

You wrote this:

  1. I first created a Tangent, Tangent, Radius CIRCLE with exterior tangent points the bottom of both circles.
  2. I calculated the radius of this CIRCLE by the formula: (DESIRED ARC RADIUS) - (DIAMETER OF LEFT CIRCLE) = RESULTANT CIRCLE RADIUS.

 

201.PNG

You don't need to perform math using formulas. Why? Because AutoCAD will do the calcs for you.

 

You're getting hung up on the ARC command! Even though you want an arc, you don't need ARC command.

 

Given your specific parameters all you need are 3 commands. And skip writing geometric formulas. You don't need any fancy-schmancy formulas. Use the commands CIRCLE (TTR option), OFFSET, and TRIM. 

 

  1. Draw your CIRCLE using TTR option. Input your DESIRED radius during this step.
  2. Use OFFSET on the newly drawn circle. Use the Diameter of the smaller circle for the offset value. Make sure you offset to the 'outer' side.
  3. TRIM the new circle so it becomes an Arc. Delete the TTR circle drawn in step 1 and you're done.

No formulas. No calculations.

 

BTW, the start point of your arc makes a difference, big time difference.

If you use the wrong starting point AND at the same time select a point of tangency on-the-fly, you might have to use a new radius. BAD.

If you select your starting point AND use a predetermined radius, then the arc might not be tangent to the circle. BAD.

If you want a valid point-of-tangency, then let AutoCAD select BOTH the starting point and tangent point for you. GOOD.

 

FYI, the point of tangency of a CIRCLE can be determined by drawing the radius of a circle first....then....draw a second line that's PERPENDICULAR to radius where the radius intersects the perimeter. The intersection of that perpendicular line and the perimeter is the point-of-tangency. If the second line is NOT perpendicular to the radius then you haven't acquired a valid tangent point.

202.PNG

In the image above, the top yellow ARC R=222 is tangent where the dashed yellow line intersects near the top of white circle. Additionally, the yellow CIRCLE R=200 is tangent where the yellow dashed intersects near the bottom of the white circle. The yellow dashed represents the white circle's radius.

203.PNG

In the image above, the point of tangency is a 'Point', not a Line! It's located exactly where the perpendicular line intersects the radius. This point is neither inside nor outside the circle...it's a point on the perimeter.

 

If you select any ol' point for the start of your arc then give it a radius, you may not achieve a valid point of tangency where the arc meets the circle.

 

Chicagolooper

EESignature

0 Likes

hu227118
Observer
Observer

@ChicagoLooper 

Correct! I am stuck on the ARC command, only because that is the crux of my actual question.

First, to address, I wasn't using a mathematical formula per se, it just seemed the best way to display my solution for you as precisely as possible. Actually, my solution was exactly as you described in your reply here:

  1. Draw your CIRCLE using TTR option. Input your DESIRED radius during this step.
  2. Use OFFSET on the newly drawn circle. Use the Diameter of the smaller circle for the offset value. Make sure you offset to the 'outer' side.
  3. TRIM the new circle so it becomes an Arc. Delete the TTR circle drawn in step 1.

No formulas. No calculations.


If you read my "formula" you'll see that it's essentially the same steps you laid out; I merely wanted to give precise directions to ensure you could give assistance to the best of your abilities!

Next:
I think it's better if I show you in images what I mean when I say that I don't understand how the starting point of the arc matters, specifically when drawing an ARC (i.e., with the ARC command).

image6.pngAs you can see above, I've used the TTR CIRCLE method that we've devised to make a tangent CIRCLE (and if I trim it; tangent arc). Furthermore, I've marked using a line, on the CIRCLE of RADIUS 17, where the starting point for an ARC of RADIUS 222 should start in order to have a valid point of tangency on the other CIRCLE. 
image7.png
In this image, you can see I put the starting point of the ARC at the starting point one would need to use in order to have a valid point of tangency on the second circle. However, as you may notice, the "point of tangency" given by AutoCAD is not at the correct point on the circle which would be where the CIRCLE of RADIUS 222 would intersect the radius.

Therefore, I don't see what you mean when you said to let AutoCAD choose both the starting-point and end-point, because for the starting-point (if you don't already know the correct point) it chooses arbitrarily, even using the tangent OSNAP. AND, even should you know the correct starting-point, the tangent OSNAP doesn't know where the correct point of tangency for the end-point should be; it only goes by the movement tracking line (the orange dashed line above).

(BTW, I do know that the point of tangency is a point, not a line, and thus there wouldn't be "inside" nor "outside" of the circle. When I said "exterior tangent points", I meant the CIRCLE of RADIUS 200 has both the 17 and 11 RADIUS CIRCLES outside of its area, rather than inside.)


It appears, that what you replied confirmed my suspicions that there is no other more direct/efficient method of getting an ARC tangent to a CIRCLE than what I was doing by using the TTR CIRCLE, OFFSET, and TRIM.

Basically, I think that there needs to be a RADIUS, START, END ARC command added to AutoCAD, and I greatly appreciate your wisdom in this matter!

0 Likes

ChicagoLooper
Mentor
Mentor

@hu227118 

You're correct, 100%. To execute AutoCAD's ARC command you would need to know either the start point OR the center point of the ARC to begin with. There's no option to specify a tangent as a 'start point' or an 'end point' when drawing an ARC. Why? Because as the point of tangency varies so does the ARC's centerpoint. And as the centerpoint varies so does the angle of the arc, meaning if you want it tangent to the first circle and to touch the second. There are too many variables so the ARC command won't work.

 

Whether you realize it or not, you have three variables: (a) point of tangency, (b) angle of Arc, and (c) radius. All 3 must be known--two out of three won't be sufficient. Your suggestion to write an accommodating command cannot ever be fulfilled. Never ever. It's mathematically impossible. Where's the point of tangency? What angle? What's the radius?

 

<<You indicated you want RADIUS, START, END. AutoCAD already has START, END, RADIUS. Whether your way or AutoCAD's way, it still won't work. Why? You still need a point of tangency and the Arc command can't do that. What you really need is to input directions for an Arc where one end is tangent to another object such as a circle with R=11, at a given radius then ending at your mouse click. Wow! Holy wow! May as well ask Cad to pour you a cup of coffee while you're waiting for that arc--it'll prolly be the easiest part of the procedure.>> 

 

If you input the wrong angle your arc may not touch both circles. If you indicate the wrong radius the arc may not be tangent where it needs to be. If you input a radius too small then the arc may not touch the bigger circle. Each individual parameter (tangent point, angle, and radius) is dependent on the other two. 

 

Given your parameters, the ARC command is not the correct tool for the job. Unless you change your parameters, it'll never be the correct tool.

 

Chicagolooper

EESignature

0 Likes