kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #05853
Re: [PATCH] Option to subtract soldermask from silkscreen in gerber output
On 12/06/2010 12:37 PM, Marco Mattila wrote:
> === modified file 'common/common_plotGERBER_functions.cpp'
> --- common/common_plotGERBER_functions.cpp 2010-11-12 16:36:43 +0000
> +++ common/common_plotGERBER_functions.cpp 2010-12-06 17:43:56 +0000
> @@ -504,3 +504,11 @@
> set_current_line_width( -1 );
> poly( 5, &polygon[0].x, aTrace_Mode==FILLED ? FILLED_SHAPE : NO_FILL );
> }
> +
> +void GERBER_PLOTTER::SetLayerPolarity( bool aPositive )
> +{
> + if( aPositive )
> + fprintf( output_file, "%%LPD*%%\n" );
> + else
> + fprintf( output_file, "%%LPC*%%\n" );
> +}
>
> === modified file 'include/plot_common.h'
> --- include/plot_common.h 2010-11-12 16:59:16 +0000
> +++ include/plot_common.h 2010-12-06 17:41:21 +0000
> @@ -169,6 +169,13 @@
> bool aBold );
> void marker( const wxPoint& position, int diametre, int aShapeId );
>
> + /** Function SetLayerPolarity
>
No, see the coding standard for proper formatting of the function header.
> + * sets current Gerber layer polarity to positive or negative
> + * by writing \%LPD*\% or \%LPC*\% to the Gerber file, respectively.
> + * param @aPositive = layer polarity, true for positive
> + */
> + virtual void SetLayerPolarity( bool aPositive ) = 0;
> +
> protected:
> /* These are marker subcomponents */
> void center_square( const wxPoint& position, int diametre, FILL_T fill );
> @@ -272,6 +279,8 @@
> virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
> int aPadOrient, GRTraceMode aTrace_Mode );
>
> + virtual void SetLayerPolarity( bool aPositive ) {};
> +
> protected:
> void pen_control( int plume );
>
> @@ -321,6 +330,8 @@
> virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
> int aPadOrient, GRTraceMode aTrace_Mode );
>
> + virtual void SetLayerPolarity( bool aPositive ) {};
> +
> protected:
> double plot_scale_adjX, plot_scale_adjY;
> };
> @@ -379,6 +390,8 @@
> virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
> int aPadOrient, GRTraceMode aTrace_Mode );
>
> + virtual void SetLayerPolarity( bool aPositive );
> +
> protected:
> void select_aperture( const wxSize& size,
> APERTURE::Aperture_Type type );
> @@ -439,6 +452,8 @@
> virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
> int aPadOrient, GRTraceMode aTrace_Mode );
>
> + virtual void SetLayerPolarity( bool aPositive ) {};
> +
> protected:
> int current_color;
> };
>
Follow ups
References