Releases: Digital-Production-Aachen/OpenVectorFormatTools
Exporter for CLI and CLI Plus
Added CLI Writer compatibility. Use CLI Data Format for export settings like: binary, ASCII Export Format or EOS Printing Setting
Added CLI Plus functionalities for exporting to Aconity machines
CLI Writer
Support for beam shape devices
This small release adds support for beam shape devices like nLight AFX to the merking params object.
Extended .ilt import compatibility
This release extends compatibility for importing and translating .ilt files generated by Netfabb and 3dExpert to OpenVectorFormat.
Compute meta data and remove unnecessary internal async usage
- Further removed unnecessary async calls from library classes
- Added extension to calc the theoretical build up rate of a parameter set
- added new extension to compute and store geometric meta data of a vector block (jump and mark distance, bounds). Updated the OVF test files to include this meta data
- Updated the progress interface to be optional everywhere (is ignored when null) and added null as the default parameter value in the interface
Bug fixes and interface improvements for File Readers
Declared async interface of FileReader and FileWriter depricated since it was not used with async IO by even one implementation. It however produced threading bugs. Added synchronous methods with the same functionality and implemented the "async" ones with Task.FromResult.
Some bug fixes in AbstOVFStreamingMerger.
SIMD acceleration and OVF data streaming merger
SIMD Accelerated Extension Methods for Translation, Rotation and Bounds
The OVF definition project now offers LINQ-style extension methods for vector block, workplane and job objects.
The extensions implement the common vector block operations translate, rotate and calculating an axis algined bounding box.
They also offer direct memory access of the underlying float arrays of vector blocks utilizing memory marshalling to Span : vectorBlock.RawCoordinates().AsSpan().
Translate, Rotate and Bounds uses SIMD intrinsics on supported hardware with software fallbacks. Benchmarks on AVX256 capable hardware show tenfold performance compared to simple loops.
Streaming Capabilites to Merge, Translate, Rotate and Apply Parameters to OVF Data
The new BuildProcessor and StreamingMerger classes of the OVF Streaming project are used to merge sliced OVF data of single parts into full build job files.
The BuildProcessor accepts multiple OVF data sources and applies appropriate parameters to each vector block based on the block meta data provided by the slicer (e.g. upskin, downskin, contour, volume etc.).
It can also mark all blocks of an OVF source as support. Build Processors are initialized with an OVF ParameterSetEngine object that defines valid parameter sets and fallbacks for missing parameters.
BuildProcessor and StreamingMerger also support translating and rotating vector data to instantiate parts in a build job, using the SIMD accelerated extansions.
Streaming capable means that all operations are lazily executed only when workplanes and vector blocks are written, e.g. to an OVFFileWriter. This vastly reduced the in-memory footprint of build jobs.
All Streaming capable classes inherit from the abstract FileReader class and can be nested this way. A typical setup is using one BuildProcessor per part to merge part and supports and apply parameters,
and then merging multiple build processors to a job using StreamingMerger for instance-wise translations and rotations.
v.1.6.0 Build Job Streaming and SIMD accelerated vector block extensions
v1.6.0-alpha New Features in this release
SIMD Accelerated Extension Methods for Translation, Rotation and Bounds
The OVF definition project now offers LINQ-style extension methods for vector block, workplane and job objects.
The extensions implement the common vector block operations translate, rotate and calculating an axis algined bounding box.
They also offer direct memory access of the underlying float arrays of vector blocks utilizing memory marshalling to Span : vectorBlock.RawCoordinates().AsSpan().
Translate, Rotate and Bounds uses SIMD intrinsics on supported hardware with software fallbacks. Benchmarks on AVX256 capable hardware show tenfold performance compared to simple loops.
Streaming Capabilites to Merge, Translate, Rotate and Apply Parameters to OVF Data
The new BuildProcessor and StreamingMerger classes of the OVF Streaming project are used to merge sliced OVF data of single parts into full build job files.
The BuildProcessor accepts multiple OVF data sources and applies appropriate parameters to each vector block based on the block meta data provided by the slicer (e.g. upskin, downskin, contour, volume etc.).
It can also mark all blocks of an OVF source as support. Build Processors are initialized with an OVF ParameterSetEngine object that defines valid parameter sets and fallbacks for missing parameters.
BuildProcessor and StreamingMerger also support translating and rotating vector data to instantiate parts in a build job, using the SIMD accelerated extansions.
Streaming capable means that all operations are lazily executed only when workplanes and vector blocks are written, e.g. to an OVFFileWriter. This vastly reduced the in-memory footprint of build jobs.
All Streaming capable classes inherit from the abstract FileReader class and can be nested this way. A typical setup is using one BuildProcessor per part to merge part and supports and apply parameters,
and then merging multiple build processors to a job using StreamingMerger for instance-wise translations and rotations.
Release v1.5.0
Changelog:
- OpenVectorFormat definition updated to the latest release. This includes new reserved tags for proprietary or test marking parmas extensions of OVF, as well as documentation updates
- OVFFileReaderWriter is now multi-threading capable
- the plausibility checker has been extended to check OVF closed contours metadata
- a new class of utility tools using C# extension methods on OVF types has been integrated. Functions are shallow and selective copies of vector blocks, vector block translations and conversion to C# SIMD vectors from the System.Numerics namespace. Utilities will be extended in the future
Release v1.4.2 - Bug fixes and extension of converter functionality
This minor release contains some bug fixes as well as new functionality for the OVF File converter. It is now extendable via custom post processing methods and offers an in memory conversion with fallback parameters as well. OVF definition submodule has been updated to the latest version.