34#include <NDEVR/CADHandleManager.h>
35#include <NDEVR/IOFactory.h>
36#include <NDEVR/FileFormat.h>
58 NDEVR_CAD_API DXFFactory();
59 NDEVR_CAD_API
static DXFFactory& DefaultFactory();
78 static constexpr StringView CustomOptionsLabel() {
return "dxf_options"; }
79 static constexpr StringView CustomOptionsAutoName() {
return "auto_name_objects"; }
80 static constexpr StringView CustomOptionsTextFaceCamera() {
return "text_face_camera"; }
81 static constexpr StringView CustomOptionsGroupImport() {
return "group_import"; }
82 static constexpr StringView CustomOptionsPointMode() {
return "point_mode"; }
83 static constexpr StringView CustomOptionsLineMode() {
return "line_mode"; }
85 static constexpr StringView CustomOptionsDXFVersion() {
return "dxf_version"; }
86 static constexpr StringView CustomOptionsDXFBinary() {
return "dxf_binary"; }
87 static constexpr StringView CustomOptionsDXFDefaultMeshFormat() {
return "default_mesh_format"; }
88 static constexpr StringView CustomOptionsDXFHideGridlines() {
return "hide_gridlines"; }
89 static constexpr StringView CustomOptionsDXFClearHandleManager() {
return "clear_handle_manager"; }
91 static void setupFromCustomOptions(DXFWriter& writer,
const GenericOptionGroup& group, CADGeometryWriter& options);
92 bool writeDXFNoBlocks(DXFWriter& writer, Dictionary<UUID, BlockData> block_data, FactoryParameters& params, CADGeometryWriter& geo_write_options);
93 bool writeDXFBlocks(DXFWriter& writer, Dictionary<UUID, BlockData> block_data, FactoryParameters& params, CADGeometryWriter& geo_write_options);
The equivelent of std::vector but with a bit more control.
Streams NDEVR Geometry entities as CAD objects.
An interface that can handle writing certain entities in a special way to the CAD environment.
FactoryFeatures factoryFeatures(const FactoryParameters &file, bool is_import) const override
Returns the features and configurable options for this factory given the parameters.
virtual bool readFile(FactoryParameters &file) override
Reads data from a file into the design object hierarchy.
virtual void getSupportedFormats(Buffer< FileFormat > &formats, bool is_read) override
Populates the given buffer with supported file formats for reading or writing.
static FileFormat FlatDXF()
The Flat DXF file changes models into unique layers.
FactoryOptions defaultWriteOptions(const FactoryParameters &file) const override
Returns the default write options for the given factory parameters.
bool determineExtension(const File &file, String &extension) override
Attempts to determine the file extension for the given file.
FactoryOptions defaultReadOptions(const FactoryParameters &file) const override
Returns the default read options for the given factory parameters.
DynamicPointer< CADHandleManager > m_handle_manager
Manages handle resolution between read/write sessions.
static FileFormat AutodeskDXF()
The Flat DXF file changes models into unique layers.
virtual bool writeFile(FactoryParameters &file) override
Writes data from the design object hierarchy to a file.
Buffer< CADWriteModifier * > m_write_modifiers
Registered write modifiers for special entity handling.
Converts objects into entities that can be placed within a DXF Entity Table.
Handles writing data to a CAD entity stream.
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Allows IOFactories to report what features they support to make the import/export dialogs easier to s...
User-defined options that define preferences for importing and exporting using IOFactory objects.
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
Stores a groups of GenericOptions that can be used to group them.
A core class within the model hierarchy containing vertex-based data (Usually 3D data) within a set c...
IOFactory(const StringView &factory_name)
Constructs an IOFactory with the given factory name.
A core class that represents a node on model hierarchy.
The core String View class for the NDEVR API.
The core String class for the NDEVR API.
The primary namespace for the NDEVR SDK.
@ file
The source file path associated with this object.
A block structure (Similar to a Model) used to share data with CAD.
A DXF friendly material class which contains UV properties similar to a Material object.
A container of input information that is to be filled with output information by an IOFactory.