create_arc
Draw a center-defined arc on an active sketch by specifying center, radius, start/end angles, and direction for cw or ccw sweep.
Instructions
Arco — draw a center-defined arc on the active sketch.
Center + radius + start/end angles. The angle convention is standard
math: 0° points along the +X sketch axis, angles grow CCW. The
direction flag picks which of the two possible arcs (the short
or long way around) gets drawn between the two endpoints.
Args:
cx_mm, cy_mm: Arc center in mm (sketch-local frame). Long-form
aliases center_x_mm / center_y_mm accepted (kwarg-only)
for parity with the composite tools. Pass one name per axis.
radius_mm: Arc radius in mm. Must be positive.
start_angle_deg: Start angle from the +X sketch axis.
Standard math convention (CCW-positive).
end_angle_deg: End angle, same convention. Must differ from
start_angle_deg (use create_circle for full circles).
direction: "ccw" (default) sweeps counter-clockwise from
start to end; "cw" sweeps the other way around. Counter-
intuitive: for the SAME start/end angles, "ccw" and "cw"
produce arcs that sweep opposite ways. Quarter-arc from
start=180° to end=90°: "cw" → 90° sweep (natural quarter),
"ccw" → 270° sweep (the long way around). If a revolve_sketch
after the arc fails, the arc landed on the wrong side —
flip direction.
Returns dict with center, radius, angles, direction, computed start/end XY coords, signed sweep angle, and arc length.
Common autoparts use: - Slot end-cap when create_slot doesn't fit (e.g. one-ended slot with custom radius) - 2D fillet between two lines in a sketch (radius = corner fillet, start/end angles set by the line directions) - Curved scraper / handle profiles where the chevron+slant polygon would otherwise approximate
Example — quarter circle, R=10, from +X axis to +Y axis, CCW: create_arc(0, 0, 10, 0, 90) # or equivalently: create_arc(center_x_mm=0, center_y_mm=0, radius_mm=10, start_angle_deg=0, end_angle_deg=90)
Example — rounded slot end at the right side of a horizontal slot (180° arc spanning the slot width = 6mm at x=50): create_arc(50, 0, 3, -90, 90)
Caveat: requires an active sketch (call create_sketch or create_sketch_on_face first).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cx_mm | No | ||
| cy_mm | No | ||
| direction | No | ccw | |
| radius_mm | No | ||
| center_x_mm | No | ||
| center_y_mm | No | ||
| end_angle_deg | No | ||
| start_angle_deg | No |