# img2cad > Agent workflow that turns images, photos, sketches and engineering drawings into editable, coloured CAD (build123d source, STEP with part colours, GLB, 3MF, STL), with geometry gates, registered overlays and a review loop. Start with the skill; it is the workflow contract. Every tool is a subcommand of the `img2cad` CLI (`uvx --python 3.13 --from git+https://github.com/YUI-TIEN/img2cad img2cad --help`). ## Agent docs - [SKILL.md](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/skills/img2cad/SKILL.md): staged workflow, commands, review rules - [MODELING.md](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/skills/img2cad/MODELING.md): build123d placement, techniques by object type, precision tools - [LESSONS.md](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/skills/img2cad/LESSONS.md): verified pitfalls from real runs - [cad-output SKILL.md](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/skills/cad-output/SKILL.md): viewer, mesh export, drawings, printability - [README.md](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/README.md): scope, install, CLI ## Worked examples - [Espresso cup](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/examples/espresso-cup/README.md): visual approximation; perspective IMAGE_FRAME fitted to three circles (cup rim, saucer rim, foot) by least squares; side profile solved from silhouette edges through the fitted frame; spline revolves (not polygon revolves) so the handle ring fuses cleanly - [Falcon 9 on the pad](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/examples/falcon9-pad/README.md): visual approximation; known object dimensions (Falcon 9 v1.1) as the scale; lattice tower as one solid: lofted frustum shell with triangular X-brace windows cut through; front orthographic IMAGE_FRAME for a distant, level camera - [Fish](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/examples/fish/README.md): visual approximation; loft through Ellipse sections on Plane.YZ.offset(x); thin fins: Polygon on Plane.XZ + extrude(both=True); IMAGE_FRAME registration + registered overlay with per-colour IoU - [Standing horse](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/examples/standing-horse/README.md): visual approximation; segment helper: tapered Cone between two 3D points via Plane(origin, z_dir); jointed legs with rotated ball joints fused into one solid; Sphere(1).scale(radii) ellipsoids - [Pagoda](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/examples/pagoda/README.md): visual approximation; three-section ruled loft for hipped roofs with flared eaves; stacked tiers that overlap so they fuse into one solid; battered base as a ruled loft between squares - [Vase](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/examples/vase/README.md): visual approximation; silhouette radii measured at several heights -> Spline profile -> revolve; offset(amount=-wall, openings=top face) to hollow a solid - [Mounting plate](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/examples/mounting-plate/README.md): dimension constrained; Box + fillet(edges().filter_by(Axis.Z)) before drilling; GridLocations + Hole for a hole pattern; hole count/diameter and volume constraints - [Flanged bushing](https://raw.githubusercontent.com/YUI-TIEN/img2cad/main/examples/flanged-bushing/README.md): dimension constrained; half-profile Polyline on Plane.XZ + make_face + revolve(Axis.Z); bore left open by starting the profile at the bore radius; boss/hole constraints for turned parts