Partially SWIG-wrapper for Autodesk Navisworks NWC format (nwcreate lib). Focus on write-procedures (for create NWC-file).
Updates look at UPDATES.md
https://github.com/Vinny-Environment/nwcreate2swig
Solution nwcreateWrapper consists of two main projects: nwcreateWrapperLib and nwcreateNET:
nwcreateWrapperLib: visual cpp project of Dynamic link library, the wrapper-classes and wrapper-enums around original Autodesk NWcreate CPP API and SWIG-interface file for wrappers. Paths to SWIG and NWcreate are stored in.propsconfig file (located at\src\nwcreateWrapperLib\nwcreateWrapperLibDeps.props);nwcreateNET: netstandard2.0-library, all.csfiles are cleaned asPre-Build-procedure innwcreateWrapperLiband generated automatically via SWIG's command whennwcreateWrapperLibis compiled. TheOutDir's tag set to catalogue for other Vinny's tools.
The wrappers only created for LcNwc* classes and LtNwc enums from native Autodesk Navisworks NWcreate library. All wrapper-classes and wrapper-enums have Wrapper suffix. All arguments in constructors, methods are changed in wrapper-classes for more memory-efficient and protect crashes (System.AccessViolationException-errors).
The compulsory procedure LiNwcApiInitialise() is placed on LcNwcSceneWrapper-constructor.
Because of SWIG's generate large-files (.cxx) and (*.cs) they are ignored in .gitgnore.
ATTENTION!!!: when using nwcreateNET-library with other projects, which output-catalogue is different than with nwcreateNET wou will need to add the catalogue with nwcreateNET.dll to Environmental's PATH variable, otherwise you will getting an error DllNotFoundException: Unable to load DLL 'nwcreateWrapperLib' or one of its dependencies:
- LcNwcBRepEntity::GetType() -> LcNwcBRepEntityWrapper::GetBRepEntityType() (because in .NET the
GetType()method will conflicted with system's method);