|
QGIS API Documentation 3.99.0-Master (f78f5286a64)
|
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... | |
| typedef QFlags< DxfPolylineFlag > | DxfPolylineFlags |
| enum class | ExportResult { Success = 0 , InvalidDeviceError , DeviceNotWritableError , EmptyExtentError } |
| The result of an export as dxf operation. More... | |
| enum | Flag { FlagNoMText = 1 << 1 , FlagOnlySelectedFeatures = 1 << 2 , FlagHairlineWidthExport = 1 << 3 } |
| Export flags. More... | |
| typedef QFlags< Flag > | Flags |
| enum class | HAlign : int { HLeft = 0 , HCenter = 1 , HRight = 2 , HAligned = 3 , HMiddle = 4 , HFit = 5 , Undefined = 9999 } |
| Horizontal alignments. More... | |
| enum class | VAlign : int { VBaseLine = 0 , VBottom = 1 , VMiddle = 2 , VTop = 3 , Undefined = 9999 } |
| Vertical alignments. More... | |
Public Member Functions | |
| QgsDxfExport () | |
| Constructor for QgsDxfExport. | |
| ~QgsDxfExport () override | |
| void | addLayers (const QList< QgsDxfExport::DxfLayer > &layers) |
| Add layers to export. | |
| void | clipValueToMapUnitScale (double &value, const QgsMapUnitScale &scale, double pixelToMMFactor) const |
| Clips value to scale minimum/maximum. | |
| QgsCoordinateReferenceSystem | destinationCrs () const |
| Returns the destination CRS, or an invalid CRS if no reprojection will be done. | |
| void | drawLabel (const QString &layerId, QgsRenderContext &context, pal::LabelPosition *label, const QgsPalLayerSettings &settings) override |
| Add a label to the dxf output. | |
| QgsRectangle | extent () const |
| Gets extent of area to export. | |
| const QString | feedbackMessage () const |
| Returns any feedback message produced while export to dxf file. | |
| QgsDxfExport::Flags | flags () const |
| Returns the export flags. | |
| bool | force2d () |
| Retrieve whether the output should be forced to 2d. | |
| QString | layerName (const QString &id, const QgsFeature &f) const |
| Gets layer name for feature. | |
| QString | layerName (QgsVectorLayer *vl) const |
| Gets name for layer respecting the use layer title as layer name mode. | |
| bool | layerTitleAsName () |
| Retrieve whether layer title (where set) instead of name shall be use. | |
| Qgis::DistanceUnit | mapUnits () const |
| Retrieve map units. | |
| Q_DECL_DEPRECATED void | registerDxfLayer (const QString &layerId, QgsFeatureId fid, const QString &layer) |
| Register name of layer for feature. | |
| void | setDestinationCrs (const QgsCoordinateReferenceSystem &crs) |
| Set destination CRS. | |
| void | setExtent (const QgsRectangle &r) |
| Set extent of area to export. | |
| void | setFlags (QgsDxfExport::Flags flags) |
| Sets the export flags. | |
| void | setForce2d (bool force2d) |
| Force 2d output (eg. | |
| void | setLayerTitleAsName (bool layerTitleAsName) |
| Enable use of title (where set) instead of layer name, when attribute index of corresponding layer index is -1. | |
| void | setMapSettings (const QgsMapSettings &settings) |
| Set map settings and assign layer name attributes. | |
| void | setSymbologyExport (Qgis::FeatureSymbologyExport e) |
| Set symbology export mode. | |
| void | setSymbologyScale (double scale) |
| Set reference scale for output. | |
| Qgis::FeatureSymbologyExport | symbologyExport () const |
| Gets symbology export mode. | |
| double | symbologyScale () const |
| Returns the reference scale for output. | |
| void | writeCircle (const QString &layer, const QColor &color, const QgsPoint &pt, double radius, const QString &lineStyleName, double width) |
| Write circle (as polyline) | |
| void | writeDouble (double d) |
| Write a floating point value. | |
| void | writeFilledCircle (const QString &layer, const QColor &color, const QgsPoint &pt, double radius) |
| Write filled circle (as hatch) | |
| void | writeGroup (const QColor &color, int exactMatch=62, int rgbCode=420, int transparencyCode=440) |
| Write a group code with color value. | |
| void | writeGroup (int code, const QgsPoint &p) |
| Write a group code with a point. | |
| void | writeGroup (int code, const QString &s) |
| Write a group code with a string value. | |
| void | writeGroup (int code, double d) |
| Write a group code with a floating point value. | |
| void | writeGroup (int code, int i) |
| Write a tuple of group code and integer value. | |
| void | writeGroup (int code, long long i) |
| Write a tuple of group code and long value. | |
| void | writeGroupCode (int code) |
| Write a group code. | |
| int | writeHandle (int code=5, int handle=0) |
| Write a tuple of group code and a handle. | |
| void | writeInt (int i) |
| Write an integer value. | |
| 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) | |
| void | writeMText (const QString &layer, const QString &text, const QgsPoint &pt, double width, double angle, const QColor &color) |
| Write mtext (MTEXT) | |
| void | writePoint (const QString &layer, const QColor &color, const QgsPoint &pt) |
| Write point. | |
| void | writePolygon (const QgsCurvePolygon &polygon, const QString &layer, const QString &hatchPattern, const QColor &color) |
| Draw dxf curved filled polygon (HATCH) | |
| void | writePolygon (const QgsRingSequence &polygon, const QString &layer, const QString &hatchPattern, const QColor &color) |
| Draw dxf filled polygon (HATCH) | |
| void | writePolyline (const QgsCurve &curve, const QString &layer, const QString &lineStyleName, const QColor &color, double width=-1) |
| Draw dxf primitives (LWPOLYLINE) | |
| void | writePolyline (const QgsPointSequence &line, const QString &layer, const QString &lineStyleName, const QColor &color, double width=-1) |
| Draw dxf primitives (LWPOLYLINE) | |
| void | writeString (const QString &s) |
| Write a string value. | |
| 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) | |
| ExportResult | writeToFile (QIODevice *d, const QString &codec) |
| Export to a dxf file in the given encoding. | |
Public Member Functions inherited from QgsLabelSink | |
| virtual | ~QgsLabelSink ()=default |
| virtual void | drawUnplacedLabel (const QString &layerId, QgsRenderContext &context, pal::LabelPosition *label, const QgsPalLayerSettings &settings) |
| The drawLabel method is called for each unplaced label. | |
Static Public Member Functions | |
| static int | closestColorMatch (QRgb color) |
| Gets DXF palette index of nearest entry for given color. | |
| static QString | dxfEncoding (const QString &name) |
| Returns DXF encoding for Qt encoding. | |
| static QString | dxfLayerName (const QString &name) |
| Returns cleaned layer name for use in DXF. | |
| static QStringList | encodings () |
| Returns list of available DXF encodings. | |
| static double | mapUnitScaleFactor (double scale, Qgis::RenderUnit symbolUnits, Qgis::DistanceUnit mapUnits, double mapUnitsPerPixel=1.0) |
| Returns scale factor for conversion to map units. | |
Exports QGIS layers to the DXF format.
Definition at line 68 of file qgsdxfexport.h.
| typedef QFlags< DxfPolylineFlag > QgsDxfExport::DxfPolylineFlags |
Definition at line 208 of file qgsdxfexport.h.
| typedef QFlags< Flag > QgsDxfExport::Flags |
Definition at line 152 of file qgsdxfexport.h.
Flags for polylines.
Definition at line 196 of file qgsdxfexport.h.
|
strong |
The result of an export as dxf operation.
Definition at line 159 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. |
| FlagOnlySelectedFeatures | Use only selected features for the export. |
| FlagHairlineWidthExport | |
Definition at line 146 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 180 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 170 of file qgsdxfexport.h.
|
default |
Constructor for QgsDxfExport.
|
override |
Definition at line 68 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 88 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 2020 of file qgsdxfexport.cpp.
|
static |
Gets DXF palette index of nearest entry for given color.
| color |
Definition at line 1953 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 2580 of file qgsdxfexport.cpp.
|
overridevirtual |
Add a label to the dxf output.
Implements QgsLabelSink.
Definition at line 2410 of file qgsdxfexport.cpp.
|
static |
Returns DXF encoding for Qt encoding.
Definition at line 2355 of file qgsdxfexport.cpp.
|
static |
Returns cleaned layer name for use in DXF.
Definition at line 2293 of file qgsdxfexport.cpp.
|
static |
Returns list of available DXF encodings.
Definition at line 2373 of file qgsdxfexport.cpp.
|
inline |
Gets extent of area to export.
Definition at line 312 of file qgsdxfexport.h.
|
inline |
Returns any feedback message produced while export to dxf file.
Definition at line 254 of file qgsdxfexport.h.
| QgsDxfExport::Flags QgsDxfExport::flags | ( | ) | const |
|
inline |
Retrieve whether the output should be forced to 2d.
Definition at line 341 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 2339 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 2393 of file qgsdxfexport.cpp.
|
inline |
Retrieve whether layer title (where set) instead of name shall be use.
Definition at line 327 of file qgsdxfexport.h.
| Qgis::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 2003 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 2566 of file qgsdxfexport.cpp.
| void QgsDxfExport::setDestinationCrs | ( | const QgsCoordinateReferenceSystem & | crs | ) |
|
inline |
Set extent of area to export.
| r | area to export |
Definition at line 305 of file qgsdxfexport.h.
| void QgsDxfExport::setFlags | ( | QgsDxfExport::Flags | flags | ) |
|
inline |
Force 2d output (eg.
to support linewidth in polylines)
| force2d | flag |
Definition at line 334 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 320 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 73 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 261 of file qgsdxfexport.h.
|
inline |
Gets symbology export mode.
Definition at line 299 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 268 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 1636 of file qgsdxfexport.cpp.
| void QgsDxfExport::writeDouble | ( | double | d | ) |
Write a floating point value.
| d | floating point value |
Definition at line 184 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 1599 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 145 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 137 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 131 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 125 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 113 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 119 of file qgsdxfexport.cpp.
| void QgsDxfExport::writeGroupCode | ( | int | code | ) |
Write a group code.
| code | group code value |
Definition at line 174 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 357 of file qgsdxfexport.cpp.
| void QgsDxfExport::writeInt | ( | int | i | ) |
| void QgsDxfExport::writeLine | ( | const QgsPoint & | pt1, |
| const QgsPoint & | pt2, | ||
| const QString & | layer, | ||
| const QString & | lineStyleName, | ||
| const QColor & | color, | ||
| double | width = -1 |
||
| ) |
Write line (as a polyline)
Definition at line 1463 of file qgsdxfexport.cpp.
| 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 1684 of file qgsdxfexport.cpp.
| void QgsDxfExport::writePoint | ( | const QString & | layer, |
| const QColor & | color, | ||
| const QgsPoint & | pt | ||
| ) |
Write point.
Definition at line 1588 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 1398 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 1359 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 1271 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 1133 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 1658 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 197 of file qgsdxfexport.cpp.