fforma
PERSONAL WORKSPACE / CONCEPT DESIGN
● All changes saved
Drag to orbit · Scroll to zoom · Click an object to edit
N
╱
S
↳ Selection tool▦ Snap 0.25 m
A NEW PERSPECTIVE

Start with a space.

Choose a layout or start from scratch. Your current design can be restored with Undo.

Concept layouts with editable objects. Stairs, circulation, and dimensions need review for your design.

TAKE YOUR DESIGN FURTHER

Export your project

Hidden objects are excluded. Models use meters and Y-up coordinates.

glTF includes procedural surface textures. OBJ exports geometry only. These are concept models. DWG, STEP, and parametric CAD history are not included.

Manage floor

Removing a floor also removes its objects. Undo restores them. Floors above move down 3 meters.

A few useful shortcuts

Arrow keys
Nudge by the snap step (0.1 m with snap off): X/Z in plan or orbit; screen-horizontal/Y in elevations. Shift = ×10; Alt = ÷10. Groups move together.
Enter / Backspace
Finish a polygon floor / remove its last corner
Shift-click
Add/remove objects from the selection
Ctrl + A / Ctrl + G
Select active floor / group selection
Ctrl + Shift + G
Ungroup selection
V / M / W / R
Select / move / wall / room
F
Frame selected object, or fit the floor
Ctrl + D
Duplicate the selected object
Delete
Delete an unlocked object
Ctrl + Z / Ctrl + Shift + Z
Undo / redo
Ctrl + S
Download the project file
Esc
Cancel drawing or exit walkthrough
Right-drag / Shift-drag
Pan the design view
Walkthrough
WASD to move; drag to look; Q/E to move vertically. Free navigation without collision.
ON THIS DEVICE

Your project shelf

Save separate designs and reopen them here. This library stays in this browser; download project files for a portable backup.

BRING YOUR OWN OBJECTS

Import an OBJ model

Choose a mesh file to inspect its dimensions.

Geometry only; MTL files and textures are not imported. Up to 5 MB and 25,000 triangles. The model is placed at the view center and can be moved and resized.

REUSE WHAT YOU CREATE

Object assemblies

Keep furniture sets or furnished rooms in this browser. Choose Place, then click the floor. Each copy has independent objects and forms one group.

Up to 20 assemblies, 150 objects each, from one floor. Downloaded project JSON includes placed copies; the reusable shelf is stored separately on this device.

SAVE A PERSPECTIVE

Named views

Save up to 12 orbit, plan, or elevation views in this project, including floor visibility and section settings.

FROM MODEL TO DRAWING

Drawing workspace

Print at 100% on A3 landscape to preserve scale. Drawings exclude hidden objects and ignore section clipping. Elevations are concept mesh projections, with approximate depth sorting.

CREATE WITH PRECISION

Build & trace

Create a complete rectangular shell on . The result is an editable group, not a live parametric feature.

Floor spacing remains 3 m. Ungroup after creation to edit individual walls and furniture. New rooms can overlap existing geometry; choose the center coordinates deliberately.

PLAN THE DETAILS

Interiors & review

Create a straight kitchen run on . Cabinet fronts face local +Z. Coordinates set the center of the base run.

Creates independent editable objects in a group. Upper cabinets sit 0.55 m above the counter. No room fitting or automatic wall attachment. Ungroup to edit individual modules.

EXPLORE YOUR DESIGN

Layers & options

Organize objects with named layer tags. Layer controls set the visibility and lock flags on their member objects.

Assignments include the selection’s groups, walls, and attached openings. Up to 24 named layers. New objects start unassigned; duplicates and assemblies retain their tags. Empty layers disappear. Rename merges are prevented. Removing a tag preserves objects, visibility, and locks. Show all / Unlock all resets individual member flags.

WORK TO A DATUM

Precision tools

Place a point on the selection’s nominal bounding box at exact world coordinates. Group spacing and wall attachments remain intact.

Uses rotated nominal width/depth bounds and the lowest object base. Decorative parts may extend beyond nominal dimensions. Floor assignments remain unchanged when moving vertically. This is a one-time placement, not a constraint.

TAKE YOUR DESIGN OUTSIDE

Exterior builder

Build on . Results are grouped ordinary objects; ungroup to edit individual members.

Railing sides

