These tutorials cover the 3dshouse Dynamic extension — a parametric furniture plugin for SketchUp. You enter dimensions and the component recalculates its child parts instead of being redrawn from scratch. Everything here builds on SketchUp’s native Dynamic Components, so the techniques work on any SketchUp Pro subscription — Dynamic Components ship with SketchUp 2022 through 2026, but authoring (editing formulas) requires the Pro tier; SketchUp for Web and SketchUp Go cannot use Dynamic Components at all, since neither supports installing extensions — only the desktop Pro and Studio plans can resize and use existing components.
3dshouse Dynamic SketchUp Tutorials: Getting Started with Dynamic Components
Start with how SketchUp Dynamic Components recalculate in 3dshouse Dynamic. A point that trips up most beginners: after you stretch a component with the Scale tool, dependent formulas do not always refresh on their own — you have to right-click the component and choose Dynamic Components → Redraw (or call REDRAW() in a formula) before LenX/LenY and any sizes derived from them update. Until then the geometry can look stretched and skewed rather than re-built. To avoid it, change sizes by typing values into Component Options (right-click → Dynamic Components → Component Options) instead of dragging with the Scale tool.
A few more things worth knowing early:
- The Interact tool only fires
onClickactions — it never edits formulas, so users can run your component without ever opening the attributes panel. - Functions and attribute names in formulas are case-sensitive and must use the exact units SketchUp expects; a value with no unit is read in inches, which silently breaks dimensions for anyone working in millimetres.
- LenX, LenY and LenZ are the lengths along the red, green and blue axes. If you cap a dimension with a limiting formula (for example a SMALLEST() call), test the values at and beyond the limit before you hand the file to a client.
- Do not explode a nested dynamic component that still carries attributes. Child formulas that reference the parent (such as
=Cabinet!LenX) lose that reference, and the parts can shift or distort. To get a static version, work on a copy and delete its attributes in the Component Attributes dialog first. - Very complex components make files slow: save often, and split a large model into several part files to reduce the calculations on each redraw.
Interior Design
For cabinetry, shelving and built-ins, the parametric SketchUp workflow is where Dynamic Components save the most time in interior design. The non-obvious win here is nesting: a child component can reference its parent’s size with formulas like =Cabinet!LenX, so resizing the parent cabinet automatically repositions shelves and dividers — but only the top-level component scales cleanly, so always model the outer box as the parent and keep doors, shelves and hardware as children inside it. Anchor child parts with relative formulas (a percentage of the parent, or its LenX) rather than fixed numbers; otherwise the cabinet stretches while the compartments stay where they were and leave a large gap.
Use the Options panel (the attributes you mark as user-editable) to expose only the choices a client should change — width, number of shelves, finish — and hide the formula plumbing. This keeps a single component standing in for a whole product range instead of duplicating files per size.
- Materials: drive finishes with a Material attribute on each child group, so changing the wood or color is one edit that applies to every part. Avoid hand-painting parts that have a Material attribute: the component overrides the paint when it redraws.
- Axes: keep each component’s axes at the lower-left corner so LenX, LenY and LenZ grow in the direction your formulas expect, and place the component against the floor or wall so its dimensions are easy to snap.
CNC Furniture Production
When the goal is cut-ready CNC parts rather than a render, the same parametric model becomes a sizing engine. Drive panel dimensions from a few master variables (carcass width, height, depth, material thickness) so changing one input re-derives every part. Subtract material thickness explicitly in your formulas — a shelf that is =Carcass!LenX will be too wide once you account for the side panels, so write =Carcass!LenX-2*Thickness to get a part that actually fits. Put the saw kerf and edge banding into the panel size formulas too, rather than leaving the CNC step to compensate: a few millimetres of error per panel add up across a large board.
For export to CAM/nesting software, flatten the model into individual panels and report dimensions from the component’s own attributes rather than measuring geometry by hand, which keeps the cut list in sync every time a parameter changes.
- Name every panel: make each board its own child component with a clear name. Cut-list reports group parts by name and size, so consistent naming gives a shorter list with the right counts.
- Keep the structure flat: parts buried under several levels of nesting are easier to miscount in a cut list, so check the totals against the model, or use a dedicated woodworking cut-list plugin instead of SketchUp’s default report.
- Test the extremes: before the files go to the workshop, enter the smallest and largest dimension sets and check that the cut list still makes sense. Formula errors usually only show up at the limits.
- BevelUp — round or chamfer edges into real geometry, in one click
- Decimify — reduce the polygon count of a heavy model
- Tracepen — trace an image into SketchUp faces
- TileUp — turn a face into real 3D tiles, with a take-off
- Texturic — make seamless tile textures with PBR maps
- SheetUp — turn a SketchUp model into a bill of quantities and cost estimate
- PatchUp — turn selected edges into faces, flat or curved

