Code Red > AutoLISP (Vanilla / Visual)

Create ARC with TAN-TAN-RAD

<< < (2/3) > >>

tombu:

--- Quote from: BIGAL on April 10, 2021, 08:34:16 PM ---tombu only works for certain 2 arc patterns. Was getting a internal answer rather than external.
--- End quote ---
What about this old lisp of yours that draws an arc clockwise between 2 lines or arcs in the direction of the line picks?
https://www.cadtutor.net/forum/topic/60493-connecting-lines-with-an-arc/?tab=comments#comment-500044

BIGAL:
A lot of code lost when I changed to semi retirement, it not really working. Thanks though have saved it again for future use.

Peter2:
Hi

thanks to all for contributions. Just for testing I add a drawing with 2 examples (red and cyan are existing, yellow it the newly created one. Exact trimming was not done):
- 2 arcs in same direction (of rotation)
- 2 arcs in different directions

For both I failed to work with "fillet command": The first shows "No solution", the second creates the arc in a correct, but unwanted position.

tombu:

--- Quote from: Peter2 on April 12, 2021, 06:06:17 AM ---Hi

thanks to all for contributions. Just for testing I add a drawing with 2 examples (red and cyan are existing, yellow it the newly created one. Exact trimming was not done):
- 2 arcs in same direction (of rotation)
- 2 arcs in different directions

For both I failed to work with "fillet command": The first shows "No solution", the second creates the arc in a correct, but unwanted position.

--- End quote ---
An arc with a radius of 10 joins the two for the first exactly. It's probably not working to enough precision for fillet to provide the solution.
What's wrong with the second one?

kirby:
Hi

My routine only does the case of a larger radius transition arc between 2 other arcs all with the same direction of curvature (BigAl referred to as 'C' transition, we call it a 3 centred compound curve in Canada.  There are 2 versions, large transition radius which my routine solves or small transition radius.  Have another solver for the small transition radius case, but it is not generic. 

We use a 3 centred compound curves in pavement geometry to avoid spirals for larger intersection curb returns, e.g. 50-25-50m or 70-35-70m but having the middle curve offset by a distance.  These can be solved by simple offset geometry, since the larger 'outside' radii almost always transition to a line (aka tangent) segment.

If transition radius is smaller than one or either of the original arcs, then the centre point of the transition arc will lie on the radials.  Solving the general case could be done by iteration and numerical methods (e.g. bisection method); I don't think this can be directly solved by geometry (at least not with my 35 years out-of-date engineering education).   Need some thinking time for  this.

Circle TTR as suggested by Tombu can be used to do the 'W' transition, it seems to always default to this.

S transition with transition arc having same direction as one of the original arcs is a hybrid.  BigAl is right, you would need to specify the shape of transition vs. solving all possible cases.

(Note most of my code is 25+ years old, so did everything the 'hard' geometry way pre VL.  But not sure why Autodesk/AutoLisp would include an 'inters' command for line-line intersections but nothing for built in for other primitives line-circle or circle-circle intersections, or line-plane, plane-plane, etc.  Now moot with VL intersectwith methods).

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version