The deck top sits at the chosen elevation. Supports extend downward from the slab underside; zero omits them. Railing corners share posts. Railings sit 0.06 m inside the perimeter. Deck finish is wood; the framing finish applies to posts and rails. New slabs count toward gross area and finish takeoffs.

Concept geometry only: member sizes, guards, foundations, loads, connections, and building regulations are not designed or verified. Up to 500 components per generated group and 1,000 objects per project. Assembly-shelf capture is limited to 150 objects. These generators do not detect collisions.

ARRANGE A SPACE

Furniture layouts

Create an editable group on .

At least 0.55 m of table length per side chair. Chairs face the table with nominal 0.1 m clearance. The rug is a separate editable object. Ungroup to adjust individual pieces.

TAKE IT TO THE NEXT TOOL

CAD & handoff

Export editable 2D plan linework or collect a portable design package.

Plan preview

SVG preview of the same floor. DXF uses untextured linework, not these fills.

CAD layers

ZIP contents

DXF uses AutoCAD 2000 ASCII LINE/TEXT entities, with X → X and world −Z → CAD +Y. Door swings use segmented linework. Floors follow polygon boundaries and enclosed stair cuts; furniture/imported assets use nominal footprint outlines. Roofs and reference images are excluded. Dimensions are independent line/text annotations, not associative CAD dimensions. DXF import and DWG/STEP are not implemented.

The ZIP includes a complete project JSON (all floors, hidden objects, references, and saved options), visible floor SVG/DXF drawings, scoped schedules and finish takeoff CSV, and a README. Optional glTF follows ZIP floor scope and excludes hidden objects. SVG, CSV dimensions, and glTF use meters; only DXF follows the unit selector. ZIP is uncompressed, limited to 60 MB, and generated locally in this browser.

YOUR WORKSPACE, AT HAND

Find a tool

↑ ↓ to choose · Enter to run · Esc to close. Ctrl K / ⌘ K opens this launcher when no dialog is open. Model-editing commands respect the current selection and locks.

KEEP TRACK OF YOUR DESIGN

Find objects & sets

All matching objects are affected; the table shows the first 100. Selection expands to whole groups and wall/opening relationships. Ungroup to select individual group members. Visibility and lock actions affect exact matches, are independent, and support Undo. Hidden objects remain hidden when selected; use a row’s Reveal action to show its group.

PRECISION WORKSPACE

Arrange objects

Each group and its wall openings move as one unit. The first selected unit can serve as an alignment reference. Hidden selected objects are included. Floor assignments stay unchanged.

Spacing follows the current order along the chosen axis. Equal centers retain the end centers; equal gaps retain the outer edges. Exact gaps start at the minimum selection edge or the exact coordinate. Center spacing may overlap objects of different sizes. Bounds are nominal, not a collision check.

Before arrangement

After arrangement

Plan previews show X/Z only. Use the movement table for elevation changes.

ROOM PLANNING

Furnish a room

Create editable bedroom, bathroom or office furniture. Add a room shell, or place furniture on an existing floor.

Room labels use their base elevation and clear rectangular boundary. Furnishing presets still apply their own size and spacing limits.

Placement and fit notes

The shell has 0.12 m walls, a centered south entry and a north window except in bathrooms. Presets use nominal furniture bounds. Check door swings, existing furniture, stair cuts and circulation separately; this is not an accessibility or building-code check. Fitting copies the floor center, rotation, top elevation and bounding size; polygon floors may reject a layout.

Layout clearances

Furniture schedule

FACADE DESIGN

Facade windows

Create repeated, wall-attached windows with a proposed elevation before applying. Existing doors are always retained.

Spacing and replacement notes

Equal spacing uses the chosen count and symmetric edge margins. A single window is centered. Exact-gap rows are centered; auto count fits up to 40 windows per wall. At least 0.1 m separates new windows from other openings, and 0.08 m remains above each window. All target walls must pass; no partial changes are applied.

Replacement removes windows only on target walls and creates new IDs. Doors remain. Locked target walls or openings block the operation. Selected groups may include several walls. Hidden selected or individually chosen walls keep new windows hidden. Window opening ratios use nominal window width × height divided by gross wall area, including retained windows; they are not glass-area, daylight or code calculations.

Proposed new windows use green outlines; retained openings use muted outlines.

