# ParaShape > Parametric 3D modeling for SketchUp and the browser. Build configurable, parameter-driven components (cabinets, shelving, framing, furniture) that you drop into a SketchUp model or author in a web app. Every model is a small JSON definition — change a parameter and the geometry rebuilds; share it by URL, embed it, or fork it. ParaShape's primary users are SketchUp users (architects, interior and furniture designers), not developers. Geometry is built from a profile→extrude / surface→mesh pipeline rather than fixed primitives. ## App - [Model workspace](https://parashape.com/model): the full workspace — model catalog, 3D viewport, and a node panel editing the same expression-first JSON directly. `/model/ID` opens a saved model (immutable uuid, no slug); guests view/orbit/export freely, Save/Clone/Translate/Embed are auth-gated actions in the panel menu. No install; create, save, and share from any device. - [SketchUp host](https://parashape.com/sketchup/v1/): the plugin UI. Place a parametric component into your model; its JSON is stored inside the SketchUp component so it stays editable in the .skp. Plugin loads this URL directly (online-only, no offline bundle). - [Configurator](https://parashape.com/configurator/ID): same catalog + viewport layout as the workspace, but the right panel is a lean ConfiguratorPanel — visible params only (slider/checkbox/color), no node editing, no Save/Clone/Translate. - [B2B configurator embed](https://parashape.com/embed/ID): origin-gated iframe page — viewport (left) + ConfiguratorPanel (right, visible params only), no catalog. Checks `document.referrer` against `allowed_origins` when loaded in an iframe (direct access always allowed). Manage via **Embed settings…** in the model workspace header menu (owner only). API: `GET /api/embed-origins?id=:id` → `{ origins: string[] | null }` (null = unrestricted, [] = disabled); `POST /api/embed-origins` body `{ id, origins }` saves the whitelist. Embed snippet: `