Skip to content

NwcIO v0.6.0

Choose a tag to compare

@github-actions github-actions released this 10 Nov 19:46
· 86 commits to main since this release
d66c38d

Major Additions & Capabilities

  • Dynamic 3D Sectioning & Mesh Clipping Engine:
    • Strongly typed sectioning model (NwcIO.Model.Sectioning): NwcSectionPlane, NwcSectionBox, and NwcSectionAlignment.
    • 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#.
  • 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.Redlines collection.
  • Autodesk Navisworks XML Viewpoint Exchange (NwcXmlViewpointSerializer):
    • Full reading and writing of Autodesk Navisworks saved viewpoints exchange XML (viewpoints.xml) conforming to nw-exchange-12.0.xsd.
    • Preserves camera projection, positions, orientation quaternions, active clipping section planes, and all redline markup annotations.
  • 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.
  • Section-Aware IFC Export:
    • Extended NwcIfcExportOptions with SectionBox, SectionPlanes, and ClipGeometryWithSectionPlanes.
    • Automatically clips 3D geometry during IFC export (Ifc2x3 and Ifc4), generating clean cropped IFC models.
  • Document & Assembly API Integration:
    • Added NwcDocument.SaveViewpointsXml(...) and NwcDocument.ToViewpointsXml().
    • Added NwcAssembly.SaveViewpointsXml(...) and NwcAssembly.ToViewpointsXml().
  • CLI Enhancements (nwcio):
    • Added --viewpoints-xml <file.xml>: exports saved viewpoints, active section planes, and redlines to Autodesk Navisworks XML format.

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.
  • 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>.
  • 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 BcfTopic with 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).
  • 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") and NwcAssembly.ToNwfManifest().
  • Document & Assembly API Integration:
    • NwcDocument.RunClashDetection(test) and NwcAssembly.RunClashDetection(testName, tolerance).
    • NwcDocument.ExportClashReportXml(path) and NwcDocument.ExportClashBcf(path).
    • NwcDocument.LoadClashReportXml(path).
    • NwcDocument.FindSet(name) and NwcDocument.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.