Author Topic: ellipse to arc  (Read 6666 times)

0 Members and 1 Guest are viewing this topic.

jack91066

  • Guest
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

  • Gator
  • Posts: 2507
  • 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: 12906
  • 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 ^^  :yes:

ScottMC

  • Newt
  • Posts: 191
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: 112
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. )