Cost Impact — What triggers costs
Which markup tools produce cost rows, why a calculation looks wrong or missing, smart scope detection, and the best-practice workflow for accurate estimates.
Cost Impact — What triggers costs
Which Tools Trigger Cost Calculations
The cost engine only runs on tools that represent measurable physical work. Pure dimension annotations (calibration, single-segment linear measurements, radius/diameter/angle) do not trigger a calculation — they describe a length on paper but do not represent material to install or remove.
| Key / Control | Action |
|---|---|
| Eligible (triggers calc) | Rectangle, Polygon, Cloud, Polyline, Line, Freehand, Ellipse, Measure Area, Measure Polylength, Measure Count, Double Line |
| Not eligible (annotation only) | Calibrate, Linear measurement, Radius, Diameter, Angle, Text/Typewriter, Stamp, Signature, Highlight, Cutout/Redact |
You don't have to memorize the table. Figure 2 shows the Markup, Measure, and Drawing toolbars: every tool that produces a cost row carries a small rust dot in its top-right corner. If a tool has the dot, drawing with it adds to the running total; if it doesn't, the markup is annotation only.

When Calculations Look Wrong or Missing
The cost engine is best-effort: it derives quantities from your geometry and matches them to the closest item in the library. The most common reasons a calculation looks wrong or doesn't appear:
| Key / Control | Action |
|---|---|
| No calibration set | Area/length tools produce a 0 quantity until you set a known length via Measure → Calibrate on the page |
| Generic PDF, no element type | On non-BIM PDFs the engine has no IFC type to match against — right-click the markup → Set Element Type to assign one (promotes to High confidence) |
| Confidence shown as "Very Low" (grey dot) | Engine fell back to MISC-001 because no element/keyword/tool match was found — click the pencil (✎) on the row to manually pick the correct cost code |
| Quantity looks off by a factor of 10/100/1000 | Calibration was set with the wrong known length or unit — re-calibrate the page; existing markup quantities will refresh on the next interaction |
| Scope keyword not picked up | Add the action verb (demo / replace / repair / install / paint) to the markup subject or description so the engine knows whether to generate demo + install rows or just one |
| Cost is $0 for a known-good markup | The matched cost-library item may be missing material/labour data — open Costs → Cost Library and edit the row, or pick a different code via the pencil icon |
[CostEngine] console log.- Glance at the markups sidebar. If it shows your markups (Material Hatch, polygons, etc.) but the Cost Impact toolbar shows
$0.00, the cost rows haven't been populated for this PDF yet.If markups are visible in the sidebar but the toolbar reads $0.00, your historical cost rows are missing — almost always because they were never written during prior sessions (a class of silent-fail bugs we've since fixed). - Click the Recalculate button on the Cost Impact toolbar. The engine iterates every cost-eligible markup on the canvas and re-runs the calc. A toast confirms how many markups were processed.LocusBIM auto-detects this state on PDF open and fires the recalc for you. If it didn't auto-fire (e.g. live updates are disabled in your preferences), do it manually here.
- If you have multi-page PDFs with markups on more than the current page, repeat the Recalculate click after navigating to each page that has cost-eligible markups.Multi-page caveat: Recalculate today only iterates the markups on the currently-loaded canvas (i.e., the current page). To recalc page 2's markups, navigate to page 2 first, then click Recalculate. A document-wide recalc that iterates all pages without page-flipping is on the roadmap.
Best-Practice Workflow for Accurate Costs
- Calibrate the page first — Measure → Calibrate, then click two points with a known real-world distance. Required for any area/length-based cost calculation.
- Pick the right tool for the quantity you want — Measure Area for square metres (drywall, flooring), Measure Polylength for linear metres (baseboard, duct runs), Measure Count for unit quantities (light fixtures, outlets).
- Right-click → Set Element Type on generic PDFs so the engine doesn't have to guess. This single step promotes the calc to High confidence.
- Add a scope keyword to the markup subject (demo, replace, repair, install, paint) so the engine knows the work type.
- Review the breakdown panel — green/blue dots are trustworthy; amber and grey dots want a manual code via the pencil (✎) icon.
- Pick your city's region factor in Costs → Cost Library so the unit costs reflect local labour/material indices.
Smart Scope Detection
The engine reads the issue title or markup description for action keywords and generates the appropriate rows automatically:
| Key / Control | Action |
|---|---|
| demo / remove / tear out | Demolition row only (savings sign) |
| replace / swap | Demo row + install row + optional paint finish for wall-family items |
| repair / patch / fix | Single row at 40% of install cost |
| paint / finish / coat | Finish coat row (PAINT-001) |
| new / install / add | Install row only (default when no keyword found) |
- Cost Impact — OverviewLive rough-order-of-magnitude cost estimates as you mark up PDFs and 3D issues: first-time setup (calibrate scale), how it works, and the core budgeting workflows.
- Cost Impact — Element types & mappingHow markups map to CSI cost codes: IFC type mapping for 3D, mapping your own Revit categories, and setting element type on generic PDFs.
- Measurement & CalibrationCalibrate drawing scale and run linear, area, radius, diameter, angle, polylength, and count measurements on PDFs.