SVGSketch Plugin

Architecture / Floor Plans plugin

Upload or paste a DXF, a Sweet Home 3D file, or the plugin's own plan JSON and place the floor plan as editable vector artwork with door swings, window symbols, room labels, areas, and dimension lines.

Open plugin in SVGSketch

Quick answer

The Architecture / Floor Plans plugin reads DXF files, Sweet Home 3D (.sh3d) files, and its own floor plan JSON, and draws them as ordinary SVG shapes: mitered walls with thickness, door swings, window symbols, tinted rooms with names and computed areas, furniture footprints, and dimension lines. It previews the plan as you edit, reports counts and total area, and keeps placed plans re-editable as JSON.

Steps at a glance

  1. Provide a plan

    Upload a .dxf or .sh3d file, or paste DXF text, a Home.xml, or plan JSON into the Architecture / Floor Plans plugin.

  2. Check the preview

    The preview, the wall and room counts, the total area, and any import warnings update automatically.

  3. Place the plan

    Click and drag on the canvas to place the plan at the size you want.

  4. Refine or re-edit

    Restyle the shapes directly, or select the plan to edit its JSON, change units and colors, or save it.

DXF import and layer roles

A DXF names its layers, not its walls, so the plugin classifies layers by name: AIA codes such as A-WALL, A-DOOR, A-GLAZ, and A-AREA, plus the plain words an office uses in English, French, German, Italian, or Spanish. The patterns are editable in the popout for drawings that follow their own convention. Geometry on wall, door, and window layers is kept as drawn - no thickness is inferred and no door swing is invented - while a closed shape on a room layer becomes a room named by the text inside it.

The reader handles lines, polylines with arcs, circles, ellipses, splines, text and MTEXT, block references with scale and rotation, attributes, and the anonymous blocks dimensions draw through. Paper-space entities and frozen or hidden layers are skipped and counted, and the unit comes from the file header, with an override for unitless drawings. DWG is a proprietary binary format the plugin does not read: export DXF from the CAD application first.

Sweet Home 3D import

A .sh3d file carries its walls with thickness and joins, its doors and windows with their sash swings, its rooms with names and area flags, labels, dimension lines, and furniture, and the plugin reads all of them from the Home.xml that Sweet Home 3D has written since version 5.3. Whether an opening is a door or a window is inferred from its sill height and its name, since the file does not say. Only the selected level is drawn; items on other levels are counted in the status line.

The plan JSON format

Every import lands in one normalized model - walls, openings, rooms, labels, dimensions, furniture, and passthrough strokes in a real-world unit - and that model is the plugin's own JSON format. Convert an imported file to JSON and edit it by hand, paste one from a script, insert one of the four bundled examples, or save a placed plan as a .floorplan.json file. Units can be millimeters, centimeters, meters, inches, or feet, and room areas are reported in square meters or square feet.

Walls, doors, windows, and rooms

Walls are drawn as filled outlines at their real thickness, with corners mitered where two walls meet. Doors cut a gap in the wall and draw the leaf and its swing arc; windows cut a gap and draw glazing lines. Rooms are tinted polygons with the name and the computed area at the centroid, dimension lines carry arrowheads and the measured length, and furniture is drawn as footprints. Everything lands as ordinary SVG paths, lines, and text in named groups, so a placed plan restyles and edits like anything else on the canvas.

Stays editable after placement

A placed plan remembers its JSON, not the original file. Select it and the plugin panel reloads the JSON and the style settings, regenerates the plan in place from edited text, and restores the previous version with a single undo step.

Plugin features

DXF import

Upload or paste an ASCII DXF; layer names decide what is a wall, door, window, or room.

Sweet Home 3D import

Upload a .sh3d file or paste its Home.xml for walls, openings, rooms, and furniture.

Plan JSON

Write or edit the plugin's own format by hand, with four bundled example plans.

Areas and dimensions

Room areas in square meters or square feet, and dimension lines with real lengths.

Re-editable plans

Placed plans keep their JSON for in-place regeneration and restyling.

FAQ

Can SVGSketch import a DXF floor plan?

Yes. The Architecture / Floor Plans plugin reads ASCII DXF files, classifies layers into walls, doors, windows, and rooms by name, keeps the geometry as drawn, and names rooms from the text inside them. Binary DXF and DWG are not supported; export ASCII DXF from the CAD application first.

Which Sweet Home 3D files work?

Files saved by Sweet Home 3D 5.3 or later, which include a Home.xml. An older file that carries only the serialized Home entry is reported as such; open it in a current Sweet Home 3D and save it again.

Does it draw wall thickness and door swings from a DXF?

Only when the file draws them. A DXF stores lines, not walls, so the plugin keeps wall, door, and window geometry exactly as drawn and does not infer thickness or invent swings. Sweet Home 3D files and plan JSON carry real thickness and sashes, and those are drawn as mitered walls and swing arcs.

How are room areas calculated?

From the room polygon in the file's real-world unit, converted to square meters or square feet. In a DXF a room is a closed shape on a room layer; in Sweet Home 3D and plan JSON it is the room polygon itself.

Is the placed plan editable?

Yes. Walls, openings, rooms, furniture, dimensions, labels, and passthrough geometry are ordinary SVG shapes in named groups, and the plan as a whole remembers its JSON so it can be regenerated in place from edited text.

Open your SVG in SVGSketch

Start with a blank canvas, import an SVG, or use the editor as a conversion and cleanup step.

Open plugin in SVGSketch