@@ -709,18 +709,37 @@ void QgsSimpleMarkerSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitSc
709
709
size *= mmMapUnitScaleFactor;
710
710
}
711
711
double halfSize = size / 2.0 ;
712
+ int colorIndex = QgsDxfExport::closestColorMatch ( mBrush .color ().rgb () );
712
713
713
714
if ( mName == " circle" )
714
715
{
715
716
e.writeGroup ( 0 , " CIRCLE" );
716
- e.writeGroup ( 8 , 0 );
717
- int colorIndex = QgsDxfExport::closestColorMatch ( mBrush . color (). rgb () );
717
+ e.writeGroup ( 8 , " 0 " );
718
+
718
719
e.writeGroup ( 62 , colorIndex );
719
720
e.writeGroup ( 10 , halfSize );
720
721
e.writeGroup ( 20 , halfSize );
721
722
e.writeGroup ( 30 , 0.0 );
722
723
e.writeGroup ( 40 , halfSize );
723
724
}
725
+ else if ( mName == " square" || mName == " rectangle" )
726
+ {
727
+ e.writeGroup ( 0 , " SOLID" );
728
+ e.writeGroup ( 8 , " 0" );
729
+ e.writeGroup ( 62 , colorIndex );
730
+ e.writeGroup ( 10 , 0.0 );
731
+ e.writeGroup ( 20 , 0.0 );
732
+ e.writeGroup ( 30 , 0.0 );
733
+ e.writeGroup ( 11 , size );
734
+ e.writeGroup ( 21 , 0.0 );
735
+ e.writeGroup ( 31 , 0.0 );
736
+ e.writeGroup ( 12 , 0 );
737
+ e.writeGroup ( 22 , size );
738
+ e.writeGroup ( 32 , 0.0 );
739
+ e.writeGroup ( 13 , size );
740
+ e.writeGroup ( 23 , size );
741
+ e.writeGroup ( 33 , 0.0 );
742
+ }
724
743
}
725
744
726
745
// ////////
0 commit comments