Repository navigation
Releases
Releases · IOExtend/NwcIO
NwcIO v0.10.0
Major Additions & Capabilities
- Microsoft Project XML 4D Schedule Serialization (
NwcTimeLinerMsProjectXmlSerializer):- Full reading and writing of Microsoft Project XML schedule schema (
http://schemas.microsoft.com/project). - Preserves hierarchical WBS outlines (
OutlineLevel,OutlineNumber,WBS), planned and actual dates, ISO 8601 duration (PT#H0M0S), percent complete, and costs. - Roundtrips attached Selection Set names and
TaskTypethrough taskNotes. - Direct integration into
NwcDocumentandNwcAssemblyviaExportTimeLinerMsProjectandImportTimeLinerMsProject.
- Full reading and writing of Microsoft Project XML schedule schema (
- Primavera P6 XER 4D Schedule Serialization (
NwcTimeLinerPrimaveraXerSerializer):- Full reading and writing of Primavera P6 tab-delimited XER exchange format (
ERMHDR,%T PROJECT,%T PROJWBS,%T TASK). - Serializes task codes, activity names, target and actual start/finish timestamps, durations in hours, physical completion percentages, and planned/actual costs.
- Direct integration into
NwcDocumentandNwcAssemblyviaExportTimeLinerPrimaveraandImportTimeLinerPrimavera.
- Full reading and writing of Primavera P6 tab-delimited XER exchange format (
- Interactive 3D WebGL Viewer Enhancements (
NwcHtmlViewerExporter):- 6-Sided Section Box Volume: Switchable sectioning mode between 3-axis cutting planes and a 6-sided clipping box. Includes interactive box scaling, invert mode (inside vs outside clipping volume), visual 3D wireframe bounding box overlay projection, and instant "Fit Selection" bounding box fitting.
- Smooth Camera Animations: Cubic ease-in-out animated camera transitions when focusing saved viewpoints or clash detection conflict items.
- Turntable Presentation Mode: 360° continuous turntable orbit animation for interactive model review and project presentations.
- Saved Viewpoints Walkthrough Tour: Automated tour player (
Play Tour/Pause Tour) cycling through all saved viewpoints with smooth camera transitions and pauses.
- CLI Commands (
nwcio):- Added
--timeliner-msproject <file.xml>: Export or import 4D TimeLiner schedule in Microsoft Project XML format. - Added
--timeliner-primavera <file.xer>: Export or import 4D TimeLiner schedule in Primavera P6 XER format.
- Added
NwcIO v0.9.0
Major Additions & Capabilities
-
4D TimeLiner XML Serialization & Exchange (
NwcTimeLinerXmlSerializer):- Full reading and writing of Autodesk Navisworks TimeLiner Exchange XML format (
<exchange>schema). - WBS task hierarchies with nested subtasks, planned/actual dates, duration tracking, planned and actual costs, and percentage progress.
- Roundtrip persistence of attached Selection Set names and explicit attached node IDs.
- Direct integration into
NwcDocument(ExportTimeLinerXml,ImportTimeLinerXml) andNwcAssembly(ExportTimeLinerXml,ImportTimeLinerXml).
- Full reading and writing of Autodesk Navisworks TimeLiner Exchange XML format (
-
Automated Rule-Based Schedule Linking (
NwcTimeLinerLinker):-
AutoLink: Automated binding of 4D TimeLiner tasks to model geometry using matching Selection Set or Search Set names (task.AttachedSelectionSetNameortask.Name). - Resolves explicit node IDs from
NwcSelectionSetand evaluates dynamic condition queries fromNwcSearchSet. -
LinkByNodeName: Direct fuzzy or exact name matching against scene graph elements.
-
-
Multi-Discipline Coordination Clash Matrix (
NwcClashMatrix,NwcClashDiscipline,NwcClashMatrixCell):- Execution of comprehensive
$N \times M$ BIM clash coordination matrices across discipline models (Architecture, Structure, MEP, etc.). - Automated matrix population from federated assembly models (
NwcClashMatrix.CreateFromAssembly). - Spatial pruning and double-precision AABB intersection penetration calculation.
- Ignore rules evaluation (same layer, same file, tolerance thresholds).
- Formatted Markdown coordination summary table generation (
ToMarkdownTable). - Structured JSON report export (
SaveJson,ExportClashMatrixJson). - Unified buildingSMART BCF 2.1 zip archive export (
SaveBcf,ExportClashMatrixBcf), creating issue topics with 3D camera viewpoints and highlighted IFC components for coordination in Revit, Solibri, and BIMcollab.
- Execution of comprehensive
-
Interactive 4D TimeLiner & Selection Sets HTML WebGL Viewer (
NwcHtmlViewerExporter):- Integrated 4D TimeLiner playback controller with Play/Pause button, timeline slider scrubber, dynamic date label, and speed multiplier (1x, 5x, 15x, 60x).
- Dynamic 3D simulation color coding: active construction glowing green (
[0.2, 0.95, 0.2]), demolition highlighted red ([0.95, 0.2, 0.2]), temporary elements yellow, and unstarted elements hidden from the render loop. - Interactive Selection Sets sidebar tab (
#tab-sets) rendering hierarchical folder trees and selection items with instant 3D model highlighting on click.
-
CLI Enhancements (
nwcio):- Added
--timeliner-xml <file.xml>: Export or import 4D TimeLiner schedule exchange XML. - Added
--link-timeliner: Automatically links schedule tasks to Selection Sets, Search Sets, or element names. - Added
--clash-matrix <file.json>: Executes multi-discipline coordination matrix and exports JSON report. - Added
--clash-matrix-md <file.md>: Exports clash matrix coordination report as Markdown table. - Added
--clash-matrix-bcf <file.bcfzip>: Exports clash matrix conflicts to buildingSMART BCF 2.1 zip archive.
- Added
NwcIO v0.8.0
Major Additions & Capabilities
-
Model Revision Comparison & Diff Engine (
NwcDiffEngine,NwcDiffTypes):- Full revision comparison of Navisworks documents and federated assemblies (
baseline.Compare(revision, options)). - Identification of added, deleted, modified, and unchanged BIM elements and scene nodes by GUID and composite hierarchy matching.
- Double-precision 3D geometric deviation detection, measuring translation shift vectors and bounding box alterations beyond configurable tolerance (default 5mm).
- Deep property record delta inspection, tracking added, removed, and modified parameter values across categories.
- JSON revision delta report export (
report.SaveJson,report.ToJson). - buildingSMART BCF 2.1 zip export (
report.SaveBcf), generating issue topics with framed 3D viewpoints and highlighted IFC component GUIDs.
- Full revision comparison of Navisworks documents and federated assemblies (
-
Spatial Grid System & Axis Management (
NwcGridSystem,NwcGridLine,NwcGridIntersection):- Strongly typed object model for building axes and coordination grids (
NwcGridSystem,NwcGridLine,NwcGridIntersection). - Automatic 2D/3D intersection calculation between crossing grid lines (e.g. "A / 1", "B / 4").
- Point-to-grid spatial querying:
FindNearestGridandFindNearestIntersection. - Human-readable grid location formatting (
FormatLocation), displaying exact grid intersection tags or signed perpendicular offsets with direction awareness (e.g. "A (+0.50m) / 1 (-0.20m)"). - Automatic population of
clash.GridLocationonNwcClashResultandNwcClashGroup(doc.AssignGridLocations,assembly.AssignGridLocations), seamlessly integrating withNwcClashGrouper.GroupByGrid. - Automatic extraction of grid systems from document hierarchy and metadata (
doc.ExtractGridSystem()). - Full XML exchange serialization and deserialization (
SaveXml/LoadXml).
- Strongly typed object model for building axes and coordination grids (
-
High-Precision 3D Measure Engine (
NwcMeasureEngine):- Point-to-point 3D Euclidean distance, coordinate deltas (
$\Delta X, \Delta Y, \Delta Z$ ), horizontal distance, vertical height difference, pitch angle, and azimuth direction. - Point-to-mesh shortest distance with Christer Ericson's exact Voronoi-region closest point on triangle algorithm.
- Mesh-to-mesh clearance measurement and closest vertex pair identification.
- Cumulative polyline path length measurement.
- Triangle surface area and unit normal vector calculation.
- Mesh total surface area, closed manifold solid volume calculation ($\sum \frac{1}{6}(v_0 \cdot (v_1 \times v_2))$), and 3D centroid calculation.
- Angle measurement between direction vectors and 3-point vertices.
- Point-to-point 3D Euclidean distance, coordinate deltas (
-
Interactive HTML 3D Viewer Enhancements:
- Interactive 3D measurement tool: measure distances directly in the browser by clicking two points on the model, displaying dimension lines, distance badges, and coordinate deltas.
- Spatial grid lines overlay: rendering grid lines with coordinate bubble labels directly over the 3D scene.
-
CLI Enhancements (
nwcio):- Added
--diff <baseline.nwc>: Compares current model against a baseline revision. - Added
--diff-json <file.json>: Exports revision comparison report to JSON. - Added
--diff-bcf <file.bcfzip>: Exports revision comparison issues to buildingSMART BCF 2.1 archive. - Added
--diff-tolerance <m>: Sets geometric displacement tolerance for diff (default: 0.005m). - Added
--grids <file.xml>: Loads a spatial grid system from XML and assigns grid locations. - Added
--export-grids <file.xml>: Exports extracted or configured grid systems to XML.
- Added
Major Additions & Capabilities
- Intelligent Clash Grouping & Clustering Engine (
NwcClashGrouper):- Spatial 3D proximity clustering (
GroupByProximity) using Disjoint-Set (Union-Find) algorithm, grouping thousands of raw collisions into manageable spatial clusters with auto-calculated cluster centroids and optimal framing viewpoints. - Element-based grouping (
GroupByPrimaryElement) bundling all collisions involving the same continuous MEP run (pipe, duct, cable tray) or structural beam into a single issue. - Structural grid grouping (
GroupByGrid) clustering collisions by architectural and structural grid intersections. - Discipline & layer grouping (
GroupByLayer) bundling clashes by layer or discipline pairs. - Reversible grouping lifecycle (
UngroupAll) dissolving groups back into individual results when needed. - Full reading and writing of
<clashgroup>elements in Autodesk Navisworks Clash Report XML (NwcXmlClashSerializer). - Grouped buildingSMART BCF 2.1 export (
NwcClashBcfExporter), exporting clash groups as unified topics with consolidated viewpoints, descriptions, and participating IFC component GUID selections.
- Spatial 3D proximity clustering (
- Standalone 3D WebGL HTML Viewer Export (
NwcHtmlViewerExporter):- Direct export of Navisworks documents and federated assemblies to self-contained, interactive single-file 3D HTML viewers (
.html) with zero external script, CDN, or server dependencies. - High-performance WebGL rendering with smooth orbit controls (rotate, pan, zoom), mesh instancing, material colors, and HUD scene statistics.
- Dynamic multi-axis section clipping planes (Cut X, Cut Y, Cut Z sliders) running directly in WebGL fragment shaders.
- Embedded saved viewpoints palette with instant camera fly-to transitions.
- Integrated Clash Navigator allowing review of clash groups and collision points in interactive 3D.
- Property Inspector panel displaying full hierarchical BIM properties of selected elements.
- Added
NwcDocument.SaveHtmlViewer(...)andNwcAssembly.SaveHtmlViewer(...).
- Direct export of Navisworks documents and federated assemblies to self-contained, interactive single-file 3D HTML viewers (
- Quick Properties & Tooltip Rules (
NwcQuickProperties):- Strongly typed object model for configuring Navisworks Quick Properties tooltips (
NwcQuickProperties,NwcQuickPropertyDefinition). - Built-in standard BIM presets for element names, types, materials, layers, areas, and volumes.
- Smart node extraction and full roundtrip Navisworks XML serialization (
ToXml/FromXml).
- Strongly typed object model for configuring Navisworks Quick Properties tooltips (
- CLI Enhancements (
nwcio):- Added
--html-viewer <file.html>/--viewer <file.html>: Exports models and assemblies to self-contained 3D WebGL HTML viewers. - Added
--clash-group <proximity|element|grid|layer>: Automatically clusters raw clashes before exporting XML reports or BCF archives. - Added
--clash-radius <meters>: Configurable spatial radius for proximity clustering (default: 1.0 m).
- Added
NwcIO v0.7.0
Major Additions & Capabilities
- Intelligent Clash Grouping & Clustering Engine (
NwcClashGrouper):- Spatial 3D proximity clustering (
GroupByProximity) using Disjoint-Set (Union-Find) algorithm, grouping thousands of raw collisions into manageable spatial clusters with auto-calculated cluster centroids and optimal framing viewpoints. - Element-based grouping (
GroupByPrimaryElement) bundling all collisions involving the same continuous MEP run (pipe, duct, cable tray) or structural beam into a single issue. - Structural grid grouping (
GroupByGrid) clustering collisions by architectural and structural grid intersections. - Discipline & layer grouping (
GroupByLayer) bundling clashes by layer or discipline pairs. - Reversible grouping lifecycle (
UngroupAll) dissolving groups back into individual results when needed. - Full reading and writing of
<clashgroup>elements in Autodesk Navisworks Clash Report XML (NwcXmlClashSerializer). - Grouped buildingSMART BCF 2.1 export (
NwcClashBcfExporter), exporting clash groups as unified topics with consolidated viewpoints, descriptions, and participating IFC component GUID selections.
- Spatial 3D proximity clustering (
- Standalone 3D WebGL HTML Viewer Export (
NwcHtmlViewerExporter):- Direct export of Navisworks documents and federated assemblies to self-contained, interactive single-file 3D HTML viewers (
.html) with zero external script, CDN, or server dependencies. - High-performance WebGL rendering with smooth orbit controls (rotate, pan, zoom), mesh instancing, material colors, and HUD scene statistics.
- Dynamic multi-axis section clipping planes (Cut X, Cut Y, Cut Z sliders) running directly in WebGL fragment shaders.
- Embedded saved viewpoints palette with instant camera fly-to transitions.
- Integrated Clash Navigator allowing review of clash groups and collision points in interactive 3D.
- Property Inspector panel displaying full hierarchical BIM properties of selected elements.
- Added
NwcDocument.SaveHtmlViewer(...)andNwcAssembly.SaveHtmlViewer(...).
- Direct export of Navisworks documents and federated assemblies to self-contained, interactive single-file 3D HTML viewers (
- Quick Properties & Tooltip Rules (
NwcQuickProperties):- Strongly typed object model for configuring Navisworks Quick Properties tooltips (
NwcQuickProperties,NwcQuickPropertyDefinition). - Built-in standard BIM presets for element names, types, materials, layers, areas, and volumes.
- Smart node extraction and full roundtrip Navisworks XML serialization (
ToXml/FromXml).
- Strongly typed object model for configuring Navisworks Quick Properties tooltips (
- CLI Enhancements (
nwcio):- Added
--html-viewer <file.html>/--viewer <file.html>: Exports models and assemblies to self-contained 3D WebGL HTML viewers. - Added
--clash-group <proximity|element|grid|layer>: Automatically clusters raw clashes before exporting XML reports or BCF archives. - Added
--clash-radius <meters>: Configurable spatial radius for proximity clustering (default: 1.0 m).
- Added
NwcIO v0.6.0
Major Additions & Capabilities
- Dynamic 3D Sectioning & Mesh Clipping Engine:
- Strongly typed sectioning model (
NwcIO.Model.Sectioning):NwcSectionPlane,NwcSectionBox, andNwcSectionAlignment. - Up to 6 simultaneous dynamic clipping planes conforming to Autodesk Navisworks sectioning modes (
Top,Bottom,Front,Back,Left,Right,View,Custom). - High-performance 3D polygon clipping engine (
NwcMeshClipper) based on Sutherland-Hodgman polygon clipping, splitting triangle meshes against arbitrary section planes and oriented section boxes in pure managed C#.
- Strongly typed sectioning model (
- Redline Markup Annotations:
- Comprehensive redline markup object model (
NwcIO.Model.Redline):NwcRedline,NwcRedlineText,NwcRedlineLine,NwcRedlineArrow,NwcRedlineCloud,NwcRedlineEllipse,NwcRedlineTag,NwcRedlineStatus. - Support for 2D/3D markup positions, custom RGBA colors, font size, stroke thickness, revision authors, timestamps, and review status workflows.
- Linked to
NwcSavedViewpoint.Redlinescollection.
- Comprehensive redline markup object model (
- Autodesk Navisworks XML Viewpoint Exchange (
NwcXmlViewpointSerializer):- Full reading and writing of Autodesk Navisworks saved viewpoints exchange XML (
viewpoints.xml) conforming tonw-exchange-12.0.xsd. - Preserves camera projection, positions, orientation quaternions, active clipping section planes, and all redline markup annotations.
- Full reading and writing of Autodesk Navisworks saved viewpoints exchange XML (
- buildingSMART BCF 2.1 Viewpoint & Redline Bridge (
NwcViewpointBcfExporter):- Exports saved viewpoints, clipping planes (
<ClippingPlanes>), and redline line/markup annotations (<Lines>) directly to BCF 2.1 zip archives (.bcfzip). - Cross-platform BIM collaboration bridge enabling Navisworks markups and sections to be viewed directly in Revit, Solibri, Archicad, and BIMcollab.
- Exports saved viewpoints, clipping planes (
- Section-Aware IFC Export:
- Extended
NwcIfcExportOptionswithSectionBox,SectionPlanes, andClipGeometryWithSectionPlanes. - Automatically clips 3D geometry during IFC export (
Ifc2x3andIfc4), generating clean cropped IFC models.
- Extended
- Document & Assembly API Integration:
- Added
NwcDocument.SaveViewpointsXml(...)andNwcDocument.ToViewpointsXml(). - Added
NwcAssembly.SaveViewpointsXml(...)andNwcAssembly.ToViewpointsXml().
- Added
- CLI Enhancements (
nwcio):- Added
--viewpoints-xml <file.xml>: exports saved viewpoints, active section planes, and redlines to Autodesk Navisworks XML format.
- Added
Major Additions & Capabilities
- Navisworks Clash Detective & 3D Triangle Collision Engine:
- High-performance, clean-room 3D clash detection engine (
NwcClashDetector):- Broad-phase collision pruning using bounding volume hierarchy (BVH) and axis-aligned bounding boxes (AABB).
- Narrow-phase exact triangle-to-triangle intersection testing using Möller's algorithm in pure managed C#.
- Exact clash point calculation and penetration distance / clearance computation.
- Automatic creation of isometric perspective viewpoints focused on each collision volume.
- Strongly typed object model (
NwcIO.Model.Clash):NwcClashTest,NwcClashResult,NwcClashObject,NwcClashComment,NwcClashRule,NwcClashSelection,NwcClashBatch. - Clash status lifecycle:
New,Active,Reviewed,Approved,Resolved. - Test types:
Hard,Clearance,Duplicates,Conservative. - Configurable exclusion rules:
IgnoreSameLayer,IgnoreSameGroup,IgnoreSameFile.
- High-performance, clean-room 3D clash detection engine (
- Autodesk Navisworks Clash Report XML Exchange (
NwcXmlClashSerializer):- Full reading and writing of Autodesk Navisworks Clash Report XML files (
nw-clashreport-11.0.xsd). - Serializes
<batchtest>,<classtests>,<classtest>,<rules>,<summary>,<clashresults>,<clashresult>,<clashpoint>,<gridlocation>,<clashobjects>,<comments>.
- Full reading and writing of Autodesk Navisworks Clash Report XML files (
- buildingSMART BCF 2.1 Issue Management (
NwcClashBcfExporter):- Direct export of clash detection results to buildingSMART BCF 2.1 zip archives (
.bcfzip) without external dependencies. - Each clash result is mapped to a
BcfTopicwith perspective camera parameters, visual framing, and component selections referencing 22-character IFC GUIDs. - Direct bridge between Navisworks clash results and open-standard BIM coordination tools (Revit, Solibri, Archicad, BIMcollab).
- Direct export of clash detection results to buildingSMART BCF 2.1 zip archives (
- Navisworks Federated Project Manifest (NWF) (
NwcNwfManifest):- Model coordination manifest representing federated NWF projects: external model links, saved viewpoints, selection/search sets, appearance profiler rules, and clash detective tests.
assembly.SaveNwf("project.nwf.xml")andNwcAssembly.ToNwfManifest().
- Document & Assembly API Integration:
NwcDocument.RunClashDetection(test)andNwcAssembly.RunClashDetection(testName, tolerance).NwcDocument.ExportClashReportXml(path)andNwcDocument.ExportClashBcf(path).NwcDocument.LoadClashReportXml(path).NwcDocument.FindSet(name)andNwcDocument.FindNodes(condition).NwcDocumentBuilder.AddClashTest(test).
- CLI Enhancements (
nwcio):- Added
--clash-xml <report.xml>: runs clash detection and exports Navisworks Clash Report XML. - Added
--clash-bcf <issues.bcfzip>: runs clash detection and exports buildingSMART BCF 2.1 archive. - Added
--clash-tolerance <meters>: sets clash detection tolerance (default: 0.001 m). - Added
--nwf-xml <manifest.xml>: exports federated coordination manifest in NWF XML format.
- Added
NwcIO v0.5.0
Major Additions & Capabilities
- Navisworks Clash Detective & 3D Triangle Collision Engine:
- High-performance, clean-room 3D clash detection engine (
NwcClashDetector):- Broad-phase collision pruning using bounding volume hierarchy (BVH) and axis-aligned bounding boxes (AABB).
- Narrow-phase exact triangle-to-triangle intersection testing using Möller's algorithm in pure managed C#.
- Exact clash point calculation and penetration distance / clearance computation.
- Automatic creation of isometric perspective viewpoints focused on each collision volume.
- Strongly typed object model (
NwcIO.Model.Clash):NwcClashTest,NwcClashResult,NwcClashObject,NwcClashComment,NwcClashRule,NwcClashSelection,NwcClashBatch. - Clash status lifecycle:
New,Active,Reviewed,Approved,Resolved. - Test types:
Hard,Clearance,Duplicates,Conservative. - Configurable exclusion rules:
IgnoreSameLayer,IgnoreSameGroup,IgnoreSameFile.
- High-performance, clean-room 3D clash detection engine (
- Autodesk Navisworks Clash Report XML Exchange (
NwcXmlClashSerializer):- Full reading and writing of Autodesk Navisworks Clash Report XML files (
nw-clashreport-11.0.xsd). - Serializes
<batchtest>,<classtests>,<classtest>,<rules>,<summary>,<clashresults>,<clashresult>,<clashpoint>,<gridlocation>,<clashobjects>,<comments>.
- Full reading and writing of Autodesk Navisworks Clash Report XML files (
- buildingSMART BCF 2.1 Issue Management (
NwcClashBcfExporter):- Direct export of clash detection results to buildingSMART BCF 2.1 zip archives (
.bcfzip) without external dependencies. - Each clash result is mapped to a
BcfTopicwith perspective camera parameters, visual framing, and component selections referencing 22-character IFC GUIDs. - Direct bridge between Navisworks clash results and open-standard BIM coordination tools (Revit, Solibri, Archicad, BIMcollab).
- Direct export of clash detection results to buildingSMART BCF 2.1 zip archives (
- Navisworks Federated Project Manifest (NWF) (
NwcNwfManifest):- Model coordination manifest representing federated NWF projects: external model links, saved viewpoints, selection/search sets, appearance profiler rules, and clash detective tests.
assembly.SaveNwf("project.nwf.xml")andNwcAssembly.ToNwfManifest().
- Document & Assembly API Integration:
NwcDocument.RunClashDetection(test)andNwcAssembly.RunClashDetection(testName, tolerance).NwcDocument.ExportClashReportXml(path)andNwcDocument.ExportClashBcf(path).NwcDocument.LoadClashReportXml(path).NwcDocument.FindSet(name)andNwcDocument.FindNodes(condition).NwcDocumentBuilder.AddClashTest(test).
- CLI Enhancements (
nwcio):- Added
--clash-xml <report.xml>: runs clash detection and exports Navisworks Clash Report XML. - Added
--clash-bcf <issues.bcfzip>: runs clash detection and exports buildingSMART BCF 2.1 archive. - Added
--clash-tolerance <meters>: sets clash detection tolerance (default: 0.001 m). - Added
--nwf-xml <manifest.xml>: exports federated coordination manifest in NWF XML format.
- Added
NwcIO v0.4.0
Major Additions & Capabilities
- Autodesk Navisworks Appearance Profiler:
- Strongly typed appearance rule and profiler model:
NwcAppearanceRuleandNwcAppearanceProfiler. - Color overrides (RGB) and transparency levels (0.0 to 1.0) dynamically mapped to scene graph nodes and geometry meshes using
NwcSearchConditioncriteria. - Scene traversal engine:
NwcAppearanceProfiler.Apply(NwcDocument)applies rules across the full scene tree and geometry meshes, updating element materials. - Multi-model assembly support:
NwcAssembly.ApplyAppearanceProfiler(NwcAppearanceProfiler)applies rules across all contributing federated models. - XML exchange:
NwcXmlAppearanceProfilerSerializerreading and writing Autodesk Navisworks Appearance Profiler rule files (.xml) adhering to the officialnw-exchange-12.0.xsdschema.
- Strongly typed appearance rule and profiler model:
- Fluent Builder & Document Integration:
- Added
NwcDocument.ApplyAppearanceProfiler(...)andNwcDocument.ExportAppearanceProfilerXml(...). - Added
NwcDocumentBuilder.SetAppearanceProfiler(...)andNwcDocumentBuilder.AddAppearanceRule(...).
- Added
- CLI Enhancements (
nwcio):- Added
--profiler <rules.xml>: loads appearance profiler XML rules and applies color/transparency overrides before exporting to GLB, IFC, OBJ, JSON, or NWC. - Added
--export-profiler <rules.xml>: exports the document's appearance profiler rules to an XML file.
- Added
- Cross-Ecosystem Interoperability (NwcIO ↔ IfcIO):
- Integration testing between NwcIO and IfcIO verifying end-to-end NWC → IFC STEP physical file generation →
IfcModel.Opendeserialization of meshes, vertices, triangles, and property sets.
- Integration testing between NwcIO and IfcIO verifying end-to-end NWC → IFC STEP physical file generation →
NwcIO v0.3.0
Major Additions & Capabilities
- Selection Sets & Dynamic Search Sets:
- Strongly typed selection set object model:
NwcSelectionSet,NwcSearchSet,NwcSelectionSetFolder, and baseNwcSetItem. - Dynamic query evaluator:
NwcSearchConditionwith rich comparison operators (Equals,NotEquals,Contains,StartsWith,EndsWith,Wildcard,GreaterThan,LessThan, etc.) evaluating against node properties, categories, classes, names, and element GUIDs. NwcSearchSet.Evaluate(NwcDocument)recurses through the full scene graph hierarchy to resolve matching nodes at runtime.- Standard Autodesk Navisworks Selection Sets XML (
.xml) reader and writer (NwcXmlSetSerializer) for importing and exporting set exchange definitions (<exchange><selectionsets>).
- Strongly typed selection set object model:
- 4D TimeLiner Construction Schedules:
- Strongly typed schedule and task model:
NwcTimeLinerSchedule,NwcTimeLinerTask, task types (Construct,Demolish,Temporary), and simulation states (NotStarted,InProgress,Completed). - Hierarchical WBS (Work Breakdown Structure) task trees with planned/actual start/end dates, planned/actual costs, and selection set bindings.
- 4D Construction Simulation Engine: query temporal progress via
GetActiveTasksAt(DateTimeOffset),GetSimulationProgressAt(DateTimeOffset), andGetNodeStateAt(int nodeId, DateTimeOffset). - Standard TimeLiner CSV exchange (
NwcTimeLinerCsvSerializer) supporting standard task schedule spreadsheet import and export.
- Strongly typed schedule and task model:
- Binary Partition Stream Serialization & Ingestion:
- Stream classifiers and binary raw stream handlers for Selection Sets (
tag 100 + 105/ XML payload) and TimeLiner (tag 100 + 106/ CSV payload). - Roundtrip persistence of sets and schedules inside Navisworks
#LcUStreamcontainers viaNwcStreamSerializer.
- Stream classifiers and binary raw stream handlers for Selection Sets (
- CLI Enhancements (
nwcio):- Added
--sets-xml <output.xml>option and automatic.xmlextension routing for exporting Navisworks Selection Sets. - Added
--timeliner-csv <output.csv>option and automatic.csvextension routing for exporting 4D TimeLiner schedules. - Added
--timeliner-simulate <YYYY-MM-DD>option for querying construction progress, active tasks, and element states at a specific milestone date. - Extended
--reportoutput with Selection Sets hierarchy counts and TimeLiner schedule/budget summary metrics.
- Added
NwcIO v0.2.0
Major Additions & Capabilities
- Programmatic NWC Generation & Serializer (
NwcWriter):- Full reverse-engineered serialization of Autodesk Navisworks
#LcUStreamcontainers and stream partitions from pure managed C#. - Binary partition serialization:
PartitionHeader(source metadata, loader plugin, timestamp, options),SceneTree(hierarchy nodes, tags 52/53, property types),Transforms(poses, quaternion rotations, bounding boxes),Guids(16-byte raw identifier tables),Geometrychunk records (IEEE 754 float vertices, record tags), andToc(Table of Contents record lengths and chunk sizes). - Built-in compression using managed
ZLibStreamproducing valid, specification-compliant back-to-back zlib stream containers. - Saved viewpoint and 3D camera serialization (tag 517).
- Full reverse-engineered serialization of Autodesk Navisworks
- Document Save & Fluent Builder API:
NwcDocument.Save(string path)andNwcDocument.Save(Stream stream)methods for direct file output.NwcDocument.Create(...)factory method for creating documents from in-memory objects.NwcDocumentBuilderfluent builder pattern for easily creating.nwcdocuments from code.NwcDocument.Open(Stream stream)for loading Navisworks documents directly from arbitrary streams.
- CLI Enhancement (
nwcio):- Added
--nwc <output.nwc>option and automatic.nwcextension routing for converting, saving, and merging models and assemblies into.nwcfiles.
- Added
- Full Verification:
- Comprehensive unit and integration test coverage verifying bit-level roundtripping (
Create -> Save -> Open -> Verify) across synthetic models and real-world multi-discipline fixtures.
- Comprehensive unit and integration test coverage verifying bit-level roundtripping (
NwcIO v0.1.1
Security & Clean-Room Governance
- Strict Clean-Room Policy: Full abstraction of external test fixtures via
NWCIO_TEST_FILESenvironment variable and optional uncommittedtest_files/directory, mirroring the RvtIO standard. - Fixture Resolution Helper: Introduced
TestFileshelper class inNwcIO.Testswith zero hardcoded filesystem paths or machine-specific fallback directories. - Documentation: Added
docs/test-fixtures.mddocumenting clean-room testing principles, test skipping rules, and fixture expectations. - Anonymized Benchmarks: Scrubbed all specific project references, real industrial facility names, and local test model filenames from README, format notes, and tests.