The DimSum Defaults tools & Smart Behaviors
Partly availableSome of what this page describes is in DimSum today and some is still coming. Parts marked Coming are designed but not built yet.
DimSum ships a built-in, read-only DimSum Defaults library of worked examples, one saved part and one list, so a new install isn't empty; the three default tools — Linear, Area and Count, which every other tool starts from — sit above the tool list rather than in it; smart Behaviors that measure geometry and expose it as properties start with the Joist Tool and the Beam Tool, in a Framing folder; Pitched Area, Rafter, Wall and Opening are still to come. DimSum never ships hard-coded material rules: a smart tool's fixed parts say where the material goes, and you link them to your own tables.
Overview
A new install isn't empty. DimSum Defaults is a real library that DimSum writes for you the first time you need it. It is read-only — you cannot change anything in it — and it is the same on every machine, because it is generated rather than shipped as a file someone might have edited. You see it in two places: in the Tools panel of any job, and at the top of the Tool Designer's Tools tree — the first heading, with a lock icon, above Custom and your own folders.
What is in it. One tab, Defaults, with two folders:
- Examples — three worked tools with their parts already written: Ext Wall 2x6 (example), Floor Sheathing (example) and Job Extras (example).
- Parts — one saved part, Cat6 Network Cable, ready to load onto any Linear tool.
- Framing — the built-in Joist Tool and Beam Tool, ahead of Examples (below).
It also ships one list, Wall Side (Ext / Int), and the example wall's own Wall Side property points at it — a worked example of a property taking its choices from a shared list.
The three default tools are not in it any more. Linear, Area and Count used to be three rows in a Basic folder of this library. They are the default tools — nothing special, and not part of DimSum Defaults — and every other tool starts from one of them, so they sit above the tool list as three buttons under the heading Start a new tool from; click one to start a new tool of that kind. A Linear tool with no parts and a Linear tool with a whole tree of parts are both tools. The three are out of the tool list entirely, and the Basic folder goes with them.
They come back as rows in the list only if Behind the scenes is switched on, for anyone who wants to look at them. A tool you build yourself and happen to call Linear is your tool and stays in your list — only DimSum's own three, in the read-only library, are taken out.
Everything in it is a starting point, not a rule. Its own description says so: "Starting points, generated by DimSum. Copy one to change it."
What is not in it yet. Only two Behaviors — the built-in engines that generate joists at a spacing, split members at beams, find stock lengths, tag roof edges or count a wall's corners. No Pitched Area tool. No example trade libraries across the CSI divisions, no Assembly examples and no Dynamic Lists with example rows.
Out of the box vs. build your own
- A part called "Studs" is just a formula until you List Match it to a table item like "2x4x92 5/8 Stud" — List Matching is now the Advanced Part.
- "It just works out of the box for everyone": a first-time user can still place a wall and get a material list.
DimSum does both by splitting the work:
| DimSum ships (core, read-only masters) | You build (or copy from the examples) |
|---|---|
| Behaviors: what a Wall, Joist, Beam or Pitched Area measures Coming, and a smart tool's fixed parts (the Joist, the Beam Material…) that say where a material goes, never which one | Parts: what you buy (studs, plates, hangers, sheathing, labor…) |
Base properties: {Length}, {L-Corners}, {T-Intersections}, {Opening Count}, {Joist Count}, {Member Length}, {Eave LF}… Coming | Formulas: how many (e.g. ROUNDUP({Item > Linear} / {Item > O.C.}, 0) + 1) |
| Lookup tables: nominal → actual sizes, stock lengths, pitch factors Coming | List matches: which item (e.g. "2x4x92 5/8 Stud", your price, your Item #) — an Advanced Part; a smart tool's fixed parts are linked and filtered the same way |
| DimSum Defaults — the basic tools, the worked examples and the Cat6 saved part | Your own .tsum library, copied from the defaults and changed |
Everything a behavior computes is a Property, so your parts, labels and reports can use it. DimSum stays trade-agnostic: the framing behaviors are optional tools on top of a core that makes no trade assumptions.
The behaviors and the lookup tables are still ahead.
Where to find it
- Tools panel in every job (the right dock): DimSum Defaults sits under This job, above your own libraries.
- Start a new tool from: Linear · Area · Count — the three default tools, as three buttons above the tool list in the Tool Designer. Not part of DimSum Defaults.
- System Settings → Tools: where new libraries are saved, and the switch Show Behind the scenes in the Tool Designer.
- Tool Designer → Behind the scenes 🔒: what Under the Hood is called — the locked masters behind DimSum Defaults. It is not on the left rail at all unless you switch on System Settings → Tools → Show Behind the scenes in the Tool Designer.
How to use it
Use a DimSum Defaults tool as-is
- Open a job and a sheet. (With no sheet open, the rows are greyed: "Open a page first — a tool is placed on the sheet you are looking at".)
- In the Tools panel, open DimSum Defaults → Defaults → Examples.
- Click the row. That places it: the item appears on the sheet, it is selected, and its drawing tool is armed so you can keep drawing. One
Ctrl+Zundoes the whole placement. - The item arrives with its properties and its whole parts tree. Place Ext Wall 2x6 (example) and you get Plates, Studs, Sheathing and Labor - Framing, already written.
Each row shows a colour swatch, the name and a tag — LF, SF, EA or PART — so you can see what a tool measures before you place it.
A saved part cannot be placed. Click Cat6 Network Cable and DimSum says "This is a saved part, not a tool — open an item and use Load a part… on its parts". That is what it is for: see Parts.
It asks you a question before it lands: Input
Ext Wall 2x6 (example) asks you one question before it lands. Its O.C. property is ticked Input — ask for it when the tool is placed, so placing it opens a small dialog titled Place Ext Wall 2x6 (example) with the tool's own value (16 in) already in the box and its hint underneath. Place puts the wall down with whatever you typed; Cancel or Esc places nothing at all.
Start from an example (the "out of the box" path)
- Tools panel → DimSum Defaults → Defaults → Examples.
- Click Ext Wall 2x6 (example), answer the O.C. question, and draw a wall.
- Its parts already have formulas, so you see a material list the moment the wall has length: draw 100 ft and Studs reads 76.00 (100 ÷ 1'-4", plus one).
- When you're ready to make it yours, right-click the row → Copy into this job, or Edit in Designer → Copy to a folder of my own…, and change the formulas to match how you build.
Change a default: you copy it, you never edit it
DimSum Defaults refuses every write. Try to rename, move or delete anything in it and it says "read-only".
| Where you are | What you click | What you get |
|---|---|---|
| Tool Designer, with a default open | Copy to a folder of my own… on the banner across the top | It copies the tool into a Custom folder of yours — the first in the tree — asking which tab or folder inside it, and opens the copy there. Yours from then on. With no folder of your own yet it says "Make a folder of your own first — right-click Custom in the tree and choose New folder…." |
| Tools panel in a job, right-click a default | Copy into this job | A copy under This job, which places whether or not any library file is to hand |
| Tools panel in a job, right-click a default | Edit in Designer | The Tool Designer opens on it — read-only, with the banner, so Copy to a folder of my own… is one click away |
If you have no library of your own yet, DimSum makes one for you the first time the designer asks for the list: Documents\DimSum Tools\My Tools.tsum. (If a file is already there, it adopts it rather than refusing.)
Save to a folder… and Save as tool… never offer DimSum Defaults, for the same reason — with no folder of your own they say "DimSum Defaults is read-only, and there is no folder of your own to save into." and offer New folder… beside it
Copy a tool: copies are independent
You can copy any tool. Today that means the examples and anything you have built yourself; the Joist Tool and Beam Tool too, and later the other smart tools (Rafter, Wall, Pitched Area). (The three default tools are not copied — you start from one, with its button above the tool list.)
A copy takes the original's functions with it and is not linked back to the master. Everything is copied into the new tool — properties, formulas, the whole parts tree — so you can change anything in the copy without breaking the original. A DimSum update to the master never overwrites your work, and your changes never leak back into the master.
| DimSum Defaults | Your copy | |
|---|---|---|
| Editable | No (read-only) | Yes, completely |
| Gets app updates | Yes — the library is regenerated when DimSum changes it | No — it's yours now |
| Linked to the other | No link at all | |
| Parts, formulas, labels | Shipped defaults | Whatever you make them |
A copy of a smart tool keeps its behaviour. A copy of the Joist Tool still lays out joists, and a copy of the Beam Tool still works out stock lengths. Its inputs and outputs are: they can't be deleted or renamed, but each can take a value, a formula, a list or table link, Input or Hidden, and you can add properties of your own beside them. Its fixed parts come with it and still can't be deleted. A tool's behaviour never changes once it's made: a new tool, a saved part or Start a new tool from is always plain.
The same rule runs one step further: placing a tool copies it into the job. Rename, move or delete the library it came from and the job still opens whole, with every part and every value on the item exactly as it was.
Customize a DimSum Defaults tool (the "build your own" path)
- Open the Tools tab. Open DimSum Defaults at the top of the Tools tree and open the tool you want to start from, e.g. Examples → Floor Sheathing (example). (To start from nothing instead, click Area under Start a new tool from — that makes a new Area tool in your own library, and there is nothing to copy.)
- Click Copy to a folder of my own… on the banner, choose the tab or folder in your own folder, and rename the copy — click its name in the header — e.g. "Floor Sheathing 3/4 T&G".
- On the Properties tab, change what it starts with: the Waste %, the Coverage Size, a colour, a hint, Input on anything you want to be asked about when it is placed. Settings… is on every row preloaded properties included.
- On the Parts tab, build the material list. Load a part… brings in a part you have already saved; the eight part actions, drag and drop and Move to… all work as they do on a job's parts. Set each part's Division and Trade.
Add or remove the example libraries
Coming The screen for adding and removing example libraries has not been built, and there are no example trade libraries to add or remove. What you can do today: your Tools folder is the list (System Settings → Tools). Put a.tsum into it — File → Tool Folders → Add a .tsum to the tools folder… — and it is a folder under Custom; right-click a folder → Delete… sends its file to the Recycle Bin. DimSum Defaults is built in and cannot be removed (Tool folders and files).Use level label prefixes in labels (optional)
Coming — Building Templates (.bsum) have not been built.- In the Building Template (or Level Settings), set each level's Label Prefix (Basement =
B, Main =M). - Prefixes aren't in the default labels; you add them if you want them.
Options & settings
What is actually in DimSum Defaults
Start a new tool from: Linear · Area · Count (the three default tools)
DimSum Defaults
└── Defaults (the tab)
├── Framing
│ ├── Joist Tool JOIST
│ └── Beam Tool BEAM
├── Examples
│ ├── Ext Wall 2x6 (example) LF
│ ├── Floor Sheathing (example) SF
│ └── Job Extras (example) EA
└── Parts
└── Cat6 Network Cable PART
Material Library → Lists
├── Wall Side Ext · Int (DimSum Defaults' own)
├── Division (in every job and every library)
└── Trade (in every job and every library)
shown once, here in
DimSum Defaults — read-only)
Material Library → Tables → DimSum Defaults
(empty for now — read-only, and it says so)The three default tools — what a new tool starts with
These are the buttons above the list, not rows in it. Click one and you get a new tool of that kind, with these values already on it:
| Default tool | What a new tool starts with |
|---|---|
| Linear | Height 8', Waste % 10% |
| Area | Waste % 10%, Coverage Size 32 sf, and Coverage Qty = ROUNDUP({Area} * (1 + {Waste %}) / {Coverage Size}, 0) — sheets, tiles, bundles, whatever your coverage unit is |
| Count | Nothing. A plain counter |
Examples — three tools with their parts already written
| Tool | Its parts and their Qty formulas |
|---|---|
Ext Wall 2x6 (example) (Linear) — Height 9', O.C. 16 in ticked Input, and a Wall Side text property taking its choices from the Wall Side list | Plates ROUNDUP({Item > Linear} * 3 / 16, 0) · Studs ROUNDUP({Item > Linear} / {Item > O.C.}, 0) + 1 · Sheathing ROUNDUP({Item > Wall Area} * 1.10 / 32, 0) · Labor - Framing {Item > Linear} / 100 (hr) |
| Floor Sheathing (example) (Area) | Subfloor 3/4" T&G ROUNDUP({Item > Area} * 1.10 / 32, 0), with Subfloor Glue under it at ROUNDUP({Parent > Qty} / 4, 0) · Nails 8d ROUNDUP({Item > Area} / 500, 0) (box) · Labor - Sheathing {Item > Area} / 1000 * 3.5 (hr) |
| Job Extras (example) (Count) | Dumpster · Permit · Delivery Fee, each Qty 1 |
On the Playground's standard sample (the boxes under the sheet, from the old Test Bench) — 100 ft, 1,000 SF, 10, height 8 ft — Ext Wall 2x6's Studs reads 76.00; draw a 20 ft run on the sheet instead and it reads 16. That is the number to check the library against: 100 ft at 16" o.c. is 75 spaces, plus one stud.
Parts — one saved part
Cat6 Network Cable is a saved part, not a tool, so it is loaded onto a tool rather than placed. Its Qty is {Item > Linear} * (1 + {Slack %}) with Slack % 10%, and it carries a child part, RJ45 Plug, at Qty 2. Load it onto a Linear tool and it measures that tool: 200 ft drawn reads 220.00 ft, with 2 plugs under it.
Its unit is not filled in, and it should be. This page and others have said the part's Qty Unit is ft. The number is right — 220.00 on a 200 ft run at 10% slack — only the unit label is missing. It is a gap in the shipped content, not a decision, and it is one word to fix on your own copy.
Framing: the Joist and Beam tools
| Tool | What it is | Its fixed parts (can't be deleted; Qty can be 0) |
|---|---|---|
| Joist Tool (Area, tagged JOIST) | Lays out joists at O.C. Spacing, with Double, a direction set by clicking an edge (joists run parallel to it) or Draw first joist, cutouts, Layout Start {O.C. Spacing} + 0.25, and Elevation to the bottom of the joist (Joist & Rafter tools) | Joist Material: Qty {Item > Joist Count} ea; Width 1 1/2", Depth 9 1/4"; Joist Width reads {Joist Material > Width}. : the part is renamed Joist, so it reads {Joist > Width}; Joist Material is a list property instead. : Rim Material, Qty {Item > Rim Qty} ea, 1 1/2" × 9 1/4", and one sheathing layer, Subfloor, which can be removed |
| Beam Tool (Linear, tagged BEAM) | Every beam is drawn into the one Beam Tool item and listed under it as B1, B2 …; Beam or Header and Plies asked on placing; Line Width {Beam Material > Width} * {Plies}; Shortest Length 8', Longest Length 20', Length Step 2'; Length Rules; Beam Ends; Elevation to the bottom of the beam (Beam tool) | Beam Material: Qty {Item > Beam Qty} ea, 1 3/4" × 11 7/8" · Flitch Material: Qty {Item > Member Count}, on only for a Header · LF Material: Qty {Item > LF Qty} ft |
- Read-only, like the rest of DimSum Defaults. Until then, Copy to a folder of my own… or Copy into this job — the copy keeps all the tool's behaviour (Copy a tool).
- The fixed parts aren't linked to a table in DimSum Defaults. On your copy you link each to a table of your own and filter it, like any Advanced Part: the Joist Material on Stock Length at least
{Item > Longest Joist}, the Beam Material on Stock Length equals{Item > Ordered Length}. the Joist part is filtered on Call Size equals{Item > Joist Material}and Stock Length at least{Item > Joist Length}, and each joist is matched on its own length. - The Joist Tool's is a span arrow and one formula,
=CONCAT("J", {Mark #}, ": ", {Joist Material > Description}, " @ ", {O.C. Spacing}, """ O.C."), one per section, reading J1: 2x10x16 SPF #2 @ 16" O.C. The Beam Tool's isB{Mark #} ({Plies}) {Beam Material > Description} – {Ordered Length}along the beam, one per item, reading B1 (2) … – 16': each{field}reads in its property's own format. - Tagged JOIST and BEAM in the Tools panel and the designer tree, where an Area tool says SF and a Linear says LF.
- Nothing of yours is touched., so the Framing tools are regenerated again the first time it starts., for the three new fixed parts below.
Example libraries by trade division Coming
The plan is for DimSum to ship example libraries covering the CSI MasterFormat divisions 01–14, 21–28, 31–35 and 40–48, so any trade has somewhere to start. None of this has been built. What ships today is the three examples listed above. The table below is the design.
| Divisions | What the examples cover | Depth in v1 |
|---|---|---|
| 06 Wood, Plastics & Composites | Framing: walls, floors, ceilings, roofs, beams, stairs, decks, blocking, hardware, fasteners | — uses it daily |
| 01–05 | General requirements, existing conditions, concrete, masonry, metals (incl. steel beams) | Usable skeleton |
| 07–14 | Thermal & moisture, openings, finishes, specialties, equipment, furnishings, special construction, conveying | Usable skeleton |
| 21–28 | Fire suppression, plumbing, HVAC, integrated automation, electrical, communications, electronic safety & security | Usable skeleton (the low-voltage sample lives here) |
| 31–35 | Earthwork, exterior improvements, utilities, transportation, waterway & marine | Usable skeleton |
| 40–48 | Process interconnections, material processing, pollution control, water & wastewater, electrical power generation | Usable skeleton |
A "usable skeleton" means the lists, Divisions and common items are there, with example tools where an obvious one exists — enough to start a takeoff in that trade and grow from. Framing is complete; the rest fill in over time.
All of it is example content. Copy it and change it. Nothing in the example libraries is baked into the core, and removing a library never removes a behavior.
Rounding Presets Coming
Rounding is never hard-coded either. Today you round by writing ROUNDUP(…) into a formula — that is the only way, and it is the way the shipped Area tool and every example part do it. The design below adds a Rounding Presets table (a Dynamic List; masters in Behind the scenes) holding every rounding rule, which any property or label can point at:
| Preset | Increment | Direction | Typical use |
|---|---|---|---|
| None | — | Exact value | |
| Nearest 1/16" | 1/16" | Nearest | Display precision |
| Nearest 1/4" | 1/4" | Nearest | Trim, millwork |
| Nearest 1/2" | 1/2" | Nearest | Rough carpentry |
| Nearest 1" | 1" | Nearest | Rough dimensions |
| Nearest 1 cm | 1 cm | Nearest | Metric jobs |
| Nearest 0.5 ft | 6" | Nearest | Half-foot call-outs |
| Nearest 1 ft | 1' | Nearest | Simple labels |
| Nearest 2 ft | 2' | Nearest | Default beam label |
| Nearest 10 ft | 10' | Nearest | Long runs, site work |
| Nearest 20 ft | 20' | Nearest | Very long members |
| Up to next 1 ft | 1' | Up | Ordering |
| Up to next 2 ft (even) | 2' | Up | Ordering dimensional lumber |
| Up to next 10 ft | 10' | Up | Conduit, pipe |
| Up to stock length | from the Stock Lengths list | Up | Ordering anything with stock sizes |
- Users add their own rows (name + increment + direction + unit). Anything you can describe as "nearest/up/down to X" can be a preset.
- "Nearest" ties round up (13' at Nearest 2 ft → 14').
- Use them from a formula as
ROUNDTO({Member Length}, "Up 2 ft"), or from a label's{Label Rounding}property. A part's Qty rounds withROUNDUP(…)in the formula. - Ordering rounding and label rounding are separate settings: a beam can be labeled "8'" and ordered at 10'.
Behaviors
Every tool in DimSum Defaults but the two Framing tools is a plain Linear, Area or Count one — started from one of the three default tools, like anything you make yourself. A tool's Behavior picks the engine: joist or beam on the two Framing tools and their copies, basic on everything else. It's set when the tool is made and never changes. Behaviors measure; they don't decide materials.
| Behavior | What it measures / does | Status | Doc |
|---|---|---|---|
| Basic Linear / Basic Point | Plain takeoff with sensible defaults (Height, Waste %); Point supports typed manual counts | — the Linear and Count tools | Takeoff tools |
| Basic Area | Area, perimeter, cutouts (by points or box), coverage-unit helper | — the Area tool, with its Coverage Size and Coverage Qty | Area & Pitched Area |
| Pitched Area | Eave pick, pitch → vertex Z, edge classification ({Eave LF}, {Rake LF}…) | Coming | Area & Pitched Area |
| Beam | Two clicks = one beam, listed under the tool's one item as B1, B2 … (centreline by default); width = material × plies; stock lengths from Shortest / Longest / Step and the Length Rules; LF past the longest; Beam or Header with Flitch; Beam Ends; label B{Mark #}. : Beam Ends act, joists get hangers at a beam, and Attach to beam replaces Cuts Joists. : the real size (Beam Width × Plies = Member Width, Beam Depth) and a Break Line. Later: TOB/BOB, Stair Stringer mode | (the Beam Tool, in Framing) | Beam tool |
| Joist | Joist layout at O.C., direction from a clicked edge or a drawn first joist, doubling, clipping to the area and cutouts, Joist Count / LF / Longest; daily-driver speed. : each joist its own item with a rounded Joist Length, a Joist Material list and its own values when you want them. : a Joist Hanger where a joist meets a beam, Attach to beam, and a joint where a beam sits below the joists. : rim board on picked edges, with the joists stopping at it, and sheathing layers. : Joist Depth, Auto Attach, hangers at a joist end with no beam, and Show area / Show joists. Later: blocking | (the Joist Tool, in Framing) | Joist & Rafter tools |
| Pitched Joist (Rafter) | The Joist layout with pitch, for rafters | Coming | Joist & Rafter tools |
| Wall | Wall geometry as base properties: {Length}, {Height}, {Runs}, {L-Corners}, {T-Intersections}, {Ends}, {Opening Count}, {Opening Width Total}, {Wall Area}, {Net Wall Area}, {O.C.}… | Coming | Wall tools |
| Opening | Cuts wall layers (deducts area); exposes width, height, sill/head, count by size | Coming | Wall tools |
The Ext Wall 2x6 (example) that ships today is a plain Linear tool with an O.C. property you write yourself — not the Wall behavior.
More behaviors can be added later. Users can copy any of these tools and change the copy freely. Whether they can also author a new behavior (a no-code builder or a sandboxed scripting language) is still open: backlog N12 in
Lists, and the shipped lookup tables
Three of them exist the moment you install:
| List | Where it lives | What you can change |
|---|---|---|
| Division | Every job and every library | Its values — the 35 CSI divisions are yours to renumber. Its name is fixed, because tools and jobs find it by name |
| Trade | Every job and every library | The same: values yours, name fixed |
Wall Side (Ext / Int) | DimSum Defaults, so read-only — copy a tool that uses it and the list travels with it | Everything, in your own copy |
lists live in material folders, apart from the tool folders, and Division, Trade and Wall Side show once, under DimSum Defaults in Lists — an unchanged copy in one of your folders was dropped and its links point at DimSum Defaults' own. Because DimSum Defaults is read-only, Division and Trade couldn't be edited though the table above says their values are yours. — the answer, "Move them to My Tools" — they are in the material folder My Tools, where you can edit them (change the values and Save values), DimSum Defaults' Lists hold Wall Side only, and a tool's built-in Division and Trade offer My Tools' lists while it is on this machine, DimSum's preloaded values only when it isn't. A fresh install puts Division and Trade in the first material folder (Tool folders and files → Division and Trade).
A list lives in the same file as the property pointing at it, and it travels with a tool you place, so a job still opens whole with its library renamed away.
DimSum Defaults ships no tables of its own yet.
The shipped lookup tables are Coming. The design: nominal → actual lumber sizes; engineered lumber (LVL/PSL/Glulam/I-joist series); common steel shapes (W, HSS); stock lengths (8'–24' in 2' steps for dimensional, up to 60' for LVL); pitch factors; rounding presets. They need Dynamic Lists — lists with columns — along with list-linked defaults ( Coming ) and List Matching — now the Advanced Part; was dropped. See Dynamic Lists. Lookup tables describe sizes and geometry, not what to buy.
Build priority
Assemblies › Dynamic Lists / Matching › Wall › Joist / Rafter › Beam › Report Designer › Estimating tab › 3D › Truss / I-joist overlays › Line extraction › Auto-count.
Examples
What you can do today
- Sheathing a floor: copy Floor Sheathing (example) into your own library, change
32to your sheet coverage and1.10to your waste, and you have your own floor tool with subfloor, glue, nails and labor. - A wall of your own: copy Ext Wall 2x6 (example), change the Height to
8', leave O.C. ticked Input so every wall asks for it, and edit the Studs formula if you frame differently. Check it on the Tools Playground before you use it: the standard 100 ft sample should read 76 studs at 16" o.c., 51 at 24". - A cable run: click Linear under Start a new tool from, name it "Cat6 Run", open its Parts tab and Load a part… → Cat6 Network Cable from DimSum Defaults. The cable, its 10% slack and the RJ45 Plug come with it. Type
ftinto the box beside the cable's Qty, because the shipped part does not carry one. Add J-hooks and labor as two more parts. - Job extras: copy Job Extras (example), add your own lines (Portable Toilet, Fuel), and place one Count item per job with a typed count of 1.
Designed, not built (the smart tools)
- Framing: copy the Joist Tool → "Floor Joist 2x10 @ 16" O.C." with a SubDivision of "Main Level Floor". Behavior stays Joist. Its Joist Material is already there, Qty
{Item > Joist Count}: link it to your Dimensional Lumber table, filtered on Call Size equals 2x10 and Stock Length at least{Item > Longest Joist}. - Beams: copy the Beam Tool → "LVL Beam 1 3/4 x 11 7/8", filter its Beam Material on the LVL rows and Stock Length equals
{Item > Ordered Length}, link the LF Material to the LVL sold by the foot, and add your Length Rules. - Decks: copy the same Joist Tool → "Deck Joist 2x8 PT @ 16"", with the Joist part filtered to the treated material. There is no separate deck tool.
- Concrete: duplicate Area Tool → "Slab 4" w/ Vapor Barrier" with Thickness 4", Extrude Down, and parts for concrete (cu yd) and poly rolls. Behavior stays Basic Area. Footings are built the same way from a Linear tool with custom properties (Bar Count, O.C., Concrete Type).
- Roofing: duplicate Pitched Area Tool → "Roof – Arch. Shingles" with Waste % linked to the 25% row of the Waste % list and a 3-bundles-per-square shingle part.
- Low-voltage: duplicate Linear Tool → "Cat6 Run" with parts for cable (LF + slack), J-hooks every 4' and labor; duplicate Point Tool → "Data Drop" with a box List Match.
Tips & shortcuts
- Never start from scratch: copy the closest default or example and change it.
- Name copies with the key spec ("2x10 @ 16" O.C.") so the Tools panel reads like a spec sheet.
- Keep your copies in your own
.tsum(e.g.MyTemplates.tsum) so you can share them. - Use the Playground before you use a tool on a job. A quick run on its sheet, or a sample measurement in the boxes under it, catches a wrong formula in seconds; finding out on a real job takes minutes.
- Place a default once in a scratch job just to read it. Everything it does is in its properties and its parts, and reading a working one is faster than any explanation.
- Use property-driven colors (e.g. Wall Type "Ext 2x6 10'" = Dark Teal) so every matching instance gets its color automatically.
Rules, limits & edge cases
- DimSum Defaults cannot be edited, renamed, moved or removed. Every write is refused with "read-only". Copying is the only way to change one.
- It cannot be saved into. Save to a folder… and Save as tool… never offer it, and say why.
- A saved part is not a tool. Clicking Cat6 Network Cable in the Tools panel does not place anything; it tells you to use Load a part… on an item's parts instead.
- A copy never tracks the default it came from. That's the point — but it also means a genuine improvement in a later DimSum Defaults won't reach your copy; compare them by hand if you want it.
- A placement is a copy. Move or delete the library afterwards and the job still opens whole. A library whose file has gone is shown greyed with the reason, never hidden: "DimSum cannot find
<file>— it was moved, renamed or deleted. Everything already placed from it is still whole in this job." - A tool can't be placed with no sheet open; the rows grey with the reason.
- The three default tools cannot be placed from the Tools panel, because they are not in its list. Start a new tool from one, then place that.
- Division and Trade can be pointed somewhere else, but not renamed or deleted. Jobs and tools find those two lists by name, so Rename and Delete are greyed with the reason; their values are yours to change.
- Rounding presets are shared, so editing one changes every property pointing at it — add a new row instead when only one tool should change. Coming
- A tool's Behavior never changes. It's set when the tool is made — joist or beam for the Framing tools and their copies, basic for everything else — and nothing changes it afterwards, so a Point tool can never become a Joist tool.
- A smart tool's fixed parts can't be deleted, moved under another part or given another Type, in the tool or on an item. Set the Qty to 0 instead (Materials Library → Fixed parts).
- Label Prefix is optional and not in the default labels.