Table of Contents

Class NwcAssembly

Namespace
NwcIO.Model
Assembly
NwcIO.dll

A federated multi-model BIM assembly combining multiple Navisworks documents (.nwc, .nwd, or .nwf external references) in a unified coordinate system.

public sealed class NwcAssembly

Inheritance

Inherited Members

Properties

AllMaterials

public IReadOnlyList<NwcMaterial> AllMaterials { get; }

Property Value

IReadOnlyList<NwcMaterial>

AllMeshes

public IReadOnlyList<NwcMesh> AllMeshes { get; }

Property Value

IReadOnlyList<NwcMesh>

BoundingBox

public BoundingBox3d BoundingBox { get; }

Property Value

BoundingBox3d

ClashMatrix

Multi-discipline clash coordination matrix associated with the assembly.

public NwcClashMatrix? ClashMatrix { get; set; }

Property Value

NwcClashMatrix?

ClashTests

Configured Clash Detective tests and results for this federated assembly.

public List<NwcClashTest> ClashTests { get; }

Property Value

List<NwcClashTest>

DefaultViewpoint

Gets the primary/default viewpoint of the federated assembly.

public NwcSavedViewpoint? DefaultViewpoint { get; }

Property Value

NwcSavedViewpoint?

GridSystem

Spatial grid system (axes and levels) associated with the federated assembly.

public NwcGridSystem? GridSystem { get; set; }

Property Value

NwcGridSystem?

Models

public IReadOnlyList<NwcDocument> Models { get; }

Property Value

IReadOnlyList<NwcDocument>

Name

public string Name { get; }

Property Value

string

RootNode

public NwcNode RootNode { get; }

Property Value

NwcNode

SavedViewpoints

Saved viewpoints aggregated from contributing models or generated for the assembly.

public IReadOnlyList<NwcSavedViewpoint> SavedViewpoints { get; }

Property Value

IReadOnlyList<NwcSavedViewpoint>

SelectionSets

Selection Sets and Search Sets defined in the federated assembly.

public List<NwcSetItem> SelectionSets { get; }

Property Value

List<NwcSetItem>

SkippedXRefs

XRef entries that resolved to an existing file which this loader does not append (anything other than .nwc/.nwd, including nested .nwf files). Populated by NwcIO.Model.NwcAssembly.OpenNwf(System.String,NwcIO.NwcReaderOptions); empty for assemblies built otherwise.

public IReadOnlyList<NwcXRef> SkippedXRefs { get; }

Property Value

IReadOnlyList<NwcXRef>

SpatialIndex

Gets the spatial acceleration index (BVH) over all meshes across all contributing models.

public NwcSpatialIndex SpatialIndex { get; }

Property Value

NwcSpatialIndex

TimeLiner

4D TimeLiner construction simulation schedule.

public NwcTimeLinerSchedule? TimeLiner { get; set; }

Property Value

NwcTimeLinerSchedule?

UnresolvedXRefs

XRef entries of the opened federation that could not be resolved to an existing file, so the corresponding component model is missing from NwcIO.Model.NwcAssembly.Models. Populated by NwcIO.Model.NwcAssembly.OpenNwf(System.String,NwcIO.NwcReaderOptions); empty for assemblies built otherwise.

public IReadOnlyList<NwcXRef> UnresolvedXRefs { get; }

Property Value

IReadOnlyList<NwcXRef>

Methods

ApplyAppearanceProfiler(NwcAppearanceProfiler)

Applies an appearance profiler across all contributing models in the federated assembly.

public int ApplyAppearanceProfiler(NwcAppearanceProfiler profiler)

Parameters

profiler NwcAppearanceProfiler

Returns

int

The total number of scene nodes and meshes whose appearance was overridden.

AssignGridLocations(NwcGridSystem?)

Populates clash grid location tags across all clash tests in this assembly and its contributing models using the provided or attached grid system.

public int AssignGridLocations(NwcGridSystem? gridSystem = null)

Parameters

gridSystem NwcGridSystem?

Returns

int

Compare(NwcAssembly, NwcDiffOptions?)

Compares this federated assembly (as baseline) against a revision assembly, detecting additions, deletions, coordinate shifts, and property changes.

public NwcDiffReport Compare(NwcAssembly revision, NwcDiffOptions? options = null)

Parameters

revision NwcAssembly
options NwcDiffOptions?

Returns

NwcDiffReport

Create(string, params NwcDocument[])

Creates a federated assembly from an arbitrary collection of opened Navisworks documents.

public static NwcAssembly Create(string name, params NwcDocument[] models)

Parameters

name string
models NwcDocument[]

Returns

