Skip to content

NwcIO v0.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Nov 14:11
· 91 commits to main since this release

Major Additions & Capabilities

  • Programmatic NWC Generation & Serializer (NwcWriter):
    • Full reverse-engineered serialization of Autodesk Navisworks #LcUStream containers 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), Geometry chunk records (IEEE 754 float vertices, record tags), and Toc (Table of Contents record lengths and chunk sizes).
    • Built-in compression using managed ZLibStream producing valid, specification-compliant back-to-back zlib stream containers.
    • Saved viewpoint and 3D camera serialization (tag 517).
  • Document Save & Fluent Builder API:
    • NwcDocument.Save(string path) and NwcDocument.Save(Stream stream) methods for direct file output.
    • NwcDocument.Create(...) factory method for creating documents from in-memory objects.
    • NwcDocumentBuilder fluent builder pattern for easily creating .nwc documents from code.
    • NwcDocument.Open(Stream stream) for loading Navisworks documents directly from arbitrary streams.
  • CLI Enhancement (nwcio):
    • Added --nwc <output.nwc> option and automatic .nwc extension routing for converting, saving, and merging models and assemblies into .nwc files.
  • 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.