Skip to content

Add support for native KiCad knockout text - #567

Merged
qu1ck merged 2 commits into
openscopeproject:masterfrom
shubham0x13:feat/kicad-knockout-text
Sep 9, 2026
Merged

Add support for native KiCad knockout text#567
qu1ck merged 2 commits into
openscopeproject:masterfrom
shubham0x13:feat/kicad-knockout-text

Conversation

@shubham0x13

Copy link
Copy Markdown
Contributor

KiCad 7+ supports "knockout" text, but InteractiveHtmlBom currently ignores the background box and renders it as standard text. This PR updates parse_text() and parse_poly_set() to extract the proper polygon shapes and hole loops when IsKnockout() is active/true. I've tested this with knockout text on the silkscreen layer and verified that the background box renders with the characters cleanly cut out in the generated HTML BOM.

image image

@qu1ck qu1ck left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember trying to implement this for kicad 7 but it didn't map GetEffectiveShape() result in swig so it was impossible. I didnt follow up on kicad side at the time.

Tested on kicad 9 and 10 and it works, add one more guard so it doesnt break in old kicad please.

Comment thread InteractiveHtmlBom/ecad/kicad.py Outdated
@qu1ck
qu1ck merged commit 1e0745c into openscopeproject:master Sep 9, 2026
2 checks passed
@qu1ck

qu1ck commented Sep 9, 2026

Copy link
Copy Markdown
Member

Thanks!

@shubham0x13

shubham0x13 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

Also, just curious are you planning to cut a new release anytime soon? I'm looking forward to using the new --use-ini flag for using config on cli (along with these drawing improvements) in my latest project.

@qu1ck

qu1ck commented Sep 9, 2026

Copy link
Copy Markdown
Member

Yes, I can cut next release tomorrow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants