Hide text from schematic

Hello,
Can I hide text from schematic at the output of jobset. Here the scenario:
I have complete design. However, PCB production house insist to me to include complete kicad folder.
So I need to use jobset to:

  1. generate gerber to production folder
  2. copy pcb file to production folder
  3. copy schematic files, with many text and textbox stripped. Because it is trade secret.

Can we accomplish this?

Using Kicad 9.0.0-rc1-509-g8df29a78e1,

Not that I’m aware of such a function to suppress some item types.

Not possible in any simple way. But KiCad makes it possible with its plain text files. Create a copy for each version to be exported and use some sed/python/perl/whatever script to manipulate the files before exporting.

Exactly what text do you wish to hide or remove?

Textbox or text label, object that used as a note

You can hide text boxes and text in colors. It is not removing, just hiding.

Go to Preferences > Schematic editor > Colors. Scroll to “Schematic Text and Graphics,” click on the color sample then choose Color Picker and adjust Opacity to zero.

Before changing opacity (or anything else, for that matter), you need to change your theme to a read/write.
To do that, up the top of the page is “Theme”. Click the triangle > select new theme > give it a name, and whatever was in use is still in use but with a new name of your choice. This new theme is read/write, so go ahead with the opacity change.

Yo can hide anything with the opacity at zero.

Indeed, making text invisible doesn’t prevent reading it. The most simple, basic thing you can do with any computer is to read text, and KiCad files are plain text. Even exported pdf may have these texts in human readable form (KiCad exports some text to make it searchable). So be careful.

Like I wrote, it just hides the text.

Why not send edited copies, with text deleted, for your PCB production?

That was what I do until now. I have several sheet for one pcb. Also with many notes. So it tedious task if revision happens. I need to revise, then save as new project (production). Then remove all those texts.

I just think it is like kiVar. Using field as a marker. Then the text can be removed easily. It would be better if jobset also support these.

However, since text doesn’t contain field, then we need to use some sort of keyword inside the note. The script then search those keyword. Delete the text object if it contains the keyword.

Why not just submit Gerber files to the board manufacturer?

1 Like

You didn’t tell in the first post what you have already done until now, therefore you got answers which didn’t answer your question. Now I know you have already used a script to remove certain texts, and wish for two things:

  • a way to mark, find and delete only some texts which have been defined as confidential
  • a way to repeat the process easily without manually copying and editing the project files.

I bet you can safely use the Exclude from simulation property to mark the confidential texts. Or use some “magic number” in a property, for example set the color to something special.

The new Jobsets feature already has Special: Execute Command, and IMO you should be able to automate running a script which copies the schematic files and strips out the texts.

That is what job should do. But some small production house (really production “house”) insist to ask a whole project instead. Despite KiCad has a good gerber viewer. Also the pcb file itself is enough. Also some viewer out there that supports gerber layer + netlist check.

That small production house, mainly a store selling components, then grow and add new service: manufacture PCB. The worker not professional, but trained to make PCB. So they mostly not know industry standard.

I also order from professional (JLCPCB, from china). It has it own cost: queue time, can be 5 days. manufacturing itself just 2 days. Also delivery time, being cross country may takes 2 weeks.

I did manually, one by one, not a script.

Then I misunderstood this:

You doesn’t yet have this. I’m testing jobsets now myself, and it can even run a linux shell command on Windows when WSL and Ubuntu is installed. As a proof of concept, bash -c "touch $HOME/touchedfile.txt" as the Command creates a file in the WSL Ubuntu shell’s home directory. It opens a console window, runs the command and closes the console window.

So, you need to create a script, a Windows .bat can of course do it, too, and you may find some help from windows - Is there any sed like utility for cmd.exe? - Stack Overflow. Or if you can already tell which would be the favored tool, maybe some friendly person here is willing to take a scripting challenge…

I know windows CMD shell. And I just got GitHub - psychogenic/kicad-skip: kicad s-expression schematic/layout file manipulation script. Need to learn python and needs to connect to the jobset’s job for now.

1 Like

Use a different production house that is happy to accept Gerbers if you have proprietary details that you don’t wish to share. If you are producing some hobby project with no commercial value I’m probably not too bothered but if it’s a commercial design, especially with any clever trade secrets, I’d just send the minimum required to get the boards made. Don’t want to find your last design is being undersold by a no name on TaoBao.

The easiest way would be to regex edit the raw text files.

Basically look for a formated text string and replace it with gibberish. Eg off the top of my head value(something) replace with value(fghtddujb)

It seems fishy they want this. Like they want to copy and sell your design.

Yes that is exactly how I ordered boards from OSHPark a few weeks ago. It seems to me like asking for more is none of their business…

Being something of a software ignorant person, I still have on a few occasions had success editing KiCad files with a text editor as was mentioned above. I did it for various reasons. If I can do it, it cannot be so difficult. Find>Replace is powerful, even in Notepad. Just be sure to make a backup copy first!!

1 Like

It may be fishy, but most obvious thing is: they doesn’t want to invest their time learning industry standard of file exchange. They must opens the file using original software. So if i’m using altium, they would reject my order and says if they didn’t support or can’t open the file.

They’re glorified printer operators.

Anything more than the print files is questionable.