A tutorial walkthrough of every ribbon button, dialog, and workflow in the point cloud deviation analysis plugin
v1.2.9 / Tutorial & Reference Guide
EliteScan installs a dedicated "Elite Scan" tab in the Revit ribbon. It contains four panels grouping point cloud analysis, visualization, and data management tools. Supports Revit 2022 through 2026.
Icons auto-swap between Light and Dark variants to match Revit's current UI theme. The add-in uses ricaun.Revit.UI for ribbon creation with automatic DPI scaling.
Automatically places Scan Location family instances at each scan origin detected in linked point cloud files. Each instance is populated with metadata required for analysis.
Skips scans that already have instances placed. If an instance's ScanID matches an existing instance's ScanID parameter, placement is bypassed to avoid duplicates.
Opens a dialog listing all Scan Location instances. Choose which scans to analyze, or run analysis for all scans at once.
| Control | What it does |
|---|---|
| Scan List | CheckBox list showing all placed scan instances. Each row displays ScanID, Level, and coordinates. Check the scans you want to analyze. |
| Analyze Selected | Runs analysis workflow only for checked scans. Grayed out if no scans are selected. |
| Analyze All | Runs analysis workflow for every scan in the project, regardless of selection state. |
| Cancel | Closes the dialog without running any analysis. |
Tip: Use "Analyze Selected" when you only need to update specific scans after model changes. Use "Analyze All" for the initial full-project analysis.
Modal progress dialog displays the current scan, operation step, progress bar, and cancel button. Each scan runs through four steps sequentially.
| Step | What happens |
|---|---|
| 1. Export Geometry | Collects elements within AnalysisRadius of scan. Filters by included categories (Settings). Exports to E57 format via CustomExporter API. Saved to %LOCALAPPDATA%\EliteTools\EliteScan\TempGeometry\[ScanID].e57. |
| 2. Export Cloud | Extracts RCS point cloud to E57 format using CloudCompare CLI. Crops to a box matching the AnalysisRadius. Saved to %LOCALAPPDATA%\EliteTools\EliteScan\TempClouds\[ScanID].e57. |
| 3. CloudCompare C2M | Runs Cloud-to-Mesh distance calculation using CloudCompare CLI. Geometry E57 is the reference mesh, Cloud E57 is compared against it. Outputs per-point deviation scalars. |
| 4. Compute Statistics | Parses CloudCompare output. Groups points by originating element using spatial queries. Computes mean deviation, max deviation, % in tolerance, point count per element. Assigns letter grades (A-F). Saves to %LOCALAPPDATA%\EliteTools\EliteScan\Results\[timestamp].json. |
Canceling aborts the current scan and skips remaining scans. Partial results are not saved. CloudCompare executable path must be configured in Settings.
Opens after analysis completes or via View Report button. The header displays the analysis timestamp dropdown with a refresh icon. The summary panel shows aggregate statistics.
| Summary stat | Meaning |
|---|---|
| Total Elements | Count of all elements analyzed across all scans in this analysis session. |
| Accurate (A-B) | Count of elements scoring A or B grades (≥80% in tolerance). Indicates well-constructed elements. |
| Accuracy Rate | Percentage of elements with A or B scores. Higher is better. Excludes verified elements from calculation. |
| Scan count | Total number of scans included in this analysis. Multi-scan elements show best score across all scans. |
| Conflicts warning | Red warning badge appears if an element has conflicting scores across scans (e.g., A in one scan, F in another). Indicates potential issue. |
| Score Distribution | Five color-coded badges showing count of A, B, C, D, F scores. Green (A), light green (B), yellow (C), orange (D), red (F). |
Four radio buttons control how element scores are aggregated when multiple scans cover the same element. Applies to the entire element list.
| Mode | How it works |
|---|---|
| Best Visibility | Uses the scan with the most points captured for this element. Prioritizes completeness of data over score. Default mode. |
| Best Score | Uses the scan that gave the element its highest letter grade (e.g., if Scan A = B and Scan B = A, uses Scan B's score). Optimistic scoring. |
| Top 10 Average | Averages the numerical scores from the top 10 scans by point count. Balances visibility and accuracy. Useful for multi-scan verification. |
| Custom | Allows per-element scan selection via the Scan Selector dropdown in each element row. Most granular control. Use for investigating discrepancies. |
Changing the mode recalculates all displayed scores, mean deviations, and percentages immediately. Verified elements are unaffected.
Elements are organized into discipline groups (Architectural, Structural, MEP), each containing category expanders. Click a category to expand and see individual element rows.
Verified elements are excluded from discipline and category averages to show true construction accuracy. Verified elements display with cyan backgrounds.
Each element row displays detailed deviation statistics, verification controls, scan selection, and screenshot indicators.
| Column/Control | Details |
|---|---|
| Verify Checkbox | When checked, marks element as verified. Opens Verify Element Dialog for reason and screenshot. Verified elements get cyan background and are excluded from scores. |
| Score Badge | Letter grade (A-F) with color: A (green), B (light green), C (yellow), D (orange), F (red), Reviewed (cyan). Reflects current scan selection mode. |
| Element Name | Element description with ElementId in parentheses. Click to select element in Revit viewport. |
| Conflict Indicator | Red warning triangle icon appears if element has conflicting scores across scans (e.g., A in one scan, F in another). Hover for tooltip. |
| % In Tolerance | Percentage of captured points within the tolerance threshold (default 0.05 ft). Higher is better. |
| Mean Deviation | Average distance of all points from the element surface, in feet. Lower is better. |
| Point Count | Number of point cloud points captured for this element. More points = higher confidence in score. |
| Scan Selector | Dropdown showing all scans that captured this element. Only enabled in "Custom" mode. Shows ScanID with score/point count in parentheses. |
| Image Indicator | Small camera icon appears if element has an associated screenshot. Green if screenshot exists, gray if not. |
| Capture | Opens 360° Panorama Viewer, zooms to element, prompts user to navigate scan, and captures Revit + Panorama side-by-side screenshot. |
| Upload | Opens file dialog to upload an external screenshot (from site photos, etc.). Copies file to EliteScan screenshots folder and links to element. |
Bottom toolbar provides viewport navigation, visualization, data management, and export capabilities.
| Button | What it does |
|---|---|
| Zoom to Element | Zooms the active 3D view to the selected element with optimal framing. Auto-unhides element if hidden. Disabled if no element selected. |
| Isolate Scan | Checkbox. When enabled, hides all point clouds except the one associated with the selected element's current scan. Useful for visual verification. |
| Show Deviations | Loads per-point deviation data from .points.bin file. Colors points by deviation (green=accurate, red=deviated). Applies to selected element's scan. Resource-intensive. |
| Quick Deviations | Lightweight version of Show Deviations. Uses sampled point cloud without loading full deviation data. Faster but less precise. Good for quick checks. |
| Clear Visualization | Removes all point cloud colorization and resets to default gray display. Also removes any temporary graphics. |
| Load | Opens file dialog to load a previous analysis JSON result file. Useful for comparing historical analyses. |
| Save | Saves current analysis results to JSON file in custom location. Includes verification reasons, screenshots, and scan selections. |
| Export CSV | Exports all element data to CSV spreadsheet. Includes Category, ElementId, Name, Score, Mean/Max Deviation, % In Tolerance, Point Count, ScanID, Verified, Reason. |
| Export Report | Generates comprehensive HTML report with embedded CSS, base64 screenshots, executive summary, category breakdown, and verification details. |
| Close | Closes the Results Window. Results remain saved in %LOCALAPPDATA%\EliteTools\EliteScan\Results\ and can be reopened via View Report. |
Elements receive letter grades (A-F) based on the percentage of captured points within the tolerance threshold (default 0.05 ft / 0.6 inches). Verified elements receive a "Reviewed" grade.
Thresholds are fully configurable in Settings. Tolerance defines the acceptable deviation distance (default 0.05 ft). Grade thresholds define the percentage cutoffs for A/B/C/D/F.
Opens when checking the Verify checkbox on an element row. Captures structured documentation for why an element deviates from scan data.
| Field | Details |
|---|---|
| Element Info | Read-only header showing element description, ElementId, category, and current score. Helps confirm you're verifying the correct element. |
| Screenshot Preview | Displays existing screenshot if one was previously captured or uploaded. Empty state shows "No screenshot" message. |
| Reason Selection | 6 radio button options: Confirmed Accurate (scan error), Post-Scan Change (built after scan), Known Deviation (intentional), Insufficient Data (poor scan coverage), Category Exclusion (wrong category), Other (custom reason). |
| Additional Notes | Multi-line text box for freeform notes. Useful for detailed explanations, RFI numbers, or coordination notes. |
| Screenshot Option | Checkbox: "Capture screenshot for this element". When checked, dialog closes and 360° Panorama Viewer opens for screenshot workflow. |
| Cancel | Closes dialog without saving. Unchecks the Verify checkbox. |
| Save | Saves verification data to element record. Element gets cyan background, checkbox stays checked, image badge updates. Data persists in JSON. |
Two methods for associating screenshots with verified elements: automated Capture workflow or manual Upload workflow.
Screenshots are embedded as base64 in HTML reports and displayed in the Verify Element Dialog preview. They are NOT stored in the JSON file itself, only the file path reference.
Dockable pane displaying equirectangular panorama images from FARO scans or E57 exports. Toolbar provides navigation, synchronization, and screenshot controls.
| Control | What it does |
|---|---|
| SYNC Toggle | When enabled (blue), panorama view direction automatically syncs with Revit's active 3D view camera. Updates on mouse release to avoid performance lag. |
| Resync | Forces immediate sync of panorama to match Revit camera direction. Useful when SYNC toggle is disabled or after manual navigation. |
| Reset | Resets panorama view to default orientation (0° yaw, 0° pitch). Also resets zoom to 100%. |
| Pop Out | Opens panorama in a separate floating window. Useful for dual-monitor workflows. Window can be resized and positioned independently. |
| Screenshot | Captures side-by-side screenshot: Revit 3D view (left) + Panorama (right). Saves to %LOCALAPPDATA%\EliteTools\EliteScan\Screenshots\ with timestamp. |
| Scan Dropdown | Lists all placed scan locations. Select a scan to load its panorama image. Shows ScanID and coordinates in dropdown. |
| Range Control | Slider (10-200 ft) controls point cloud visibility range in Revit. Only affects display, not analysis. Useful for reducing clutter. |
Main display area shows equirectangular panorama with interactive navigation. Hotspots appear as white circles indicating linked scans.
No Scan Selected state displays a centered message: "No scan selected. Choose a scan from the dropdown." with a list of available scans below.
SYNC toggle enables bidirectional view synchronization between Revit's 3D viewport and the panorama viewer. Requires a perspective 3D view named "Pano View" (auto-created if missing).
Sync only works in the "Pano View" 3D view. If user switches to a different view while SYNC is enabled, sync pauses and resumes when returning to Pano View.
Show Overlay applies color overrides to elements based on their analysis scores. Clear Overlay removes all color overrides.
Quick Deviations vs Show Deviations: Quick Deviations is a lightweight point cloud sample for fast checks. Show Deviations loads full per-point deviation data from .points.bin files for accurate color gradients (green=accurate, red=deviated).
Settings window organizes configuration into sections. Templates allow saving/loading preset configurations. Scoring thresholds define tolerance and grade cutoffs.
| Section | Controls |
|---|---|
| Templates | Dropdown to select saved templates. Save as Template creates new preset. Delete removes selected template. Templates stored in %LOCALAPPDATA%\EliteTools\EliteScan\Templates\. |
| Tolerance (ft) | Numeric input (default 0.05 ft = 0.6 inches). Points within this distance are considered "in tolerance". Used to calculate % In Tolerance statistic. |
| Grade A Threshold | Percentage input (default 90%). Elements with ≥90% points in tolerance receive an A grade. |
| Grade B Threshold | Percentage input (default 80%). Elements with 80-89% points in tolerance receive a B grade. |
| Grade C Threshold | Percentage input (default 70%). Elements with 70-79% points in tolerance receive a C grade. |
| Grade D Threshold | Percentage input (default 60%). Elements with 60-69% points in tolerance receive a D grade. |
| Grade F | Implicit. Elements below D threshold (< 60%) receive an F grade. |
| Setting | Details |
|---|---|
| Default Radius (ft) | Numeric input (default 50 ft). Sets initial AnalysisRadius parameter when placing scan locations. Can be overridden per-scan by editing the family instance parameter. |
| Hotspot Max Distance | Numeric input (default 100 ft). Controls maximum distance for displaying scan-to-scan hotspots in 360° Panorama Viewer. Scans farther apart won't show hotspots. |
| CloudCompare Path | File path input with Browse button. Points to CloudCompare.exe. Required for Run Analysis workflow. Default: C:\Program Files\CloudCompare\CloudCompare.exe. |
| Point Cloud Root | Folder path input with Browse button. Root directory where RCS files are stored. Used as fallback if RCP doesn't contain absolute paths to RCS files. |
Paths section: Critical for analysis workflow. If CloudCompare.exe is not found, Run Analysis will fail immediately with error message.
| Setting | Details |
|---|---|
| Panorama Source | Radio buttons: FARO (180°) or E57 Export (270°). FARO mode looks for native FARO panorama JPGs in scan folders. E57 Export mode generates panoramas from E57 files via CloudCompare. Default: FARO. |
| Family Name | Text input (default "Scan Location"). Specifies which family type represents scan locations. Used by Place Scans and Run Analysis to identify scan instances. |
| ScanID Parameter | Text input (default "ScanID"). Specifies which instance parameter stores the scan identifier. Must match the parameter name in the Scan Location family. |
360° Panorama Viewer: FARO mode requires original FARO scan folder structure with panorama_*.jpg files. E57 Export mode works with any E57-compatible scan data but requires CloudCompare for panorama generation (slower).
Define parameter filters to exclude specific elements from analysis. Useful for filtering out temporary elements, reference objects, or elements with specific properties.
| Control | What it does |
|---|---|
| Filter List | DataGrid showing all exclusion filter rules. Each row has Parameter Name, Condition (Equals, Contains, NotEquals), and Value columns. |
| + Add Filter | Adds new blank row to filter list. Fill in parameter name (e.g., "Comments"), condition (dropdown), and value (e.g., "DEMO"). Elements matching filter are excluded from analysis. |
| Remove | Deletes selected filter row. Changes take effect on next Run Analysis. |
Example use cases: Exclude demolition elements (Comments = "DEMO"), exclude placeholder families (Family Name Contains "Placeholder"), exclude phased elements (Phase Status = "Demolished").
Checkbox list organized by discipline. Only checked categories are included in Run Analysis. Unchecked categories are ignored even if elements exist within scan radius.
Bottom bar: Reset to Defaults restores factory settings. Cancel closes without saving. Save applies changes.
Exports all element analysis data to a CSV spreadsheet file. Opens file dialog to choose save location. Includes all element rows, verified and unverified.
| CSV Column | Data |
|---|---|
| Category | Element category name (e.g., "Walls", "Ducts") |
| ElementId | Revit ElementId integer value |
| Name | Element description (type name + optional instance name) |
| Score | Letter grade (A, B, C, D, F, Reviewed) |
| Mean Deviation (ft) | Average point-to-surface distance |
| Max Deviation (ft) | Worst single point deviation |
| % In Tolerance | Percentage of points within tolerance threshold |
| Point Count | Number of captured points |
| ScanID | Scan name used for this element's score |
| Verified | TRUE if element is verified, FALSE otherwise |
| Reason | Verification reason (if verified) |
| Notes | Additional notes (if verified) |
CSV files can be opened in Excel, imported into PowerBI dashboards, or used for custom analysis scripts. Encoding: UTF-8 with BOM for Excel compatibility.
Generates a comprehensive, self-contained HTML report with embedded CSS and base64-encoded screenshots. No external dependencies. Opens in default browser after generation.
Reports are saved to user-selected location with timestamp in filename: EliteScan_Report_[timestamp].html. Typical file size: 500KB-5MB depending on screenshot count.
All EliteScan data is stored under %LOCALAPPDATA%\EliteTools\EliteScan\ (typically C:\Users\[Username]\AppData\Local\EliteTools\EliteScan\).
| Path | Contents |
|---|---|
| Settings\ | User preferences JSON file. Stores tolerance, thresholds, CloudCompare path, included categories, scan family settings. |
| Results\ | Analysis result JSON files. Each file is timestamped: [ProjectName]_[timestamp].json. Contains element scores, deviations, scan selections, verification data. |
| TempGeometry\ | E57 geometry exports. Created during Run Analysis (Step 1). Contains mesh representations of Revit elements. Auto-cleaned after analysis. |
| TempClouds\ | E57 point cloud crops. Created during Run Analysis (Step 2). Contains radius-cropped point clouds. Auto-cleaned after analysis. |
| DeviationData\ | .points.bin files with per-point deviation scalars. Created during Run Analysis (Step 4). Used by Show Deviations visualization. Persistent. |
| Screenshots\ | Verification screenshots. Filename format: [ElementId]_[timestamp].png. Side-by-side Revit + Panorama captures or uploaded images. |
| Logs\ | Diagnostic log files. One per day: EliteScan_[date].log. Contains CloudCompare output, errors, performance metrics. |
| Templates\ | Saved settings templates. JSON files with user-defined presets (e.g., "Mechanical Only", "Tight Tolerance"). |
To reset EliteScan to factory defaults, delete the entire %LOCALAPPDATA%\EliteTools\EliteScan\ folder. Settings and templates will regenerate on next launch.