The VSON Cookbook

12/24 Page

Floor Plan: Multi-Room Layout

A real floor plan has multiple rooms, often sharing walls. In VSON, each room is its own outline, and shared walls are created by placing the two outlines so their matching segments coincide exactly in absolute coordinates.

A Two-Room Layout

A 12-by-14 bedroom on the left, sharing its right wall with an 8-by-14 bathroom on the right.

{
  "Version": "1.0",
  "Template": "Floorplan",
  "McpGenerated": true,
  "KeepDocument": true,
  "FloorplanSettings": { "scaletype": "Architectural", "thickness": "4\"" },
  "Symbols": [],
  "Shape": {
    "Hide": true,
    "Outline": [
      {
        "origin": { "x": "10'", "y": "10'" },
        "thickness": "4\"",
        "segments": [
          { "endPoint": { "x": "12'", "y": "0'" } },
          { "endPoint": { "x": "12'", "y": "14'" } },
          { "endPoint": { "x": "0'",  "y": "14'" } },
          { "endPoint": { "x": "0'",  "y": "0'" } }
        ],
        "furniture": []
      },
      {
        "origin": { "x": "22'", "y": "10'" },
        "thickness": "4\"",
        "segments": [
          { "endPoint": { "x": "8'",  "y": "0'" } },
          { "endPoint": { "x": "8'",  "y": "14'" } },
          { "endPoint": { "x": "0'",  "y": "14'" } },
          { "endPoint": { "x": "0'",  "y": "0'" } }
        ],
        "furniture": []
      }
    ]
  }
}
Two room layout example

Shared Walls

The bedroom is at origin (10', 10') and runs from x=10' to x=22'. The bathroom is at origin (22', 10'), so its left wall is at x=22'. The two walls coincide exactly, so SmartDraw renders them as one wall.

The rule: plan each room's absolute top-left position in document coordinates first, then set its origin. Two rooms share a wall when the matching segments have identical absolute coordinates and length.

A Three-Room L-Shaped Layout

{
  "Version": "1.0",
  "Template": "Floorplan",
  "McpGenerated": true,
  "KeepDocument": true,
  "FloorplanSettings": { "scaletype": "Architectural", "thickness": "4\"" },
  "Symbols": [],
  "Shape": {
    "Hide": true,
    "Outline": [
      {
        "origin": { "x": "10'", "y": "10'" },
        "segments": [
          { "endPoint": { "x": "16'", "y": "0'" } },
          { "endPoint": { "x": "16'", "y": "12'" } },
          { "endPoint": { "x": "0'",  "y": "12'" } },
          { "endPoint": { "x": "0'",  "y": "0'" } }
        ],
        "furniture": []
      },
      {
        "origin": { "x": "10'", "y": "22'" },
        "segments": [
          { "endPoint": { "x": "16'", "y": "0'" } },
          { "endPoint": { "x": "16'", "y": "10'" } },
          { "endPoint": { "x": "0'",  "y": "10'" } },
          { "endPoint": { "x": "0'",  "y": "0'" } }
        ],
        "furniture": []
      },
      {
        "origin": { "x": "26'", "y": "10'" },
        "segments": [
          { "endPoint": { "x": "10'", "y": "0'" } },
          { "endPoint": { "x": "10'", "y": "22'" } },
          { "endPoint": { "x": "0'",  "y": "22'" } },
          { "endPoint": { "x": "0'",  "y": "0'" } }
        ],
        "furniture": []
      }
    ]
  }
}
Three room L-shaped layout example

Room 1 (top-left) and Room 2 (bottom-left) share a wall at y=22'. Room 3 (right) shares its left wall with both rooms across x=26'. The result is an L-shaped floor plan.

Tips for Shared Walls

  • Place the larger room first, then snap smaller rooms to its corners. Less geometry to redo if the larger one changes.
  • Use the same wall thickness on shared walls, or SmartDraw may render visual artifacts at the seam.
  • Round to clean numbers (whole feet, half feet) until the geometry settles, then refine.
12/24 Page