# Flatness and Deviation Checks

### <span data-path-to-node="3,1"><span class="citation-134">Intro</span></span>

<span data-path-to-node="3,1"><span class="citation-134">The </span>**<span class="citation-134">flatness check</span>**<span class="citation-134"> is primarily used to verify the flatness of surfaces such as floors, walls, or ceilings</span></span><span data-path-to-node="3,2"><span class="citation-134 citation-end-134"><sup class="superscript" data-turn-source-index="1"></sup></span></span><span data-path-to-node="3,3">. </span><span data-path-to-node="3,5"><span class="citation-133">This is done by color-coding the deviations between the </span>**<span class="citation-133">point cloud</span>**<span class="citation-133"> and the </span>**<span class="citation-133">model geometry</span>**</span><span data-path-to-node="3,6"><span class="citation-133 citation-end-133"><sup class="superscript" data-turn-source-index="2"></sup></span></span><span data-path-to-node="3,7">. </span><span data-path-to-node="3,9"><span class="citation-132">This allows for the rapid identification of unevenness and discrepancies between the model (or specific components) and the point cloud to monitor construction quality or provide proof of standard-compliant tolerances</span></span><span data-path-to-node="3,10"><span class="citation-132 citation-end-132"><sup class="superscript" data-turn-source-index="3"></sup></span></span><span data-path-to-node="3,11">.</span>

<video class="block" controls="controls" height="432px" loop="loop" muted="" poster="https://qbitec.com/media/video/qa-flatness-title.jpg" style="width: 768px; height: 432px;" width="768"> <source src="https://qbitec.com/media/video/qa-flatness-reduced.mp4" type="video/mp4"> </source></video>

#### Examples

- <span data-path-to-node="5,0,1,0">**<span class="citation-131">Checking Floor Coverings and Ceilings:</span>**<span class="citation-131"> Monitoring the flatness of screed, raw concrete floors, or ceilings</span></span><span data-path-to-node="5,0,1,1"><span class="citation-131 citation-end-131"><sup class="superscript" data-turn-source-index="4"></sup></span></span><span data-path-to-node="5,0,1,2">.</span>
- <span data-path-to-node="5,1,1,0">**<span class="citation-130">Inspecting Walls:</span>**<span class="citation-130"> Checking for bulges, inclinations, or misalignments</span></span><span data-path-to-node="5,1,1,1"><span class="citation-130 citation-end-130"><sup class="superscript" data-turn-source-index="5"></sup></span></span><span data-path-to-node="5,1,1,2">.</span>
- <span data-path-to-node="5,2,1,0">**<span class="citation-129">Renovation Preparation:</span>**<span class="citation-129"> Identifying depressions (dips) or elevations (humps) in existing buildings</span></span><span data-path-to-node="5,2,1,1"><span class="citation-129 citation-end-129"><sup class="superscript" data-turn-source-index="6"></sup></span></span><span data-path-to-node="5,2,1,2">.</span>

<div id="bkmrk--1"></div>#### Procedure

1. <span data-path-to-node="8,0,0,0">**Select Revit elements** (e.g., floors, ceilings, or walls). </span><span data-path-to-node="8,0,0,2"><span class="citation-181">Use Revit selection filter ("Modify --&gt; Filter") to narrow down the selection by Category</span></span><span data-path-to-node="8,0,0,3"><span class="citation-181 citation-end-181"><sup class="superscript" data-turn-source-index="8"></sup></span></span><span data-path-to-node="8,0,0,4">.</span>
2. <span data-path-to-node="8,1,0,1"><span class="citation-180">Click the </span>**<span class="citation-180">"Quality Analysis"</span>**<span class="citation-180"> button</span></span><span data-path-to-node="8,1,0,2"><span class="citation-180 citation-end-180"><sup class="superscript" data-turn-source-index="9"></sup></span></span><span data-path-to-node="8,1,0,3">.</span>
3. <span data-path-to-node="8,1,0,3">T</span><span data-path-to-node="8,2,0,1"><span class="citation-179">he plugin extracts the geometry of the selected Revit elements and determines the </span>**<span class="citation-179">distance of all points</span>**<span class="citation-179"> from these elements</span></span><span data-path-to-node="8,2,0,2"><span class="citation-179 citation-end-179"><sup class="superscript" data-turn-source-index="10"></sup></span></span><span data-path-to-node="8,2,0,3">. </span><span data-path-to-node="8,3,0,1"><span class="citation-178">The distances are mapped onto the active </span>**<span class="citation-178">color map</span>**<span class="citation-178"> and displayed</span></span><span data-path-to-node="8,3,0,2"><span class="citation-178 citation-end-178"><sup class="superscript" data-turn-source-index="11"></sup></span></span><span data-path-to-node="8,3,0,3">.</span>
4. <span data-path-to-node="8,4,0,1"><span class="citation-177">Select and edit color maps using the </span>**<span class="citation-177">"Color Map"</span>**<span class="citation-177"> command</span></span><span data-path-to-node="8,4,0,2"><span class="citation-177 citation-end-177"><sup class="superscript" data-turn-source-index="12"></sup></span></span><span data-path-to-node="8,4,0,3">.</span>
5. <span data-path-to-node="8,5,0,1"><span class="citation-176">If the analyzed geometry changes or you wish to analyze different geometry in the same view, select the corresponding elements and click </span>**<span class="citation-176">"Update"</span>**<span class="citation-176"> to restart the calculation</span></span><span data-path-to-node="8,5,0,2"><span class="citation-176 citation-end-176"><sup class="superscript" data-turn-source-index="13"></sup></span></span><span data-path-to-node="8,5,0,3">.</span>
6. <span data-path-to-node="8,6,0,1"><span class="citation-175">Toggle between the distance visualization and the normal view by turning the </span>**<span class="citation-175">"Quality Analysis"</span>**<span class="citation-175"> button on or off</span></span><span data-path-to-node="8,6,0,2"><span class="citation-175 citation-end-175"><sup class="superscript" data-turn-source-index="14"></sup></span></span><span data-path-to-node="8,6,0,3">.</span>

