Wall Outlet & Light Point Families
Place wall outlets and light points in the viewer, and upload the .rfa families used to render them in Revit
Wall Outlet & Light Point Families
Buyers place wall outlets (Dutch: wandcontactdoos) and light points (Dutch: lichtpunt) directly in the 3D viewer while configuring their house. The geometry that ends up in the exported Revit model comes from two .rfa family files uploaded per-tenant by an admin, so each organization can ship its own standardized components.
This page covers both sides:
- For buyers — how to place and remove outlets and light points in the configurator.
- For admins — how to upload the per-tenant
.rfatemplates.
Placing in the viewer
While configuring a house, two extra buttons sit on the viewer toolbar (right of the camera-mode controls). They are only shown when the project allows additional placements:
| Icon | Tooltip (Dutch) | Places |
|---|---|---|
| 🔌 plug | Wandcontactdoos plaatsen | A wall outlet |
| 💡 bulb | Lichtpunt plaatsen | A light point |
Placing an item
- Click the toolbar button — it turns blue to show placement mode is active. The cursor switches to a crosshair and a ghost marker follows the mouse over surfaces.
- Hover to preview the position on a wall, ceiling, or floor.
- Left-click to confirm. The marker snaps onto the surface and the item is added to the order summary.
- Keep clicking to drop more of the same type, or click the button again (its tooltip flips to Plaatsen annuleren) to exit placement mode.
Keyboard / mouse extras:
- Esc — cancel placement mode without dropping anything.
- Scroll wheel — adjust depth from the camera when the cursor isn't hitting a surface (useful for free-floating placements).
Where placed items show up
Placed outlets and light points appear in the order summary / receipt panel on the right of the viewer, grouped by type:
- A heading per group — Wandcontactdoos or Lichtpunt.
- Below each heading, one row per placement showing its coordinates as
x=… y=… z=…. - A small × button at the end of each row removes that single placement from the viewer and the receipt.
The placements are persisted with the configuration, so when the Revit add-in runs the configuration it knows exactly where to put each instance of the uploaded family.
Admin: Where to find it
- Open the web app at alpha.asrr.nl.
- Go to Settings → Tenant → Configurator.
- Scroll to the Revit families section at the bottom of the tab.
You need the TENANT_ADMIN permission to see and modify these fields.
The two slots
| Slot | Used for | Example filename |
|---|---|---|
| Wall outlet family | Each wall outlet (wandcontactdoos) placed by the configurator | WCD_Standard.rfa |
| Light point family | Each light point (lichtpunt) placed by the configurator | Lichtpunt_Standard.rfa |
Each slot accepts a single .rfa file up to 50 MB. Uploading a new file replaces the previous one — the old blob is deleted from storage automatically.
Uploading
Drop a .rfa file onto the slot, or click to pick one. The file uploads immediately; once it lands you see the filename and size next to a Remove button. There is no separate "save" — the configurator settings save button does not touch these fields.
Removing
Click Remove next to a filename to clear that slot. The file is deleted from blob storage and the slot returns to its empty drop-zone state.
If a slot is empty when the Revit add-in tries to fetch it, the add-in surfaces an error asking the admin to upload a family first.
How the Revit add-in uses them
When the add-in runs a configuration, it:
- Fetches the current tenant via
GET /tenants/me. - Reads
settings.configuratorSettings.wallOutletFamilyandsettings.configuratorSettings.lightPointFamily— each is an asset record with ablobId,name, andfileSize. - Downloads each
.rfaviaGET /blob-storage/download/{blobId}/{name}and caches it locally keyed onblobId(a new upload always produces a fresh id, so the cache invalidates itself). - Loads each family into the Revit document with
Document.LoadFamily(...)and places instances at the coordinates produced by the configurator.
API endpoints
For completeness — all require TENANT_ADMIN:
| Method | Path | Body |
|---|---|---|
POST | /tenants/configurator/wall-outlet-family | multipart/form-data, field file |
DELETE | /tenants/configurator/wall-outlet-family | — |
POST | /tenants/configurator/light-point-family | multipart/form-data, field file |
DELETE | /tenants/configurator/light-point-family | — |
All four return the updated tenant object.