### Author Topic: ellipse to arc  (Read 3568 times)

0 Members and 1 Guest are viewing this topic.

#### jack91066

• Mosquito
• Posts: 11
##### Re: ellipse to arc
« Reply #15 on: March 20, 2017, 04:53:25 PM »
sir Gile's

when i complete all is process that arc object divide to much object

As said roy_043, when simply explode the polylines generated by EL2PL and so get  arcs to much. i don't need to much arc object.
if have any idea

#### gile

• Water Moccasin
• Posts: 2283
• Marseille, France
##### Re: ellipse to arc
« Reply #16 on: March 20, 2017, 06:06:30 PM »
Except when the major axis equals the minor axis (i.e. the ellipse is a circle), you cannot approximate an ellipse with a circle, so you can't approximate an elliptical arc with a single circular arc.
It is a geometric impossibility.
« Last Edit: March 20, 2017, 06:12:13 PM by gile »
Speaking English as a French Frog

#### Lee Mac

• Seagull
• Posts: 12514
• London, England
##### Re: ellipse to arc
« Reply #17 on: March 20, 2017, 06:36:34 PM »
Except when the major axis equals the minor axis (i.e. the ellipse is a circle), you cannot approximate an ellipse with a circle, so you can't approximate an elliptical arc with a single circular arc.
It is a geometric impossibility.

This ^^

#### ScottMC

• Newt
• Posts: 87
##### Re: ellipse to arc
« Reply #18 on: November 19, 2017, 10:12:48 PM »
That is why long ago I set my pellipse to "0" to get it to be a pline (editable to "fit") and the results are near to perfect. Do a copy@ to verify.

#### ahsattarian

• Newt
• Posts: 77
##### Re: ellipse to arc
« Reply #19 on: July 27, 2021, 05:46:04 AM »
Try This  :

Code - Auto/Visual Lisp: [Select]
1. (defun c:a ()
2.   (setq ss (ssget '((0 . "ellipse"))))
3.   (setq n (sslength ss))
4.   (setq k -1)
5.   (repeat n
6.     (setq k (1+ k))
7.     (setq s (ssname ss k))
8.     (if (< (atoi (getvar "acadver")) 20.0)
9.       (command "lengthen" s "")
10.       (command "lengthen" s "" "" "")
11.     )
12.     (setq le (getvar "perimeter"))
13.     (setq obj (vlax-ename->vla-object s))
14.     (setq po1 (vlax-curve-getstartpoint obj))
15.     (setq pm (vlax-curve-getpointatdist obj (* le 0.5)))
16.     (setq po2 (vlax-curve-getendpoint obj))
17.     (command "arc" po1 pm po2)
18.   )
19.   (princ)
20. )