Skip to content

Tool Designer ​

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.

The Tools tab is where you build reusable tools — their properties, formulas and parts — keep them in tabs and folders inside your own library file, try them out by drawing on the Tools Playground before anyone uses them on a job, and then place them into a job, parts and all.

Overview ​

A tool is how you place things on the canvas: its type (Linear, Area or Count), its colour, its properties and formulas, and its parts — the material and labour lines it rolls up into. You build it once in the Tools tab, and every time you draw with it the quantities come out on their own.

Three tools come with DimSum — Linear, Area and Count, the default tools — and they are nothing special: every other tool starts from one of them. A Linear tool with no parts and a Linear tool with a whole tree of parts are both tools.

A library also holds saved parts — a part on its own, with its own properties and child parts, ready to load into any tool.

The left rail of the tab lists everything that will live here.

Area on the railWhat you build thereState
ToolsThe tools themselves, the parts under them, and saved parts
Material LibraryLists a property can choose from, and Tables — in DimSum Defaults and Custom — whose every row is a material (The Material Library)It replaced two entries, Materials and Lists & Tables, which are gone from the rail. its folders are the material folders, apart from the Tools tree's
AssembliesLayered floors, walls and roofs — and the BIM-style builder (Assemblies)Coming; the BIM builder with the 3D work, / Coming

There is no longer an area on the rail for the locked masters. What used to sit there as Under the Hood is now called Behind the scenes, and it is not on the rail at all unless you ask for it: System Settings → Tools → Show Behind the scenes in the Tool Designer. Switched on, it appears and the three default tools come back into the tool tree as rows. See Behind the scenes.

Everything you build is saved in .tsum files that you can keep, back up and send to anyone (Tool folders and files). the screen called each one a library and showed one at a time; each one is a folder under Custom, and every folder is on screen at once (Folders). tool folders and material folders are kept apart, in two places on disk (Tools and Materials apart).

The Tools tab ​

Its own tab, full width, with no job open ​

The top bar is Home | Takeoff | Estimating | Tools. The Home screen has a Tool Designer button for exactly that.

And you can always get back out.

Undo and Redo sit in the bottom bar, after Snap and Ortho, and the empty strip that held them across the top of the Tools tab is gone — The top bar's own undo arrows are the job's, and stay. Every folder is on screen at once now, so there is nothing to pick — Folders.)*

The tree is as wide as you make it ​

  • The Tools tree's right edge is a handle, Resize the Tools tree. Drag it, or focus it and use the arrow keys.
  • It goes up to 25% of the window, and no further: the pane on the right — the open tool — is never less than 75%.
  • In the Material Library the folders column resizes the same way.
  • The width is remembered on this computer, so the tree opens as wide as you left it.

One Undo for every folder ​

Ctrl+Z in the Tools tab undoes the most recent edit, whatever folder it was in, and never touches the job. Ctrl+Z in Takeoff or Estimating undoes the job, and never touches a folder.

  • The tooltip names what and where — Undo Edit cell in My Tools, Undo Add table New table 1 in Framing. Press it again and it goes back through your edits in the order you made them, across folders.
  • A folder rename is in it too — Undo Rename folder to Trusses in Trusses — and the file follows: undo the rename and Trusses.tsum takes its old name back; redo it and it is Trusses.tsum again.
  • A move to another folder is two steps in the one Undo — the copy there, then the delete here (below).
  • Each .tsum keeps its own history inside it, and DimSum remembers the order edits happened in, so after a restart the most recent edit across all folders is still the first one undone.
  • Deleting a folder is the one thing Undo cannot bring back — the file goes to the Windows Recycle Bin, and the Bin can.
  • Tool folders and material folders alike, in the order edits happened; where a tool folder and a material folder share a name, the tooltip adds the place — in My Tools (Material Library). It stops at the one-time move of your tables into material folders: Ctrl+Z cannot walk a tool file back to before its tables left (Tools and Materials apart).

Folders, not libraries ​

· "We wont have that Library selector at the top any more, and anytime you load into a project or open the software, you will see all of the tables/ lists/ and the tools that are saved in the folder."

Everything in your tools folder shows at once. The Tools tree reads:

DimSum Defaults                (lock icon — read-only)
  Defaults
    Framing
    Examples
    Parts
Custom
  Framing
    ‹tab›
      ‹folder›
        ‹tool›
  My Tools
    ‹tab› …
  • DimSum Defaults is built into DimSum, read-only, the same on every machine — with its lock icon, and its Defaults tab holding Examples and Parts. the tab holds Framing too, with the built-in Joist Tool and Beam Tool, tagged JOIST and BEAM where other tools say SF or LF, (The DimSum Defaults tools). That Framing is DimSum's own; the Framing under Custom in the examples on this page is a folder of your own.
  • Custom holds one folder per .tsum file in your tools folder (System Settings → Tools → Tools folder, Automatic — Documents\DimSum Tools), named by its file and listed alphabetically. Your My Tools.tsum and Framing.tsum are the folders My Tools and Framing — nothing was converted, and nothing in the file changed.
  • Inside a folder nothing changed. A folder holds its tabs, and they hold folders and tools to any depth, as before. The Material Library showed the same folders, each with its own tables and lists; now it shows material folders of its own (Tools and Materials apart). Custom folders themselves are one level deep — a Custom folder is a file.
  • Start a new tool from Linear · Area · Count stays above the tree, as it has
  • Click it and it opens, in its own folder; nothing switches.

Make, rename and remove folders by right-clicking them:

Right-clickWhat you get
CustomNew folder… — asks for a name and makes ‹name›.tsum in your tools folder. Show the tools folder opens it in Windows Explorer
A Custom folderNew tab — straight into that folder. Rename… renames the folder and its file; a name another folder has is refused inside the box — "Framing" is already a folder. — and the old name is remembered, so jobs that took values from it still find it. Show in Explorer shows its file. Delete… asks in DimSum's own dialog — "Delete Trusses? Trusses.tsum goes to the Windows Recycle Bin. Undo can't bring it back — the Recycle Bin can." — and the file is never deleted outright
DimSum DefaultsThe same items, greyed, each saying "DimSum Defaults is read-only."

Where a new thing goes: the folder of whatever is selected. The buttons under the tree say which, so you never have to guess: + Tab in Framing, Folder, Tool. In the Material Library they read Table in My Tools, Import… into My Tools and Create a CSV template… — and clicking a table in My Tools is what makes My Tools the target.

Moving between folders. Dragging a tool, or Move to…, works across folders. A move to another folder is a copy there, then a delete here — two steps in the one Undo.

Starting a folder from another. Save As is gone, and nothing replaces it. A .tsum copied in Explorer shows greyed, because it is a copy of another folder.

Share a folder by sending its file. A folder is one .tsum: email it, put it on a USB stick or a shared drive. Whoever gets it puts the file into their tools folder — by hand, or with File → Tool Folders → Add a .tsum to the tools folder… — and it appears under Custom as a folder of its own. DimSum looks when it starts and again when its window comes back to the front.

The File menu is File → Tool Folders → New folder… / Show the tools folder / Add a .tsum to the tools folder… — and, Show the materials folder and Add a .tsum to the materials folder….

Nothing disappears without a reason. A file DimSum cannot read shows as a greyed folder with the reason, and System Settings → Tools names it too. A folder another copy of DimSum has open is read-only here, and says so.

Tools and Materials apart ​

Same file type, two places. Every .tsum in your tools folder (Documents\DimSum Tools) is a folder in the Tools tree; every .tsum in your materials folder (Documents\DimSum Materials, System Settings → Tools → Materials folder) is a folder under Material Library → Custom. The Tools tree shows only tool folders and the Material Library only material folders; DimSum Defaults is in both — its tools in the Tools tree, its lists and tables in the Material Library.

  • Right-click Custom → New folder… in the Tools tree makes a tool folder. In the Material Library, right-click Custom for New folder…, Show the materials folder and Add a .tsum to the materials folder…; the New folder box says "A new folder under Material Library → Custom, for tables and lists. It makes no tool folder." Rename…, Show in Explorer and Delete… work as above, each in its own place.
  • A tool folder and a material folder may share a name — your My Tools is both. A name has to be unique only within its own place; where two share one, the Undo tooltip names the place: in My Tools (Material Library).
  • Tables and lists are made only in material folders — the buttons read Table in My Tools, Import… into My Tools and, under Lists, List in My Tools; + Tab and + Tool only in tool folders.
  • Undo in the tool file stops at the move. Full detail: Tool folders and files → Tools and Materials apart.
  • A tool's built-in Division and Trade properties offer My Tools' lists while My Tools is on this machine — add a division there and it shows up in every tool's Division — and DimSum's preloaded values only when it isn't (Tool folders and files → Division and Trade).
  • Every link is the another folder kind now. A property linked to a table or a list takes its choices from the material folder while it is on this machine; a pick copies the values in, with the folder's, table's and row's names — Undo Choose Fox in Framing — and newer values come through the update screen. Nothing follows a row live across files.
  • Add as a part is gone from the table rows. The missing … label stays at the end of the row. A material becomes a part through the Parts tab's + → Load part… (Saved parts).
  • A file holding something its place doesn't show — a tool file still carrying a table — keeps it, and System Settings → Tools names it, never silently.

