Horizon
Public Member Functions | Static Public Member Functions | List of all members
DL_Dxf Class Reference

Reading and writing of DXF files. More...

#include <dl_dxf.h>

Public Member Functions

 DL_Dxf ()
 Default constructor.
 
 ~DL_Dxf ()
 Destructor.
 
bool in (const std::string &file, DL_CreationInterface *creationInterface)
 Reads the given file and calls the appropriate functions in the given creation interface for every entity found in the file. More...
 
bool readDxfGroups (FILE *fp, DL_CreationInterface *creationInterface)
 Reads a group couplet from a DXF file. More...
 
bool readDxfGroups (std::stringstream &stream, DL_CreationInterface *creationInterface)
 Same as above but for stringstreams.
 
bool in (std::stringstream &stream, DL_CreationInterface *creationInterface)
 Reads a DXF file from an existing stream. More...
 
bool processDXFGroup (DL_CreationInterface *creationInterface, int groupCode, const std::string &groupValue)
 Processes a group (pair of group code and value). More...
 
void addSetting (DL_CreationInterface *creationInterface)
 Adds a variable from the DXF file.
 
void addLayer (DL_CreationInterface *creationInterface)
 Adds a layer that was read from the file via the creation interface.
 
void addLinetype (DL_CreationInterface *creationInterface)
 Adds a linetype that was read from the file via the creation interface.
 
void addBlock (DL_CreationInterface *creationInterface)
 Adds a block that was read from the file via the creation interface.
 
void endBlock (DL_CreationInterface *creationInterface)
 Ends a block that was read from the file via the creation interface.
 
void addTextStyle (DL_CreationInterface *creationInterface)
 
void addPoint (DL_CreationInterface *creationInterface)
 Adds a point entity that was read from the file via the creation interface.
 
void addLine (DL_CreationInterface *creationInterface)
 Adds a line entity that was read from the file via the creation interface.
 
void addXLine (DL_CreationInterface *creationInterface)
 Adds an xline entity that was read from the file via the creation interface.
 
void addRay (DL_CreationInterface *creationInterface)
 Adds a ray entity that was read from the file via the creation interface.
 
void addPolyline (DL_CreationInterface *creationInterface)
 Adds a polyline entity that was read from the file via the creation interface.
 
void addVertex (DL_CreationInterface *creationInterface)
 Adds a polyline vertex entity that was read from the file via the creation interface.
 
void addSpline (DL_CreationInterface *creationInterface)
 Adds a spline entity that was read from the file via the creation interface.
 
void addArc (DL_CreationInterface *creationInterface)
 Adds an arc entity that was read from the file via the creation interface.
 
void addCircle (DL_CreationInterface *creationInterface)
 Adds a circle entity that was read from the file via the creation interface.
 
void addEllipse (DL_CreationInterface *creationInterface)
 Adds an ellipse entity that was read from the file via the creation interface.
 
void addInsert (DL_CreationInterface *creationInterface)
 Adds an insert entity that was read from the file via the creation interface.
 
void addTrace (DL_CreationInterface *creationInterface)
 Adds a trace entity (4 edge closed polyline) that was read from the file via the creation interface. More...
 
void add3dFace (DL_CreationInterface *creationInterface)
 Adds a 3dface entity that was read from the file via the creation interface.
 
void addSolid (DL_CreationInterface *creationInterface)
 Adds a solid entity (filled trace) that was read from the file via the creation interface. More...
 
void addMText (DL_CreationInterface *creationInterface)
 Adds an MText entity that was read from the file via the creation interface.
 
void addText (DL_CreationInterface *creationInterface)
 Adds an text entity that was read from the file via the creation interface.
 
void addArcAlignedText (DL_CreationInterface *creationInterface)
 Adds an arc aligned text entity that was read from the file via the creation interface.
 
void addAttribute (DL_CreationInterface *creationInterface)
 Adds an attrib entity that was read from the file via the creation interface. More...
 
DL_DimensionData getDimData ()
 
void addDimLinear (DL_CreationInterface *creationInterface)
 Adds a linear dimension entity that was read from the file via the creation interface.
 
