Gerber place file: change DCode size of pads others than 1 or A1 to 0.1 mm

Previously it was a round shape 0.0 mm (allowed but not visible)
Gerber Format rev 2023-08 changed it to 0.1 mm (still a round shape)
This commit is contained in:
jean-pierre charras 2023-08-31 11:02:50 +02:00
parent 1eee3d350b
commit 2e739e743d
1 changed files with 15 additions and 5 deletions

View File

@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2019 Jean_Pierre Charras <jp.charras at wanadoo.fr>
* Copyright (C) 1992-2022 KiCad Developers, see AUTHORS.txt for contributors.
* Copyright (C) 1992-2023 KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@ -114,10 +114,20 @@ int PLACEFILE_GERBER_WRITER::CreatePlaceFile( wxString& aFullFilename, PCB_LAYER
// Some tools in P&P files have the type and size defined.
// they are position flash (round), pad1 flash (diamond), other pads flash (round)
// and component outline thickness (polyline)
int flash_position_shape_diam = pcbIUScale.mmToIU( 0.3 ); // defined size for position shape (circle)
int pad1_mark_size = pcbIUScale.mmToIU( 0.36 ); // defined size for pad 1 position (diamond)
int other_pads_mark_size = 0; // defined size for position shape (circle)
int line_thickness = pcbIUScale.mmToIU( 0.1 ); // defined size for component outlines
// defined size for footprint position shape (circle)
int flash_position_shape_diam = pcbIUScale.mmToIU( 0.3 );
// defined size for pad 1 position (diamond)
int pad1_mark_size = pcbIUScale.mmToIU( 0.36 );
// Normalized size for other pads (circle)
// It was initially the size 0, but was changed later to 0.1 mm in rev 2023-08
// See ComponentPin aperture attribute (see 5.6.10 .AperFunction value)
int other_pads_mark_size = pcbIUScale.mmToIU( 0.1 );
// defined size for component outlines
int line_thickness = pcbIUScale.mmToIU( 0.1 );
brd_plotter.SetLayerSet( LSET( aLayer ) );
int cmp_count = 0;