
left is a real panic gate submittal detail. right is what an ai drew this morning while i watched. i didn’t trace it or redraw it by hand. i handed a tool the image, told it what the gate was, and it rebuilt the drawing, callouts and all.
the thing about submittal details
before anything gets ordered or built, the GC and the architect want shop drawings. for a fence and gate package that means submittal details: dimensioned elevations of every gate, every measurement, every footing, with the callouts that say what the metal actually is.
a lot of these in my industry are reusable, but with slight differences.
a 12-foot gate becomes 16 feet. the footing goes from 36 inches deep to 48. the architect wants 6” posts instead of 4”. and now you’re back in the drawing redoing dimension strings, moving callouts, re-hatching the concrete, all because one number changed. i don’t know CAD so end up paying someone for this every time.
so when i saw ForgeCAD, the first thing i wanted to know wasn’t whether it could draw. it was whether it could redraw.
first try: a gate that’s just numbers
ForgeCAD calls itself AI-native CAD. you write a small javascript file that describes the part, an agent helps you write it, and the CLI builds the model. i ran version 0.10.2 with Codex 5.5 as the agent today. I still want to run it on claude too, and later maybe a local model.
my first model was nothing fancy. a gate panel, two posts, two footings.

but the geometry isn’t the point. the point is that the width, the height, the post diameter, the footing size, and the footing depth are all parameters. change the number, the model rebuilds itself. here’s the actual top of the file:
const gateOpeningFt = Param.number("Gate Opening", 3, { min: 2.5, max: 6, step: 0.25, unit: "ft" });
const gateHeightFt = Param.number("Gate Height", 6, { min: 4, max: 8, step: 0.5, unit: "ft" });
const postHeightFt = Param.number("Post Height", 9, { min: 7, max: 12, step: 0.5, unit: "ft" });
ForgeCAD has a local workbench it calls Studio. you run forgecad studio . and it opens a browser at 127.0.0.1:6768 with the code on one side, the model on the other, and every parameter turned into a slider you can drag.

one thing worth knowing: all of this ran locally. i made a ForgeCAD account with Google and found that email-and-password CLI login doesn’t work for google accounts. you use an API token from settings instead. but for just drawing on my own machine, i never had to sign in at all.
the part that changed my mind
a 3d render is nice for a client. it is useless on a submittal sheet. what I need is a flat, dimensioned, black-and-white elevation.
so i had it export one.

that is a 12-foot gate, 6 feet tall, a 2x2 tube steel frame on 6-inch posts, sitting in 18-inch by 36-inch footings with the concrete hatched in. it came out of ForgeCAD as an SVG, and a small script flips it to clean black-on-white linework so it drops straight onto a PDF template.
that last part matters to me more than it might to you. i’m building my own bluebeam alternative for plan markup, and the whole reason i want parametric details is to stop redrawing them and start dropping them onto sheets. change the gate width, re-export, place it. the redraw i used to eat for free now costs me one number and a keystroke.
the real test: a panic gate
a simple gate is one thing. so i pointed it at a detail on a panic gate.
a panic gate is an egress gate. it carries panic hardware, the push bar that lets a crowd out of a pool deck or a ballfield in a hurry, and it’s the kind of detail a plan reviewer reads line by line. on a drawing like this the callouts are half the work.
this is the reference i gave it:

i asked it to recreate that with as much detail as it could pull off. not a screenshot. an actual rebuilt drawing i could keep editing.
the workflow that worked was boring, and that’s why it worked. build the geometry, run ForgeCAD’s checks, export the SVG, normalize it to black-and-white, render a png, and slap it next to the original to see what’s off. the checks are real assertions baked into the file, so a wrong number shows up as a failed check instead of a drawing that looks fine and lies. mine passed five: 3-foot opening, 6-foot gate height, 9-foot post height, 10-inch kick plate, 18-inch mesh extension.
here’s what came back:

look at the callouts. “LOCINOX MAMMOTH heavy-duty hydraulic gate closer.” “electro-mechanical push bar, latch panic device.” “perforated aluminum mesh fastened to pickets.” “10-inch aluminum kick plate.” “push to exit.” both elevations, pull side and push side, the way the original had them.
it read a scanned detail and gave me back a structured drawing. not a picture of a drawing.
where it got things wrong
i’m not going to tell you it was perfect. it wasn’t.
call it 90 percent. the drafting style is close but not dead-on: the title bubbles are sized a little different, the line weights don’t match, the earth hatch and the rough concrete texture aren’t as dense as the original draftsman drew them. those are the things that will need to be fine tuned next.
and it tripped on one real thing. the reference said 9-foot posts, and the question is whether that’s 9 feet of post you can see or 9 feet total counting the part buried in the footing. it guessed total length, including embedment. on this drawing that happened to be right, but it’s exactly the kind of assumption that bites you later, so i’d never ship one of these without reading every dimension myself and double checking everything. the ai draws fast. it doesn’t know which gate is going on which job. that part is still mine.
what it’s actually good for
i don’t think the win here is recreating whole construction sheets. the title block and the general notes, all the boilerplate that wraps a sheet, leave that where it lives. i have templates for title blocks with logo, company info and blocks for project info etc., already in my bluebeam revu, and will have the same in my mac native replacement I am building for bluebeam right now.
the win is the detail itself. a panic gate, a cantilever slide gate, a post-and-footing section, drawn once as a parametric file and then re-cut for every dimension the architect throws at me, dropped onto a fresh template instead of redrawn from scratch. ForgeCAD’s docs even ship a skill they call an image-replicator, which is more or less the move i made by hand today. (their docs are here, and they’re @ForgeCAD on X if you want to watch where it goes.)
two years ago i was just learning what chatgpt was, this morning an ai redrew a panic gate submittal off a scan while i drank coffee.
never stop learning…
ContractorKeith