void addDimAligned (DL_CreationInterface *creationInterface)
 Adds an aligned dimension entity that was read from the file via the creation interface.
 
void addDimRadial (DL_CreationInterface *creationInterface)
 Adds a radial dimension entity that was read from the file via the creation interface.
 
void addDimDiametric (DL_CreationInterface *creationInterface)
 Adds a diametric dimension entity that was read from the file via the creation interface.
 
void addDimAngular (DL_CreationInterface *creationInterface)
 Adds an angular dimension entity that was read from the file via the creation interface.
 
void addDimAngular3P (DL_CreationInterface *creationInterface)
 Adds an angular dimension entity that was read from the file via the creation interface.
 
void addDimOrdinate (DL_CreationInterface *creationInterface)
 Adds an ordinate dimension entity that was read from the file via the creation interface.
 
void addLeader (DL_CreationInterface *creationInterface)
 Adds a leader entity that was read from the file via the creation interface.
 
void addHatch (DL_CreationInterface *creationInterface)
 Adds a hatch entity that was read from the file via the creation interface.
 
void addHatchLoop ()
 
void addHatchEdge ()
 
bool handleHatchData (DL_CreationInterface *creationInterface)
 Handles all hatch data.
 
void addImage (DL_CreationInterface *creationInterface)
 Adds an image entity that was read from the file via the creation interface.
 
void addImageDef (DL_CreationInterface *creationInterface)
 Adds an image definition that was read from the file via the creation interface.
 
void addComment (DL_CreationInterface *creationInterface, const std::string &comment)
 Adds a comment from the DXF file.
 
void addDictionary (DL_CreationInterface *creationInterface)
 
void addDictionaryEntry (DL_CreationInterface *creationInterface)
 
bool handleXRecordData (DL_CreationInterface *creationInterface)
 Handles all XRecord data.
 
bool handleDictionaryData (DL_CreationInterface *creationInterface)
 Handles all dictionary data.
 
bool handleXData (DL_CreationInterface *creationInterface)
 Handles XData for all object types.
 
bool handleMTextData (DL_CreationInterface *creationInterface)
 Handles additional MText data.
 
bool handleLWPolylineData (DL_CreationInterface *creationInterface)
 Handles additional polyline data.
 
bool handleSplineData (DL_CreationInterface *creationInterface)
 Handles additional spline data.
 
bool handleLeaderData (DL_CreationInterface *creationInterface)
 Handles additional leader data.
 
bool handleLinetypeData (DL_CreationInterface *creationInterface)
 Handles all dashes in linetype pattern.
 
void endEntity (DL_CreationInterface *creationInterface)
 Ends some special entities like hatches or old style polylines.
 
void endSequence (DL_CreationInterface *creationInterface)
 Ends a sequence and notifies the creation interface.
 
DL_WriterAout (const char *file, DL_Codes::version version=DL_VERSION_2000)
 Converts the given string into an int. More...
 
void writeHeader (DL_WriterA &dw)
 Writes a DXF header to the file currently opened by the given DXF writer object.
 
void writePoint (DL_WriterA &dw, const DL_PointData &data, const DL_Attributes &attrib)
 Writes a point entity to the file. More...
 
void writeLine (DL_WriterA &dw, const DL_LineData &data, const DL_Attributes &attrib)
 Writes a line entity to the file. More...
 
void writeXLine (DL_WriterA &dw, const DL_XLineData &data, const DL_Attributes &attrib)
 Writes an x line entity to the file. More...
 
void writeRay (DL_WriterA &dw, const DL_RayData &data, const DL_Attributes &attrib)
 Writes a ray entity to the file. More...
 
void writePolyline (DL_WriterA &dw, const DL_PolylineData &data, const DL_Attributes &attrib)
 Writes a polyline entity to the file. More...
 
void writeVertex (DL_WriterA &dw, const DL_VertexData &data)
 Writes a single vertex of a polyline to the file. More...
 
void writePolylineEnd (DL_WriterA &dw)
 Writes the polyline end. More...
 
void writeSpline (DL_WriterA &dw, const DL_SplineData &data, const DL_Attributes &attrib)
 Writes a spline entity to the file. More...
 