NwcAssembly

Create(string, IEnumerable<NwcDocument>)

Creates a federated assembly from an arbitrary collection of opened Navisworks documents.

public static NwcAssembly Create(string name, IEnumerable<NwcDocument> models)

Parameters

name string
models IEnumerable<NwcDocument>

Returns

NwcAssembly

ExportClashBcf(string)

Exports detected clash results to a buildingSMART BCF 2.1 zip archive (.bcfzip).

public void ExportClashBcf(string path)

Parameters

path string

ExportClashMatrixBcf(string)

Exports the coordination clash matrix conflicts to a buildingSMART BCF 2.1 zip archive.

public void ExportClashMatrixBcf(string path)

Parameters

path string

ExportClashMatrixJson(string, bool)

Exports the coordination clash matrix to JSON format.

public void ExportClashMatrixJson(string path, bool indent = true)

Parameters

path string
indent bool

ExportClashMatrixMarkdown(string)

Exports the coordination clash matrix summary to a Markdown table.

public void ExportClashMatrixMarkdown(string path)

Parameters

path string

ExportClashReportXml(string)

Exports detected clash results to Autodesk Navisworks Clash Report XML format.

public void ExportClashReportXml(string path)

Parameters

path string

ExportTimeLinerMsProject(string)

Exports the 4D TimeLiner schedule to Microsoft Project XML format (.xml).

public void ExportTimeLinerMsProject(string path)

Parameters

path string

ExportTimeLinerPrimavera(string)

Exports the 4D TimeLiner schedule to Primavera P6 XER format (.xer).

public void ExportTimeLinerPrimavera(string path)

Parameters

path string

ExportTimeLinerXml(string)

Exports the 4D TimeLiner schedule to Navisworks XML exchange format (.xml).

public void ExportTimeLinerXml(string path)

Parameters

path string

FindClashes(double)

Detects spatial geometric clashes (bounding box overlaps) between meshes belonging to different models.

public IReadOnlyList<NwcClash> FindClashes(double tolerance = 0)

Parameters

tolerance double

Returns

IReadOnlyList<NwcClash>

ImportTimeLinerMsProject(string)

Loads or imports a 4D TimeLiner schedule from Microsoft Project XML format (.xml).

public void ImportTimeLinerMsProject(string path)

Parameters

path string

ImportTimeLinerPrimavera(string)

Loads or imports a 4D TimeLiner schedule from Primavera P6 XER format (.xer).

public void ImportTimeLinerPrimavera(string path)

Parameters

path string

ImportTimeLinerXml(string)

Loads or imports a 4D TimeLiner schedule from Navisworks XML exchange format (.xml).

public void ImportTimeLinerXml(string path)

Parameters

path string

LoadFromDirectory(string, string, NwcReaderOptions?)

Discovers and loads all .nwc models in a folder into a single federated assembly.

public static NwcAssembly LoadFromDirectory(string directoryPath, string searchPattern = "*.nwc", NwcReaderOptions? options = null)

Parameters

directoryPath string
searchPattern string
options NwcReaderOptions?

Returns

NwcAssembly

OpenNwf(string, NwcReaderOptions?)

Opens a Navisworks File (.nwf) assembly, automatically discovering and loading its external references.

public static NwcAssembly OpenNwf(string nwfPath, NwcReaderOptions? options = null)

Parameters

nwfPath string
options NwcReaderOptions?

Returns

NwcAssembly

RunClashDetection(string, double)

Executes full mesh-level triangle collision detection across all contributing models of the assembly.

public NwcClashTest RunClashDetection(string testName = "Federated Clash Test", double tolerance = 0.001)

Parameters

testName string
tolerance double

Returns

NwcClashTest

SaveBcf(string, IReadOnlyList<NwcClash>?)

Exports detected clashes across models in the assembly to a standard buildingSMART BCF 2.1 zip archive (.bcfzip).

public void SaveBcf(string path, IReadOnlyList<NwcClash>? clashes = null)

Parameters

path string

Destination .bcf or .bcfzip file path.

clashes IReadOnlyList<NwcClash>?

Optional pre-computed clash list; if null, NwcIO.Model.NwcAssembly.FindClashes(System.Double) is evaluated.

SaveBcf(Stream, IReadOnlyList<NwcClash>?)

Exports detected clashes across models in the assembly to a standard buildingSMART BCF 2.1 zip stream.

public void SaveBcf(Stream stream, IReadOnlyList<NwcClash>? clashes = null)

Parameters

stream Stream
clashes IReadOnlyList<NwcClash>?

SaveClashReportHtml(string, IReadOnlyList<NwcClash>?)

