Errant Shadow Designators in F.Fab layer

I have added a new hierarchical sheet, added parts, generate net list, drop the parts on the board, all good…

but the new parts now have 2 designators, first in F-Silk, correctly,
but also under that, there is a shadow designator in the F.Fab layer. its properties are %R

how can I disable that ? apart from making each one invisible ?

Yes the new kicad library convention has a reference on fab and silk. (As defined in ipc 7351)
The reference on silk is for printing on to the board and it’s size is restricted by the manufacturers capabilities.

The reference on fab is for the fabrication drawings.
It’s size is restricted by the scale you chose for printing these drawings.
(The KLC specifies 1mm for both the reference on fab and silk.)

I personally also use the fab reference during the layout phase. (I disable silk)
The fab layer contains the components outline. (the real size. The silk layer is by definition outside the component.)
And it contains a reference.
The crucial difference in my personal libraries is that the reference on fab is a lot smaller. (depending on the part 0.5mm to 1mm)
My personal libraries also have all fab references inside the component.

By the way a lot of the footprints are generated with a python script.
Using this it is very easy to generate your personal libraries to your liking.


Hi, thanks for a great understanding…

I use the fab layer to print the component values for hand placement.
usually my boards are over 200 components, so I find it a very handy feature.
but the designators are not wanted on this printout.

how can I remove them ?

can I remove all lines with %R in the PCB file ?

is there some kind of cleaning method ?

Added note:
I deleted all the %R entries in the PCB file within wordpad. Now they are gone… Thanks.

If you are willing to create your own libraries you could do what i do.
I have the %R user text on the silk layer and the main reference on the fab layer.
This way i can change the visibility of all references on the fab layer in the render tab. (And still have them there if i want a more complete documentation.)

1 Like

I do use my own libraries extensively, except for CAPS and RESISTORS and TSSOPs etc.
the embedded libraries make it all so much easier.

but your descriptions are beyond a novice like me.

I will try to understand it… Thanks again for the advice.

Why is an unofficial draft spec being used for new commits to the official libraries? There are so many changes, it should be numbered 2.0, not a minor revision. The scripts refer to rule numbers, which have now all changed.

This is crazy. The library management is completely out of control. I really feel sorry for new users, because it is such a mess. I shall recommend to new users to avoid official libraries completely.

Feel free to help out.
I agree with you that the new specs should be accessible for everyone.
(maybe give a link in the old version stating that the next version is under way and that it will look similar to the linked version. Regarding the version number: do be honest i don’t really care what the KLC is called.)

Why is version 1.2 used instead of the current version (1.1). I think this is because the version 1.1 does not make sense in some parts. (refdes only on fab layer, size of refdes 2mm, …)

By the way the changes came about because of this:

1 Like

All in all, Kicad is extremely good.

I am please to see your concerns and very pleased with the output from Kicad.

excellent work really.

I think that is half the problem, too many cooks spoil the broth. Different people come in and make random changes depending on their own whim.

The first thing to do is create a stable release branch which has strict change control (the KiCad code is a good example here). Then a dev branch where non-compatible changes can be made.

Currently we have the worst of both worlds, breaking changes being made to the master branch, and hundreds of PRs held back because they don’t conform to the latest KLC, even though because the KLC keeps changing 99% of the existing parts don’t conform to the latest KLC anyway.

It doesn’t help that due to a half-written github plugin, the libraries are spread over dozens of different repositories, the names of which are also randomly changing. There is no way to put a version number into parts, or indicate what spec they conform to, or who and when the part was checked, all of which a proper system would have.

I don’t know if any of the maintainers have worked with a formal engineering change process, but the libraries desperately need to adopt one before the libraries descend into complete chaos.

1 Like

No comments possible in those files?

First thing I would try (if invisible file comments aren’t the way to go) to use a custom field in the components, use the one right after the pdf…

F4 "KiCAD LIB INFO" 0 0 10 H I C CNN "symver.1.0, auth.BobC, klcver.1.2, whateverelseyouneed"

The KiCAD libs should not know anything beyond F3 anyway. So take F4, write a script that parses all libs and adds that field + some starter comment with the basic fields.

For the footprints you should add a text field (if there are no comment lines possible) on Cmts.User (or whatever you find more appropriate) with a similar content (naturally invisible)…

(fp_text user "fpver.1.0, auth.BobC, klcver.1.2, whateverelseyouneed" (at 0 0) (layer Cmts.User) hide
  (effects (font (size 0.6 0.6) (thickness 0.06)))

@SchrodingersGat, that might be something for you…

dont disable it, its meant to be there for good reasons.

fab layer is used by assembly (fabrication) houses
many other tools call this assembly layer

its industry standard to have a fab layer

assembly houses will complain (possibly not take the job) if you dont provide it.

1 Like

thanks for that,

I wont disable it…