void writeControlPoint (DL_WriterA &dw, const DL_ControlPointData &data)
 Writes a single control point of a spline to the file. More...
 
void writeFitPoint (DL_WriterA &dw, const DL_FitPointData &data)
 Writes a single fit point of a spline to the file. More...
 
void writeKnot (DL_WriterA &dw, const DL_KnotData &data)
 Writes a single knot of a spline to the file. More...
 
void writeCircle (DL_WriterA &dw, const DL_CircleData &data, const DL_Attributes &attrib)
 Writes a circle entity to the file. More...
 
void writeArc (DL_WriterA &dw, const DL_ArcData &data, const DL_Attributes &attrib)
 Writes an arc entity to the file. More...
 
void writeEllipse (DL_WriterA &dw, const DL_EllipseData &data, const DL_Attributes &attrib)
 Writes an ellipse entity to the file. More...
 
void writeSolid (DL_WriterA &dw, const DL_SolidData &data, const DL_Attributes &attrib)
 Writes a solid entity to the file. More...
 
void writeTrace (DL_WriterA &dw, const DL_TraceData &data, const DL_Attributes &attrib)
 Writes a trace entity to the file. More...
 
void write3dFace (DL_WriterA &dw, const DL_3dFaceData &data, const DL_Attributes &attrib)
 Writes a 3d face entity to the file. More...
 
void writeInsert (DL_WriterA &dw, const DL_InsertData &data, const DL_Attributes &attrib)
 Writes an insert to the file. More...
 
void writeMText (DL_WriterA &dw, const DL_MTextData &data, const DL_Attributes &attrib)
 Writes a multi text entity to the file. More...
 
void writeText (DL_WriterA &dw, const DL_TextData &data, const DL_Attributes &attrib)
 Writes a text entity to the file. More...
 
void writeAttribute (DL_WriterA &dw, const DL_AttributeData &data, const DL_Attributes &attrib)
 
void writeDimStyleOverrides (DL_WriterA &dw, const DL_DimensionData &data)
 
void writeDimAligned (DL_WriterA &dw, const DL_DimensionData &data, const DL_DimAlignedData &edata, const DL_Attributes &attrib)
 Writes an aligned dimension entity to the file. More...
 
void writeDimLinear (DL_WriterA &dw, const DL_DimensionData &data, const DL_DimLinearData &edata, const DL_Attributes &attrib)
 Writes a linear dimension entity to the file. More...
 
void writeDimRadial (DL_WriterA &dw, const DL_DimensionData &data, const DL_DimRadialData &edata, const DL_Attributes &attrib)
 Writes a radial dimension entity to the file. More...
 
void writeDimDiametric (DL_WriterA &dw, const DL_DimensionData &data, const DL_DimDiametricData &edata, const DL_Attributes &attrib)
 Writes a diametric dimension entity to the file. More...
 
void writeDimAngular (DL_WriterA &dw, const DL_DimensionData &data, const DL_DimAngularData &edata, const DL_Attributes &attrib)
 Writes an angular dimension entity to the file. More...
 
void writeDimAngular3P (DL_WriterA &dw, const DL_DimensionData &data, const DL_DimAngular3PData &edata, const DL_Attributes &attrib)
 Writes an angular dimension entity (3 points version) to the file. More...
 
void writeDimOrdinate (DL_WriterA &dw, const DL_DimensionData &data, const DL_DimOrdinateData &edata, const DL_Attributes &attrib)
 Writes an ordinate dimension entity to the file. More...
 
void writeLeader (DL_WriterA &dw, const DL_LeaderData &data, const DL_Attributes &attrib)
 Writes a leader entity to the file. More...
 
void writeLeaderVertex (DL_WriterA &dw, const DL_LeaderVertexData &data)
 Writes a single vertex of a leader to the file. More...
 
void writeHatch1 (DL_WriterA &dw, const DL_HatchData &data, const DL_Attributes &attrib)
 Writes the beginning of a hatch entity to the file. More...
 
void writeHatch2 (DL_WriterA &dw, const DL_HatchData &data, const DL_Attributes &attrib)
 Writes the end of a hatch entity to the file. More...
 