Parts stay linked to the Material Library ​

Linked, not live. A part loaded from a table row through Load part… is still a copy — its values frozen into the tool, with the folder's, the table's and the row's names beside them — so a tool folder never needs a material folder to open. Linked means those names are kept and used: when the row or its table changes, the Tool Designer asks, and never changes the part behind your back. Parts load linked.

What counts as a change — anything that would make a part loaded today differ from one loaded before; the screen says it in one line: "a price, a size, or a column's Type, Units or Group".

Change in the Material LibraryWhat the linked part is offered
A cell of its row — a price, a sizeThe new value, old → new: Cost Each 3.48 → 3.79
A column's settings — Type, Units, GroupThe new setting: Item # — Type: Text → Number. A value that won't convert to the new type is kept as it was — Item # STUD-92 stays STUD-92
A column addedA new property on the part
A column removedOffered as removed — the part keeps its value unless you take it

Picks are linked the same way. A property linked to a table, with a row picked on it — Critter's Frog, from Common Animals — comes from a Material Library row too, and is asked about on the same screen as the loaded parts.

The update screen, in the Tool Designer.

  • The same screen jobs use — Update from the Material Library. Its head counts what is waiting — "1 place to review" — and says what it is for: "1 part or tool in your tool folders came from a Material Library row that has changed since — a price, a size, or a column's Type, Units or Group. Nothing is written until you say so, and the Material Library itself is never changed from here."
  • Grouped by row — 2x4 Stud 92-5/8 SPF · Lumber2 in My Tools · version 6 — then per place (PART IN FRAMING), with a line per change, old → new. Tick per place or per group, or Select all; then Update selected (1), Skip or Close. Skip is remembered for that version: it asks again only when the row changes again.
  • It opens by itself when you come to the Tools tab with something behind — the choice. The bottom bar's Refresh reads 1 behind while something is, and opens it any time.
  • One Undo per update, in each tool folder it touched — Undo Update 1 part from Lumber2 in Framing — and the one Undo walks them in order (One Undo for every folder).
  • Only tool folders are written. A material folder is never changed by an update.
  • With nothing left it says so: "Nothing to review — Every part loaded from the Material Library is up to date…"

Unlink, at the top of each linked part. Open a linked part and a strip across the top of its pane names the table and the row's key: Linked to Lumber2 → STUD-92 · Unlink. Unlink forgets the names, as one Undo — Undo Unlink from Lumber2 in Framing; the values stay exactly as they are, and the part is never asked about again. The strip then reads, quietly, Not linked — loaded from Lumber2.

  1. Open a tool in Framing → Parts → + → Load part… → From folder Materials → Custom → My Tools. Each row is marked with what it is missing (missing Cost Each on a row without a price). Click 2x4 Stud 92-5/8 SPF and it loads straight away.
  2. Click the new part: the strip at the top reads Linked to Lumber2 → STUD-92 · Unlink.
  3. In Material Library → Tables → Lumber2, change STUD-92's Cost Each to 3.79, and the Item # column's Type from Text to Number.
  4. Leave the Tools tab and come back. Update from the Material Library opens by itself: 1 place to review, under 2x4 Stud 92-5/8 SPF · Lumber2 in My Tools, PART IN FRAMING — Item # — Type: Text → Number and Cost Each 3.48 → 3.79. (The bottom bar's Refresh reads 1 behind meanwhile.)
  5. Update selected (1). The part reads 3.79; its Item # keeps STUD-92, which is not a number. One Undo — Undo Update 1 part from Lumber2 in Framing — puts it back. Or Skip, and it is not offered again until the row changes again.

A job is asked separately.

Tabs and folders, nesting without limit ​

A library holds tabs; a tab holds folders; a folder holds folders; and tools and saved parts live in any of them. There is no depth limit, and a folder behaves the same at every level.

  • + Tab in ‹folder›, Folder and Tool sit under the tree — the first names the Custom folder the tab goes into (+ Tab in Framing). A new one is made with a plain name and the row goes straight into rename — type over it and press Enter.
  • + Tool offers Linear tool, Area tool, Count tool and Saved part.
  • Right-click a tab or folder for New folder inside…, the four New … entries, Rename…, Move to… and Delete. Deleting counts what it holds first ("It holds 6 tools. Ctrl+Z brings it back.").
  • The Filter tools box above the tree narrows it as you type.

Drag and drop, with a Move to… twin on every row ​

Drag a tool or a folder onto a tab, a folder or another tool and it moves there. Every drag has a Move to… entry on the row's right-click menu, because a drag is invisible until you try it.

Move to… lists every destination in the library, indented as they sit. A destination that cannot take this row is still listed, greyed, with the reason beside it — you never have to guess why a drop did nothing. A drag that is refused says the same thing inline.

Across folders too: drag and Move to… reach every Custom folder. A move into another folder is a copy there, then a delete here — two steps in the one Undo.

The hierarchy is the point ​

A tool and everything under it is one tree on the Parts tab: the tool at the top, its parts under it, the parts under those, as deep as they go.

  • Drag and drop moves a part under another part; drop it on the tool row at the top to bring it back out to the top level.
  • Every drag has the same Move to… twin, with illegal destinations listed and greyed.
  • The eight part actions — Add part, Add child, Duplicate, Delete, Move up, Move down, Indent, Outdent — are the same eight you use on a job's parts (Parts), on the same toolbar and the same right-click menu. Each move is one Ctrl+Z.

Click a part and the right-hand pane opens that part's own properties — the same grid a job's part editor shows, Settings… and all, as deep as the part sits. Until you pick one it says "Pick a part on the left to open it", which is an empty state and not a missing feature: earlier versions of this page read it as the second and called it Coming for two builds. It has worked

DimSum Defaults is read-only ​

DimSum Defaults is generated by DimSum and is the same on every machine. You can open it, read it and test it, but not change it: its editor shows a banner with Copy to a folder of my own…, which copies the tool into a Custom folder of yours — the first one in the tree — asking which tab or folder inside it, and opens the copy there. 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…." From a job you can also right-click one of its tools and choose Copy into this job or Edit in Designer.

What it ships with is listed in The DimSum Defaults tools & Smart Behaviors: a Defaults tab holding Examples (Ext Wall 2x6, Floor Sheathing, Job Extras) and Parts (the Cat6 Network Cable saved part).

Saved parts: Load a part… and Save to a folder… ​

A folder can hold a part on its own, with its properties and its own child parts — the same shape as a part on an item.

CommandWhereWhat it does
Save to a folder…right-click a part, in the designer or in a jobSaves that part and everything under it into a folder of yours, in whichever tab or folder inside it you pick
Load a part…the Parts tab's + → Load part… in the designer, and right-click any part, in the designer or in a jobCopies a saved part and everything under it into the tool or part you are working on

The Parts tab's + offers New or Load. The + drops down New part and Load part… — at the top of the tab and, with a part selected, beside that part. The picker's source box reads FROM FOLDER. its choices name the place — Tools → Custom → Framing, Tools → Custom → My Tools, Materials → Custom → My Tools, DimSum Defaults (read-only). Pick a material folder and every row of its tables is listed under MATERIALS, each named by its naming column with its table beside it; loading one makes a part — Undo Load a part in Framing — and no table is copied into the tool folder. This is how a material becomes a part since Add as a part left the table rows. Right-click a part and Load a part… is still there. This is the Tool Designer's Parts tab only — a job's part editor is unchanged. From folder is as it was, each material row is marked with what it is missing of the material standard — missing Cost Each — as the Material Library marks it, and clicking a row loads it straight away.

It is a copy, like a placed tool. The part in your tool does not change when the library's copy changes, and a job still opens when the library is gone.