#### <span data-path-to-node="8,6,0,3">Key features</span>

<span data-path-to-node="8,6,0,3">Quality analysis can be performed in all view types that support point cloud display (3D, Floor or Ceiling Plans, Elevations, Sections). Each Revit view can be configured independently, allowing you to focus on specific elements, element categories, levels or rooms. </span>

<span data-path-to-node="8,6,0,3">For documentation purposes the views can be placed on sheet views and printed or exported.</span>

<span data-path-to-node="8,6,0,3">The distance calculations are performed dynamically, meaning only the points visible in the current view (from coarse to fine, following the Level-of-Detail scheme) are processed.</span>

<span data-path-to-node="8,6,0,3">Calculated distances are not saved in the Revit project; they must be recalculated in a new Revit session.</span>

### Add and customize color maps

Use the "Color Map" command to add additional color maps or modify existing ones.

The color maps displayed in the list are saved in the Revit project and are therefore retained beyond the end of the session. When a Revit project is saved as a template file, the color palettes also become part of this Revit template.

[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/BHBimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/BHBimage.png)

##### (1) Color map symbol

<table class="qa-symbols" id="bkmrk-flatness-checkevalua"><tbody><tr><td width="80px">[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/zG4image.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/zG4image.png)

</td><td>**Flatness Check**  
Evaluates the evenness of surfaces such as floors, walls, or ceilings by showing distance variations between the point cloud and model planes.</td></tr><tr><td>[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/8myimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/8myimage.png)

</td><td>**Tolerance Check**  
Highlights areas that exceed defined tolerance limits using a traffic-light color scheme, making it easy to identify in- and out-of-tolerance regions.</td></tr><tr><td>[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/2a7image.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/2a7image.png)

</td><td>**Completeness Check**  
Identifies scanned areas not covered by the model geometry, helping detect missing or unmodeled elements in as-built verification workflows.</td></tr><tr><td>[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/6gwimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/6gwimage.png)

</td><td>**Clash Detection**  
Reveals where modeled geometry overlaps with the point cloud beyond acceptable limits, useful for detecting construction conflicts or misalignments.</td></tr></tbody></table>

##### (2) Color Gradient

Displays the active color scale used for the selected analysis type. It visually represents how distance or deviation values are mapped to colors in the current Quality Analysis view.

##### (3) Name

Displays the active color scale used for the selected analysis type. It visually represents how distance or deviation values are mapped to colors in the current Quality Analysis view.

##### <span class="inline-marker">(4)</span> Edit Icon

Opens the color map editor, where you can adjust the gradient, distance range, and thresholds or define new color transitions for custom analyses.

##### <span class="inline-marker">(5)</span> Delete Icon

Removes the color map from the list. This action deletes the profile from the local configuration but does not affect active visualizations until refreshed.

##### <span class="inline-marker">(6)</span> Add Profile Button

Opens the color map editor to create a new color map profile. You can define a name, distance range, and gradient to suit specific analysis types, such as completeness or tolerance checks.

#### Color Map Editor

