Dev & Engineering

Engineering Drawing (Text-to-CAD)

Turn a 3D part into a dimensioned engineering-drawing PDF — orthographic views, hidden lines, hole callouts and a title block, all projected from the geometry so the drawing follows the model.

59/ 100
Recommended

Generally reliable with disclosed limitations; trial as directed and keep a rollback path.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 19k
Last updated
1d ago
License
MIT
engineering-drawingcadpdfbuild123d
+4opencascadesteporthographic-projectionmatplotlib

What does this skill do, and when should you use it?

engineering-drawing is one of the 13 skills bundled in earthtojake/text-to-cad. It takes a part you have already modelled — a STEP file written by a @step model or a live build123d shape — and produces a shop-ready engineering drawing as a single PDF. Under the hood it runs cadgen 0.7.20 through uv, projecting views from the part's geometry, measuring dimensions between points on that geometry, finding centre marks, and laying everything out on an ISO sheet with a frame and title block. Nothing on the sheet is drawn by hand and no number is typed unless you choose to override it: change the model, rerun the script, and the views and measured values move with it. There is no CLI and no DXF output — the script is the interface, and the PDF is the deliverable.

  • Reads a STEP artifact (e.g. produced by a @step model script) or a live build123d shape via cadgen.read_step() as the drawing subject.
  • Places third-angle views with sheet.three_views() — top, front, right (plus an isometric in the free corner with iso=True), or custom layouts with sheet.view() on A3/A4 ISO sheets.
  • Dimensions what a maker needs in model coordinates: overall size (view.overall()), feature positions and sizes (view.dim with tol= or fit=), hole callouts (view.hole: thru, depth, counterbore, countersink, thread), and leadered notes (view.note).
  • Prints layered line work at distinct weights — VISIBLE, HIDDEN (dashed), CENTER marks, DIM, NOTES, TITLE, SHEET frame — from 0.5 mm down to 0.18 mm.
  • Renders an ISO sheet with a title block (part number, material, scale, units, projection, revision, SHEET n OF m), numbered notes, an optional revision table, and deterministic PDF bytes (no creation timestamp).
  • Reports problems it noticed while drawing (e.g. 'measures blank paper', 'annotation overlaps') and raises on invalid arguments instead of writing a wrong document.
Good fit
  • A mechanical engineer working in Claude Code who has just modelled a part and needs a dimensioned sheet to hand to a machine shop, without manually detailing it in CAD software.
  • Teams with frequent design iteration: after a model change, rerunning the drawing script updates views, hidden lines and measured values automatically, with no risk of stale hand-edited dimensions.
  • An indie maker or small studio that needs standards-flavoured output: ISO sheet, title block and revision table are generated, and identical rebuilds produce byte-identical PDFs for versioning.
  • Anyone who asks their agent for 'a drawing', 'a dimensioned sheet', 'shop drawings' or '2D views of this part' — the SKILL.md description triggers the read-model/write-script/render-PDF flow.
  • A manufacturing handoff that must state tolerances explicitly: only tol=, fit= and general_tolerance= values you write appear on the sheet; none are invented.