BUILDING FRAME

Structural grid

Create editable columns, beams and slabs on a rectangular bay grid. Storey spacing is fixed at 3.00 m, matching the project floors. Member sizes are concept geometry, not engineered sections.

Member sizes and slab options
Placement and floor fitting

Fit copies the selected rectangular slab center, rotation, top elevation and footprint, and turns off the base slab. It is a one-time match; later parameter changes can move members outside that footprint.

Frame and takeoff notes

Columns stop at beam undersides; beams sit below upper slabs when enabled. Beam lengths include one column width, so joints overlap. Each floor has its own editable group. Top slabs use an additional floor entry. Existing floors and objects are preserved. Volumes are nominal bounding-box totals without joint deductions; no loads, foundations, connections, collision avoidance or structural/code checks are performed.

ROOF PLANNING

Roof builder

Create a solid concept roof mass with optional fascia, gutters and square downpipes. Fit to a slab or visible wall tops, then adjust the roof before creating an editable group.

Roof placement and fitting

Slab fitting uses its top directly, without a wall-height offset. Wall fitting bounds all visible walls on the chosen roof floor at the current roof rotation and uses the highest wall top. Fitting is a one-time placement and preserves existing objects.

Fascia and rainwater parts

Eaves-only gutters follow both low edges on a gable, the low edge on a shed, and all edges on hip/flat roofs. Downpipes end at the specified length, without finding terrain or drains.

Roof geometry and area notes

The existing roof mass geometry fills the roof volume; it is not a thin layered roof assembly. Hip ridges follow the longer side automatically. Covering area is the nominal upward-facing roof surface including overhangs; no laps, waste, fascia joints, openings, drainage capacity, structural or code calculations are included. Fitting irregular slabs is unsupported. New components do not remain linked to walls or slabs after creation.

FLOOR PLAN BUILDER

Multi-room planner

Generate two banks of rooms around a central corridor, with one shared slab, partitions and attached doors/windows. Every part remains editable.

Plan placement
Room areas and furnishing

Room and corridor areas use clear rectangular dimensions between wall faces. The gross slab includes its outer wall allowance; areas are not code-defined floor areas. Presets only name rooms; they do not add plumbing, furniture or an engineered layout. The south entry connects to the corridor. Room doors swing toward the rooms. Door swings, circulation and existing objects are not collision-checked.

Select an individual room label and open Furnish a room → Fit to selected floor or room label to plan furniture inside that room. If you group the whole floor plan, ungroup it before selecting one label. Labels are planning boundaries; moving walls does not resize them automatically.

STAIR PLANNING

Stair planner

Create editable straight, L-turn or U-turn stair assemblies. Calculated steps share one riser height; the existing stair mesh models one going per riser, including the top tread.

Landings and flight rails
Slab levels and automatic opening

Level fitting needs adjacent project floors and copies the physical slab-top difference. Only the final flight can cut the upper slab when its full footprint is contained. Landing/headroom openings are not designed. Overlapping existing stair openings may suppress a cut; the required-opening check blocks that case.

Stair placement
Stair geometry limits

Each existing flight needs 6–32 modeled steps; automatic mode may use extra steps to meet that mesh limit. All assembly parts stay assigned to the starting floor, including landings at higher elevations. Landing slabs add to gross slab-area summaries. The unfolded profile uses one landing-length allowance per landing, not a measured route through a turn. Supports end at the assembly base. Flight rails use existing concept geometry; landing guards, foundations and connections are not generated. No headroom, accessibility, egress, handrail or code validation is performed.

INTERIOR CEILINGS

Ceiling & lighting

Plan a solid or equal-tile ceiling with perimeter trim and surface-mounted downlights. Panels and lights become separate editable groups on the chosen floor.

Downlight layout
Perimeter trim
Ceiling placement and room fitting

Fitting copies a rectangular slab or room-label footprint, rotation and base elevation. Clear height is measured above that base. It is a one-time match; later changes do not constrain the layout to the room. Polygon slabs are unsupported.

Ceiling geometry and lighting notes

Tile counts round up to the target module, then all panels share equal sizes with open joints. Trim is four butt-jointed strips below the ceiling. Lights are surface-mounted boxes without panel cutouts. Panel and trim quantities are nominal face areas without overlap deductions. The planner allows 200 panels per assembly and 16 downlights per project. Only the first 16 visible downlights emit point lighting after manual copying or imports. Lights use illustrative point lighting; no lux, wiring, fire, suspension or code calculations are performed.

