Nodes/ComfyUI_DAO_master/DXF Add Ellipse
ComfyUI Node

DXF Add Ellipse

Angled ovals with a proper major axis

By orion4d·Created about a year ago·Updated 12 months ago· 11
DXF Add Ellipse
  • dxf
  • DXF
cx0.00
cy0.00
major_axis_x20.00
major_axis_y0.00
ratio0.50

A circle tells you center and radius. An ellipse needs one more idea: which way is it stretched. DXF Add Ellipse handles that the way real CAD does - a center, a major-axis vector that defines both length and orientation, and a ratio for the squish. It's the primitive you reach for when your vector design needs ovals, orbits, or angled lens shapes rather than perfect circles.

It's part of orion4d/ComfyUI_DAO_master, the French-authored vector-and-image pack built on ezdxf. Like every DXF Add … node in the family, it's non-destructive: your input document is copied, the ellipse is added to the copy, and a new document comes out the other side.

How it works

  • cx, cy - center of the ellipse.
  • major_axis_x, major_axis_y - the major axis as a vector. This is the input people find unintuitive: the two values aren't width and height, they're the endpoint of the major axis relative to the center. A vector of (20, 0) gives a horizontal ellipse 40 units wide; (0, 20) gives a vertical one. Any other combination angles the ellipse, which is how you get rotated ovals without a separate rotation step.
  • ratio - the minor-to-major ratio (0.0001–1, default 0.5). 1.0 is a circle; 0.3 is a skinny ellipse.

Output is a single DXF socket with the updated document.

What to do with it

Ellipses are how you add lenses, eggs, orbital rings, and stylized leaves to a vector composition. Chain it after DXF New, combine with the circle and line primitives, and render the result with DXF Preview or hand it to DXF to SVG for the SVG pipeline.

Installing

ComfyUI Manager (search ComfyUI_DAO_master) or:

cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/ComfyUI_DAO_master.git
pip install ezdxf

Restart and go.

Where people get burned

Treating major_axis_x/y as width/height is the classic mistake - think of the vector's length as half the ellipse's total width, and its direction as the orientation. And remember ratio is clamped at 1.0: if you set it above 1 hoping to flip the axes, the node just gives you a circle. Also, like all the primitives, forget to wire in your previous dxf and you're building from scratch.

CategoryDAO_master/DXF/Primitives

Inputs (6)

NameTypeDefaultDescription
dxfDXF
cxFLOAT0.00
cyFLOAT0.00
major_axis_xFLOAT20.00
major_axis_yFLOAT0.00
ratioFLOAT0.500.0001–1

Outputs (1)

NameTypeDescription
DXFDXF