Not a fit
  • Users needing sections, detail views or auxiliary views — SKILL.md states these are not supported yet, and the handoff should say what a view does not show.
  • Users who need DXF cut layouts or flat patterns — this skill deliberately writes no DXF (that is the sibling DXF skill's job, for toolpaths, not documents).
  • Users unwilling to install uv/a Python runtime or wanting a GUI or CLI — there is no CLI (the script is the interface), and Windows 11 Smart App Control blocks the unsigned OCP kernel wheel, breaking every cadgen command.

How do you install this skill?

Before you use it
  • Static review only; no scripts were executed — output quality and failure behaviour are unverified by execution.
  • First run downloads cadgen==0.7.20 and dependencies (matplotlib etc.) from PyPI; mainland-China reachability unverified; no Chinese-language documentation.
  • cadgen sends telemetry by default (no file contents); disable with `uvx cadgen telemetry off` or DO_NOT_TRACK=1 after install.
  • Annotation is not checked against line work — read the PDF manually; tolerances must come from the user and are never invented by the skill.
  • On Windows 11 with Smart App Control enabled, the unsigned OCP native module is blocked and cadgen fails; disable it or run under WSL.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
  • Local filesystem
Install first
  • uv
  • cadgen 0.7.20 (installed via uvx, Python 3.13)
  • matplotlib (rendering backend)

This skill ships inside the text-to-cad collection (13 skills); install the collection and use the engineering-drawing skill. Claude Code (plugin):

claude plugin marketplace add earthtojake/text-to-cad#latest
claude plugin install text-tocadd@earthtojake

Install from #latest (the release branch), then restart the app — the first start downloads the CAD runtime and needs a network connection. Cursor (local plugin):

git clone --depth 1 --branch latest https://github.com/earthtojake/text-to-cad ~/.cursor/plugins/local/text-to-cad

Then restart Cursor. Grok Build:

grok plugin install earthtojake/text-to-cad@latest --trust
grok plugin enable text-to-cad

Gemini (extension):

gemini extensions install https://github.com/earthtojake/text-to-cad --ref latest --consent --auto-update

Other agents (skills only, no CAD server):

npx skills add earthtojake/text-to-cad#latest

Prerequisite for every route: uv must be installed (uv --version). The skill runs cadgen 0.7.20 through uvx with a pinned command. Install either the plugin or the skills in an app, not both. Note: the Claude Code commands above are as documented in the README — double-check the exact marketplace string against the README before running.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Make an engineering drawing of this part as a PDF on A3 landscape, third angle, with all holes called out
  • I changed the flange's hole pitch — regenerate the shop drawing with centre marks and thru callouts on every hole
  • Give me 2D views of this bracket with overall size and wall thickness dimensioned at ±0.1
  • Produce a formal drawing of this STEP file with a title block, revision table, and a 'BREAK EDGES' note

The skill is triggered by requests like 'a drawing', 'a dimensioned sheet', 'shop or manufacturing drawings', 'a print', or '2D views of this part'. Workflow: 1) Build the part first — run python <model>.py so the @step model writes a STEP artifact, then read it with cadgen.read_step(); a live build123d shape works equally well. 2) Write <name>_drawing.py beside the model using the template at references/sheet-api.md#template, importing dimension-referenced facts (hole pitch, overall size, wall) from the model module rather than retyping them. 3) Lay out views with sheet.three_views(part, iso=True) — it returns four views (third-angle top/front/right plus an isometric); positions use sheet millimetres from the bottom-left (A3 is 420×297, A4 is 297×210). 4) Dimension in model coordinates: view.overall(), view.dim (with tol= or fit= where required), view.hole, view.note — leave text unset so values are measured. 5) Run:

python <name>_drawing.py