void writeHatchLoop1 (DL_WriterA &dw, const DL_HatchLoopData &data)
 Writes the beginning of a hatch loop to the file. More...
 
void writeHatchLoop2 (DL_WriterA &dw, const DL_HatchLoopData &data)
 Writes the end of a hatch loop to the file. More...
 
void writeHatchEdge (DL_WriterA &dw, const DL_HatchEdgeData &data)
 Writes the beginning of a hatch entity to the file. More...
 
int writeImage (DL_WriterA &dw, const DL_ImageData &data, const DL_Attributes &attrib)
 Writes an image entity. More...
 
void writeImageDef (DL_WriterA &dw, int handle, const DL_ImageData &data)
 Writes an image definiition entity.
 
void writeLayer (DL_WriterA &dw, const DL_LayerData &data, const DL_Attributes &attrib)
 Writes a layer to the file. More...
 
void writeLinetype (DL_WriterA &dw, const DL_LinetypeData &data)
 Writes a line type to the file. More...
 
void writeAppid (DL_WriterA &dw, const std::string &name)
 Writes the APPID section to the DXF file. More...
 
void writeBlock (DL_WriterA &dw, const DL_BlockData &data)
 Writes a block's definition (no entities) to the DXF file.
 
void writeEndBlock (DL_WriterA &dw, const std::string &name)
 Writes a block end. More...
 
void writeVPort (DL_WriterA &dw)
 Writes a viewport section. More...
 
void writeStyle (DL_WriterA &dw, const DL_StyleData &style)
 Writes a style section. More...
 
void writeView (DL_WriterA &dw)
 Writes a view section. More...
 
void writeUcs (DL_WriterA &dw)
 Writes a ucs section. More...
 
void writeDimStyle (DL_WriterA &dw, double dimasz, double dimexe, double dimexo, double dimgap, double dimtxt)
 Writes a dimstyle section. More...
 
void writeBlockRecord (DL_WriterA &dw)
 Writes a blockrecord section. More...
 
void writeBlockRecord (DL_WriterA &dw, const std::string &name)
 Writes a single block record with the given name.
 
void writeObjects (DL_WriterA &dw, const std::string &appDictionaryName="")
 Writes a objects section. More...
 
void writeAppDictionary (DL_WriterA &dw)
 
int writeDictionaryEntry (DL_WriterA &dw, const std::string &name)
 
void writeXRecord (DL_WriterA &dw, int handle, int value)
 
void writeXRecord (DL_WriterA &dw, int handle, double value)
 
void writeXRecord (DL_WriterA &dw, int handle, bool value)
 
void writeXRecord (DL_WriterA &dw, int handle, const std::string &value)
 
void writeObjectsEnd (DL_WriterA &dw)
 Writes the end of the objects section. More...
 
void writeComment (DL_WriterA &dw, const std::string &comment)
 Writes a comment to the DXF file.
 
DL_Codes::version getVersion ()
 
int getLibVersion (const std::string &str)
 
bool hasValue (int code)
 
int getIntValue (int code, int def)
 
int toInt (const std::string &str)
 
int getInt16Value (int code, int def)
 
int toInt16 (const std::string &str)
 
bool toBool (const std::string &str)
 
std::string getStringValue (int code, const std::string &def)
 
double getRealValue (int code, double def)
 
double toReal (const std::string &str)
 

Static Public Member Functions

static bool getStrippedLine (std::string &s, unsigned int size, FILE *stream, bool stripSpace=true)
 Reads line from file & strips whitespace at start and newline at end. More...
 
static bool getStrippedLine (std::string &s, unsigned int size, std::stringstream &stream, bool stripSpace=true)
 Same as above but for stringstreams.
 
static bool stripWhiteSpace (char **s, bool stripSpaces=true)
 Strips leading whitespace and trailing Carriage Return (CR) and Line Feed (LF) from NULL terminated string. More...
 
static bool checkVariable (const char *var, DL_Codes::version version)
 Converts the given string into a double or returns the given default valud (def) if value is NULL or empty. More...
 
static void test ()
 Converts the given string into a double or returns the given default valud (def) if value is NULL or empty. More...
 

Detailed Description

Reading and writing of DXF files.

