Skip to content

What Problem Are We Solving?

A Revit model can contain thousands of elements. Every element in that model may need to carry specific data — a classification code, a fire rating, a mark value, a material — depending on the project standard.

Checking whether all that data is correct, present, and consistent is impossible to do manually at scale.


The data quality problem

In practice, BIM data quality issues look like this:

  • A door has no Mark parameter — it cannot be scheduled
  • An Assembly Code is missing on a wall type — cost estimation breaks
  • A fire rating parameter exists but is empty — IFC export is incomplete
  • A shared parameter is filled in on the type but the rule checks the instance — it never finds it

These errors are hard to spot in the Revit UI. They only surface later — in exports, reports, or downstream tools — when fixing them is expensive.


What DAQS does

DAQS solves this by running automated checks directly in Revit.

The process is:

  1. DAQS Assist extracts the model — all elements, types, parameters, and relationships are exported as a structured JSON file
  2. Rules run against that JSON — each rule selects the relevant elements and checks a specific condition
  3. Failures are shown to the user — directly in the Revit plugin, with a message that explains what is wrong and how to fix it

The user never leaves Revit. They see the error, open the element, and fix the value.


What a rule looks like in practice

A rule answers one focused question, for example:

Do all FamilyInstances in category Doors have a Mark parameter?

Or:

Do all wall types with Assembly Code starting with 21. have a fire rating value?

Start with rules that are:

  • Intentionally small and focused.
  • One rule, one check.
  • That makes them easy to read, debug, and later expand.

Why JSON and JSONata?

DAQS exports the Revit model as JSON because it is a universal, readable format that works well with query languages.

The filter inside each rule is written in JSONata — a lightweight query language designed specifically for JSON.

You do not need to know JSONata before starting this course. It is introduced step by step, starting with the simplest possible filter.


The result

When DAQS runs rules on a model, every failing element is reported with:

  • Which element failed (name, id)
  • What was wrong (the specific value or missing parameter)
  • How to fix it (a clear action in the error message)

This turns a vague "the model has data quality issues" into a specific, actionable list of things to fix.


Next

👉 Mental Model — understand how DAQS sees Revit data before writing your first rule