When adding a new color map or by choosing the pencil symbol [![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/Zs4image.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/Zs4image.png) behind an existing one, the Color Map Editor window opens, and you can define the properties of the color map, including the color gradient and the range (minimum, maximum).

The Units for the minimum and maximum values are always specified in Millimeters \[mm\] or Inches \[in\], depending on the Revit project unit.

[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/lrOimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/lrOimage.png)

Select a color gradient from the list and specify the minimum and maximum distance values.

If **Mirror Color Map on Zero** is enabled, the minimum value must be non-negative (≥ 0). In this mode, positive and negative deviations (points lying above or below the surface) are treated symmetrically, and only the absolute distance values are used for coloring. If you set the minimum value to a number greater than zero, you can hide all points whose absolute distance is less than the minimum value, in this example 50 mm:

[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/oP6image.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/oP6image.png)

### <span data-path-to-node="8,6,0,3">Color Maps - Deep Dive</span>

<span data-path-to-node="8,6,0,3"><span data-path-to-node="13,1"><span class="citation-169">For flatness analysis, </span>**<span class="citation-169">soft, multi-colored gradients</span>**<span class="citation-169"> (e.g., Turbo) or </span>**<span class="citation-169">diverging color maps</span>**<span class="citation-169"> (e.g., cool-to-warm) are recommended, as they fluidly represent the topography (peaks and valleys) of the surface</span></span><span data-path-to-node="13,2"><span class="citation-169 citation-end-169"><sup class="superscript" data-turn-source-index="20"></sup></span></span><span data-path-to-node="13,3">. </span><span data-path-to-node="13,5"><span class="citation-168">Color gradients suitable for flatness analysis are marked with the symbol </span></span></span>[![deviationanalysis-icon.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/deviationanalysis-icon.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/deviationanalysis-icon.png)

#### Recommended Color Maps for Flatness Checks

<table border="1" id="bkmrk-color-ramp-name-turb" style="border-collapse: collapse; width: 100%; height: 617.938px;"><colgroup><col style="width: 33.3731%;"></col><col style="width: 14.2989%;"></col><col style="width: 52.328%;"></col></colgroup><thead><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Color Gradient</td><td style="height: 29.7969px;">Name</td><td style="height: 29.7969px;">  
</td></tr></thead><tbody><tr style="height: 96.9844px;"><td style="height: 96.9844px;">[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/nluimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/nluimage.png)

</td><td style="height: 96.9844px;">Turbo</td><td style="height: 96.9844px;">“Rainbow Colors.” Developed by Google as an improved alternative to “Jet.” Turbo retains the vibrant, high-contrast colors of the rainbow to make fine details visible, but without sudden changes in brightness that can cause edges to appear. Note: It is not completely perceptually uniform and is not colorblind-safe.</td></tr><tr style="height: 80.1875px;"><td style="height: 80.1875px;">[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/Vrdimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/Vrdimage.png)

</td><td style="height: 80.1875px;">Inferno (1) (2)</td><td style="height: 80.1875px;">Smoothly transitions from black through fiery reds and oranges to bright yellow. It is highly effective for highlighting high-intensity data in heatmaps while remaining colorblind-friendly and printing well in grayscale.

</td></tr><tr style="height: 80.1875px;"><td style="height: 80.1875px;">[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/Mifimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/Mifimage.png)

</td><td style="height: 80.1875px;">Viridis (1) (2)</td><td style="height: 80.1875px;">Smoothly transitions from dark purple through blue and green to bright yellow. It is specifically designed to be colorblind-friendly and perfectly legible when printed in grayscale, making it a highly reliable standard for scientific data visualization.</td></tr><tr style="height: 39.8281px;"><td style="height: 39.8281px;">[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/Dz5image.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/Dz5image.png)

</td><td style="height: 39.8281px;">Gray (2)</td><td style="height: 39.8281px;">Visualizes the distances without distracting color associations.</td></tr><tr style="height: 96.9844px;"><td style="height: 96.9844px;">[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/H2Qimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/H2Qimage.png)

</td><td style="height: 96.9844px;">Bone (2)</td><td style="height: 96.9844px;">Grayscale-based colormap with a subtle blue and warm gray tint that progresses from black to white. It is the standard choice for medical imaging (like X-rays and MRIs) - that's where name comes from - because its slight coloration is easier on the eyes than pure grayscale.</td></tr><tr style="height: 96.9844px;"><td style="height: 96.9844px;">[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/TY6image.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/TY6image.png)

</td><td style="height: 96.9844px;">Red-White-Blue</td><td style="height: 96.9844px;">Red-white-blue is a classic diverging colormap that transitions from deep red through a pure white center to deep blue. It is ideal for flat 2D visualizations where you want a critical midpoint (like zero) to fade into a white background, heavily emphasizing extreme positive and negative anomalies.</td></tr><tr style="height: 96.9844px;"><td style="height: 96.9844px;">[![image.png](https://qbitec.com/kb/uploads/images/gallery/2026-03/scaled-1680-/ECEimage.png)](https://qbitec.com/kb/uploads/images/gallery/2026-03/ECEimage.png)

</td><td style="height: 96.9844px;">Cool to Warm (1) (2)</td><td style="height: 96.9844px;">Cool-to-warm is a diverging colormap that shifts from cool blue to warm red through a desaturated, neutral light gray rather than pure white. This design prevents middle data values from washing out or confusing the eye when compared to white background.</td></tr></tbody></table>

<span data-path-to-node="8,6,0,3"><span data-path-to-node="13,6"><span class="citation-168 citation-end-168"><sup class="superscript" data-turn-source-index="21"></sup></span></span></span>

<span data-path-to-node="8,6,0,3">(1) **Perceptually uniform**, meaning that equal numerical changes in distance are perceived by the human eye as equally sized changes in color and brightness.</span>

<span data-path-to-node="8,6,0,3">(2) **Color-blind friendly**, meaning that individuals with color vision deficiencies can accurately distinguish data values by relying primarily on steady changes in brightness rather than problematic color contrasts like red and green.</span>

Diverging color charts (Red-White-Blue, Cool to Warm) are typically created with symmetrical boundaries, e.g., min = -20 mm, max = +20 mm. This means that values around zero are displayed in the respective neutral color, white (red-white-blue) or light gray (cool-to-warm).