This class can read in a DXF file and calls methods from the interface DL_EntityContainer to add the entities to the contianer provided by the user of the library.

It can also be used to write DXF files to a certain extent.

When saving entities, special values for colors and linetypes can be used:

Special colors are 0 (=BYBLOCK) and 256 (=BYLAYER). Special linetypes are "BYLAYER" and "BYBLOCK".

Author
Andrew Mustun

Member Function Documentation

◆ addAttribute()

void DL_Dxf::addAttribute ( DL_CreationInterface creationInterface)

Adds an attrib entity that was read from the file via the creation interface.

Todo:
add attrib instead of normal text

◆ addSolid()

void DL_Dxf::addSolid ( DL_CreationInterface creationInterface)

Adds a solid entity (filled trace) that was read from the file via the creation interface.

Author
AHM

◆ addTrace()

void DL_Dxf::addTrace ( DL_CreationInterface creationInterface)

Adds a trace entity (4 edge closed polyline) that was read from the file via the creation interface.

Author
AHM

◆ checkVariable()

bool DL_Dxf::checkVariable ( const char *  var,
DL_Codes::version  version 
)
static

Converts the given string into a double or returns the given default valud (def) if value is NULL or empty.

Checks if the given variable is known by the given DXF version.

Converts the given string into an int or returns the given default valud (def) if value is NULL or empty. Converts the given string into a string or returns the given default valud (def) if value is NULL or empty.

◆ getDimData()

DL_DimensionData DL_Dxf::getDimData ( )
Returns
dimension data from current values.

◆ getLibVersion()

int DL_Dxf::getLibVersion ( const std::string &  str)
Returns
the library version as int (4 bytes, each byte one version number). e.g. if str = "2.0.2.0" getLibVersion returns 0x02000200

◆ getStrippedLine()

bool DL_Dxf::getStrippedLine ( std::string &  s,
unsigned int  size,
FILE *  fp,
bool  stripSpace = true 
)
static

Reads line from file & strips whitespace at start and newline at end.

Parameters
sOutput
Pointer to character array that chopped line will be returned in.
sizeSize of s. (Including space for NULL.)
fpInput
Handle of input file.
Return values
trueif line could be read
falseif fp is already at end of file
Todo:

Change function to use safer FreeBSD strl* functions

Is it a problem if line is blank (i.e., newline only)? Then, when function returns, (s==NULL).

◆ in() [1/2]

bool DL_Dxf::in ( const std::string &  file,
DL_CreationInterface creationInterface 
)

Reads the given file and calls the appropriate functions in the given creation interface for every entity found in the file.

Parameters
fileInput Path and name of file to read
creationInterfacePointer to the class which takes care of the entities in the file.
Return values
trueIf file could be opened.
falseIf file could not be opened.

◆ in() [2/2]

bool DL_Dxf::in ( std::stringstream &  stream,
DL_CreationInterface creationInterface 
)

Reads a DXF file from an existing stream.

Parameters
streamThe string stream.
creationInterfacePointer to the class which takes care of the entities in the file.
Return values
trueIf file could be opened.
falseIf file could not be opened.

◆ out()

DL_WriterA * DL_Dxf::out ( const char *  file,
DL_Codes::version  version = DL_VERSION_2000 
)

Converts the given string into an int.

ok is set to false if there was an error.

Opens the given file for writing and returns a pointer to the dxf writer. This pointer needs to be passed on to other writing functions.

Parameters
fileFull path of the file to open.
Returns
Pointer to an ascii dxf writer object.

◆ processDXFGroup()

bool DL_Dxf::processDXFGroup ( DL_CreationInterface creationInterface,
int  groupCode,
const std::string &  groupValue 
)

Processes a group (pair of group code and value).

Parameters
creationInterfaceHandle to class that creates entities and other CAD data from DXF group codes
groupCodeConstant indicating the data type of the group.
groupValueThe data value.
Return values
trueif done processing current entity and new entity begun
falseif not done processing current entity

◆ readDxfGroups()

bool DL_Dxf::readDxfGroups ( FILE *  fp,
DL_CreationInterface creationInterface 
)

Reads a group couplet from a DXF file.

