How can I edit symbol field names and contents of parts in my library

Schematic Editor/Tools/Edit Symbols Fields looks useful for editing Part information. But really editing the contents is not possible. How can I for example change field names. And I want move/copy contents of Field 7 to something more useful like Manufacturer code. Field/Record names like Field 7 are useless. There is an Export CSV format file, but there is no Import

Is there a better way?

Editing parts all parts one by one would take quite a lot of time.

Shouldn’t it be better to edit such fields not in Schematic Editor but in Symbol Editor.
If you specify important information for parts at schematic then probably for next schematic you will have to do all that once more, but if you have it edited in library you should get all part fields when you add it to schematic.
Footprint and Value fields I use work for me that way. How with others I just suppose it is the same but I don’t know as I don’t use other fields.

Sure, but then I’d have to edit every single part, don’t I?

I have around 53 different parts. I hope there is better way.

Not sure if I understand you correctly, but symbol fields you edit here:
Schematic Editor > File > Schematic Setup > General > Field Name Templates.
You add it once and the fields will appear in each symbol.

Sure, but then I’d have to edit every single part

Yes, you have to edit every symbol in the symbol editor. This will take a little time.
But 53 symbols - if you start now you are ready before you get all answers on this thread. Additionally this will teach you concentration and patience.

other options:

To Greg_m, but how can I change my current libraries to use those. And move the data into usefull records.

To mf_ibfeew, “Additionally this will teach you concentration and patience.” and frustration. Besides, what about database libraries? How can I upvote something in GITLAB Github I am not a programmer, at least that kind of programmer. OK, I can’t start KiCad now, but I’ll look up Kifield later. And are libraries in ascii, I could do a search and rescue, replace.

The problem is: Either edit the field names like Field 7 to something usefull. Or move the field values to a new field with usefull name.

I hope you’re aware that the standard KiCad libraries are read-only.
You need to copy them to a personal library before editing. I’m just saying this to avoid frustration…

Thank you, I know. I have my own library for parts I use.

All of KiCad’s files are in the S-expression format. Human readable, and editable, and most programming languages will have some library to parse the format too. I guess you can modify your personal libraries too with something like sed.

You’re talking about ‘Symbols’ (but, the following applies to Footprints/.mod , actually, any file!)…

Because various sources contribute to the Lib’s, a User cannot assume all will contain the same Fields and the same Names, spelling…etc.

However, many do have at least a few of the same Fields/Names and that will make it easy to change ‘them’.

In fact, a User can Add new Fields by implementing that ability in Code.

Example shows a Stock Kicad Symbol and one of My Symbols.
For my symbol, Symbol-Properties panel, I added the field “TOFU” to it for this demo.

The Demo shows Two changes:

  1. ReName TOFU to COFFEE in my symbol
  2. Add New Field Named NEW_FIELD in Stock file [ I did NOT change my code so, I only added the New Fieldname to an existing one. But, doing it correctly should not be a problem…]

If I wanted to be able to do it on a regular basis or had many to add New Fields to, I’d re-write my App (you can see I have some Kicad FileNames that have changed so I coded the App to List them so, could do similar for Fields…

The App will do Single Files or Multiple Files (all of the Files is the Selected Folders, if you have 53 or, any quantity, all will be changed using Multiple).

No, the App is not posted and it’s executable is for Mac (could do for others but… Not interested). Code uses simple Python Search and Replace so, any coder can to it, even noobs…

How can I upvote something in GITLAB Github I am not a programmer, at least that kind of programmer

  • gitlab (not github)
  • upvoting a issue/feature request:
    • it’s not necessary to be a programmer
    • create account on gitlab
    • login to gitlab
    • open the issue in question (I have provided the link)
    • below the opening text of the issue you will see a thumbs-up icon (and also a thumbs-down-icon)
    • click onto the thumbs-up icon to upvote (there are currently 5 upvotes, including mine)
    • the number of upvotes is used as a indication how many users want a feature - so this helps to prioritize all open issues

Besides, what about database libraries?

Thats a topic were I can’t help reliable. But I would guess that all fields for the database libraries must be created and modified in the database program.

I am on a Win 7 now. I’ll know more when I am on a Win 10 and KiCad.

This is “per project” solution. For for each project you have to add them again. Or make a project template with additional things (and other things if needed like board constrains, etc) and use templates when creating new projects.

You don’t need to be a programmer. You just need to to have an account on GitLab, so just sign up.

@LM21, The Code (file below) is Stand-Alone - nothing is required except for the files you want to change.

The code will Walk though ALL files/sub-folders so BE CAREFUL!!!

Best to:
Have Folder containing the files to change and the Code.
Read the Comments in the code (basically, RUN the Code then, Call Caller() from the control panel. May depend on your systems and Python IDE…

Video shows doing it… (threw together folder with some files to demo… Opened two files to verify but, all of them were changed… :wink:)

Hopeful_it_Works.py (1.4 KB)

I’m sure the explained method works. Good start point for other conversion jobs :+1:

I want to raise my hand for Notepad++ to do such things and WinMerge to check what happened :wink:.
grafik

With [Find All] you can previously check what hits in the files you will modify.
I managed to rework and uniform a lib with some batch-editing with regular expressions to change line widths, set some flags and so on. I checked this with WinMerge to see that everything is as expected. Works nice because of the human-readability of the format.

@LM21 This is solved, right?

One comment: Neither the symbol editor nor Footprint editor show all fields of a part. Where is the part editor? Or how I can see all fields of a part, except in “Schematic Editor/Tools/Edit Symbols Fields”.

AFAIK the symbol lib file holds all fields and possibly maps a footprint - this is a (/an atomic) part definition. When using a symbol the fields get copied in the schematic file. This copy could be updated with i.e. changed fields in the lib but this is a manual action.
So if you change/extend some fields in the lib, the “local copy” in the schematic don’t sync automatically to that.
The pcb file receives the fields when updating the pcb from schematic. This should be the normal workflow.

Yes, I realized that after some thought. Too bad the Lib table in scematic is hard to edit properly. And so far that is the only place where I can see all fields of components.