Sorry, but I don't like this patch because I want control of where the
reference text goes on both assembly and silk layers. It doesn't
necessary want to go in the centre of an electrolytic cap for example.
Only for the very basic components is the centre an okay choice.

I would rather just allow to have a reference object on the assembly
layer as well as the silk layer.

Best Regards,

Brian.

On 8 September 2014 19:00,  <nore...@launchpad.net> wrote:
> ------------------------------------------------------------
> revno: 5123
> committer: Lorenzo Marcantonio <l.marcanto...@logossrl.com>
> branch nick: kicad
> timestamp: Mon 2014-09-08 19:57:39 +0200
> message:
>   Implemented special rules for plotting assembly layers
>
>   - Reference is visible on silk and the corresponding assembly layer
>   - Reference is shown on assembly always on the component insertion point
>
>   Hidden references are not forced shown in assembly plots (there is
>   already a user option for that)
> modified:
>   pcbnew/plot_brditems_plotter.cpp
>
>
> --
> lp:kicad
> https://code.launchpad.net/~kicad-product-committers/kicad/product
>
> You are subscribed to branch lp:kicad.
> To unsubscribe from this branch go to 
> https://code.launchpad.net/~kicad-product-committers/kicad/product/+edit-subscription
>
> === modified file 'pcbnew/plot_brditems_plotter.cpp'
> --- pcbnew/plot_brditems_plotter.cpp    2014-08-24 07:05:07 +0000
> +++ pcbnew/plot_brditems_plotter.cpp    2014-09-08 17:57:39 +0000
> @@ -124,6 +124,13 @@
>      if( textLayer > LAYER_ID_COUNT )        // how will this ever be true?
>          return false;
>
> +    // Special rule: assembly always shows reference from the silk layer
> +    if( (m_layerMask[F_Fab]) && (textLayer == F_SilkS) )
> +        trace_ref = true;
> +
> +    if( (m_layerMask[B_Fab]) && (textLayer == B_SilkS) )
> +        trace_ref = true;
> +
>      if( !m_layerMask[textLayer] )
>          trace_val = false;
>
> @@ -216,7 +223,12 @@
>
>      // calculate some text parameters :
>      size = pt_texte->GetSize();
> -    pos  = pt_texte->GetTextPosition();
> +
> +    // Assembly drawings always have the reference on the origin
> +    if( m_layerMask[F_Fab] || m_layerMask[B_Fab] )
> +        pos = static_cast<MODULE*>( pt_texte->GetParent() )->GetPosition();
> +    else
> +        pos = pt_texte->GetTextPosition();
>
>      orient = pt_texte->GetDrawRotation();
>
>
>

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to