# Thread: Solution for programming ellipses?

1. ## Solution for programming ellipses?

I have an Okuma lathe that only supports G2/G3 arc commands. I have lots of parts that use ellipses for the curve.

Whats the easiest way to generate G2/G3 commands for the ellipse? I know a CAM package can do this but I dont want to get that expensive. The model is in SolidWorks.

Right now I export the model to an IGES file or take the sketch of the ellipse as a DWG and send it to a guy I know that uses Rhino. Rhino allows you do to "arc fit" and he asks how many arcs I want and I fiddle with it until I get the number right. He sends me an excel spreadsheet and I have to run some calculations on it to get the right numbers. A real PITA and time consuming.

Is there an easier way short of a full fledged CAM program?

2. Yes there is an easier way. An ellipse is only 4 circular segments which could easily be cut with g02 g03 once you figure out the geometry. I learned to do it in drafting class in school. Take a look at the attachment. You can see how the ellipse is constructed from the four circular segments. The centers of the two small circles are found by drawing a line from the top and bottom vertex of the diamond to the midpoint of the lower segment. The only tricky part may be finding the size of the leg of the diamond (all 4 are the same length) and the angle it is at. I think all ellipses can be constructed this way. You may be able to use some tangent relations to figure out the size of the diamond. After you have done that, it is simple to get your start and end points and circle center to program in a g02/03.

Edit: this is called stevens method, as seen here:

http://mysite.du.edu/~jcalvert/math/ellipse.htm

good luck
Matt

3. Originally Posted by keebler303
Yes there is an easier way. An ellipse is only 4 circular segments which could easily be cut with g02 g03 once you figure out the geometry........
This is not precisely correct. You can approximate an ellipse using circle segments and it will look okay.

If a machine has Macro capability it is possible to write a macro that calculates the path for a true ellipse. I do this the easy way by asking one of my office guys to do it.

4. We have some wire EDMs that you can program independant scale factors for the X and Y axies. A ellipse that is 4 inches on the X axis by 2 inches on the Y axis can be done by programming a 4 inch circle and setting the Y axis scale to 0.5 while leaving the X axis at a scale of 1.

Even if your machine will not do this the scaleing can be done in a macro easier then solving the eqations for an ellipse.

Edit: A bit of code, tested OK in NCPlot.
Code:
```(CHANGE AS NEEDED)
#101= 0.1  (Y SCALE)
#102= 1    (STEP ANGLE)
(----------------------)

#103= 0    (CURRENT ANGLE)
G1X[#100*COS[0]]Y[#101*#100*SIN[0]]

WHILE [#103 LT 360] DO1
G1X[#100*COS[#103]]Y[#101*#100*SIN[#103]]F10.0
#103=#103+#102
END1
G1X[#100*COS[360]]Y[#101*#100*SIN[360]]
GOX0.0Y0.0```

5. SRT Mike
Attached is a VB program that will generate ellipse code.