01 General Usage
1
Open the CoordinateForge tab. Navigate to the Surface Tools ribbon tab in the Navisworks main ribbon. You will see four panels: Surface Mesh, CSV Format, Units, and Contours.
2
Select your CSV format. Use the Format split button in the CSV Format panel to choose the column order that matches your source file. Available options are PNEZD, PENZD, NEZ, and ENZ. This setting is persisted between sessions. The default is PNEZD.
3
Set your units. Use the Units split button to select Meters or Feet to match the coordinate system of your survey data. This setting is also persisted.
4
(Optional) Configure contour generation. In the Contours panel:
- Toggle the Contours On/Off button to enable contour line generation. The button will appear pressed when active.
- Click Set Interval to specify the vertical spacing between contour lines (e.g.
1.0for 1-meter intervals). The interval must be greater than zero and uses the same units as your survey data. The default is1.0.
5
Append the surface. Click the Append Surface button in the Surface Mesh panel. In the file dialog, select your
.csv file. The plugin will run the full processing pipeline and append the resulting geometry to the active document.
6
Navigate to your data. Use the Navisworks Selection Tree to locate the new model entry. Right-click it and choose Look At (Zoom) to navigate to the surface. If contours were enabled, they will appear as a separate node labelled Topographic Contours.
7
Adjust units after import if needed. If your coordinate values appear at the wrong scale, right-click the model entry in the Selection Tree and choose File Units and Transform > Adjust Units to correct (e.g. Meters to Feet).
02 How It Works — Processing Pipeline
When Append Surface is clicked, the plugin runs the following stages in sequence:
- File selection — you choose a
.csvfile via the standard open dialog. - CSV parsing — the file is read using the selected format parser. Blank lines and optional header rows are skipped automatically. Files exceeding 100,000 points are rejected with an error message.
- Surface model build — parsed survey points are loaded into an in-memory surface model. Bounding extents are computed.
- Bowyer-Watson triangulation — a 2D Delaunay triangulation is performed on the XY plane of the point cloud, producing a triangle mesh.
- Alpha-shape boundary filter — fringe triangles that span concave gaps in the survey boundary (e.g. along road corridors or L-shaped sites) are removed. Degenerate zero-area triangles are also discarded unconditionally. This prevents the convex-hull over-fill that standard Delaunay triangulation produces for non-rectangular survey extents.
- Contour generation (if enabled) — elevation contour lines are sliced from the filtered mesh at the specified interval and stored as line segments.
- NWC rendering — the filtered mesh and, if applicable, the contour geometry are streamed to a
.nwcfile in%TEMP%\CoordinateForge\SurfaceMesh\using the native NWCreate API. - Append to document — the generated
.nwcfile is appended to the active Navisworks document.
03 CSV File Format Requirements
- ·Plain
.CSV(comma-separated values) format. - ·An optional header row is detected and skipped automatically.
- ·Maximum 100,000 points per file.
- ·Column order must match the selected format:
| Format | Column Order | Min. Columns |
|---|---|---|
| PNEZD | Point Name, Northing, Easting, Elevation, Description | 5 |
| PENZD | Point Name, Easting, Northing, Elevation, Description | 5 |
| NEZ | Northing, Easting, Elevation | 3 |
| ENZ | Easting, Northing, Elevation | 3 |
Coordinate system note: Easting maps to the X axis and Northing maps to the Y axis in the Navisworks scene. Elevation maps to Z. The plugin does not apply any coordinate reprojection; values are used as-is from the CSV.
04 Ribbon Button Reference
Panel: Surface Mesh
| Button | Description |
|---|---|
| Append Surface | Opens a file dialog and runs the full import pipeline for the selected CSV file. This is the primary action button. |
Panel: CSV Format
| Button | Description |
|---|---|
| Format (split button) | Sets the column order of the input CSV. Choose PNEZD, PENZD, NEZ, or ENZ. The active selection is indicated by a check mark. Setting is saved between sessions. |
Panel: Units
| Button | Description |
|---|---|
| Units (split button) | Sets the unit of measure for the survey data. Choose Meters or Feet. Setting is saved between sessions. |
Panel: Contours
| Button | Description |
|---|---|
| Contours On/Off | Toggles topographic contour line generation. When active (button pressed), contour lines are generated and appended alongside the surface mesh on the next Append. Setting is saved between sessions. |
| Set Interval | Opens a dialog to set the vertical spacing between contour lines in survey units. Must be greater than zero. Default is 1.0. Invalid entries fall back to the previous valid value. |
05 Known Issues & Limitations
- The alpha-shape boundary filter uses a multiplier of 2.0 × average edge length, which is calibrated for typical construction-grade civil surveys on state-plane coordinate systems. Unusually sparse or dense datasets may produce over- or under-trimmed boundaries.
- Contour lines are generated as individual line segments; they are not yet chained into continuous polylines. Very dense contour sets may show minor visual gaps at segment joins in the Navisworks scene.
- US Survey Feet (1200/3937 conversion) is listed as a future unit option; the current release supports Meters and Feet only.
- Cut/fill volume analysis is not included in this release and is deferred to a future plugin.
06 Contact & Support
© 2026 CoordinateForge, LLC. All rights reserved. Surface Tools — Prototype v3.