|
| 1 | +# Apartment Floor Plan: 3 BHK to 4 BHK Conversion |
| 2 | + |
| 3 | +An architectural floor plan showing a 1,500 sq ft apartment with proposed modifications to convert from 3 BHK to 4 BHK. Demonstrates architectural drawing conventions, room layouts, proposed changes with dotted lines, and area comparison tables. |
| 4 | + |
| 5 | +## Key Patterns Used |
| 6 | + |
| 7 | +- **Architectural floor plan**: Top-down view with walls, doors, windows |
| 8 | +- **Proposed modifications**: Dotted red lines for new walls |
| 9 | +- **Room color coding**: Light fills to distinguish room types |
| 10 | +- **Circulation paths**: Arrows showing new access routes |
| 11 | +- **Data table**: Before/after area comparison with highlighting |
| 12 | +- **Architectural symbols**: North arrow, scale bar, door swings |
| 13 | + |
| 14 | +## Diagram Type |
| 15 | + |
| 16 | +This is an **architectural floor plan** with: |
| 17 | +- **Plan view**: Top-down orthographic projection |
| 18 | +- **Overlay technique**: Existing structure + proposed changes |
| 19 | +- **Quantitative data**: Area measurements and comparison table |
| 20 | + |
| 21 | +## Architectural Drawing Elements |
| 22 | + |
| 23 | +### Wall Styles |
| 24 | + |
| 25 | +```xml |
| 26 | +<!-- Outer walls (thick) --> |
| 27 | +<line class="wall" x1="0" y1="0" x2="560" y2="0"/> |
| 28 | + |
| 29 | +<!-- Internal walls (thinner) --> |
| 30 | +<line class="wall-thin" x1="180" y1="0" x2="180" y2="140"/> |
| 31 | + |
| 32 | +<!-- Proposed new walls (dotted red) --> |
| 33 | +<line class="proposed-wall" x1="125" y1="170" x2="125" y2="330"/> |
| 34 | +``` |
| 35 | + |
| 36 | +```css |
| 37 | +.wall { stroke: var(--text-primary); stroke-width: 6; fill: none; stroke-linecap: square; } |
| 38 | +.wall-thin { stroke: var(--text-primary); stroke-width: 3; fill: none; } |
| 39 | +.proposed-wall { stroke: #A32D2D; stroke-width: 4; fill: none; stroke-dasharray: 8 4; } |
| 40 | +``` |
| 41 | + |
| 42 | +### Door Symbols |
| 43 | + |
| 44 | +```xml |
| 45 | +<!-- Door opening with swing arc --> |
| 46 | +<rect x="150" y="137" width="25" height="6" fill="var(--bg-primary)"/> |
| 47 | +<path class="door" d="M150,140 L150,165"/> |
| 48 | +<path class="door-swing" d="M150,140 A25,25 0 0,0 175,140"/> |
| 49 | + |
| 50 | +<!-- Sliding door (balcony) --> |
| 51 | +<rect x="60" y="327" width="60" height="6" fill="var(--bg-primary)" stroke="var(--text-secondary)" stroke-width="1"/> |
| 52 | +<line x1="60" y1="330" x2="90" y2="330" stroke="var(--text-secondary)" stroke-width="2"/> |
| 53 | +<line x1="90" y1="330" x2="120" y2="330" stroke="var(--text-secondary)" stroke-width="2" stroke-dasharray="3 3"/> |
| 54 | + |
| 55 | +<!-- Proposed door (dotted) --> |
| 56 | +<rect x="143" y="292" width="22" height="6" fill="var(--bg-primary)" stroke="#A32D2D" stroke-width="1" stroke-dasharray="3 2"/> |
| 57 | +<path d="M165,295 A22,22 0 0,0 165,273" stroke="#A32D2D" stroke-width="1" stroke-dasharray="3 2" fill="none"/> |
| 58 | +``` |
| 59 | + |
| 60 | +```css |
| 61 | +.door { stroke: var(--text-secondary); stroke-width: 1.5; fill: none; } |
| 62 | +.door-swing { stroke: var(--text-tertiary); stroke-width: 1; fill: none; stroke-dasharray: 3 2; } |
| 63 | +``` |
| 64 | + |
| 65 | +### Window Symbols |
| 66 | + |
| 67 | +```xml |
| 68 | +<!-- Window with glass indication --> |
| 69 | +<rect class="window" x="-3" y="30" width="6" height="50"/> |
| 70 | +<line class="window-glass" x1="0" y1="35" x2="0" y2="75"/> |
| 71 | + |
| 72 | +<!-- Horizontal window (top wall) --> |
| 73 | +<rect class="window" x="220" y="-3" width="60" height="6"/> |
| 74 | +<line class="window-glass" x1="225" y1="0" x2="275" y2="0"/> |
| 75 | +``` |
| 76 | + |
| 77 | +```css |
| 78 | +.window { stroke: var(--text-primary); stroke-width: 1; fill: var(--bg-primary); } |
| 79 | +.window-glass { stroke: #378ADD; stroke-width: 2; fill: none; } |
| 80 | +``` |
| 81 | + |
| 82 | +### Room Fills |
| 83 | + |
| 84 | +```xml |
| 85 | +<!-- Different colors for room types --> |
| 86 | +<rect class="room-master" x="3" y="3" width="174" height="134" rx="2"/> |
| 87 | +<rect class="room-bed2" x="183" y="3" width="134" height="104" rx="2"/> |
| 88 | +<rect class="room-living" x="3" y="173" width="554" height="154" rx="2"/> |
| 89 | +<rect class="room-kitchen" x="443" y="3" width="114" height="104" rx="2"/> |
| 90 | +<rect class="room-bath" x="183" y="113" width="54" height="54" rx="2"/> |
| 91 | + |
| 92 | +<!-- Proposed new room (highlighted) --> |
| 93 | +<rect class="room-new" x="3" y="223" width="120" height="104"/> |
| 94 | +``` |
| 95 | + |
| 96 | +```css |
| 97 | +.room-master { fill: rgba(206, 203, 246, 0.3); } /* purple tint */ |
| 98 | +.room-bed2 { fill: rgba(159, 225, 203, 0.3); } /* teal tint */ |
| 99 | +.room-bed3 { fill: rgba(250, 199, 117, 0.3); } /* amber tint */ |
| 100 | +.room-living { fill: rgba(245, 196, 179, 0.3); } /* coral tint */ |
| 101 | +.room-kitchen { fill: rgba(237, 147, 177, 0.3); } /* pink tint */ |
| 102 | +.room-bath { fill: rgba(133, 183, 235, 0.3); } /* blue tint */ |
| 103 | +.room-new { fill: rgba(163, 45, 45, 0.15); } /* red tint for proposed */ |
| 104 | +``` |
| 105 | + |
| 106 | +### Support Fixtures |
| 107 | + |
| 108 | +```xml |
| 109 | +<!-- Kitchen counter hint --> |
| 110 | +<rect x="450" y="15" width="50" height="25" fill="none" stroke="var(--text-tertiary)" stroke-width="0.5" rx="2"/> |
| 111 | +<text class="tx" x="475" y="30" text-anchor="middle">Counter</text> |
| 112 | + |
| 113 | +<!-- Balcony (dashed outline) --> |
| 114 | +<rect class="balcony-fill" x="3" y="333" width="200" height="50"/> |
| 115 | +``` |
| 116 | + |
| 117 | +```css |
| 118 | +.balcony { fill: none; stroke: var(--text-secondary); stroke-width: 2; stroke-dasharray: 6 3; } |
| 119 | +.balcony-fill { fill: rgba(93, 202, 165, 0.1); } |
| 120 | +``` |
| 121 | + |
| 122 | +### Room Labels |
| 123 | + |
| 124 | +```xml |
| 125 | +<!-- Room name and area --> |
| 126 | +<text class="room-label" x="90" y="65" text-anchor="middle">MASTER</text> |
| 127 | +<text class="room-label" x="90" y="78" text-anchor="middle">BEDROOM</text> |
| 128 | +<text class="area-label" x="90" y="95" text-anchor="middle">195 sq ft</text> |
| 129 | + |
| 130 | +<!-- Proposed room (in red) --> |
| 131 | +<text class="room-label" x="63" y="268" text-anchor="middle" fill="#A32D2D">BEDROOM 4</text> |
| 132 | +<text class="tx" x="63" y="282" text-anchor="middle" fill="#A32D2D">(NEW)</text> |
| 133 | +``` |
| 134 | + |
| 135 | +```css |
| 136 | +.room-label { font-family: system-ui; font-size: 11px; fill: var(--text-primary); font-weight: 500; } |
| 137 | +.area-label { font-family: system-ui; font-size: 9px; fill: var(--text-tertiary); } |
| 138 | +``` |
| 139 | + |
| 140 | +### Circulation Arrow |
| 141 | + |
| 142 | +```xml |
| 143 | +<defs> |
| 144 | + <marker id="circ-arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto"> |
| 145 | + <path d="M0,0 L10,5 L0,10 Z" class="circulation-fill"/> |
| 146 | + </marker> |
| 147 | +</defs> |
| 148 | + |
| 149 | +<path class="circulation" d="M300,250 L200,250 L145,250 L145,280" marker-end="url(#circ-arrow)"/> |
| 150 | +<text class="tx" x="250" y="242" fill="#3B6D11" font-weight="500">New corridor access</text> |
| 151 | +``` |
| 152 | + |
| 153 | +```css |
| 154 | +.circulation { stroke: #3B6D11; stroke-width: 2; fill: none; } |
| 155 | +.circulation-fill { fill: #3B6D11; } |
| 156 | +``` |
| 157 | + |
| 158 | +### North Arrow and Scale Bar |
| 159 | + |
| 160 | +```xml |
| 161 | +<!-- North arrow --> |
| 162 | +<g transform="translate(520, 260)"> |
| 163 | + <circle cx="0" cy="0" r="20" fill="none" stroke="var(--text-tertiary)" stroke-width="0.5"/> |
| 164 | + <polygon points="0,-18 -5,5 0,0 5,5" fill="var(--text-primary)"/> |
| 165 | + <text class="tx" x="0" y="-22" text-anchor="middle">N</text> |
| 166 | +</g> |
| 167 | + |
| 168 | +<!-- Scale bar --> |
| 169 | +<g transform="translate(420, 300)"> |
| 170 | + <line x1="0" y1="0" x2="100" y2="0" stroke="var(--text-primary)" stroke-width="2"/> |
| 171 | + <line x1="0" y1="-5" x2="0" y2="5" stroke="var(--text-primary)" stroke-width="1"/> |
| 172 | + <line x1="50" y1="-3" x2="50" y2="3" stroke="var(--text-primary)" stroke-width="1"/> |
| 173 | + <line x1="100" y1="-5" x2="100" y2="5" stroke="var(--text-primary)" stroke-width="1"/> |
| 174 | + <text class="tx" x="0" y="15" text-anchor="middle">0</text> |
| 175 | + <text class="tx" x="50" y="15" text-anchor="middle">5'</text> |
| 176 | + <text class="tx" x="100" y="15" text-anchor="middle">10'</text> |
| 177 | +</g> |
| 178 | +``` |
| 179 | + |
| 180 | +## Area Comparison Table |
| 181 | + |
| 182 | +### Table Structure |
| 183 | + |
| 184 | +```xml |
| 185 | +<!-- Header row --> |
| 186 | +<rect class="table-header" x="0" y="0" width="180" height="28" rx="4 4 0 0"/> |
| 187 | +<text class="ts" x="90" y="18" text-anchor="middle" font-weight="500">Room</text> |
| 188 | + |
| 189 | +<!-- Normal row --> |
| 190 | +<rect class="table-row" x="0" y="28" width="180" height="24"/> |
| 191 | +<text class="tx" x="10" y="44">Master Bedroom</text> |
| 192 | +<text class="tx" x="230" y="44" text-anchor="middle">195</text> |
| 193 | + |
| 194 | +<!-- Alternating row --> |
| 195 | +<rect class="table-row-alt" x="0" y="52" width="180" height="24"/> |
| 196 | + |
| 197 | +<!-- Highlighted row (for changes) --> |
| 198 | +<rect class="table-highlight" x="0" y="100" width="180" height="24"/> |
| 199 | +<text class="tx" x="10" y="116" fill="#A32D2D" font-weight="500">Bedroom 4 (NEW)</text> |
| 200 | +<text class="tx" x="430" y="116" text-anchor="middle" fill="#3B6D11">+100</text> |
| 201 | + |
| 202 | +<!-- Total row --> |
| 203 | +<rect x="0" y="268" width="180" height="28" fill="var(--bg-secondary)" stroke="var(--border)" stroke-width="1"/> |
| 204 | +<text class="ts" x="10" y="286" font-weight="500">TOTAL CARPET AREA</text> |
| 205 | +``` |
| 206 | + |
| 207 | +```css |
| 208 | +.table-header { fill: var(--bg-secondary); } |
| 209 | +.table-row { fill: var(--bg-primary); stroke: var(--border); stroke-width: 0.5; } |
| 210 | +.table-row-alt { fill: var(--bg-tertiary); stroke: var(--border); stroke-width: 0.5; } |
| 211 | +.table-highlight { fill: rgba(163, 45, 45, 0.1); stroke: #A32D2D; stroke-width: 0.5; } |
| 212 | +``` |
| 213 | + |
| 214 | +## Layout Notes |
| 215 | + |
| 216 | +- **ViewBox**: 800×780 (portrait for floor plan + table) |
| 217 | +- **Scale**: 10px = 1 foot (apartment ~50ft × 33ft) |
| 218 | +- **Floor plan origin**: Offset at (50, 60) for margins |
| 219 | +- **Wall thickness**: 6px outer, 3px inner (represents ~6" walls) |
| 220 | +- **Room labels**: Centered in each room with area below |
| 221 | +- **Table placement**: Below floor plan with full width |
| 222 | + |
| 223 | +## Color Coding |
| 224 | + |
| 225 | +| Element | Color | Usage | |
| 226 | +|---------|-------|-------| |
| 227 | +| Proposed walls | Red (#A32D2D) dotted | New construction | |
| 228 | +| New room fill | Red 15% opacity | Bedroom 4 area | |
| 229 | +| Circulation | Green (#3B6D11) | New access path | |
| 230 | +| Window glass | Blue (#378ADD) | Glass indication | |
| 231 | +| Bedrooms | Purple/Teal/Amber tints | Room differentiation | |
| 232 | +| Wet areas | Blue tint | Bathrooms | |
| 233 | +| Living | Coral tint | Common areas | |
| 234 | + |
| 235 | +## When to Use This Pattern |
| 236 | + |
| 237 | +Use this diagram style for: |
| 238 | +- Apartment/house floor plans |
| 239 | +- Office layout planning |
| 240 | +- Renovation proposals showing before/after |
| 241 | +- Space planning with area calculations |
| 242 | +- Real estate marketing materials |
| 243 | +- Interior design presentations |
| 244 | +- Building permit documentation |
0 commit comments