QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
|
Exports QGIS layers to the DXF format. More...
#include <qgsdxfexport.h>
Classes | |
struct | DxfLayer |
Layers and optional attribute index to split into multiple layers using attribute value as layer name. More... | |
Public Types | |
enum | DxfPolylineFlag { Closed = 1 , Curve = 2 , Spline = 4 , Is3DPolyline = 8 , Is3DPolygonMesh = 16 , PolygonMesh = 32 , PolyfaceMesh = 64 , ContinuousPattern = 128 } |
Flags for polylines. More... | |
enum class | ExportResult { Success = 0 , InvalidDeviceError , DeviceNotWritableError , EmptyExtentError } |
The result of an export as dxf operation. More... | |
enum | Flag { FlagNoMText = 1 << 1 } |
Export flags. More... | |
enum class | HAlign : int { HLeft = 0 , HCenter = 1 , HRight = 2 , HAligned = 3 , HMiddle = 4 , HFit = 5 , Undefined = 9999 } |
Horizontal alignments. More... | |
enum | SymbologyExport { NoSymbology = 0 , FeatureSymbology , SymbolLayerSymbology } |
enum class | VAlign : int { VBaseLine = 0 , VBottom = 1 , VMiddle = 2 , VTop = 3 , Undefined = 9999 } |
Vertical alignments. More... | |
Public Member Functions | |
QgsDxfExport () | |
Constructor for QgsDxfExport. More... | |
~QgsDxfExport () override | |
void | addLayers (const QList< QgsDxfExport::DxfLayer > &layers) |
Add layers to export. More... | |
void | clipValueToMapUnitScale (double &value, const QgsMapUnitScale &scale, double pixelToMMFactor) const |
Clips value to scale minimum/maximum. More... | |
QgsCoordinateReferenceSystem | destinationCrs () const |
Returns the destination CRS, or an invalid CRS if no reprojection will be done. More... | |
void | drawLabel (const QString &layerId, QgsRenderContext &context, pal::LabelPosition *label, const QgsPalLayerSettings &settings) override |
Add a label to the dxf output. More... | |
QgsRectangle | extent () const |
Gets extent of area to export. More... | |
QgsDxfExport::Flags | flags () const |
Returns the export flags. More... | |
bool | force2d () |
Retrieve whether the output should be forced to 2d. More... | |
QString | layerName (const QString &id, const QgsFeature &f) const |
Gets layer name for feature. More... | |
QString | layerName (QgsVectorLayer *vl) const |
Gets name for layer respecting the use layer title as layer name mode. More... | |
bool | layerTitleAsName () |
Retrieve whether layer title (where set) instead of name shall be use. More... | |
QgsUnitTypes::DistanceUnit | mapUnits () const |
Retrieve map units. More... | |
Q_DECL_DEPRECATED void | registerDxfLayer (const QString &layerId, QgsFeatureId fid, const QString &layer) |
Register name of layer for feature. More... | |
void | setDestinationCrs (const QgsCoordinateReferenceSystem &crs) |
Set destination CRS. More... | |
void | setExtent (const QgsRectangle &r) |
Set extent of area to export. More... | |
void | setFlags (QgsDxfExport::Flags flags) |
Sets the export flags. More... | |
void | setForce2d (bool force2d) |
Force 2d output (eg. More... | |
void | setLayerTitleAsName (bool layerTitleAsName) |
Enable use of title (where set) instead of layer name, when attribute index of corresponding layer index is -1. More... | |
void | setMapSettings (const QgsMapSettings &settings) |
Set map settings and assign layer name attributes. More... | |
void | setSymbologyExport (QgsDxfExport::SymbologyExport e) |
Set symbology export mode. More... | |
void | setSymbologyScale (double scale) |
Set reference scale for output. More... | |
QgsDxfExport::SymbologyExport | symbologyExport () const |
Gets symbology export mode. More... | |
double | symbologyScale () const |
Returns the reference scale for output. More... | |
void | writeCircle (const QString &layer, const QColor &color, const QgsPoint &pt, double radius, const QString &lineStyleName, double width) |
Write circle (as polyline) More... | |
void | writeDouble (double d) |
Write a floating point value. More... | |
void | writeFilledCircle (const QString &layer, const QColor &color, const QgsPoint &pt, double radius) |
Write filled circle (as hatch) More... | |
void | writeGroup (const QColor &color, int exactMatch=62, int rgbCode=420, int transparencyCode=440) |
Write a group code with color value. More... | |
void | writeGroup (int code, const QgsPoint &p) |
Write a group code with a point. More... | |
void | writeGroup (int code, const QString &s) |
Write a group code with a string value. More... | |
void | writeGroup (int code, double d) |
Write a group code with a floating point value. More... | |
void | writeGroup (int code, int i) |
Write a tuple of group code and integer value. More... | |
void | writeGroup (int code, long long i) |
Write a tuple of group code and long value. More... | |
void | writeGroupCode (int code) |
Write a group code. More... | |
int | writeHandle (int code=5, int handle=0) |
Write a tuple of group code and a handle. More... | |
void | writeInt (int i) |
Write an integer value. More... | |
void | writeLine (const QgsPoint &pt1, const QgsPoint &pt2, const QString &layer, const QString &lineStyleName, const QColor &color, double width=-1) |
Write line (as a polyline) More... | |
void | writeMText (const QString &layer, const QString &text, const QgsPoint &pt, double width, double angle, const QColor &color) |
Write mtext (MTEXT) More... | |
void | writePoint (const QString &layer, const QColor &color, const QgsPoint &pt) |
Write point. More... | |
void | writePolygon (const QgsCurvePolygon &polygon, const QString &layer, const QString &hatchPattern, const QColor &color) |
Draw dxf curved filled polygon (HATCH) More... | |
void | writePolygon (const QgsRingSequence &polygon, const QString &layer, const QString &hatchPattern, const QColor &color) |
Draw dxf filled polygon (HATCH) More... | |
void | writePolyline (const QgsCurve &curve, const QString &layer, const QString &lineStyleName, const QColor &color, double width=-1) |
Draw dxf primitives (LWPOLYLINE) More... | |
void | writePolyline (const QgsPointSequence &line, const QString &layer, const QString &lineStyleName, const QColor &color, double width=-1) |
Draw dxf primitives (LWPOLYLINE) More... | |
void | writeString (const QString &s) |
Write a string value. More... | |
void | writeText (const QString &layer, const QString &text, const QgsPoint &pt, double size, double angle, const QColor &color, QgsDxfExport::HAlign hali=QgsDxfExport::HAlign::Undefined, QgsDxfExport::VAlign vali=QgsDxfExport::VAlign::Undefined) |
Write text (TEXT) More... | |
ExportResult | writeToFile (QIODevice *d, const QString &codec) |
Export to a dxf file in the given encoding. More... | |
Public Member Functions inherited from QgsLabelSink | |
virtual | ~QgsLabelSink ()=default |
virtual void | drawLabel (const QString &layerId, QgsRenderContext &context, pal::LabelPosition *label, const QgsPalLayerSettings &settings)=0 |
The drawLabel method is called for each label that is being drawn. More... | |
virtual void | drawUnplacedLabel (const QString &layerId, QgsRenderContext &context, pal::LabelPosition *label, const QgsPalLayerSettings &settings) |
The drawLabel method is called for each unplaced label. More... | |
Static Public Member Functions | |
static int | closestColorMatch (QRgb color) |
Gets DXF palette index of nearest entry for given color. More... | |
static QString | dxfEncoding (const QString &name) |
Returns DXF encoding for Qt encoding. More... | |
static QString | dxfLayerName (const QString &name) |
Returns cleaned layer name for use in DXF. More... | |
static QStringList | encodings () |
Returns list of available DXF encodings. More... | |
static double | mapUnitScaleFactor (double scale, QgsUnitTypes::RenderUnit symbolUnits, QgsUnitTypes::DistanceUnit mapUnits, double mapUnitsPerPixel=1.0) |
Returns scale factor for conversion to map units. More... | |
Exports QGIS layers to the DXF format.
Definition at line 64 of file qgsdxfexport.h.
Flags for polylines.
Definition at line 159 of file qgsdxfexport.h.
|
strong |
The result of an export as dxf operation.
Definition at line 122 of file qgsdxfexport.h.
enum QgsDxfExport::Flag |
Export flags.
Enumerator | |
---|---|
FlagNoMText | Export text as TEXT elements. If not set, text will be exported as MTEXT elements. |
Definition at line 111 of file qgsdxfexport.h.
|
strong |
Horizontal alignments.
Enumerator | |
---|---|
HLeft | Left (0) |
HCenter | Centered (1) |
HRight | Right (2) |
HAligned | Aligned = (3) (if VAlign==0) |
HMiddle | Middle = (4) (if VAlign==0) |
HFit | Fit into point = (5) (if VAlign==0) |
Undefined | Undefined. |
Definition at line 143 of file qgsdxfexport.h.
Definition at line 103 of file qgsdxfexport.h.
|
strong |
Vertical alignments.
Enumerator | |
---|---|
VBaseLine | Top (0) |
VBottom | Bottom (1) |
VMiddle | Middle (2) |
VTop | Top (3) |
Undefined | Undefined. |
Definition at line 133 of file qgsdxfexport.h.
|
default |
Constructor for QgsDxfExport.
|
override |
Definition at line 72 of file qgsdxfexport.cpp.
void QgsDxfExport::addLayers | ( | const QList< QgsDxfExport::DxfLayer > & | layers | ) |
Add layers to export.
layers | list of layers and corresponding attribute indexes that determine the layer name (-1 for original layer name or title) |
Definition at line 92 of file qgsdxfexport.cpp.
void QgsDxfExport::clipValueToMapUnitScale | ( | double & | value, |
const QgsMapUnitScale & | scale, | ||
double | pixelToMMFactor | ||
) | const |
Clips value to scale minimum/maximum.
value | the value to clip |
scale | the scale dependent minimum/maximum values |
pixelToMMFactor | pixels per mm |
Definition at line 1841 of file qgsdxfexport.cpp.
|
static |
Gets DXF palette index of nearest entry for given color.
color |
Definition at line 1774 of file qgsdxfexport.cpp.
QgsCoordinateReferenceSystem QgsDxfExport::destinationCrs | ( | ) | const |
Returns the destination CRS, or an invalid CRS if no reprojection will be done.
Definition at line 2389 of file qgsdxfexport.cpp.
|
overridevirtual |
Add a label to the dxf output.
Implements QgsLabelSink.
Definition at line 2219 of file qgsdxfexport.cpp.
|
static |
Returns DXF encoding for Qt encoding.
Definition at line 2172 of file qgsdxfexport.cpp.
|
static |
Returns cleaned layer name for use in DXF.
Definition at line 2109 of file qgsdxfexport.cpp.
|
static |
Returns list of available DXF encodings.
Definition at line 2193 of file qgsdxfexport.cpp.
|
inline |
Gets extent of area to export.
Definition at line 275 of file qgsdxfexport.h.
QgsDxfExport::Flags QgsDxfExport::flags | ( | ) | const |
Returns the export flags.
Definition at line 87 of file qgsdxfexport.cpp.
|
inline |
Retrieve whether the output should be forced to 2d.
Definition at line 304 of file qgsdxfexport.h.
QString QgsDxfExport::layerName | ( | const QString & | id, |
const QgsFeature & | f | ||
) | const |
Gets layer name for feature.
id | layer id of layer |
f | feature of layer |
Definition at line 2155 of file qgsdxfexport.cpp.
QString QgsDxfExport::layerName | ( | QgsVectorLayer * | vl | ) | const |
Gets name for layer respecting the use layer title as layer name mode.
vl | the vector layer |
Definition at line 2213 of file qgsdxfexport.cpp.
|
inline |
Retrieve whether layer title (where set) instead of name shall be use.
Definition at line 290 of file qgsdxfexport.h.
QgsUnitTypes::DistanceUnit QgsDxfExport::mapUnits | ( | ) | const |
|
static |
Returns scale factor for conversion to map units.
scale | the map scale denominator |
symbolUnits | the symbol output units |
mapUnits | the map units |
mapUnitsPerPixel | Map units per pixel |
Definition at line 1824 of file qgsdxfexport.cpp.
void QgsDxfExport::registerDxfLayer | ( | const QString & | layerId, |
QgsFeatureId | fid, | ||
const QString & | layer | ||
) |
Register name of layer for feature.
layerId | id of layer |
fid | id of feature |
layer | dxf layer of feature |
Definition at line 2375 of file qgsdxfexport.cpp.
void QgsDxfExport::setDestinationCrs | ( | const QgsCoordinateReferenceSystem & | crs | ) |
Set destination CRS.
Definition at line 2383 of file qgsdxfexport.cpp.
|
inline |
Set extent of area to export.
r | area to export |
Definition at line 268 of file qgsdxfexport.h.
void QgsDxfExport::setFlags | ( | QgsDxfExport::Flags | flags | ) |
Sets the export flags.
Definition at line 82 of file qgsdxfexport.cpp.
|
inline |
Force 2d output (eg.
to support linewidth in polylines)
force2d | flag |
Definition at line 297 of file qgsdxfexport.h.
|
inline |
Enable use of title (where set) instead of layer name, when attribute index of corresponding layer index is -1.
layerTitleAsName | flag |
Definition at line 283 of file qgsdxfexport.h.
void QgsDxfExport::setMapSettings | ( | const QgsMapSettings & | settings | ) |
Set map settings and assign layer name attributes.
settings | map settings to apply |
Definition at line 77 of file qgsdxfexport.cpp.
|
inline |
|
inline |
Set reference scale for output.
The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.
Definition at line 221 of file qgsdxfexport.h.
|
inline |
Gets symbology export mode.
Definition at line 262 of file qgsdxfexport.h.
|
inline |
Returns the reference scale for output.
The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.
Definition at line 229 of file qgsdxfexport.h.
void QgsDxfExport::writeCircle | ( | const QString & | layer, |
const QColor & | color, | ||
const QgsPoint & | pt, | ||
double | radius, | ||
const QString & | lineStyleName, | ||
double | width | ||
) |
Write circle (as polyline)
Definition at line 1461 of file qgsdxfexport.cpp.
void QgsDxfExport::writeDouble | ( | double | d | ) |
Write a floating point value.
d | floating point value |
Definition at line 180 of file qgsdxfexport.cpp.
void QgsDxfExport::writeFilledCircle | ( | const QString & | layer, |
const QColor & | color, | ||
const QgsPoint & | pt, | ||
double | radius | ||
) |
Write filled circle (as hatch)
Definition at line 1424 of file qgsdxfexport.cpp.
void QgsDxfExport::writeGroup | ( | const QColor & | color, |
int | exactMatch = 62 , |
||
int | rgbCode = 420 , |
||
int | transparencyCode = 440 |
||
) |
Write a group code with color value.
color | color |
exactMatch | group code to use if the color has an exact match in the dxf palette |
rgbCode | group code to use if the color doesn't have an exact match or has a transparency component |
transparencyCode | group code to use for transparency component |
Definition at line 141 of file qgsdxfexport.cpp.
void QgsDxfExport::writeGroup | ( | int | code, |
const QgsPoint & | p | ||
) |
Write a group code with a point.
code | group code |
p | point value |
Definition at line 133 of file qgsdxfexport.cpp.
void QgsDxfExport::writeGroup | ( | int | code, |
const QString & | s | ||
) |
Write a group code with a string value.
code | group code |
s | string value |
Definition at line 127 of file qgsdxfexport.cpp.
void QgsDxfExport::writeGroup | ( | int | code, |
double | d | ||
) |
Write a group code with a floating point value.
code | group code |
d | floating point value |
Definition at line 121 of file qgsdxfexport.cpp.
void QgsDxfExport::writeGroup | ( | int | code, |
int | i | ||
) |
Write a tuple of group code and integer value.
code | group code |
i | integer value |
Definition at line 109 of file qgsdxfexport.cpp.
void QgsDxfExport::writeGroup | ( | int | code, |
long long | i | ||
) |
Write a tuple of group code and long value.
code | group code |
i | integer value |
Definition at line 115 of file qgsdxfexport.cpp.
void QgsDxfExport::writeGroupCode | ( | int | code | ) |
Write a group code.
code | group code value |
Definition at line 170 of file qgsdxfexport.cpp.
int QgsDxfExport::writeHandle | ( | int | code = 5 , |
int | handle = 0 |
||
) |
Write a tuple of group code and a handle.
code | group code to use |
handle | handle to use (0 generates a new handle) |
Definition at line 312 of file qgsdxfexport.cpp.
void QgsDxfExport::writeInt | ( | int | i | ) |
void QgsDxfExport::writeMText | ( | const QString & | layer, |
const QString & | text, | ||
const QgsPoint & | pt, | ||
double | width, | ||
double | angle, | ||
const QColor & | color | ||
) |
Write mtext (MTEXT)
Definition at line 1509 of file qgsdxfexport.cpp.
void QgsDxfExport::writePoint | ( | const QString & | layer, |
const QColor & | color, | ||
const QgsPoint & | pt | ||
) |
Write point.
Definition at line 1413 of file qgsdxfexport.cpp.
void QgsDxfExport::writePolygon | ( | const QgsCurvePolygon & | polygon, |
const QString & | layer, | ||
const QString & | hatchPattern, | ||
const QColor & | color | ||
) |
Draw dxf curved filled polygon (HATCH)
polygon | polygon (including curves) |
layer | layer name to use |
hatchPattern | hatchPattern to use |
color | color to use |
Definition at line 1223 of file qgsdxfexport.cpp.
void QgsDxfExport::writePolygon | ( | const QgsRingSequence & | polygon, |
const QString & | layer, | ||
const QString & | hatchPattern, | ||
const QColor & | color | ||
) |
Draw dxf filled polygon (HATCH)
polygon | polygon |
layer | layer name to use |
hatchPattern | hatchPattern to use |
color | color to use |
Definition at line 1184 of file qgsdxfexport.cpp.
void QgsDxfExport::writePolyline | ( | const QgsCurve & | curve, |
const QString & | layer, | ||
const QString & | lineStyleName, | ||
const QColor & | color, | ||
double | width = -1 |
||
) |
Draw dxf primitives (LWPOLYLINE)
curve | polyline (including curved) |
layer | layer name to use |
lineStyleName | line type to use |
color | color to use |
width | line width to use |
Definition at line 1096 of file qgsdxfexport.cpp.
void QgsDxfExport::writePolyline | ( | const QgsPointSequence & | line, |
const QString & | layer, | ||
const QString & | lineStyleName, | ||
const QColor & | color, | ||
double | width = -1 |
||
) |
Draw dxf primitives (LWPOLYLINE)
line | polyline |
layer | layer name to use |
lineStyleName | line type to use |
color | color to use |
width | line width to use |
Definition at line 958 of file qgsdxfexport.cpp.
void QgsDxfExport::writeString | ( | const QString & | s | ) |
void QgsDxfExport::writeText | ( | const QString & | layer, |
const QString & | text, | ||
const QgsPoint & | pt, | ||
double | size, | ||
double | angle, | ||
const QColor & | color, | ||
QgsDxfExport::HAlign | hali = QgsDxfExport::HAlign::Undefined , |
||
QgsDxfExport::VAlign | vali = QgsDxfExport::VAlign::Undefined |
||
) |
Write text (TEXT)
Definition at line 1483 of file qgsdxfexport.cpp.
QgsDxfExport::ExportResult QgsDxfExport::writeToFile | ( | QIODevice * | d, |
const QString & | codec | ||
) |
Export to a dxf file in the given encoding.
d | device |
codec | encoding |
Definition at line 193 of file qgsdxfexport.cpp.