Calls another function to process it.

A group couplet consists of two lines that represent a single piece of data. An integer constant on the first line indicates the type of data. The value is on the next line.
This function reads a couplet, determines the type of data, and passes the value to the the appropriate handler function of creationInterface.
fp is advanced so that the next call to readDXFGroups() reads the next couplet in the file.

Parameters
fpHandle of input file
creationInterfaceHandle of class which processes entities in the file
Return values
trueIf EOF not reached.
falseIf EOF reached.

◆ stripWhiteSpace()

bool DL_Dxf::stripWhiteSpace ( char **  s,
bool  stripSpace = true 
)
static

Strips leading whitespace and trailing Carriage Return (CR) and Line Feed (LF) from NULL terminated string.

Parameters
sInput and output. NULL terminates string.
Return values
trueif s is non-NULL
falseif s is NULL

◆ test()

void DL_Dxf::test ( )
static

Converts the given string into a double or returns the given default valud (def) if value is NULL or empty.

Some test routines.

◆ write3dFace()

void DL_Dxf::write3dFace ( DL_WriterA dw,
const DL_3dFaceData data,
const DL_Attributes attrib 
)

Writes a 3d face entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeAppid()

void DL_Dxf::writeAppid ( DL_WriterA dw,
const std::string &  name 
)

Writes the APPID section to the DXF file.

Parameters
nameApplication name

◆ writeArc()

void DL_Dxf::writeArc ( DL_WriterA dw,
const DL_ArcData data,
const DL_Attributes attrib 
)

Writes an arc entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeBlockRecord()

void DL_Dxf::writeBlockRecord ( DL_WriterA dw)

Writes a blockrecord section.

This section is needed in DL_VERSION_R13. Note that this method currently only writes a faked BLOCKRECORD section to make the file readable by Aut*cad.

◆ writeCircle()

void DL_Dxf::writeCircle ( DL_WriterA dw,
const DL_CircleData data,
const DL_Attributes attrib 
)

Writes a circle entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeControlPoint()

void DL_Dxf::writeControlPoint ( DL_WriterA dw,
const DL_ControlPointData data 
)

Writes a single control point of a spline to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeDimAligned()

void DL_Dxf::writeDimAligned ( DL_WriterA dw,
const DL_DimensionData data,
const DL_DimAlignedData edata,
const DL_Attributes attrib 
)

Writes an aligned dimension entity to the file.

Parameters
dwDXF writer
dataGeneric dimension data for from the file
dataSpecific aligned dimension data from the file
attribAttributes

◆ writeDimAngular()

void DL_Dxf::writeDimAngular ( DL_WriterA dw,
const DL_DimensionData data,
const DL_DimAngularData edata,
const DL_Attributes attrib 
)

Writes an angular dimension entity to the file.

Parameters
dwDXF writer
dataGeneric dimension data for from the file
dataSpecific angular dimension data from the file
attribAttributes

◆ writeDimAngular3P()

void DL_Dxf::writeDimAngular3P ( DL_WriterA dw,
const DL_DimensionData data,
const DL_DimAngular3PData edata,
const DL_Attributes attrib 
)

Writes an angular dimension entity (3 points version) to the file.

Parameters
dwDXF writer
dataGeneric dimension data for from the file
dataSpecific angular dimension data from the file
attribAttributes

◆ writeDimDiametric()

void DL_Dxf::writeDimDiametric ( DL_WriterA dw,
const DL_DimensionData data,
const DL_DimDiametricData edata,
const DL_Attributes attrib 
)

Writes a diametric dimension entity to the file.

Parameters
dwDXF writer
dataGeneric dimension data for from the file
dataSpecific diametric dimension data from the file
attribAttributes

◆ writeDimLinear()

void DL_Dxf::writeDimLinear ( DL_WriterA dw,
const DL_DimensionData data,
const DL_DimLinearData edata,
const DL_Attributes attrib 
)

Writes a linear dimension entity to the file.

Parameters
dwDXF writer
dataGeneric dimension data for from the file
dataSpecific linear dimension data from the file
attribAttributes

◆ writeDimOrdinate()

