Ellipse

To draw an ellipse
To calculate an ellipse
To program an ellipse


Definition:

When a point moves so that the sum of its distances from two fixed points is a constant, then the locus of the point is an ellipse.

The lengths a plus b always equal the Major Axis no matter where point A is on the ellipse.


To draw an ellipse;

Draw the major and minor axes as circles.

Draw radial lines out from the centre at regular intervals. (The number of lines will affect the accuracy of the ellipse)

Draw lines across from the points where the radial lines cross the minor axis circle.

Draw lines up or down from the points where the radial lines cross the major axis circle.

Join the points where these lines cross with a smooth curve to draw the ellipse.


To calculate an ellipse;

For any given angle the x and y values can be calculated by the following method.

a = given angle to point

maj = major axis

min = minor axis

x = cos(a) * maj / 2

y = sin(a) * min / 2

In the following example 12 points on an ellipse are calculated.

Major axis = 400

Minor axis = 200

Angle will start at 0 and go up to 330 in 30 degree steps

Point 1 is at the end of the major axis and so does not need to be calculated.

x = 200 y = 0

Point 2

Point 3

Points 4 - 12 are the same calculations but with different signs.

The calculated positions are in the following table.


a anglex valuey value
02000
30173.250
6010086.6
900100
120-10086.6
150-173.250
180-2000
210-173.2-50
240-100-86.6
2700-100
300100-86.6
330173.2-50

If plotted the points look like this.

And joined up with a smooth curve.


Example CNC Programs

Bosch CC100M Controller

(START ANGLE)
V1=360
(RADIUS OF MAJOR AXIS)
V2=378.9
(RADIUS OF MINOR AXIS)
V3=332.8
(X AXIS POSITION)
V4=0
(Y AXIS POSITION)
V5=0
(STEP INCREMENT)
V6=-2.5
G0 X0 Y360
T0101
Z10
G1 F1700 M8
G42
(Z CUT HEIGHT)
V7=-2.0
V1=V1+V6 V4=SINV1 V4=V4*V2 V5=COSV1 V5=V5*V3
X=V4 Y=V5 Z=V7
$50 V1=V1+V6 V4=SINV1 V4=V4*V2 V5=COSV1 V5=V5*V3
X=V4 Y=V5
TSTV1 BGTP50
G91
X-7
G90
G40 X0 Y360 Z10
M9 T0000
G0 Z0

BWO 900 Series Controller

(P500 = Current Angle)
(P501 = Radius of Major Axis)
(P502 = Radius of Minor Axis)
(P503 = X Axis Position)
(P504 = Y Axis Position)
(P505 = Step Increment)
(P506 = Final Angle)
P500:270; P501:225.7; P502:180.7; P503:0; P504:0; P505:-1.5; P506:-90;
S18000 T1 M6 M81 M3 P11807:0;
G48
X-200 Y20 Z50
G1 F700 X-181 Y0 Z-2
F2500
P503:sinP500*P502; P504:cosP500*P501; P500:P500+P505;
X:P503; Y:P504;
P500>P506.350;

CNC Home

Sirius DogStar Home