+ → Advanced part. The + reads New part · Advanced part · Load part…. Load part… brings in one row you chose; an Advanced Part chooses its own row. The new part is called Advanced part; its Type is still Part, and its row in the parts tree carries a small filter icon. Everything below is in a pane at the top of the part, above its properties:

  • Table — one flat list of every Material Library table (Lumber3 (30)). Until one is picked it reads Pick a table…, the part says Pick a table from the Material Library — until it has one, this part matches nothing., and Add filter and Sort are greyed.
  • Only the table's columns are filled by the match — every column is a property of the part, from the matched row, the column naming the row included and a column called Name left out. Its Qty, its Qty formula, its children and anything else you add are set as on any part.
  • What it matched, and how: Matched Lumber3 → 2X6-10 (1 of 6), then each filter with the rows it left — 1. Stock Length at least Height (9 ft) → 22 left.
  • Filters — all of them, in order, empty to start (+ Add filter): Column · Compare (equals, at least, at most, contains) · Input — a Property / Value switch: a property picked with Pick… (the Property Picker) and shown as This item › Height, This part › … or The job › …, or a value typed in · Only when (optional, a condition formula). They combine. A property the match itself writes is refused: Height is this part's own, and the match writes it — pick This item › Height instead.
  • Sort — a column, Smallest first or Largest first; without one, The table's own order.
  • Try it: type sample inputs and see which row would match — Matched Lumber3 → 2X6-10 (1 of 6) — or that none does, No material matches these conditions — …, with the trail. Nothing is placed or saved.
  • Every change is one Undo, and the part matches again inside it. A text box takes effect on Enter or when you leave it.
  • No Linked to … · Unlink strip: an Advanced Part's link is its match. When its table changes, this tab's update screen offers it — a new price under its row, or Matched row 2X6-12 → 2X6-11 when another row now comes first.
  • In a job it matches at placement, after the tool's Form questions, and again whenever an input changes on the item, inside that edit's Undo. Its values are frozen with the three names, like a loaded part's, and a changed table is asked on the update screen. Its filters show there read-only — Filters are set on the tool, in the Tool Designer.

Full detail and the worked example: Dynamic Lists → The Advanced Part.

The Material Library ​

So the rail reads Tools · Material Library · Assemblies, and the Material Library — full width, headed "Everything a property pulls from: lists of choices, and tables whose every row is a material" — holds two section tabs, Lists then Tables. It opens on Tables.

  1. Lists — the same Lists section as before (below), moved in: each folder's shared lists, Division and Trade included. Division, Trade and Wall Side under DimSum Defaults, read-only — so Division and Trade couldn't be edited, moved them into My Tools — and each material folder's own lists under Custom, with List in ‹folder›.
  2. Tables, in two folders on the left:
  • Empty for now, and it says so: "Empty for now. DimSum's own tables go here when they are pre-loaded — read-only, like the rest of DimSum Defaults."

  • Custom — one folder per .tsum in your materials folder (My Tools, …) apart from the Tools tree; each table is listed with its size in columns × rows (e.g. 14×30). Below the folders: Table in ‹folder›, Import… into ‹folder› and Create a CSV template…, naming the folder of whatever is selected.

  • The table itself is the same grid as before — rename in place, + Row, + Column, Export…, Delete.

  • A table opens where it is, and is edited there — no switching and no open tag.

  • There is no new file. A material library is the tables inside a .tsum, stored exactly as tables always were. Coming

  • Import… asks nothing. No wizard: Windows' Open dialog, then the table goes into the folder the button names — Import… into My Tools — in one Ctrl+Z. It is named after the file; a file named like a table already there (case does not matter) re-imports into it on the key, and a table's own Import… (top right, beside Export… and Delete) re-imports into that table whatever the file is called. A header that matches a known property is that property (Material is Made Of); every other header becomes a custom Text property in group Custom; the key is Item #, else the first column. The answer is one line under the head — "Lumber2: 30 rows — 14 columns matched, no new custom properties, keyed on Item #." (Material Library → Import a table). a file may carry each column's Type, Units and Group in the rows under its names (Settings rows in a CSV).

  • Every column has its own Settings… — the button on its head reads Settings… here, and opens the Column settings dialog: Name, Type, Units (with $ under Money), Group, and for numbers feet-and-inches or decimals; Save column is one undo. A type change converts every cell it can, leaves the rest exactly as they were, and says by count what it could not convert.

  • Every row of every table is a material, marked with what it is missing of the material standard — a quiet missing Cost Each label at the end of the row, beside Add as a part which took the button off the rows — the label stays, and a material becomes a part through the Parts tab's + → Load part…. The Materials / Table tied materials split, Fill these in… and Pull a table in are gone from the designer.

  • Linking a property to a table is unchanged — its row in Settings… is called Material Library: Lists / Tables, and its dropdown groups say where each choice comes from — Lists → DimSum Defaults, Lists → Custom → ‹folder›, Material Library → Custom → ‹folder› and Material Library → DimSum Defaults. Under a linked row it says what the link is: Choices from the Common Animals table in My Tools — sets Color, Action. Where the table is decides how the tool keeps its values: a table in the tool's own folder is followed live — change the row and the tool follows; a table in another folder is copied in when you pick a row — the values frozen on the tool, with the folder's, the table's and the row's names kept beside them — so the tool keeps its values even where that folder isn't. When that folder is gone, the row says so and keeps the value: "Common Animals is in My Tools, which isn't in your materials folder — the value is kept". a tool folder holds no tables, so every link is the another-folder kind — a pick copies the values in (Undo Choose Fox in Framing), never followed live. a picked row that changes afterwards is offered on the Tool Designer's update screen, beside the loaded parts (Parts stay linked); and the dropdown has two groups, Lists — Division (35), Trade (20), Wall Side (2) … — and Tables — Common Animals (3), Lumber (30), Lumber2 (30) — with no folders, a folder name appearing only where two share a name.

  • (numbered 12, then 13, until folders and then Tools and Materials apart went first, and smaller since W.10): Load part… keeps its From folder, marks each material row with what it is missing and loads it on a click, and a part loaded from a row stays linked to it (Parts stay linked). A material in place of any part waits for a later build.

Folders, and no switching ​

  • Tables: DimSum Defaults → its tables; Custom → each folder → its tables. Lists are grouped the same way, each folder's lists under it.
  • A table opens where it is, and is edited there. Click Lumber2 under My Tools and it opens — nothing switches. Its edits go on the one Undo, which names the folder: Undo Edit cell in My Tools (One Undo for every folder).
  • The buttons name the folder — Table in My Tools, Import… into My Tools — which is the folder of whatever is selected: click a table in Framing and they read Framing.
  • A column's Settings… opens a dialog titled Column settings, with the column's name beside it, over the table instead of opening awkwardly beside it — The cursor starts in Name, and Esc closes it. What is inside — Name, Type, Units, Group and Save column — did not change.

Settings rows in a CSV ​

Under the names (Row 1, always) a file may carry Row 2 Type, Row 3 Units and Row 4 Group:

  • Row 2 is Type only if at least one cell is filled and every filled cell is a type word — Number, Percentage (or Percent), Slider, Text, Yes/No (or Yes / No, Checkbox, Boolean), Color (or Colour), capitals, spaces, /, - and _ ignored. Otherwise the file imports as before.
  • Row 3 is Units after a Type row, when every filled cell is a known unit — DimSum's own with $ and %, lb, psi, in4, in3, your own units from System Settings → Units, and any unit a column in that folder already uses. An all-blank row 3 counts. A row that is plainly units but holds one DimSum doesn't know is still read: the known units are set, the unknown one is left unset, and the answer names it and tells you to add it in System Settings → Units and import again.
  • Row 4 is Group after both — any text, and an all-blank row 4 counts.
  • A blank cell leaves that column as the import would have made it.

The one-line answer ends …; types from row 2, …; types and units from rows 2–3 or …; types, units and groups from rows 2–4, plus …; N cells could not be converted when any didn't fit. One Ctrl+Z takes the table and its settings together. Export… on a Material Library table writes all four rows — Type as the Settings… dialog labels it, Units as stored, Group, blank where there is none — so an exported table comes back in with its settings; Create a CSV template… writes plain names (no (in) any more), then the three rows, then its example row. A job's own Project Settings import and export are unchanged. samples\Lumber3.csv is the same 30 boards with the three rows — worked through in Material Library → Settings rows.

Import into a table you already have — the table's own Import… ​

There are two Import… buttons in the Material Library, and they differ in one thing: which table the file goes into.

ButtonWhereWhich table the file goes into
Import… into ‹folder›Under the foldersA new table named after the file, in the folder — unless that folder already has a table of that name (capitals do not matter), in which case the file re-imports into it
A table's own Import…Top right of an open table, beside Export…That table, always — whatever the file is called

So the table's own Import… is the one to use for next month's price file, whose name your supplier chose. Say My Tools holds Lumber2, keyed on Item #, with a row STUD-92 — 2x4 Stud 92-5/8 SPF, Cost Each $3.48 — and the new file is called october-prices.csv:

  1. Open Lumber2 in Material Library → Tables and click Import… at its top right, beside Export….
  2. Pick october-prices.csv in Windows' Open dialog. Nothing else is asked.
  3. The file goes into Lumber2, matched row by row on Lumber2's own key, Item #:
  • a key that is already there — STUD-92 — has its row updated in place, so it now reads $3.62, and every part following that row reads $3.62 with it;
  • a key the table has not got is added as a new row;
  • a key the table has that the file left out is kept, and flagged not in this import — never deleted. Delete it yourself if you mean it gone.
  1. Each column is found again by the header it was first imported from, or by the name DimSum knows it by, so a file headed item#, desc, cost lands on Item #, Description and Cost Each rather than making three new columns. Every other header is read by the same rules as a first import (Import a table).
  2. It answers in one line under the head — "Lumber2: re-imported — 28 updated, 2 added, 1 kept and flagged; …" — and one Ctrl+Z puts the whole import back.

