Design#Extraction#3D modeling

house-plan-designer: turn a floor plan into an editable 3D interior design page

MIT Agent Skill that turns a floor plan or CAD drawing into an offline HTML interior design studio, with 2D and 3D views, furniture and auto-routed wiring.

Skill details

Install
npx skills add ZWD11/house-plan-designer --skill house-plan-designer

3D bird's-eye view exported from the designer: walls, openings, furniture and floor materials all come from one apartment description

Before a renovation starts, the hardest step is often the first one: turning a floor plan into something you can arrange furniture in, look at in 3D and price. house-plan-designer is an MIT-licensed Agent Skill that ZWD11 published on GitHub. Once it is installed, an agent such as Claude Code reads a plan image or CAD drawing, writes a description of the apartment, and returns one HTML file that opens offline with a double click. The plan you supplied becomes the starting layout.

The order it works in

SKILL.md fixes the sequence. Before drawing anything, the agent lists the questions it needs answered: whether every piece of furniture on the drawing is reproduced one to one, whether shared areas such as lift lobbies and service shafts are rebuilt, and what to assume for ceiling height or slab thickness when the drawing is silent. The input then chooses the route. Raster plans and screenshots go through image analysis; vector PDFs and DXF files are read from their drawing elements; a pair made of an original layout and a renovation layout is aligned along a shared dimension chain.

The apartment description comes from a Python generator script rather than hand-written JSON. A headless browser then checks that rooms close, that walls do not dangle and that no door or window was dropped, and it compares each dimension chain with the drawing. Three cross-checks follow before delivery: walls, dimension chains and furniture placement. Every error and warning has to reach zero. Only then do the HTML file, the archive, the check results and a list of open questions go to the user.

What it constrains

  • Open questions stay open. If a drawing has no dimensions, the agent asks for one known length or estimates and says so. Uncertain load-bearing walls, estimated ceiling heights and glazing whose sill height cannot be read become comments, which the designer lists on its review page.
  • The template stays untouched. assets/template.html is the designer itself. SKILL.md tells the agent not to change it, so every correction lives in the apartment description.
  • Plumbing and wiring are plans. Sockets, lighting, network cable, hot and cold water and drainage are routed automatically following common practice in Chinese national standards. The README says this serves planning and discussion before work starts; formal installation still needs the current code and an electrician’s or designer’s calculation.
  • DXF is not a parametric model. Exported files contain ordinary CAD entities with layers, dimensions and groups. Dragging a wall inside CAD does not move the walls attached to it, so changes go back into the designer before the file is exported again.

Who it’s for

It suits designers, renovation firms and homeowners who already have a plan and want an interactive draft quickly. The project was created on October 6, 2026; as of November 9 it had 477 stars, and its changelog runs to that day. The author’s own tests, recorded in the README, include a 1,019 m² office and training floor (inside-unit area) rebuilt from a contractor’s layout DXF, with 460 pieces of furniture and a 118-seat stepped hall. Of 160 wall dimension annotations, 109 matched the model within 5 mm. These figures come from the author; we have not reproduced them, and this entry is checked against the repository’s README and SKILL.md.

The setup is not light. You need the Python packages numpy, pillow, opencv-python, pymupdf, ezdxf and pypdf, plus Node dependencies for a headless browser, and either a Chrome, Edge or Chromium already installed or Playwright’s bundled browser. The build runs on machines without a graphics card; only the acceptance pass switches to a slower mode, and the author estimates that full pass at about 20 minutes.

Result quality depends on the agent reading the drawing. The author notes that bare line drawings, scans and tilted photos produce poor first drafts, so the agent must infer much from the dimensions. The repository description also says models such as Doubao are not recommended if you want the full effect. DWG files must be saved as DXF first, or exported as SVG. For furniture outside the library, draw it in the designer’s freeform modelling workspace or import a GLB file; Modly generates 3D models locally from photos or prompts. For room scans from an iPhone rebuilt as editable Three.js scenes, 3d-model-anything takes a different route.