Inspiration
EngiDraw was inspired by my own struggle with first-semester engineering drawing. Understanding eccentricity, rolling-circle curves, and isometric projection in theory was one thing — actually constructing a parabola, an epicycloid, or an isometric view of a hexagonal prism by hand, correctly, was another. I wanted an assistant that could read a drawing problem and produce the actual construction.
What it does
EngiDraw takes an engineering drawing problem as text or an uploaded image and produces:
- Step-by-step 2D construction drawings (SVG)
- An orbitable, animated 3D view of the same object on canvas
- Dimensions, axes, hidden lines, centre lines, and construction guides
- Conic and cycloidal curves (parabola, ellipse, hyperbola, cycloid, epicycloid, hypocycloid) with tangent/normal construction
- Isometric axes, scale, planes, circles, prisms, pyramids, cylinders, cones, frustums, and composite solids (e.g. hemisphere-on-frustum)
- Orthographic-to-isometric reconstruction for stepped, notched, slotted, or hole-bearing profiles, via a generalized extruded-solid contract
- SVG, PNG, and JSON export
The goal is to turn a confusing drawing question into an inspectable, verifiable construction rather than a black-box image.
How I built it
EngiDraw is a multimodal neuro-symbolic pipeline, not an end-to-end "draw me a picture" model:
- A local intent router classifies the prompt (or image) into a syllabus family — conic, cycloidal, isometric, orthographic — using a tutorial corpus indexed from the course sheets, with page-level provenance.
- When an API key is configured, the prompt and image are sent server-side to GPT-5.6, which returns a structured geometry spec (dimensions, profile vertices, holes, projection type, construction steps) — never raw pixels or path data.
- A deterministic geometry kernel in the browser turns that spec into actual coordinates: it owns every primitive (point, line, circle, ellipse, polygon, prism, project, section, dimension, verify).
- SVG renders the 2D construction; canvas renders the interactive, draggable/zoomable 3D solid from the same mesh — no separate approximation.
- For uploaded images, OpenCV.js (Canny edge detection, grayscale thresholding) provides visual evidence in the browser, but is never treated as a final geometric answer.
- If no API key is present, or GPT-5.6 returns something outside the supported geometry contracts, the app falls back silently to the local parser — it always produces a usable local answer.
The key design decision was refusing to let the language model draw geometry directly. GPT-5.6 interprets; the deterministic kernel calculates and verifies. For example, isometric projection depends on the constant
$$ 0.815 \approx \frac{9}{11} $$
and conic construction on the eccentricity relationship
$$ e = \frac{\text{distance from focus}}{\text{distance from directrix}} $$
Challenges I ran into
The hardest problem was reconstructing a 3D solid from 2D orthographic views. A single image can contain front, top, and side views, dimensions, hidden edges, holes, slots, and non-isometric lines — our first attempts kept collapsing everything into a generic rectangular block.
I fixed this with a generalized profile-based geometry contract: an ordered array of front-view [x, z] vertices, an extrusion depth, optional holes (with axis/diameter/position), and optional stacked stages, so the kernel can represent stepped brackets, notches, and pillow blocks instead of just boxes.
A second challenge was stopping the system from confidently inventing geometry when an uploaded photo was ambiguous. Iadded a verification gate: the UI only shows "Verified geometry" once the tutorial family is identified, all numeric fields are finite and consistent, the construction has at least four explicit steps, and the image has actually been grounded by the vision route (or the text prompt is explicit enough on its own). Otherwise it shows a "vision required" preview state rather than a confident wrong answer.
Accomplishments that I am proud of
- A working multimodal engineering-drawing assistant that produces real, checkable geometry instead of an illustrative image
- Coordinated 2D SVG and orbitable 3D canvas views driven by the same mesh
- Full conic and cycloidal construction methods with tangent/normal geometry
- Isometric scale, axes, planes, circles, and solids (prisms, pyramids, cylinders, cones, frustums, composites) via box and offset methods
- A generalized orthographic-to-isometric reconstruction contract for irregular, stepped, and hole-bearing solids
- An explicit verification gate that refuses to overstate confidence on ambiguous input
- Construction step playback, history, and SVG/PNG/JSON export
What I learned
Engineering drawing assignments are constrained by projection conventions, dimensions, and line semantics in a way that punishes "confident but wrong" output. The reliable pattern was combining multimodal interpretation with symbolic geometry, not a language model freehanding a drawing. Concretely:
- GPT-5.6 understands the question and image
- The tutorial corpus supplies course-specific routing and grounding
- The geometry kernel performs the actual calculation
- A verifier checks dimensions, topology, and 2D/3D consistency before anything is called "verified"
This is more transparent and extensible than hand-writing hundreds of answer templates — new drawing types become new geometry operators, not new prompts.
What's next for EngiDraw
- Sections, tolerances, gears, welding symbols, and production drawings
- Stronger OCR/dimension detection for photographed sheets
- Better orthographic-to-3D reconstruction for chamfers, fillets, and curved profiles
- DXF/STL/CAD interoperability
- Teacher review mode comparing student submissions against verified geometry
- Anonymized correction data as an evaluation set for the interpretation stage
- Collaborative workspaces and cloud project history
Log in or sign up for Devpost to join the conversation.