If the file carries settings rows — Type, Units and Group under the names, as Export… writes them — the re-import sets them on Lumber2's columns in the same one Ctrl+Z, converting cells the way a column's Settings… does: a cell that won't convert to the new type is left exactly as it was, marked, and counted (…; N cells could not be converted). The line under the head ends "…; types, units and groups from rows 2–4" (Settings rows in a CSV).

Had you used the Import… under the folders instead, october-prices.csv would have made a new table called october-prices, because no table in the folder has that name. That button re-imports only when the file is named like the table — Lumber2.csv into a folder that has Lumber2.

Materials live in this tab too ​

*History: this was the Materials rail entry when the Material Library replaced it. In the designer its tables are now the Material Library's Tables and Import… asks nothing.

Materials was live on the rail. And a material is a part: "if we wanted to add it as a part into a template, we open the material library, add in the part."

  • Import a list… brings in a CSV — a POS export — through a five-step wizard: the key column, every column linked to a property or made into a new one, required columns, and a preview of every count before anything is written.

  • Each imported list is one section, and its columns are the fields. Re-import the same list and matched rows update in place, new ones are added, and missing ones are kept and flagged, never deleted.

  • Add as part on a row makes a saved part in the folder you pick, called what the row is called, with every property following the row — re-import a new price and the saved part reads it.

  • The Materials rail renames in place too: double-click a row or press F2, the same command, the same warning and the same one Ctrl+Z as the editor's title — "Every formula naming this list as a table is rewritten with it." A read-only library refuses in the rail exactly as it does at the title. Every rail and tree in the designer now renames where it stands.

  • The link survives every hop inside a library: Load a part… into a tool keeps the part following its row, and a re-import updates the library's parts at once. Placing into a job freezes it: the job gets the numbers, plus the library, list and row names, and no table travels, so the job reads the same numbers with the library deleted and is offered the new ones on the update screen whenever that library is open.

And the BIM-style tool builder ​

The tab is laid out so it can arrive beside the others without being rebuilt.

Where to find it ​

WhatWhereState
The designerThe Tools tab in the top bar, beside Takeoff and Estimating — with or without a job open
The designer, from HomeThe Tool Designer button on the Home screen
Home again, from the designerThe Home tab, first in the top bar, or Ctrl+Shift+H, or File → Home — it puts the designer away
The three default toolsStart a new tool from: Linear · Area · Count, above the tool list
Shared listsMaterial Library → Lists on the tab's left railmoved in ****
A folder's tablesMaterial Library → Tables → Custom → the folder, with Table in ‹folder›, Import… into ‹folder›, Create a CSV template…moved in ****; by folder in ****
The Material LibraryMaterial Library on the tab's left rail, holding lists and tables
A table column's settingsSettings… on the column head in Material Library → Tables — name, type, units (with $), groupthe Column settings dialog, ****
Import into a table you already haveOpen the table → Import… at its top right, beside Export… — whatever the file is called (above)
Type, Units and Group in the CSV itselfRows 2–4 under the names, read by Import…; written by Export… and Create a CSV template… (above)
A new Custom folderRight-click Custom → New folder…, or File → Tool Folders → New folder…
Rename, show or delete a folderRight-click the folder → Rename… / Show in Explorer / Delete…
The tools folder in ExplorerRight-click Custom → Show the tools folder, or File → Tool Folders → Show the tools folder
Take in a .tsum someone sent youFile → Tool Folders → Add a .tsum to the tools folder…, or drop it into the tools folder
Where DimSum looks for foldersSystem Settings → Tools → Tools folder — every .tsum in it is a Custom folderSetting; the list of folders ****
Where DimSum looks for material foldersSystem Settings → Tools → Materials folder (Documents\DimSum Materials) — every .tsum in it is a folder under Material Library → Custom
A new material folderRight-click Custom in the Material Library → New folder…
The materials folder in Explorer, or a material .tsum someone sent youFile → Tool Folders → Show the materials folder / Add a .tsum to the materials folder…, or right-click Custom in the Material Library
Undo and RedoThe bottom bar, after Snap and Orthomoved in ****
An Advanced Part — a part that picks its own row from one tableThe Parts tab's + → Advanced part; its table, filters, sort and Try it in a pane at the top of the part (Saved parts)
A material as a partThe Parts tab's + → Load part… → From folder Materials → Custom → ‹folder›, rows under MATERIALSeach row marked with what it is missing and loaded on a click, ****
Parts and picks whose row has changedThe Update from the Material Library screen — by itself when you come to the Tools tab with something behind, or the bottom bar's Refresh, reading 1 behind (Parts stay linked)
Items in a job placed from a tool you have since changedThe job's update screen, titled Updates — by itself when the job opens, or the top bar's Refresh (When you change a tool)
Unlink a part from its rowThe strip across the top of a linked part's pane — Linked to Lumber2 → STUD-92 · Unlink
A wider treeThe Tools tree's right edge, Resize the Tools tree — drag it or use the arrow keys, up to 25% of the window; the Material Library's folders column the same (above)
The Tools PlaygroundOpen a tool → the Playground tab
Show the locked masters areaSystem Settings → Tools → Show Behind the scenes in the Tool Designer (off to start)
The tools in a jobThe Tools panel, top of the right dock
Turn a drawn item into a toolRight-click the item on the canvas, in the Project tree or in the Takeoff list → Save as tool…; or Save as tool… in the footer of its Tool Settingsfrom Tool Settings, ****
Open a tool straight from a jobRight-click it in the Tools panel → Edit in Designer
The Tool Settings dialogDouble-click the item on the sheet, right-click it → Settings…, or Settings… at the top of its Properties panel
A tool's Form tab (the Form Layout designer)Open a tool → Form, between Properties and Parts
Settings → Tools (manage the registered libraries)Coming

How to use it ​

Make a folder of your own ​

The first time you open the Tools tab, DimSum makes My Tools.tsum in Documents\DimSum Tools so you have somewhere to work — the folder My Tools under Custom, below DimSum Defaults.

  • Right-click Custom → New folder… (or File → Tool Folders → New folder…) asks for a name in DimSum and makes ‹name›.tsum in your tools folder. No Windows Explorer window opens
  • A file a coworker sent you goes into the tools folder — File → Tool Folders → Add a .tsum to the tools folder…, or drop it there in Explorer — and appears under Custom by itself.
  • There is no Save As.

The three default tools sit above the list, not in it ​

Linear, Area and Count are the default tools. Every other tool starts from one of them, so they sit in their own little row above the tool tree, under the heading Start a new tool from: three buttons, Linear, Area and Count. Click one and a new tool of that kind lands in whichever tab or folder you have picked, already in rename.

They used to appear as three rows inside DimSum Defaults' Basic folder, mixed in with the tools made from them. So they are out of the tool list entirely. The Basic folder goes with them.

A tool you build yourself and happen to call Linear is your tool and stays in your list — only DimSum's own three default tools, in the read-only library, are taken out.

Build a tool ​

  1. Click the Custom folder you want to build in, or something in it — + Tab in ‹folder› under the tree says which.
  2. + Tab for a top-level tab (Framing), then + Folder inside it (Walls) if you want one.
  3. Click Linear, Area or Count under Start a new tool from — or + Tool → Linear tool, which is the same thing from the toolbar. Type the name over the row and press Enter.
  4. General: its name, description, colour, fill opacity and line weight.
  5. Properties: what it measures (pinned at the top), the item fields, and Add property for your own — O.C., Waste %, Wall Height (Property System).
  6. Parts: build the parts tree, each part with its Qty formula (Formula language). Rounding goes in the formula — ROUNDUP(…) — there is no Round Up checkbox. The part's unit is the small box beside its Qty, because the unit belongs to the part and not to the property. Once the tool is placed, a part's Division, SubDivision, Construction Phase and Trade follow the part or item above it unless you type your own (Parts).
  7. Playground: draw a run, an area or a few counts with the tool itself and check every number before anyone uses it on a job.

Every change is saved into the .tsum as you make it, and bumps the tool's version — there is no separate Save.

A tool property is a full property now ​

a property you added to a tool carried its name, its type and a first value, and nothing else — there was no Settings… on it. A tool property is the same property as a job property, with the same settings dialog: group, hint, input condition, its unit, decimal places, a list, Input, Hidden and Locked. So a library can be built properly in the designer and placed without touching it again.

That includes the two that matter most in the designer:

  • Hidden — a tool's rows are its own, so hiding one here hides it on this tool and nowhere else.

Add existing property… is the one thing the designer does not offer, and for a plain reason: it pulls in a property of the job, and a tool has no job to follow. The button is there, greyed, and says so.

The designer is as able as a job ​

