DXF Group Codes
ENTITIES Section |
ELLIPSE
|
The following group codes apply to ellipse entities.
Ellipse group codesGroup codes | Description |
100 |
Subclass marker (AcDbEllipse) |
10 |
Center point (in WCS). DXF: X value; APP: 3D point |
20, 30 |
DXF: Y and Z values of center point (in WCS) |
11 |
Endpoint of major axis, relative to the center (in WCS). |
21, 31 |
DXF: Y and Z values of endpoint of major axis, relative to the center (in WCS) |
210 |
Extrusion direction. (optional; default = 0, 0, 1). |
220, 230 |
DXF: Y and Z values of extrusion direction |
40 |
Ratio of minor axis to major axis |
41 |
Start parameter (this value is 0.0 for a full ellipse) |
42 |
End parameter (this value is 2pi for a full ellipse) |
The group codes 41 and 42 are the start and end values for u in the equation below. The magnitude of the codes 11,21,31 vector is equal to 1/2 of the major axis which is the a value in the equation. The point 10,20,30 is the c value in the equation. Knowing all these, we can calculate the b value to complete the equation.
Explanation of the ELLIPSE Command's Parameter Option
The Parameter option of the ELLIPSE command, uses the following equation to define an elliptical arc.
p(u)=c+a*cos(u)+b*sin(u)
The variables a, b, c are determined when you select the endpoints for the first axis and the distance for the second axis. a is the negative of 1/2 of the major axis length, b is the negative of 1/2 the minor axis length, and c is the center point (2-D) of the ellipse.
Because this is actually a vector equation and the variable c is actually a point with X and Y values, it really should be written as:
p(u)=(Cx+a*cos(u))*i+(Cy+b*sin(u))*j
where
Cx is the X value of the point c
Cy is the Y value of the point c
a is -(1/2 of the major axis length)
b is -(1/2 of the minor axis length)
i and j represent unit vectors in the X and Y directions
In AutoCAD, once the axis endpoints are selected all you have left to specify is the start and end of the elliptical arc.
When you select the parameter option you are asked for a start parameter and an end parameter. These values are plugged into the equation to determine the actual start and end points on the ellipse. The rest of the ellipse is filled in between these two points in a counterclockwise direction from the first parameter to the second. The value entered for the parameter u is taken to be degrees for the purposes of obtaining the cos(u) and sin(u).
For example:
Axis endpoint 1 = 0,1
Axis endpoint 2 = 4,1
Other axis distance = 2,0
Start parameter = 270
End parameter = 0
will generate the start point at 2,2 and the end point at 0,1 and fill in the ellipse from 2,2 to 0,1 in a CCW direction.