void DL_Dxf::writeDimOrdinate ( DL_WriterA dw,
const DL_DimensionData data,
const DL_DimOrdinateData edata,
const DL_Attributes attrib 
)

Writes an ordinate dimension entity to the file.

Parameters
dwDXF writer
dataGeneric dimension data for from the file
dataSpecific ordinate dimension data from the file
attribAttributes

◆ writeDimRadial()

void DL_Dxf::writeDimRadial ( DL_WriterA dw,
const DL_DimensionData data,
const DL_DimRadialData edata,
const DL_Attributes attrib 
)

Writes a radial dimension entity to the file.

Parameters
dwDXF writer
dataGeneric dimension data for from the file
dataSpecific radial dimension data from the file
attribAttributes

◆ writeDimStyle()

void DL_Dxf::writeDimStyle ( DL_WriterA dw,
double  dimasz,
double  dimexe,
double  dimexo,
double  dimgap,
double  dimtxt 
)

Writes a dimstyle section.

This section is needed in DL_VERSION_R13. Note that this method currently only writes a faked DIMSTYLE section to make the file readable by Aut*cad.

◆ writeEllipse()

void DL_Dxf::writeEllipse ( DL_WriterA dw,
const DL_EllipseData data,
const DL_Attributes attrib 
)

Writes an ellipse entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeEndBlock()

void DL_Dxf::writeEndBlock ( DL_WriterA dw,
const std::string &  name 
)

Writes a block end.

Parameters
nameBlock name

◆ writeFitPoint()

void DL_Dxf::writeFitPoint ( DL_WriterA dw,
const DL_FitPointData data 
)

Writes a single fit point of a spline to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeHatch1()

void DL_Dxf::writeHatch1 ( DL_WriterA dw,
const DL_HatchData data,
const DL_Attributes attrib 
)

Writes the beginning of a hatch entity to the file.

This must be followed by one or more writeHatchLoop() calls and a writeHatch2() call.

Parameters
dwDXF writer
dataEntity data.
attribAttributes

◆ writeHatch2()

void DL_Dxf::writeHatch2 ( DL_WriterA dw,
const DL_HatchData data,
const DL_Attributes attrib 
)

Writes the end of a hatch entity to the file.

Parameters
dwDXF writer
dataEntity data.
attribAttributes

◆ writeHatchEdge()

void DL_Dxf::writeHatchEdge ( DL_WriterA dw,
const DL_HatchEdgeData data 
)

Writes the beginning of a hatch entity to the file.

Parameters
dwDXF writer
dataEntity data.
attribAttributes

◆ writeHatchLoop1()

void DL_Dxf::writeHatchLoop1 ( DL_WriterA dw,
const DL_HatchLoopData data 
)

Writes the beginning of a hatch loop to the file.

This must happen after writing the beginning of a hatch entity.

Parameters
dwDXF writer
dataEntity data.
attribAttributes

◆ writeHatchLoop2()

void DL_Dxf::writeHatchLoop2 ( DL_WriterA dw,
const DL_HatchLoopData data 
)

Writes the end of a hatch loop to the file.

Parameters
dwDXF writer
dataEntity data.
attribAttributes

◆ writeImage()

int DL_Dxf::writeImage ( DL_WriterA dw,
const DL_ImageData data,
const DL_Attributes attrib 
)

Writes an image entity.

Returns
IMAGEDEF handle. Needed for the IMAGEDEF counterpart.

◆ writeInsert()

void DL_Dxf::writeInsert ( DL_WriterA dw,
const DL_InsertData data,
const DL_Attributes attrib 
)

Writes an insert to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeKnot()

void DL_Dxf::writeKnot ( DL_WriterA dw,
const DL_KnotData data 
)

Writes a single knot of a spline to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeLayer()

void DL_Dxf::writeLayer ( DL_WriterA dw,
const DL_LayerData data,
const DL_Attributes attrib 
)

Writes a layer to the file.

Layers are stored in the tables section of a DXF file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeLeader()

void DL_Dxf::writeLeader ( DL_WriterA dw,
const DL_LeaderData data,
const DL_Attributes attrib 
)

Writes a leader entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes
See also
writeVertex