This page said for two builds that the designer's formula box had no live result and no Picker, and that a part's own properties could not be opened in the right-hand pane. All three were wrong. Each sentence described an empty state — the result line is blank until you type, the Picker is blank until you open it, the part pane says "Pick a part on the left to open it" until you pick one — and was carried forward without anyone driving the screen.

WhatIn the designer
The formula boxA live result under it (a part's ROUNDUP({Item > Linear Total} * 12 / 16, 0) + 1 reads = 76 on the standard sample), with the caret and the reason on a bad token, exactly as in a job
The Property PickerThe tree: the tool with its parts nested as deep as they go, the one you are in expanded and highlighted, then Page, Level, Job, Table and Material
A part's own propertiesClick it: its whole grid opens on the right, three levels down as easily as one
Condition… and Text…On the formula toolbar here as in a job (Formula language)

Try it on the Tools Playground ​

The Tools Playground replaces the Test Bench. The Test Bench proved a tool with numbers typed into boxes; the Playground proves it by drawing.

  1. Open a tool and click the Playground tab. A blank sheet appears, always at 1/4" = 1'-0", with the tool's drawing buttons above it: Run for a Linear tool, Area and Opening for an Area tool, Count for a Count tool. (A saved part draws nothing of its own, so a Run stands in.)
  2. Draw. Click each corner and double-click to finish, exactly as on a sheet in a job — the same snapping, the same ortho, the same live quantity by the cursor. The Playground snaps to its own band: the corners, the faces and the line of what you have already drawn here, with the marker and the word beside it, and a line under the sheet saying "Snapped to Corner" — the same overlay the job's canvas draws, not a second one.
  3. Every formula on the tool and on its parts follows the drawing: draw a 20 ft wall and the Studs Qty beside it says 16. The numbers come from the same engine the job uses, so what the Playground says is what the item will say.
  4. Edit the tool and the Playground changes. A tool here is linked, not copied — the one place in DimSum that is true — because that is how you find out the formula you just wrote is wrong.
  • Every drawing is listed under the sheet with what it measures. Include in report is a tick per drawing, off to start, so a tool can carry three worked examples — a straight wall, a corner, a wall with an opening — and show only the ones you want.
  • Rub out removes one drawing; Reset clears them all. Neither touches the tool.
  • The drawings are remembered in the library, so opening the tool tomorrow shows yesterday's wall — and deleting a tool and pressing Ctrl+Z brings its drawings back with it.
  • The Test Bench's number boxes are still here, below the sheet, for a tool nobody wants to draw with: Linear Total (ft), Runs, Area (SF), Perimeter (ft), Openings, Count and Height (ft), and Standard sample to put them back. Once something is drawn they hand over and grey out — "Measured from what is drawn. Reset the Playground to type a number again." — because a drawing and a typed number claiming to be the same measurement is the disagreement this screen exists to end. Height is never measured from a drawing, so it stays yours to type.
  • A field that does not apply to this tool is greyed with the reason ("Ext Wall 2x6 is a linear tool, so this is not one of its measurements.").
  • A run is drawn on the tool's Draw Side ** — the band on the right, the left or centred, the way a job will draw it — or on the System Settings default when the tool has none, which is what it would take if you placed it now. Change either and the Playground follows.

The sheet and its scale are fixed: a scale nobody can change is a scale nobody can get wrong. There are no Material $ / Labor / Total columns: no money is built in, so a cost is a property like any other and shows in the results.

Set which side of the line a Linear tool draws on ​

  1. Open a Linear tool. On its General tab (or Properties), under Appearance, find Draw Side, right after the Line Width ⇋ Line Height row.
  2. A new tool reads —: it has no side of its own, so a placed item takes the System Settings default — Canvas & Drawing → Draw side for Linear tools, Right side out of the box — at the moment it is placed.
  3. Pick Right, Left or Centerline to give the tool its own. The tool's own value wins over the system default, whatever that is set to on whichever computer places it.
  • Right and left are as you walk the line, from the first click to the next: walking east, Right is below the line, and a room traced clockwise with Right has its width inside.
  • An item keeps what it was placed with. Changing the tool, or the system default, later moves nothing already drawn in a job; the item's own Draw Side row changes it.
  • It is a full property, like every other: Settings…, Input (tick it and placing asks which side), Locked, a formula, and {Draw Side} reads Right, Left or Centerline.
  • Save as tool… from a job does not carry it, the same as Height and Line Width, so a tool saved from an item reads — until you set it.
  • An Area or a Count tool shows the row too, and nothing draws it.

Line Width ⇋ Line Height. Under Appearance the two now sit on one row with a ⇋ between them, and the ⇋ says which of the two the 2D canvas draws — a plate seen from above is 5½ wide, the same plate in section is 1½. The value not drawn is kept, so swapping back gives it, and swapping to a Line Height nobody has typed draws a hairline and says so rather than refusing. {Width} on an item is its Line Width — one number with two names, so nothing has to be kept in step; if you mean a part's material width, write {Studs > Width}, because a wall has plates, studs and sheathing and three widths. The choice is a property of its own, Line Drawn, a two-value list in Appearance whose only editor is the ⇋, and — like Draw Side — it lives on the item: a plate from above and the same plate in section are two items, not two tools.

Save a part once, load it everywhere ​

the own example, end to end:

  1. In your library, + Tool → Saved part, named Cat6 Network Cable.
  2. Give its Qty the formula {Item > Linear} * (1 + {Slack %}), its unit ft in the box beside the Qty, and add a Slack % property (Percentage, 10%).
  3. Add a child part under it — RJ45 Plug, Qty 2.
  4. Now make a Linear tool — Cable Run. On its Parts tab click Load a part… and pick Cat6 Network Cable.
  5. It comes in with its child part and its formula intact.

The same Load a part… is on every part row in a job, so you can drop a saved part onto something you have already drawn. Save to a folder… is the other direction: right-click any part, in the designer or in a job, pick the folder, the tab or folder inside it and the name.

DimSum Defaults already ships this Cat6 part, in its Parts folder, if you want to try it without building one.

Copy a DimSum Defaults tool into your own library ​

  1. Open a tool under DimSum Defaults at the top of the Tools tree — say Ext Wall 2x6 (example) in Defaults → Examples.
  2. The banner says it is read-only. Click Copy to a folder of my own….
  3. Pick the tab or folder in your Custom folder. The copy lands there and opens.
  4. Change anything you like. The copy is not linked back: a later change to DimSum Defaults never reaches it, and your edits never reach DimSum Defaults.

Use a tool in a job ​

The Tools panel at the top of the right dock has three kinds of root:

  1. This job (n) — the copies this job already holds. They place whether or not any library is to hand.
  2. DimSum Defaults.
  3. Custom → each folder, named by its file, with its tabs and folders — the same folders the designer shows. The panel looks again when DimSum's window comes back to the front, so a .tsum just put in the tools folder shows up.

Click a tool to place it: any Input questions are asked first, then the item lands on the page you are looking at, is selected, and is ready for you to draw. The item arrives with its properties and its whole parts tree, and one Ctrl+Z undoes the lot.

  • Right-click a folder's tool: Place · Edit in Designer · Copy into this job. Edit in Designer opens it in its folder.
  • Right-click a job copy: Place · Remove from this job — items already placed keep their properties and parts; only the copy goes, and one Ctrl+Z brings it back.
  • A saved part shows with a PART tag and cannot be placed: "This is a saved part, not a tool — open an item and use Load a part… on its parts".
  • With no page open, placing is greyed: "Open a page first — a tool is placed on the sheet you are looking at".
  • Values you change on a placed item are tinted, so you can see at a glance what is yours and what came from the tool. Hover a grey one and it says "from the tool"; hover a tinted one and it says "set here".

Input: the questions you are asked when you place ​

This is Prompt on Place, grown up.

  • Tick it in Settings… on the property: Input — ask for it when the tool is placed.
  • You can tick it in the designer (so every job gets the question) or on a tool already in a job (so only that one does). Same dialog either way.
  • A hidden Input is still asked for, and says so: "Hidden on the tool, and still asked for here — this is where it gets answered."
  • Cancel or Esc places nothing — backing out of the questions backs out of the placement.

Ext Wall 2x6 (example) in DimSum Defaults has its O.C. ticked, if you want to see one without setting it up.

Keep it to the one or two values that really change per placement; a tool that asks five questions slows drawing down.

Lay out the questions: the Form tab ​

The Form tab, between Properties and Parts, is the Form Layout designer. The tool's author designs the dialog the estimator sees — the questions the tool asks when it is placed, and the Form view of its Tool Settings when it is double-clicked — so a wall reads as one question, 2x6, 10' tall, exterior?, rather than forty properties.

  1. Open a tool → Form. Until somebody lays it out it says so: "Nobody has laid this form out yet, so it asks in panel order." Change anything and the layout becomes the tool's own.
  2. The fields are the tool's Input properties. The form is what the tool asks, so putting a property on it and ticking its Input are the same thing: Add a property to the form, under the grid, ticks its Input, and the − on a field unticks it. A property you tick in its own Settings… turns up here too.

The form is a grid ​

A layout is a list of sections. A section is a band with a width in columns and a row height, both typed on its own header, and it sits on one Form tab. A field takes a cell in a band and may span columns and rows — double width, triple height, any combination that fits. + Add a section puts another band under the last one.

HeaderWhat it does
ColumnsHow wide this band is. Changing it is the one thing that re-flows the band, in reading order, because a col of 2 means one thing in a grid three wide and another in a grid six wide
RowsHow tall it is. Make it smaller than its contents and nothing is lost: it settles at the height that actually fits
Form tabWhich tab of the form this band goes on. Blank is Main, which always comes first; type a name — Framing — and the form grows that tab. Tab names ignore case: framing and Framing are one tab, spelled the first way. A form with no named tab has no tab strip at all
↑ ↓ ✕Move the band, or remove it. Removing a band moves its fields to the band beside it, never off the form, and the last section cannot be removed — a form needs somewhere to put a property

Each field carries its Show units tick (the unit beside the value: 16.00 in ticked, 16.00 not; a feet-and-inches value keeps its marks either way — 8' stays 8') and the − that takes it off the form.

Drag it, or key it — they are the same commands. With a field focused:

KeyWhat it does
ArrowsMove it one cell
Shift + arrowsMake it wider, narrower, taller or shorter
Page Up / Page DownSend it to the band above or below
DeleteTake it off the form

Four rules hold the grid together, and the first matters most:

  • No field is ever lost. A field takes the cell it asks for when that cell is free and inside the band, else the first free cell in reading order, else the band grows a row to hold it.
  • A hole is a layout, not a mistake — the "clear one line at the top" is one — so taking a field off shuffles nothing. Only Columns re-flows.
  • The thing you just touched wins. A drop names its own field first, so what you landed on is what moves; dropping A on B and nothing happening is the one behaviour a drag must not have.
  • An empty band is a layout too, and is stored as one.

And three things about the grid as a whole:

  • The Preview beside the grid — below it on a narrow window — is the dialog itself, drawn at the real proportions with the same editors Tool Settings uses. It changes as you do, not when you save.
  • Back to panel order forgets the layout — one tab, panel order, units shown — and is one Ctrl+Z too.
  • The grid round-trips. The bands and every field's cell and span come back out of the library, so closing the tool and opening it tomorrow gives the layout you left, empty bands and all. A band is a size, not a bounding box: a 6×6 section holding two fields opens 6×6.

Same row is gone. Nothing writes sameRow again.

The form goes into every job with the tool. There:

  • Place … asks your questions in your order — one question to a line; the tabs and the bands are Tool Settings', where you come back to them.
  • Tool Settings → Form draws the form you laid out — your tabs, your bands, your cells and spans, your units — with every value editable. Built-in properties such as Height and Thickness show on it the same as your own.
  • Tool Settings does not rearrange the form. The design is the tool author's, and re-laying one wall's form would change every wall of that tool in the job without saying so. Change it here, in the designer.

Colours and sliders ​

Two editors, and they are the same two everywhere a property is edited — the Properties panel, Tool Settings, the form you just designed and the Place… dialog — because a colour picked one way in one place and another way in another is two ways of doing one thing.

  • A Colour property is a wheel plus swatches, and there is no hex box anywhere. The swatches start with the four house colours, then the twelve colourblind-safe tool colours, then the twenty-four extras, and a chip is named when it is one of the premade ones. The wheel is the way to anything else — its own dialog takes an exact value — and what you land on joins the grid for the rest of the session so you can get back to it.
  • A number given both a Min and a Max draws as a slider, with its value beside it. It is the setting that does it, not only the Slider type: put a Min and a Max on an ordinary number in its Settings… and it is a slider from then on, in the panel, in Tool Settings and in Place….

Lists & Tables ​

Replaced: this area is gone from the rail. Its lists are the Material Library's Lists and its tables the Material Library's Tables (The Material Library), and everything below still holds there — except that in the designer Import… no longer opens a wizard (it asks nothing) and a table column's head button reads Settings…. A job's Project Settings → Lists & Tables was unchanged, wizard and all — removed it.

Lists & Tables is a live area on the rail. A list is a set of choices a property can pull from — Exterior / Interior, your stud spacings, your own division numbering — kept in one place instead of retyped onto every property.

  • The left side lists the lists in the open library; + List makes one, named and straight into rename.
  • The right side is one box, Values, one per line. Save values commits them, and one Ctrl+Z puts the whole list back as it was.
  • Rename a list where it stands: double-click the row on the rail, or press F2 on it. It is the same rename as the editor's title, not a second route — one command, one Ctrl+Z, and the same warning: "Every formula naming this list as a table is rewritten with it." A preloaded list refuses there exactly as it refuses at the title, and so does a read-only library. The same is true one rail over on Tables and on Materials. Delete removes a list, and says what happens to any property pointing at it.
  • Division and Trade ship in every library and every job as real lists. They are preloaded: their names stay (tools and jobs find them by name), and their values are yours to change. Rename and Delete are on screen but greyed, each with the reason on hover.
  • Point a property at a list in its own Settings… → List. Every property pointing at that list follows what you change.

A list lives in the same file as the property pointing at it — a job's lists are in the .dsum, a library's in the .tsum, and nothing in a job ever reaches into a library. When you place a tool that points at a list of your own, the list travels with the tool into the job. That is why a job still opens whole with its library renamed away. A table does not travel: a property following a table row arrives in the job holding the number it last read, plus the library, list and row names in text, and the update screen finds the row again by name whenever that library is open.

Tables are built. Below the lists is the library's own Tables: + Table asks for a name and a first column (the one that names each row), then columns with a type, unit and format, rows, and cells you type into. A table sets every property whose name matches a column when an item or part is Set from a table…, creates the ones that do not exist, and the properties keep following the row. A single column can be pulled out as a list — a copy. Import… reads a CSV through the same wizard the Material Library uses. A table renames where it stands too — double-click the row or press F2, the same command and the same warning as the editor's title: "Every formula following this table is rewritten with it." A read-only library refuses in the rail with the reason it gives everywhere else. Undo is the library's, as for everything else in this tab.

Design a tool's label: the Label tab ​

A label is text, and if you like a symbol, drawn on a placed item and built from that item's own properties: (2) 2x10 DF – 8' on a beam, Ext Wall 2x6 – 42 LF on a wall, M-J1: 2x10 @ 16" O.C. on a joist run. It isn't takeoff: it changes no quantity and is never in the legend.

Where the template is kept:

  • With the tool, in its tool folder, and in the job's copy of the tool when it's placed, like every other setting.
  • An item follows its tool. Placing an item doesn't copy the label onto it, so a change to the job's copy of the tool reaches every one of its items at once.
  • Change it later and the jobs that placed the tool are asked: the update screen lists it as Label: changed (or added, removed) like any other setting (When you change a tool). Taking it changes the job's copy of the tool, and the labels on the plan follow; quantities don't move. It never writes anything onto the items, so a dragged label and an item's own Show or Hide stay yours.
  • A tool with no template draws no label. A new tool starts with none.
  • In a job, too: Tool Settings has the same Label tab, on the job's copy of the tool, with the item's own values in the preview. Saving there is one Undo in the job, and it reaches every item of that tool in the job. An item drawn straight from Linear, Area or Count has no tool to give a label, and the tab says so.

Pieces, each placed relative to the label's anchor, the point on the item the label hangs from (below). A label holds up to 24 pieces.

PieceWhat it holdsIts look
TextPlain text mixed with {property} fields, such as {Name} – {Linear}, by the text-template rules (Formula language): each field reads as Properties shows it (42'-6"; Mark # 1, Plies 2), in its property's own decimals and Output Unit, and {{ or }} is a brace you mean. Start the text with = and the rest is one formula, such as ={Linear} * 12; a whole formula keeps the formula preview's style (={Plies} reads 2.00 with System Settings → Numbers at two decimals). Fixed in 0.5.30: until then each field was worked out as a formula of its own and shown in the preview's style, so's default labels read J1.00 and B1.00 (2.00). Two fields are filled per label: Section length ({Section > Length}, in the item's takeoff-length unit and precision) and Section number ({Section > #}, 1, 2, 3 along the item). The text is checked as you type: a misspelt field or an open brace is explained under the box. On the plan, a value that can't be worked out shows ERROR in red, never a blankFont (Barlow Condensed to start, which ships with DimSum, or any font on this computer), size (2 to 48 pt), bold, italic, colour (or the tool's colour) and alignment
SymbolOne from + Symbol ▾: Span arrow, Double arrow, Direction arrow, Circle, Box, Diamond or Tick. A joist's span arrow is oneIts size, colour (the tool's to start), weight, filled, and turns with the line: it keeps pointing along the item even when the text is kept level
BoxOne optional box around the label, round every piece. Set it with nothing selectedFill and edge (a colour, the tool's, or none), edge weight, opacity and padding

The designer itself is a small canvas, like the Report Designer's:

  • Along the top: + Text, + Symbol ▾, the tab's own Undo and Redo, Delete, then Revert and Save label. Not saved shows while there is something to save.
  • On the left, Fields: the tool's own properties, with a search box, and the two section fields. Drag one onto a text piece, or onto empty canvas for a new piece there, or click it to add it to the selected text.
  • In the middle, the label over a sample item (a line, an area or a point, as the tool's type is), drawn live, with a + at the anchor. Drag a piece to move it and pull its handles to size it, on a 1 pt grid. Arrow keys nudge 1 pt (Ctrl: 5), Shift + arrows size, Ctrl+D duplicates, Ctrl+A selects every piece, Delete removes.
  • On the right, the Inspector: the selected piece's settings, or, with nothing selected, the box.
  • Under it, a preview strip shows the label placed along a horizontal, a vertical and a turned line, with the anchor, offset, orientation and leader applied, so you can see it kept upright. An area or a count shows its one sample.
  • The sample values in the Tool Designer come from the tool's test sample (the Playground's), not from a job. In a job's Tool Settings they are the item's own.

One save. The tab edits a draft, with its own Undo: Ctrl+Z inside the tab steps back through the label only, never your folder. Moving to another tab and back keeps the draft while DimSum is open. Save label writes the whole label as one edit of the tool, so one Ctrl+Z in the Tools tab takes it all back. Its Undo name says what happened: Add label (3 pieces) — Ext Wall 2x6, Change label — Ext Wall 2x6, or Remove label — Ext Wall 2x6 when you save it with no pieces. Revert puts back what was saved. A tool in a read-only folder, such as DimSum Defaults, shows its label but can't change it.

The Joist and Beam tools have two labels ​

, ) each joist and each beam is its own item (joists and beams as items), so each one gets its own label. And: "Area Labels are not on by default, but Joist labels are. So lets label every joist, and allow modification."

On a Joist Tool or Beam Tool (and on a copy of one), the Label tab has a picker above the designer. It chooses which template the designer edits and which one Save label saves. Every other tool has one label and no picker.

ToolPickerWhat it labelsOn by default
Joist ToolArea labelThe joist area, as the label doesOff
Joist labelEach joist, one per joistOn
Beam ToolTool labelThe Beam Tool item as a wholeOff
Beam labelEach beam, one per beamOn
  • Each side has its own designer, its own Show row (Follow System Settings / Show / Hide) and its own Save label. The Undo names are Change joist label and Change beam label. How many is fixed: one per joist, or one per beam.
  • Fields. On the joist side, Fields lists Joist #, Area #, Actual Length, Joist Length and Joist Material first, then the tool's other properties. On the beam side, Beam #, Member Length, Ordered Length and Beam Qty first. {Mark #} in a member label reads the member's own number. The preview strip shows one sample member (J3, 14').
  • What they say to start with. The Joist label reads J{Joist #} {Joist Material} – {Joist Length}, such as J3 2x10 – 14'. The Joist label's text is black to start with, because the tool's colour was hard to read on the joist band.
  • An item follows its tool, as with the area label. An item keeps only its own Show or Hide: Properties → Appearance has a second row, Joist labels or Beam labels, with Follow the tool, Show and Hide. A joist or beam label can't be dragged.
  • Show → Labels on Markup ▾ hides member labels with everything else, and they print once each, as drawn. On a crowded plan a member label that would land on one already drawn is left out, and one too small to read isn't drawn.

Where the label sits ​

The Label tab's Placement holds the tool's placement choices. Each one starts at Follow System Settings (…), which names what that is today, until the tool sets its own (Settings page → Labels); Follow System Settings for everything clears them all. Three levels, and the nearest wins, as with takeoff lengths: System Settings, then the tool, then the item, which can say only Show or Hide.

ChoiceOptionsFor
ShowShow or Hide labels on this tool's itemsEvery tool. An item can still say Show or Hide in Properties
AnchorMiddle, Start or End of the sectionLinear. An Area's label sits at its centre, the point deepest inside the shape, so an L-shaped room's label sits in the room and not in the corner of the L. A Count's sits beside the point
OffsetOn the line, or offset left or right of it (walking from the first click), with a Gap in pointsLinear. A Count has Side instead: to the right or to the left of the point, with its Gap
Along the lineTurned with the line (kept upright), never upside down, or Always horizontalLinear
How manyOne per item, One per section or One per runLinear
LeaderNever, When the label is moved or Always; with a leader, its length, angle and weight, and its end: a thin line, an arrowhead or a dot at the itemEvery tool
DraggableYes or No: whether a placed label can be dragged off its spotEvery tool
  • One per item sits on the item's longest run, and its section length is the whole item's.
  • An Area or a Count isn't offered How many (nor Anchor or Along the line). It follows System Settings → Labels: with One per item an Area's label sits on its biggest outline and a Count's beside its first point; with One per section there's one on every outline, or beside every point.
  • One per section puts a label on every straight piece of a run, from one click to the next. That's the "always draw a label on every section". One per run puts one on each run.
  • When the label is moved: a label you drag away gets a leader back to the item by itself. Always draws one at its set length and angle, which starts at 45°, up and to the right; a dragged label's leader runs to wherever you put it. The leader takes the colour of the label's first text piece.
  • Labels keep out of each other's way. A label that would overlap one already drawn tries a few spots beside it, and is left out when none is free. A label you dragged is never moved or left out.
  • DimSum asks for a label's values only once it's big enough to read, so straight after zooming in a label may show only its fixed words for a moment.

Labels on the plan ​

  • Drag a label to where it reads best, when the tool lets it be dragged. Each drag is one Undo (Move label — Ext Wall 2x6), and the place is kept on that item, one per label (each section's own, with one per section). A plain click on a label selects its item.

  • A locked item's label can't be dragged: DimSum says Ext Wall 2x6 is locked — unlock it to move its label.

  • Reset label position puts every dragged label of the item back. It's on the item's right-click menu (when a label of it was moved) and in Properties → Label.

  • Show or hide one item's label in Properties → Label: Follow the tool, Show or Hide, each one Undo. The right-click menu has Show label / Hide label too, and on several selected items … on 3 items, one Undo. For every item of a tool, use Show on its Label tab. : a joist or beam item has a second row for its member labels, Joist labels or Beam labels, with the same three choices.

  • Markup ▾ → Show → Labels hides or shows every label on screen at once. It's a switch kept with the job's view state, never an Undo step, just as Takeoff lengths has. It is the plan's Labels On/Off.

  • A turned sheet turns the labels with it, kept upright, and a dragged label keeps its place.

  • Print: a Labels tick under Include starts from that switch. Labels print as drawn, leaders, symbols and boxes too, at their size on the sheet (Marked-up plans).

  • Labels on markups.

  • Automatic marks: {Mark #} numbered for you (B1, B2, …).

  • Symbols made from your own images.

  • Save as tool… from an item doesn't carry its tool's label to the new tool. (The item's own dragged places are dropped, as they should be.)

  • No move cursor over a draggable label, and Esc doesn't cancel a label drag.

  • No drag-select, and no copy and paste of pieces, in the tab.

  • An unsaved label is lost without a warning if you leave the tool or close the designer.

Takeoff lengths stay as they are: each span's own length, set on Tool Settings → Lengths, apart from the label.

Save a drawn item as a tool ​

  1. Right-click the item on the canvas, in the Project tree or in the Takeoff list → Save as tool… — or, with its Tool Settings open, Save as tool… in the footer, which closes Tool Settings and opens this same dialog.
  2. Pick the folder, the tab or folder inside it and the name.
  3. Its properties and its whole parts tree go into that folder. The item itself is not changed, and the toast says where it went.

DimSum Defaults cannot be written to, so it is not offered; if the only folders you have are read-only or unreadable, the button says so instead of failing.

A newer tool than the job's copy ​

A job holds its own copy of every tool it has used. When you edit the tool afterwards, the job's row says so: v3 · library has v5.

  • Place it again and the new version is used, and the job's copy is brought up to date.
  • Items already placed never change by themselves — the job asks, below.
  • A toast says exactly that: "Floor Sheathing updated to v5 in this job — existing items unchanged".

When you change a tool, the jobs that placed it are asked ​

Placing a tool copies it into the job (below), so editing the tool afterwards — a formula, a default, a property added or removed, a part added, removed or renamed, a setting — doesn't change a job by itself. the job is asked:

  • When a job opens with anything behind, the update screen opens by itself. With any tool behind, the screen is titled Updates; it offers changed Material Library rows too. The top bar's Refresh counts rows and tool items together (2 waiting).
  • A group per changed tool — Critter · Framing · version 28 → 31 — 2 items — lists what changed, once for the tool: a formula old → new (Studs › Qty), New part: Top Plate, Removed part: Blocking, a part renamed, a setting (Stud Spacing · Group, Color #00AA00 → #CC5500), an Advanced Part's table, filters or sort, a property added or removed — values written as the Properties panel writes them (8' → 10'). Then every item placed from that tool, with a tick and its sheet (Critter 2 · A-101 · Foundation), and under each, what it keeps.
  • Update selected takes everything ticked, rows and tools together, as one Undo (Update 2 items from Critter). Skip skips that tool version for every item placed from it. Nothing is written until you say so. If the tool has changed again since the screen was drawn, Update is refused with a line saying so, and Refresh offers the newer version.
  • What you changed on a placed item stays yours — the tinted values, set here, and any value that no longer matches the version you placed from. The screen says so under the item: Height — kept, you set 9'. A part you deleted comes back only if the tool adds it new; a part you renamed keeps your name. Taking the tool's value for a property you edited is a later build.
  • A tool whose folder isn't on this machine is never offered, and nothing in the job changes. A tool deleted from its folder is the same; a folder that is there but won't read is named on the screen.
  • A new price from a Material Library row — a linked part taking one on this tab's own screen (Parts stay linked) — is offered to a job only under its row, never again under the tool.
  • Not listed: changes to the built-in properties' own settings and input defaults. They come into the job's copy of the tool when you accept, but the screen doesn't list them. a changed label template is listed like any other setting, as Label: changed (the Label tab).

Full detail: Dynamic Lists → A changed tool.

Placing copies the tool into the job — the rule that matters most ​

When you place a tool, DimSum copies it into the .dsum. So:

  • Rename, move or delete the library file in Explorer and the job still opens, whole — every item keeps its properties, its parts and its formulas.
  • The This job root still lists that tool and still places it.
  • The library shows in the Tools panel greyed, with the reason: "DimSum cannot find Framing.tsum — it was moved, renamed or deleted. Everything already placed from it is still whole in this job."
  • Editing a library never reaches back into a job on its own, and editing a job never writes back to a library. a job that placed a changed tool is asked when it opens — never changed without you (When you change a tool).

Options & settings ​

A tool's tabs ​

TabContents
GeneralName, description, colour, fill opacity, line weight
PropertiesWhat it measures (pinned), the item fields, and the properties you add — with Add property, Settings…, rename and delete, exactly as in a job
PartsThe tool-and-parts tree, with drag and drop, Move to…, the eight part actions, Load a part… and Save to a folder…
PlaygroundA sheet to draw on with the tool itself, every property result and every part Qty following the drawing, Include in report per drawing, and the sample boxes for a tool nobody wants to draw with —
FormThe Form Layout designer — the questions the tool asks when it is placed or double-clicked, laid out on a grid: sections with a Columns width, a Rows height and a Form tab, and fields that take a cell and span, dragged or keyed into place, with a live preview — (Lay out the questions)
LabelThe tool's label template in a small designer — text pieces with fields and formulas, symbols and a box — over a sample item, with a preview strip; and where the label sits (anchor, along the line or horizontal, how many, leader, draggable, show), each following System Settings → Labels until set here; its own Undo and one Save label —; also in a job's Tool Settings (Design a tool's label)

Versioning ​

RuleBehaviour
Every change to a toolBumps that tool's version, and the library's
A jobRecords the version it copied, and shows it on the row
Placing again when the library is aheadUses the new version, refreshes the job's copy, and says so in a toast
Items already placedNever change by themselves — the job is asked (When you change a tool)
Pulling a change into items already drawnUpdate from Tool, on the job's update screen when it opens — a tick per item, one Undo, Skip per tool version, your own values on an item kept (When you change a tool) —

Tool Settings dialog ​

A placed tool's own settings in one place. Double-click the item on the sheet, right-click it → Settings…, or click Settings… at the top of its Properties panel.

  • Double-click opens it straight away on an area, a count or a wall of one span.
  • A wall of several spans keeps the rule it already had: the first double-click selects the whole wall, and a second double-click on it opens its settings.
  • While you are drawing, a double-click still finishes the run — it never opens a dialog halfway through a wall.
  • Esc closes it. While it is open the sheet's keys stay off the drawing, so Esc and Delete never reach the wall behind it.

The head shows the tool's name and its live quantity and ERROR count, above its tabs:

TabWhat it is
FormThe form the tool's author laid out in the designer's Form tab — its tabs, its same-row pairs, its units — with every value editable in its real editor. Built-ins such as Height show like any other property. A form nobody laid out, or an item drawn straight from Linear, Area or Count, is every Input property in panel order, and says so in one line. It shows the design; it does not rearrange it
InputThe Input tick on every property, grouped. It says once, at the top, that ticking Input here asks for that property on every tool in this job — Input lives on the property's definition, as Hidden does. Per-tool Input is the designer's
AdvancedEvery property with its formula and units — the whole grid, hidden rows included. It is also where an item's Name is a row with an fx, which is how you give an item a Name formula
LabelThe Label tab's mini-designer on the job's copy of the tool, with this item's own values: Save label is one Undo in the job, and every item of the tool follows it (Design a tool's label)

Save as tool… sits in its footer: it closes Tool Settings and opens the same Save as tool dialog the right-click menu does — folder, tab or folder, name — so there is one way a tool is made from an item, whichever door you use.

Examples ​

  • Framing. Ext Wall 2x6 as a Linear tool, the way DimSum Defaults ships its example: O.C. marked Input so every wall asks for its spacing, and parts for Plates, Studs, Sheathing and framing labour, each with a ROUNDUP(…) Qty. On the Playground's standard 100 ft sample it reads 76 studs; draw a 42 ft run on the Playground, or place it in a job, and it reads what 42 ft is worth.
  • Floor sheathing. An Area tool whose first part is Subfloor 3/4" T&G, with Subfloor Glue nested under it at ROUNDUP({Parent > Qty} / 4, 0) — the glue follows the sheets, not the area.
  • Low voltage. A Count tool Data Drop, with the saved Cat6 Network Cable part loaded in so the slack formula comes with it, plus a jack, a bracket and terminate labour.
  • Job extras. A Count tool placed once, with parts for Dumpster, Permit and Delivery Fee — non-drawn costs live in the takeoff like everything else.
  • Your own library from the defaults. Copy Ext Wall 2x6 (example) into My Tools, rename it to what you actually build, change the studs and the sheathing, and place that instead.

Tips & shortcuts ​

  • Build parts as a tree: put accessories (glue, fasteners) under the item they depend on and use {Parent > Qty}.
  • Keep Input to the one or two values that really change per placement.
  • Test with awkward numbers — a tiny area, a zero-length run — before you share a tool.
  • Ctrl+Z works the whole way through the designer: a move, a rename, a delete, a whole tab and everything in it.
  • If you would rather not drag, Move to… on the right-click menu does every move the drag does.
  • Start from DimSum Defaults: copy a tool that nearly works and change it, instead of starting at nothing.
  • Name tabs by trade and folders by what the tools do (Framing → Walls, Floors, Roof). The filter box then finds anything in two keystrokes.

Rules, limits & edge cases ​

  • A tool's type is fixed when it is made — a Linear tool cannot become an Area tool later. Make the one you want and build in it.
  • DimSum Defaults cannot be changed. Every write to it is refused; Copy to a folder of my own… is the way through.
  • A saved part has no geometry, so it is never placed on a sheet — it is loaded into a tool.
  • A part's unit takes no formula — it is a unit, typed in the box beside the Qty — and a tool's Qty is measured from the drawing, not typed. A saved part's own Qty is written, which is why the Cat6 part can carry its slack.
  • Rounding is ROUNDUP(…) in the Qty formula. There is no Round Up checkbox.
  • Deleting a tab deletes what is inside it — the confirmation counts it first, and one Ctrl+Z brings it all back.
  • A move that is not allowed is listed with its reason, never silently ignored.
  • A library whose file has gone can be read from a job's own copies but not changed; put the file back and it works again.
  • Two people editing the same .tsum on a shared drive at the same time is not supported.
  • a linked part is asked, never changed by itself — a change to its row or its table's columns waits on the update screen until you take it or Skip it — and an update never writes a material folder, only the tool folders it touched.
  • a job is asked, never changed by itself, when a tool it placed has changed — and an update never touches a value you set on an item. A tool whose folder isn't on this machine can't be checked, so it is never offered. Changes to the built-in properties' own settings and input defaults aren't listed on the screen, though they come into the job's copy on accept. A changed label template is listed, and taking it never writes onto the items: they follow the job's copy of the tool.
Planbase Estimating LLCDimSum Takeoff
Sheet titleTool Designer
SectionTools & jobs
StatusPartly available
ScaleNTS
Sheet41 / 57

DimSum Takeoff by Planbase Estimating LLC · Kansas City, Missouri