{"slug": "i-m-an-architect-i-built-an-ai-agent-that-draws-and-outputs-ifc-models", "title": "I'm an architect. I built an AI agent that draws - and outputs IFC models", "summary": "An architect has released Axio Coder, an open-source (AGPL-3.0) desktop agent that controls native Windows applications through the UI Automation tree rather than pixel-guessing, allowing it to operate programs like MS Paint and CAD tools that expose no API. The agent generates parametric models from reference images, drawings, or specs and exports them as IFC, DXF, and STEP files, then renders and re-inspects its own output in a generate-look-correct loop. The developer notes the Electron and Python app is single-user and has rough edges, including failures on heavy CAD geometry.", "body_md": "Every coding agent I tried could write files. None of them could **use the computer**.\n\nI'm an architect. I don't write code for a living - I design buildings. But I got tired of repeating the same drawings, the same spreadsheets, the same model exports by hand. So I built one: **Axio Coder**, an open-source (AGPL-3.0) agent that works *inside* your project, next to you.\n\nHere is the part that turned out to be hard.\n\nAny agent can read and write files in a repository. That is the easy 80%.\n\nThe hard 20% is a program with no API. A CAD window. Photoshop. MS Paint. These are the programs architects and engineers actually live in, and they expose no endpoint.\n\nMost \"computer use\" approaches screenshot the screen and guess pixel coordinates. On Windows I took a different route: the **UI Automation tree**. Every native control announces itself - name, type, value - to the operating system. That is how screen readers work. So instead of guessing where a button is, the agent asks the program: *where is the \"Fill with colour\" button?* and gets a real answer from the app itself.\n\nThat is how it drew a rocket in Paint, stroke by stroke: it picked the tool, dragged from here to there, and then **looked at the screen again** before the next stroke.\n\nAn agent that writes code does not need to see. An agent that draws does.\n\nSo this one can look: at the screen, at a PDF page, at an image, at a 3D model rendered from any angle - and it can compare what it produced against the reference, side by side.\n\nThat closed the loop for me: **generate, look, correct, repeat**. The agent builds the geometry, renders it, looks at it, and says honestly what is still wrong. Which is how a person works.\n\nThis is the part I have not seen elsewhere.\n\nGive it a reference - a photo, a drawing, a spec with dimensions - and it builds the **parametric model**, then writes it out in the formats the industry actually uses: IFC, DXF, STEP. Real geometry, measured back from the file it just wrote and checked against the formula that was supposed to produce it.\n\nThe generated folder in the repository holds three IFC revisions of the same piece. Each one was looked at and corrected. That is the loop, in public.\n\nThe point is not \"AI makes 3D\". The point is that the output leaves the chat window and lands in ArchiCAD, inside a BIM workflow - where the work continues.\n\nI would rather say it now than have you find out later.\n\nIt is a single-user desktop app (Electron + Python), built for me first. It has rough edges. Heavy CAD geometry fails sometimes and the agent has to notice and back off. And it will not replace your CAD software - it does the tedious 80% so you can spend your time on the 20% that needs judgement.\n\nThe piece I am working on now is the agent **operating other programs in sequence on its own**: open the program, do the work, export, look at the result, move on. After that, modelling from a reference image end to end, with me no longer in the middle.\n\nIf you are an architect, an engineer, or someone who automates their own work, I would genuinely like to know where this breaks for you.\n\n**Repository:** [github.com/Axidesk/Axio-Coder](https://github.com/Axidesk/Axio-Coder) - AGPL-3.0", "url": "https://wpnews.pro/news/i-m-an-architect-i-built-an-ai-agent-that-draws-and-outputs-ifc-models", "canonical_source": "https://dev.to/axidesk/im-an-architect-i-built-an-ai-agent-that-draws-and-outputs-ifc-models-1j08", "published_at": "2026-09-19 22:41:29+00:00", "updated_at": "2026-09-19 22:54:19.378472+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-products", "developer-tools", "generative-ai"], "entities": ["Axio Coder", "Axidesk", "GitHub", "Electron", "Python", "ArchiCAD", "IFC", "DXF"], "alternates": {"html": "https://wpnews.pro/news/i-m-an-architect-i-built-an-ai-agent-that-draws-and-outputs-ifc-models", "markdown": "https://wpnews.pro/news/i-m-an-architect-i-built-an-ai-agent-that-draws-and-outputs-ifc-models.md", "text": "https://wpnews.pro/news/i-m-an-architect-i-built-an-ai-agent-that-draws-and-outputs-ifc-models.txt", "jsonld": "https://wpnews.pro/news/i-m-an-architect-i-built-an-ai-agent-that-draws-and-outputs-ifc-models.jsonld"}}