◆ writeLeaderVertex()

void DL_Dxf::writeLeaderVertex ( DL_WriterA dw,
const DL_LeaderVertexData data 
)

Writes a single vertex of a leader to the file.

Parameters
dwDXF writer
dataEntity data

◆ writeLine()

void DL_Dxf::writeLine ( DL_WriterA dw,
const DL_LineData data,
const DL_Attributes attrib 
)

Writes a line entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeLinetype()

void DL_Dxf::writeLinetype ( DL_WriterA dw,
const DL_LinetypeData data 
)

Writes a line type to the file.

Line types are stored in the tables section of a DXF file.

◆ writeMText()

void DL_Dxf::writeMText ( DL_WriterA dw,
const DL_MTextData data,
const DL_Attributes attrib 
)

Writes a multi text entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeObjects()

void DL_Dxf::writeObjects ( DL_WriterA dw,
const std::string &  appDictionaryName = "" 
)

Writes a objects section.

This section is needed in DL_VERSION_R13. Note that this method currently only writes a faked OBJECTS section to make the file readable by Aut*cad.

◆ writeObjectsEnd()

void DL_Dxf::writeObjectsEnd ( DL_WriterA dw)

Writes the end of the objects section.

This section is needed in DL_VERSION_R13. Note that this method currently only writes a faked OBJECTS section to make the file readable by Aut*cad.

◆ writePoint()

void DL_Dxf::writePoint ( DL_WriterA dw,
const DL_PointData data,
const DL_Attributes attrib 
)

Writes a point entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writePolyline()

void DL_Dxf::writePolyline ( DL_WriterA dw,
const DL_PolylineData data,
const DL_Attributes attrib 
)

Writes a polyline entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes
See also
writeVertex

◆ writePolylineEnd()

void DL_Dxf::writePolylineEnd ( DL_WriterA dw)

Writes the polyline end.

Only needed for DXF R12.

◆ writeRay()

void DL_Dxf::writeRay ( DL_WriterA dw,
const DL_RayData data,
const DL_Attributes attrib 
)

Writes a ray entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeSolid()

void DL_Dxf::writeSolid ( DL_WriterA dw,
const DL_SolidData data,
const DL_Attributes attrib 
)

Writes a solid entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeSpline()

void DL_Dxf::writeSpline ( DL_WriterA dw,
const DL_SplineData data,
const DL_Attributes attrib 
)

Writes a spline entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes
See also
writeControlPoint

◆ writeStyle()

void DL_Dxf::writeStyle ( DL_WriterA dw,
const DL_StyleData style 
)

Writes a style section.

This section is needed in DL_VERSION_R13.

◆ writeText()

void DL_Dxf::writeText ( DL_WriterA dw,
const DL_TextData data,
const DL_Attributes attrib 
)

Writes a text entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeTrace()

void DL_Dxf::writeTrace ( DL_WriterA dw,
const DL_TraceData data,
const DL_Attributes attrib 
)

Writes a trace entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeUcs()

void DL_Dxf::writeUcs ( DL_WriterA dw)

Writes a ucs section.

This section is needed in DL_VERSION_R13. Note that this method currently only writes a faked UCS section to make the file readable by Aut*cad.

◆ writeVertex()

void DL_Dxf::writeVertex ( DL_WriterA dw,
const DL_VertexData data 
)

Writes a single vertex of a polyline to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

◆ writeView()

void DL_Dxf::writeView ( DL_WriterA dw)

Writes a view section.

This section is needed in DL_VERSION_R13. Note that this method currently only writes a faked VIEW section to make the file readable by Aut*cad.

◆ writeVPort()

void DL_Dxf::writeVPort ( DL_WriterA dw)

Writes a viewport section.

This section is needed in DL_VERSION_R13. Note that this method currently only writes a faked VPORT section to make the file readable by Aut*cad.

◆ writeXLine()

void DL_Dxf::writeXLine ( DL_WriterA dw,
const DL_XLineData data,
const DL_Attributes attrib 
)

Writes an x line entity to the file.

Parameters
dwDXF writer
dataEntity data from the file
attribAttributes

The documentation for this class was generated from the following files: