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 NwcAssemblyInheritance
Inherited Members
Properties
AllMaterials
public IReadOnlyList<NwcMaterial> AllMaterials { get; }Property Value
AllMeshes
public IReadOnlyList<NwcMesh> AllMeshes { get; }Property Value
BoundingBox
public BoundingBox3d BoundingBox { get; }Property Value
ClashMatrix
Multi-discipline clash coordination matrix associated with the assembly.
public NwcClashMatrix? ClashMatrix { get; set; }Property Value
ClashTests
Configured Clash Detective tests and results for this federated assembly.
public List<NwcClashTest> ClashTests { get; }Property Value
DefaultViewpoint
Gets the primary/default viewpoint of the federated assembly.
public NwcSavedViewpoint? DefaultViewpoint { get; }Property Value
GridSystem
Spatial grid system (axes and levels) associated with the federated assembly.
public NwcGridSystem? GridSystem { get; set; }Property Value
Models
public IReadOnlyList<NwcDocument> Models { get; }Property Value
Name
public string Name { get; }Property Value
RootNode
public NwcNode RootNode { get; }Property Value
SavedViewpoints
Saved viewpoints aggregated from contributing models or generated for the assembly.
public IReadOnlyList<NwcSavedViewpoint> SavedViewpoints { get; }Property Value
SelectionSets
Selection Sets and Search Sets defined in the federated assembly.
public List<NwcSetItem> SelectionSets { get; }Property Value
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
SpatialIndex
Gets the spatial acceleration index (BVH) over all meshes across all contributing models.
public NwcSpatialIndex SpatialIndex { get; }Property Value
TimeLiner
4D TimeLiner construction simulation schedule.
public NwcTimeLinerSchedule? TimeLiner { get; set; }Property Value
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
Methods
ApplyAppearanceProfiler(NwcAppearanceProfiler)
Applies an appearance profiler across all contributing models in the federated assembly.
public int ApplyAppearanceProfiler(NwcAppearanceProfiler profiler)Parameters
profilerNwcAppearanceProfiler
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
gridSystemNwcGridSystem?
Returns
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
revisionNwcAssemblyoptionsNwcDiffOptions?
Returns
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
namestringmodelsNwcDocument[]
Returns
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
namestringmodelsIEnumerable<NwcDocument>
Returns
ExportClashBcf(string)
Exports detected clash results to a buildingSMART BCF 2.1 zip archive (.bcfzip).
public void ExportClashBcf(string path)Parameters
pathstring
ExportClashMatrixBcf(string)
Exports the coordination clash matrix conflicts to a buildingSMART BCF 2.1 zip archive.
public void ExportClashMatrixBcf(string path)Parameters
pathstring
ExportClashMatrixJson(string, bool)
Exports the coordination clash matrix to JSON format.
public void ExportClashMatrixJson(string path, bool indent = true)Parameters
ExportClashMatrixMarkdown(string)
Exports the coordination clash matrix summary to a Markdown table.
public void ExportClashMatrixMarkdown(string path)Parameters
pathstring
ExportClashReportXml(string)
Exports detected clash results to Autodesk Navisworks Clash Report XML format.
public void ExportClashReportXml(string path)Parameters
pathstring
ExportTimeLinerMsProject(string)
Exports the 4D TimeLiner schedule to Microsoft Project XML format (.xml).
public void ExportTimeLinerMsProject(string path)Parameters
pathstring
ExportTimeLinerPrimavera(string)
Exports the 4D TimeLiner schedule to Primavera P6 XER format (.xer).
public void ExportTimeLinerPrimavera(string path)Parameters
pathstring
ExportTimeLinerXml(string)
Exports the 4D TimeLiner schedule to Navisworks XML exchange format (.xml).
public void ExportTimeLinerXml(string path)Parameters
pathstring
FindClashes(double)
Detects spatial geometric clashes (bounding box overlaps) between meshes belonging to different models.
public IReadOnlyList<NwcClash> FindClashes(double tolerance = 0)Parameters
tolerancedouble
Returns
ImportTimeLinerMsProject(string)
Loads or imports a 4D TimeLiner schedule from Microsoft Project XML format (.xml).
public void ImportTimeLinerMsProject(string path)Parameters
pathstring
ImportTimeLinerPrimavera(string)
Loads or imports a 4D TimeLiner schedule from Primavera P6 XER format (.xer).
public void ImportTimeLinerPrimavera(string path)Parameters
pathstring
ImportTimeLinerXml(string)
Loads or imports a 4D TimeLiner schedule from Navisworks XML exchange format (.xml).
public void ImportTimeLinerXml(string path)Parameters
pathstring
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
directoryPathstringsearchPatternstringoptionsNwcReaderOptions?
Returns
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
nwfPathstringoptionsNwcReaderOptions?
Returns
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
Returns
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
pathstring-
Destination .bcf or .bcfzip file path.
clashesIReadOnlyList<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
streamStreamclashesIReadOnlyList<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
pathstring-
Destination .html file path.
clashesIReadOnlyList<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
writerTextWriterclashesIReadOnlyList<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
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
pathstringoptionsNwcHtmlViewerOptions?
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
pathstringoptionsNwcIfcExportOptions?
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
writerTextWriteroptionsNwcIfcExportOptions?
SaveJson(string, NwcJsonExportOptions?)
Exports a structured summary of the federated assembly to a JSON file.
public void SaveJson(string path, NwcJsonExportOptions? options = null)Parameters
pathstringoptionsNwcJsonExportOptions?
SaveNwf(string)
Saves the assembly coordination manifest as a Navisworks NWF coordination file (.nwf.xml).
public void SaveNwf(string path)Parameters
pathstring
SaveObj(string, bool)
Exports the entire federated assembly to a Wavefront OBJ file.
public void SaveObj(string path, bool worldCoordinates = true)Parameters
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
pathstring-
Destination .bcf or .bcfzip file path.
viewpointsIReadOnlyList<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
streamStreamviewpointsIReadOnlyList<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
pathstringviewpointsIReadOnlyList<NwcSavedViewpoint>?unitsstring
ToNwfManifest()
Creates a Navisworks Federated Project Manifest (NWF) representation of this assembly.
public NwcNwfManifest ToNwfManifest()Returns
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
viewpointsIReadOnlyList<NwcSavedViewpoint>?unitsstring