mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-12 00:02:25 -04:00
[dxf export] initialize PointZ with 0
DXF does not know the concept of NaN
This commit is contained in:
parent
328f365b16
commit
7da8d91451
@ -580,11 +580,11 @@ void QgsDxfExport::writeHeader( const QString &codepage )
|
|||||||
|
|
||||||
// EXTMIN
|
// EXTMIN
|
||||||
writeGroup( 9, QStringLiteral( "$EXTMIN" ) );
|
writeGroup( 9, QStringLiteral( "$EXTMIN" ) );
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, mExtent.xMinimum(), mExtent.yMinimum() ) );
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, mExtent.xMinimum(), mExtent.yMinimum(), 0.0 ) );
|
||||||
|
|
||||||
// EXTMAX
|
// EXTMAX
|
||||||
writeGroup( 9, QStringLiteral( "$EXTMAX" ) );
|
writeGroup( 9, QStringLiteral( "$EXTMAX" ) );
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, mExtent.xMaximum(), mExtent.yMaximum() ) );
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, mExtent.xMaximum(), mExtent.yMaximum(), 0.0 ) );
|
||||||
|
|
||||||
// Global linetype scale
|
// Global linetype scale
|
||||||
writeGroup( 9, QStringLiteral( "$LTSCALE" ) );
|
writeGroup( 9, QStringLiteral( "$LTSCALE" ) );
|
||||||
@ -760,9 +760,9 @@ void QgsDxfExport::writeTables()
|
|||||||
writeGroup( 78, 0 ); // snap isopair
|
writeGroup( 78, 0 ); // snap isopair
|
||||||
writeGroup( 281, 0 ); // render mode (0 = 2D optimized)
|
writeGroup( 281, 0 ); // render mode (0 = 2D optimized)
|
||||||
writeGroup( 65, 1 ); // value of UCSVP for this viewport
|
writeGroup( 65, 1 ); // value of UCSVP for this viewport
|
||||||
writeGroup( 100, QgsPoint( QgsWkbTypes::PointZ ) ); // UCS origin
|
writeGroup( 100, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 0.0 ) );// UCS origin
|
||||||
writeGroup( 101, QgsPoint( QgsWkbTypes::PointZ, 1.0 ) ); // UCS x axis
|
writeGroup( 101, QgsPoint( QgsWkbTypes::PointZ, 1.0, 0.0, 0.0 ) );// UCS x axis
|
||||||
writeGroup( 102, QgsPoint( QgsWkbTypes::PointZ, 0.0, 1.0 ) ); // UCS y axis
|
writeGroup( 102, QgsPoint( QgsWkbTypes::PointZ, 0.0, 1.0, 0.0 ) );// UCS y axis
|
||||||
writeGroup( 79, 0 ); // Orthographic type of UCS (0 = UCS is not orthographic)
|
writeGroup( 79, 0 ); // Orthographic type of UCS (0 = UCS is not orthographic)
|
||||||
writeGroup( 146, 0.0 ); // Elevation
|
writeGroup( 146, 0.0 ); // Elevation
|
||||||
|
|
||||||
@ -879,7 +879,7 @@ void QgsDxfExport::writeBlocks()
|
|||||||
writeGroup( 100, QStringLiteral( "AcDbBlockBegin" ) );
|
writeGroup( 100, QStringLiteral( "AcDbBlockBegin" ) );
|
||||||
writeGroup( 2, block );
|
writeGroup( 2, block );
|
||||||
writeGroup( 70, 0 );
|
writeGroup( 70, 0 );
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ ) );
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 0.0 ) );
|
||||||
writeGroup( 3, block );
|
writeGroup( 3, block );
|
||||||
writeGroup( 1, QString() );
|
writeGroup( 1, QString() );
|
||||||
writeGroup( 0, QStringLiteral( "ENDBLK" ) );
|
writeGroup( 0, QStringLiteral( "ENDBLK" ) );
|
||||||
@ -932,7 +932,7 @@ void QgsDxfExport::writeBlocks()
|
|||||||
// todo: consider anchor point
|
// todo: consider anchor point
|
||||||
// double size = ml->size();
|
// double size = ml->size();
|
||||||
// size *= mapUnitScaleFactor( mSymbologyScale, ml->sizeUnit(), mMapUnits );
|
// size *= mapUnitScaleFactor( mSymbologyScale, ml->sizeUnit(), mMapUnits );
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ ) );
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 0.0 ) );
|
||||||
writeGroup( 3, block );
|
writeGroup( 3, block );
|
||||||
writeGroup( 1, QString() );
|
writeGroup( 1, QString() );
|
||||||
|
|
||||||
@ -3524,7 +3524,7 @@ void QgsDxfExport::writePolyline( const QgsPointSequence &line, const QString &l
|
|||||||
writeGroup( 6, lineStyleName );
|
writeGroup( 6, lineStyleName );
|
||||||
writeGroup( color );
|
writeGroup( color );
|
||||||
writeGroup( 100, QStringLiteral( "AcDb3dPolyline" ) );
|
writeGroup( 100, QStringLiteral( "AcDb3dPolyline" ) );
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ ) );
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 0.0 ) );
|
||||||
writeGroup( 70, 8 );
|
writeGroup( 70, 8 );
|
||||||
|
|
||||||
for ( int i = 0; i < n; i++ )
|
for ( int i = 0; i < n; i++ )
|
||||||
@ -3666,7 +3666,7 @@ void QgsDxfExport::writePolyline( const QgsCurve &curve, const QString &layer, c
|
|||||||
writeGroup( 6, lineStyleName );
|
writeGroup( 6, lineStyleName );
|
||||||
writeGroup( color );
|
writeGroup( color );
|
||||||
writeGroup( 100, QStringLiteral( "AcDb3dPolyline" ) );
|
writeGroup( 100, QStringLiteral( "AcDb3dPolyline" ) );
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ ) );
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 0.0 ) );
|
||||||
writeGroup( 70, 8 );
|
writeGroup( 70, 8 );
|
||||||
|
|
||||||
for ( int i = 0; i < points.size(); i++ )
|
for ( int i = 0; i < points.size(); i++ )
|
||||||
@ -3704,7 +3704,7 @@ void QgsDxfExport::writePolygon( const QgsRingSequence &polygon, const QString &
|
|||||||
writeGroup( color ); // Color
|
writeGroup( color ); // Color
|
||||||
writeGroup( 100, QStringLiteral( "AcDbHatch" ) );
|
writeGroup( 100, QStringLiteral( "AcDbHatch" ) );
|
||||||
|
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ ) ); // Elevation point (in OCS)
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 0.0 ) ); // Elevation point (in OCS)
|
||||||
writeGroup( 200, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 1.0 ) );
|
writeGroup( 200, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 1.0 ) );
|
||||||
|
|
||||||
writeGroup( 2, hatchPattern ); // Hatch pattern name
|
writeGroup( 2, hatchPattern ); // Hatch pattern name
|
||||||
@ -3743,7 +3743,7 @@ void QgsDxfExport::writePolygon( const QgsCurvePolygon &polygon, const QString &
|
|||||||
writeGroup( color ); // Color
|
writeGroup( color ); // Color
|
||||||
writeGroup( 100, QStringLiteral( "AcDbHatch" ) );
|
writeGroup( 100, QStringLiteral( "AcDbHatch" ) );
|
||||||
|
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ ) ); // Elevation point (in OCS)
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 0.0 ) ); // Elevation point (in OCS)
|
||||||
writeGroup( 200, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 1.0 ) );
|
writeGroup( 200, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 1.0 ) );
|
||||||
|
|
||||||
writeGroup( 2, hatchPattern ); // Hatch pattern name
|
writeGroup( 2, hatchPattern ); // Hatch pattern name
|
||||||
@ -3820,7 +3820,7 @@ void QgsDxfExport::writeFilledCircle( const QString &layer, const QColor &color,
|
|||||||
writeGroup( color ); // Color (0 by block, 256 by layer)
|
writeGroup( color ); // Color (0 by block, 256 by layer)
|
||||||
writeGroup( 100, QStringLiteral( "AcDbHatch" ) );
|
writeGroup( 100, QStringLiteral( "AcDbHatch" ) );
|
||||||
|
|
||||||
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ ) ); // Elevation point (in OCS)
|
writeGroup( 0, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 0.0 ) ); // Elevation point (in OCS)
|
||||||
writeGroup( 200, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 1.0 ) );
|
writeGroup( 200, QgsPoint( QgsWkbTypes::PointZ, 0.0, 0.0, 1.0 ) );
|
||||||
|
|
||||||
writeGroup( 2, QStringLiteral( "SOLID" ) ); // Hatch pattern name
|
writeGroup( 2, QStringLiteral( "SOLID" ) ); // Hatch pattern name
|
||||||
|
Loading…
x
Reference in New Issue
Block a user