Exports an interactive, self-contained HTML clash detection report with a discipline clash matrix and filterable clash table.

public void SaveClashReportHtml(string path, IReadOnlyList<NwcClash>? clashes = null)

Parameters

path string

Destination .html file path.

clashes IReadOnlyList<NwcClash>?

Optional pre-computed clash list; if null, NwcIO.Model.NwcAssembly.FindClashes(System.Double) is evaluated.

SaveClashReportHtml(TextWriter, IReadOnlyList<NwcClash>?)

Exports an interactive, self-contained HTML clash detection report to a System.IO.TextWriter.

public void SaveClashReportHtml(TextWriter writer, IReadOnlyList<NwcClash>? clashes = null)

Parameters

writer TextWriter
clashes IReadOnlyList<NwcClash>?

SaveGlb(string, bool)

Exports the entire federated assembly to a binary glTF 2.0 file (.glb).

public void SaveGlb(string path, bool worldCoordinates = true)

Parameters

path string
worldCoordinates bool

SaveHtmlViewer(string, NwcHtmlViewerOptions?)

Exports the federated assembly to a standalone interactive 3D WebGL HTML viewer (.html) with zero external dependencies.

public void SaveHtmlViewer(string path, NwcHtmlViewerOptions? options = null)

Parameters

path string
options NwcHtmlViewerOptions?

SaveIfc(string, NwcIfcExportOptions?)

Exports the entire federated assembly with geometry, materials, and spatial hierarchy to an IFC2x3 STEP file (.ifc).

public void SaveIfc(string path, NwcIfcExportOptions? options = null)

Parameters

path string
options NwcIfcExportOptions?

SaveIfc(TextWriter, NwcIfcExportOptions?)

Exports the entire federated assembly with geometry, materials, and spatial hierarchy to a System.IO.TextWriter in IFC2x3 format.

public void SaveIfc(TextWriter writer, NwcIfcExportOptions? options = null)

Parameters

writer TextWriter
options NwcIfcExportOptions?

SaveJson(string, NwcJsonExportOptions?)

Exports a structured summary of the federated assembly to a JSON file.

public void SaveJson(string path, NwcJsonExportOptions? options = null)

Parameters

path string
options NwcJsonExportOptions?

SaveNwf(string)

Saves the assembly coordination manifest as a Navisworks NWF coordination file (.nwf.xml).

public void SaveNwf(string path)

Parameters

path string

SaveObj(string, bool)

Exports the entire federated assembly to a Wavefront OBJ file.

public void SaveObj(string path, bool worldCoordinates = true)

Parameters

path string
worldCoordinates bool

SaveViewpointsBcf(string, IReadOnlyList<NwcSavedViewpoint>?)

Exports saved viewpoints of the assembly to a buildingSMART BCF 2.1 zip archive (.bcfzip).

public void SaveViewpointsBcf(string path, IReadOnlyList<NwcSavedViewpoint>? viewpoints = null)

Parameters

path string

Destination .bcf or .bcfzip file path.

viewpoints IReadOnlyList<NwcSavedViewpoint>?

Optional pre-computed viewpoints list; if null, NwcIO.Model.NwcAssembly.SavedViewpoints is used.

SaveViewpointsBcf(Stream, IReadOnlyList<NwcSavedViewpoint>?)

Exports saved viewpoints of the assembly to a buildingSMART BCF 2.1 zip stream.

public void SaveViewpointsBcf(Stream stream, IReadOnlyList<NwcSavedViewpoint>? viewpoints = null)

Parameters

stream Stream
viewpoints IReadOnlyList<NwcSavedViewpoint>?

SaveViewpointsXml(string, IReadOnlyList<NwcSavedViewpoint>?, string)

Exports saved viewpoints of the assembly to an Autodesk Navisworks XML viewpoints file.

public void SaveViewpointsXml(string path, IReadOnlyList<NwcSavedViewpoint>? viewpoints = null, string units = "m")

Parameters

path string
viewpoints IReadOnlyList<NwcSavedViewpoint>?
units string

ToNwfManifest()

Creates a Navisworks Federated Project Manifest (NWF) representation of this assembly.

public NwcNwfManifest ToNwfManifest()

Returns

NwcNwfManifest

ToViewpointsXml(IReadOnlyList<NwcSavedViewpoint>?, string)

Serializes saved viewpoints of the assembly to an Autodesk Navisworks XML viewpoints string.

public string ToViewpointsXml(IReadOnlyList<NwcSavedViewpoint>? viewpoints = null, string units = "m")

Parameters

viewpoints IReadOnlyList<NwcSavedViewpoint>?
units string

Returns

string