Hidden panels and trim can be shown through Layers & options or Find objects & selection sets. Overhead ceiling parts are omitted from the ordinary floor-plan view, SVG and DXF; use this reflected ceiling plan for the overhead layout. Visible parts remain in 3D exports. Ceiling panels do not add to gross slab area.

WARDROBES & SHELVING

Storage planner

Create editable wardrobe and shelving components with equal bays, internal shelves, hanging rails, drawer boxes and optional fronts.

Wall fitting

Wall fitting preserves storage size, checks wall length/height and attached opening overlap, then copies position, orientation and wall-base elevation. Local +Z faces the fronts. The opposite wall side rotates the unit 180 degrees. Fitting is a one-time placement; later edits do not recheck the wall. Existing room furniture and door swings are not checked.

Storage placement
Storage geometry and parts notes

Shelf bays use equal clear compartments above the drawer stack. Hanging bays receive one upper shelf and a square concept rail. Drawers have an open box and handle but do not slide; fronts do not swing. Fronts and handles form a separate group and can start hidden. Reveal them with layer or finder controls. Fronts extend beyond the carcass depth.

The elevation omits fronts, handles and the back panel to show internal planning. Parts are nominal editable box components. Board face area sums each board’s largest face, including planned hidden fronts, without nesting, edge banding, hardware, saw kerf, joints, load, anchorage or fabrication allowances. Parts are not a manufacturing-ready cut list. Existing beam objects carry these components through project saving and mesh/CAD exports.

INTERIOR WALL FINISHES

Wall finishes

Create editable wall panels, vertical slats and trim around existing rectangular door and window openings.

Board and slat spacing
Skirting and top rail
Wall edges and opening clearance
Finish geometry and quantity notes

Boards share equal widths with open joints. Slats keep their chosen width and center spacing with equal end margins. Panels and trim subtract all attached openings, including hidden ones, plus the chosen clearance. Skirting starts at the wall base; the top rail sits over the panel at its upper edge. Corners are square ends without automatic miters or adjoining-wall trimming.

Each wall face becomes a separate editable group. Existing walls and openings stay unchanged, including their locks. Finishes are independent after creation: moving walls or openings does not recut them, and another run adds another assembly. Undo removes the last operation. Existing finishes, furniture, substrates and door swings are not collision-checked.

Net finish area excludes board joints, slat gaps and opening clearances. Trim quantities divide each remaining face area by its nominal full height, so partial-height pieces give full-height equivalent lengths. The CSV lists actual rectangular pieces. No waste, edge treatment, fixing, fire, moisture, acoustic, loading or code calculations are included.

PLAN DIMENSIONS

Dimension Studio

Generate wall lengths, opening chains or floor-boundary dimensions. Edit individual dimensions and carry extension lines and units into plan, SVG, PNG and DXF output.

Edit saved dimensions

The caption is added before the measured value. Update applies editor changes; Add creates another dimension. Dimensions keep fixed coordinates and do not follow moved model objects.

Dimension geometry and export notes

Wall chains use wall centerline endpoints and attached opening edges, including hidden openings. They measure horizontal opening widths and intervening lengths, not door clearances or inside wall-face dimensions. Boundary dimensions follow the outer slab or room-label edges; they exclude stair openings. Boundary offsets point outward from polygon winding.

All dimensions are snapshots. Duplicate geometry with the same offset, unit and caption is skipped. Generation previews include current saved dimensions; applying adds only new entries, up to 1,000 per project. Plan views show lines when the Dimensions switch is enabled. SVG and annotated DXF always include saved dimensions. PNG follows the visible plan view. DXF uses linework and text rather than associative CAD dimension entities. Section clipping omits crossing dimension segments rather than trimming them. Floor copying does not copy dimensions.

Saved dimensions replace automatic floor-size labels on that floor; floor-area labels remain.

New project saves use format 15. Earlier projects remain supported. Old measurements use zero offset and meters in plan/SVG, while legacy DXF labels follow export units. New dimensions save their chosen label unit independently of DXF coordinate units. Table previews show the first 200 current-floor entries; CSV and SVG include all of them.