It prints the PDF path plus anything it noticed — read 'measures blank paper' (check the part's bounding box; usually a corner-built part assumed centred) and 'annotation overlaps' (raise three_views(gap=) or pass offset=) first. 6) Open the PDF and fix collisions: dimension text over views, missing hidden lines or centre marks, leaders crossing the part — move at= or offset= and rerun. When running unattended, set MPLCONFIGDIR to a writable directory so matplotlib's font cache does not warn. The full cadgen command is the pinned uvx form: uvx --no-config --managed-python --python 3.13 --from cadgen==0.7.20 cadgen.

What are this skill's strengths and limitations?

Pros
  • Views, hidden lines, centre marks and dimensions are all projected and measured from the part's geometry — change the model, rerun, and the drawing follows; nothing goes stale.
  • Deterministic output: no creation timestamp is stamped, so an unchanged drawing rebuilds to a byte-identical PDF, which suits versioning and review.
  • Fails loudly: invalid arguments, views off the frame, or a missing renderer raise instead of writing a wrong or missing document.
  • Strict argument validation with specific refusals — unknown view names/sheet sizes/projections, malformed tolerances, notes wider than the sheet, bare strings for notes=/revisions= all error with reasons.
Limitations
  • No sections, details or auxiliary views yet — complex parts may not be fully expressible.
  • No CLI and no DXF output; the script is the only interface, which limits toolchain integration.
  • The sheet keeps callouts clear of views it knows about and reports overlapping annotations, but it does not check annotation against line work — you must read the PDF yourself.
  • Tolerances are never invented: without your tol=/fit=/general_tolerance=, dimensions are nominal — unsuitable if the user cannot supply tolerance values.
  • The whole text-to-cad collection sends anonymous usage stats and crash reports by default; turn them off with `uvx cadgen telemetry off`.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Engineering Drawing (Text-to-CAD) this page 59 · Recommended ★ 19k 1d ago MIT
DXF Generation & Validation Skill 57 · Use with care ★ 19k 1d ago MIT
SendCutSend Upload Preflight 57 · Use with care ★ 19k 1d ago MIT
Desktop Commander MCP 65 · Recommended ★ 10k 4d ago MIT
G-code Slicing Skill (text-to-cad) 60 · Recommended ★ 19k 1d ago MIT

Within the same repository, the DXF skill produces 2D DXF cut layouts and flat patterns (toolpaths), while this skill produces document-grade engineering-drawing PDFs — SKILL.md states explicitly that the two are different jobs. Pick by deliverable.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Recommended
59/ 100 5-point scale 3.0 / 5
1Trust18 / 25 · 3.6/5

Purely local document-generation workflow: reads STEP geometry, renders a PDF via script; no DXF, no network side effects, no credential handling; version pinned via uvx to cadgen==0.7.20, giving visible supply chain. README transparently discloses default telemetry and opt-out (shared install with this skill); SECURITY.md documents loopback-only viewer binding. Deducted for: no explicit user-confirmation mechanism, isolation or rollback notes; telemetry on by default (though opt-out exists); unverified publisher with attribution being just a repo link.

2Reliability10 / 20 · 2.5/5

High internal consistency: template, API reference, failure modes ('measures blank paper', 'annotation overlaps', off-frame views raise naming a fitting scale, missing renderer fails without leaving a file), and a detailed list of refused invalid inputs. But static review cannot execute key paths; a CI badge (test.yml) exists, yet no committed tests covering this skill's drawing paths were shown, so capped at 10 per anchor.

3Adaptability9 / 15 · 3.0/5

Clear triggers ('drawing', 'dimensioned sheet', '2D views of this part') and explicit non-fit boundaries: no sections, details or auxiliary views, no DXF, tolerances must come from the user and never be invented. Deducted for: dependence on first-run uv/PyPI downloads and matplotlib etc., with unverified mainland-China reachability; no Chinese-language support.

4Convention11 / 15 · 3.7/5

Good layered docs (workflow → API reference → limits), clear MIT license, provenance pointing to the repo, pinned cadgen 0.7.20, and an update path (uvx cache, plugin update) in the README. Deducted for: no per-skill changelog/version history; dependency evolution lives in an external PyPI package; known-limitation handling partly relies on the user 'reading the PDF'.

5Effectiveness7 / 15 · 2.3/5

Claims a directly shop-usable single PDF output that is deterministic (no timestamp, identical rebuild bytes) with clear marginal value over manual drafting. Static review cannot verify output quality and no representative sample outputs are present in the source files, so held at the static cap of 7, kept conservative for missing sample evidence.

6Verifiability4 / 10 · 2.0/5

Key claims trace to in-repo source files and pinned version parameters; README offers third-party signals (PyPI/CI badges). However, no committed tests or independent reproduction evidence for this skill's key paths (view projection, annotation rendering); fact/inference separation is mostly clean but coverage is thin — scored 4 under the cap of 5.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Oct 10, 2026 Reviewed revision b48ff49e0096 Review evidence[1][2][3][4][5][6][7][8][9][10][11][12]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Are the dimension values measured or typed by me?
Measured by default: leave text unset and the value is measured from the geometry. You only give a value where the model does not define it, and only tolerances you write (tol=, fit=, general_tolerance=) appear — the skill never invents one.
What happens when I change the model?
Rerun the drawing script. Views, hidden lines and measured values are projected from the geometry, so they move with the model — that is the skill's core 'drawing follows the model' promise.
What do 'measures blank paper' or 'annotation overlaps' mean?
'Measures blank paper' almost always means the part was built from a corner but the script assumed it was centred — check the bounding box. 'Annotation overlaps' means two callouts print on top of each other — raise three_views(gap=) or place one with offset=. Both are measured from ink as the renderer draws it, glyph by glyph.
Which sheets and projections are supported?
three_views defaults to third-angle top/front/right (optionally plus an isometric). Sheet positions are in millimetres from the bottom-left; A3 is 420×297 and A4 is 297×210. Unknown view names, sheet sizes or projection values raise rather than guessing.

More skills from this repository

All from earthtojake/text-to-cad

Design & Frontend

CAD (text-to-cad's CAD skill)

Give your AI agent the ability to create and edit parametric CAD models from plain language or images, exporting STEP/STL/3MF/GLB files.

★ 19k FS 55 Use with care 1d ago
Dev & Engineering

DXF Generation & Validation Skill

Generate, regenerate, and validate 2D DXF drawings from Python build123d sources or CAD geometry, ready for laser, plasma, and waterjet cutting.

★ 19k FS 57 Use with care 1d ago
Dev & Engineering

SendCutSend Upload Preflight

Reviews DXF and STEP files against SendCutSend's official ordering guide and catalog before upload, so an agent can catch manufacturability problems before you pay for a prototype.

★ 19k FS 57 Use with care 1d ago
Dev & Engineering

G-code Slicing Skill (text-to-cad)

Give your agent the power to slice STL, 3MF and OBJ models into printer-ready G-code with OrcaSlicer, using your own printer presets.

★ 19k FS 60 Recommended 1d ago
Dev & Engineering

step.parts Catalog Skill

Give your agent the ability to search the step.parts hosted catalog and download real off-the-shelf STEP parts — screws, bearings, motors, servos — instead of sketching crude placeholder geometry.

★ 19k FS 55 Use with care 1d ago
Dev & Engineering

DFM Review Skill

Gives your AI agent a process-specific design-for-manufacturing review for sheet metal, CNC machining or injection molding, with measured evidence and cited rules behind every finding.

★ 19k FS 61 Recommended 1d ago
Dev & Engineering

URDF Robot Description Skill

Give your agent disciplined authoring and validation for URDF robot description files — frames, joints and inertials computed, never guessed.

★ 19k FS 57 Use with care 1d ago
Design & Frontend

DfAM Check — 3D Printability Analysis

Measure mesh files against Design for Additive Manufacturing rules per process (FDM, SLS, SLA/DLP, metal PBF, MJF) and report evidence-backed printability findings before slicing or printing.

★ 19k FS 67 Recommended 1d ago
Dev & Engineering

SRDF Skill: MoveIt Planning Semantics

Author and validate MoveIt SRDF planning semantics on top of an existing URDF, so agents stop handing MoveIt wrong planning groups and unsafe collision rules.

★ 19k FS 62 Recommended 1d ago
Dev & Engineering

Bambu Labs Print Handoff Skill

Hand sliced G-code or unsliced models to Bambu Lab printers safely via the official Bambu Connect app or Bambu Studio — the agent never controls the printer.

★ 19k FS 60 Recommended 1d ago
Dev & Engineering

text-to-cad SDF Skill

Lets your agent author, validate, and visually review SDFormat robot models and worlds, handing them off cleanly to simulators like Gazebo.

★ 19k FS 55 Use with care 1d ago

Related skills