Knockout option in kicad 7.0.0 possibly misnamed

I would like to discuss the knockout option to see other peoples opinions before suggesting it as a change. I may just be in minority here, in any case i need to see what community dynamics are before i start contemplating on contributing code.

The knockout option in text properties should probably be named to inverse or something more appropriate. As it is it would be handy to have both the functionality that we have now and one that really knocks out other items making a hole in existing graphics. So ideally you could do both.

Also there is no apparent way to control the label size which makes it hard to have labels with different text that align. I tried to kludge this with white space but KiCad ignores that like a champion.

notes

Image 1: Knockout creates a ragged line and does not affect other items

A wrapped text item would be more appropriate for this use, but it does not allow for inverting the background, which it probably should.

3 Likes

Agreed with you regarding the ‘knockout’ function naming. Let’s see what Kicad has to say.

From memory, I think @JeffYoung is to blame for the function :slightly_smiling_face:

You can already create this by creating a zone (a “copper zone”, not a regular rectangle/polygon) on the silkscreen layer:

1 Like

You might like to take a look at KiBuzzard which is available from the plug-in and content manager. This offers lots more option for formatting your text labels.

2 Likes

Oh that’s nice, though it would be better if the normal tools would work in a bit less surprising manner for beginners (as this would make them understand the system faster).

@John_Pateman Sure, there would not be need for KiBuzzard if the tools were a bit more polished though. I mean there should be no reason why i shouldn’t be able to draw lines as knockoff too.

Edit: I am experiencing some stability issues with using zones on silkscreen layers. Ok seems that if you try to redefine the corner radius a second time then KiCad Crashes, i need to open a ticket for this.

Ok, so the method suggested by @Jonathan_Haas sort of works.

However, its really unstable in current version (7.0.0) and does not always do it right. Essentially the Fill zone does not work correctly every time, it sometimes leaves things in way that is clearly wrong. Even you redo the zones (B) it basically just randomizes a new result. Worse it sometimes crashes KiCad entirely.

Image 1: Seem to randomize what it draws every time.

So its not a entirely good solution at the moment, but it can be workable. This off course is a bug that i need to report once i can map the situation better.

Yeah in practice backwards compatibility could be implemented with just graphics primitives.