← Back to team overview

kicad-developers team mailing list archive

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