Symbol editing in V5.0.2

I figured out the [RMB] & copy & paste some time ago, without reading a manual, but it needs some preparation, because it needs of course a library to write to and all the defalt libraries are (rightly so) read-only.

This was the same in version 4. So i am still at a loss what you find easier to do with that version. (V5 even conveniently adds your newly created library to the lib tables instead of popping up an info that the new lib will only be available after you add it to the project as version 4 did it.)

Is it possible you confuse “intuitive” with “i was used to it”?

OP never claimed in this post that the “old way” was intuitive or easy.
I only see:

Edit: And as noted before and after this post, what OP refers to as V5.0.0 screenschots are actually from KiCad V4.x.

5.0.0 and 5.0.2 are equal in function! What op links as 5.0.0 is what version 4 was.

And on the symbol side there is not even a change with current nightly (will be 5.1 shortly)

Thanks everyone. Maybe I should add that I am running V 5.0.2 on Windows 7 Professional X64 but I doubt that the O/S is a major issue.

My statement error was re V4.07 and V5.0.x menu bar, however the manual for V5.0.2 does still show the V4.0.x in the symbol library section. It also shows some items from the V5.0.x but certain ones are missing from the actual program, for example the “load component to edit” and “make new component from existing” tabs. As a non-programmer I have no idea why it has had to change, and I cannot possibly challenge the right to move forward but I am really struggling to get the idea of the Symbol editor in the V5.0.x issue.

@Rene_Poschl You maybe right,

Blockquote
Is it possible you confuse “intuitive” with “i was used to it”?

But what took a few clicks in the previous version now seems to take forever, requires a new, unrelated library, with no connection to the existing library files, and then seems very difficult to copy symbols for editing.

For example in V4.0.7, in the symbol editor, load symbol mode, I selected audio as the library, first item LL1589, a 2 primary 1 secondary transformer. 3 clicks so far. I simply added an extra pin to the secondary as a centre tap. 1 more click and some pin editing. Now Click “create new component from current one” (5 clicks and a few mouse strokes so far) Enter the new component name and then either save library (same library different component name) or open new or custom library to save to.

Making the above changes took about five minutes from start to finish, which is fine, and similar to the process for footprint editing. It was of course possible to end up saving the items in the wrong place or overwriting the original, but was quick and simple.

Point 1. The new KK libraries cannot be written to so I have to make my own custom library, which I then also have to add using the library manager.

Point 2. I can then select the LL1589 from the transformer library (it has moved) and see it on screen.

I can then export it according to the right click on the mouse, but every time I look the destination folder appears empty. If I try to export the whole folder I only get the first item in it and a message telling me that it already exists. No help at all! And very, very frustrating.

I am quite sure that there must be very good reasons programmatically for making the changes, but without comprehensive instructions or examples to follow, the change to the newer version is so dramatic as to be almost impossible fro symbol copy & edit. To my mind it seems to have added many extra layers of work (& time) to what was a relatively simple, quick and with care easy process.

@Rene_Poschl Your FAQ is great as a guide to creating a new symbol, but my usual requirement is to adapt something that already exists (like the example transformer) by copying and saving the edited item.
The copy existing symbol facility has gone, and I cannot fathom how to either export a symbol for editing into a new library or from the new library how to import an existing symbol for editing.

The manual is definitely no help here, the one with the program or the one on the website under the docs tab as both seem to describe the V4.0.x method.

Is there a simple video or walk-through to do exactly the same thing in V5.0.x as was possible in V4.0.7 as described above?

The only alternative seems to be to create all my own new symbols for anything not supplied and waste a lot of effort in the process.

I do not understand how this mis-communication started, nor why it persists.
In KiCad V5.0.2 I would:
1). Open the Symbol Library Editor.
2). Type “bf199” in the search box.
3). Right click & Copy.
image

4). Empty the text in the Search box, so all libraries become visible again.
image

5). Right Click & Paste into a writable library.
image

6). Select your copied symbol in the new (writable !) library.
7). Hover over the component name in the graphical editor window (Not in the Tree ! ) and press “e”(dit) to edit:
image

8). I now have a BF19999 in my personal library.

Note:
It would seem logical to be able to edit the component name directly in the tree with a right cklick or [F2] But I can’t seem to get that to work. Edit: Apparently this has very recently already been fixed for KiCad V5.1 :sunglasses: https://forum.kicad.info/t/kicad-5-duplicate-component-and-save-as-new-name/14229/6

2 Likes

One should never save to a system library. This is true for v5 as it was in v4. There is no change in behavior here!

Are you sure you counted correct? You analyze copying the symbol into the same lib, lets to the same in v5:

Opening a symbol takes less distinct clicks (No need to set the library as active first.) Simply double click on the symbol name. (previously: click on select active library, search your lib in the list, double click on that. Followed by open symbol from library, search symbol in there, double click. I count 6 clicks here already. Compared to the one needed in v5. I think there was a way to save one click but would still be 5 clicks just to open the source symbol.)

The live filter on top of the treeview also increases efficiency here further. (In the old system you needed to filter twice, first for library name to select it as active and then for the symbol name to find that faster. Now you only filter for the symbol name.)

The copy task in v5 also takes only two clicks (for same lib, 4 for copy into any library. Reason copy/paste instead of duplicate).
Right click on symbol in the tree view, -> duplicate (you don’t even need to open it first! But lets assume you have been unsure which symbol to copy and decided to first open it for that reason. Meaning if you are certain then you save yourself the whole double click listed above.)

Now you will need to open the new symbol to edit it (So one double click here)
To change the name use the symbol properties dialog or edit the value field directly (either a hotkey action followed by entering the name and enter or one click plus entering name and at most another click)

Saving the change is now also at most one click or a hotkey (crtl+s like in any other program)

In summary: In v5 you need 2 clicks for duplicating plus 1 double click for opening the new symbol, at most 2 clicks to change the name and 1 further click for saving (The later two options can be mostly done with hotkeys)
This is less than even your overly optimistic number of clicks for v4.


And this will become even easier in v5.1 as that one now has a save as option. I assume it will work as follows: open symbol, edit -> save as, select lib, select new name, done (I have no access to kicad right now so i am working from memory here.)

I think I have a good solution to lessening the amount of mouse clicks.
How about this workflow:

1). In Eeschema you put one of the many symbols from the default libraries on the canvas.
2). [Ctrl + E] to edit the symbol.

KiCad now opens the Symbol LIbrary Editor, but it opens it with the readonly symbol from the default libraries.
If it opened the Symbol Library Editor with the Cached symbol from Eeschema It would open it in a writable fashion.
In KiCad V4 there also was a button in the Symbol Library Editor to directly update one, or all similar symbols directly in Eeschema, there was no need to put symbols in other libraries, or even to save a library.

Manually copying readonly symbols from the default libraries to a new library should not be needed in this case. Kicad should be smart enough that if you want to edit a read-only symbol which also has a copy in the project-cache to edit symbol from the project-cache library.

The cache lib is already a hack. Do not add a hack to a hack. Really where is the problem to properly manage libs? It requires a few minutes of work (as soon as one knows what one is doing) and simply adds so much value to your projects in the long term.

(To be honest i am already not really a fan of the fact that one can even have project specific changes to footprints that are only saved inside the pcb file. Yes it is a feature that can be used for good reasons in very rare cases. But in most cases a proper project specific footprint inside a project specific lib would be the far better solution. I would say the same applies to the symbol side.)

1 Like

@paulvdh Thank you for the wonderful walk-through.

If only my version worked like that we would not be having this conversation.
Referring to your picture sequence and comments, 1,2 & 3 are fine and do exactly what you say.
When I get to 4 it is not possible to select a library after copying the symbol as that tree is not visible. If I click on the + sign near Transistor_BJT it changes to - but that is all.
The target folder (new_library) exists, as it can be seen in the symbol viewer and is in the symbol library manager on the bottom line, but there appears to be no way back to the tree once a symbol is loaded. This is why I am struggling!
Is it a non compatibility with windows perhaps?
Hopefully the pdf attached will show what I mean
KK pix.pdf (569.7 KB)
Maybe I am not pressing an appropriate button or selecting something, but I cannot see anyway at all to re-open the library tree after copying the symbol, and this seems to be the same in every version of 5.0.x on my systems, and I have tried it on 2 PCs at work and 1 at home, and a laptop, all running windows7 pro 64 bit.
Thanks for your patience in this matter, and I feel not only frustrated but also quite stupid as it should be very simple according to your write up.
Thanks once more for your help, but can you suggest why the tree is not accessible?

@dangerous:
Before I completely read your post, can you copy and post your complete KiCad version here.
It is:

Help / About KiCad / [Copy Version Info]

Edit: You say the Symbol tree is not visible.
What does it look like? Please post a screenshot of the Symbol Library Editor.

That is kind of normal for an empty library (It can not display a symbol below it as there is none.)
Right click on the library name should however give you a context menu that allows pasting your previously copied symbol. (No need to even click the plus.)

@paulvdh the left clicks on the library or symbol (source or target) are unnecessary clicks. One can right-click directly and the same context menu will appear. (reading your post again leaves me to believe that you did not mean select as in left click it but more a choose a library of your liking as the target. Meaning this is not a kicad action but a user action.)

@Rene_Poschl: Pleas forget my rambling about the libraries. Copying symbols to a personal lib is a way I can work with, and it is a lot better than having multiple versions of the same custom symbol in different projects. Been there, done that. It is a pain to try to extract those symbols from different projects and put them in a proper lib.

Apart from that I do not really see the difference between “a project specific lib” and “project-cache.lib”, but this is probably a hole in my knowledge of KiCad. I trust that the developers know better than I do and adjust accordingly.

@paulvdh
Here is the info:
Application: kicad
Version: (5.0.2)-1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.68.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.61.1
Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

@Rene_Poschl As you can see the tree for the libraries is not visible once a component is loaded and copy is pressed.

Thanks again.

You need to empty the live filter* after copying the original symbol (or maybe even better: replace it with your target library name to avoid needing to search for it)

*) The live filter is the field where you entered the symbol name right now.

I edited the text of the copy symbol part and added a screenshot and remark:

The cache lib is not intended to be touched by the user. KiCad automatically copies a symbol from its library into the cache lib as soon as you add it to the schematic. The cache lib is then used to determine if a symbol needs to be rescued (meaning it is there as a safety measure to allow you to make changes to the library without the danger of damaging your projects.)
In other words: You can damage your project by touching the cache lib. It is entirely your fault if you do so. (The cache and rescue stuff is quite fragile. This is one of the reasons why we are extra strict regarding changes to the official symbol library.)

@paulvdh
@Rene_Poschl Thanks to both of you for sticking with me on this one, and restoring some sanity to my workspace.
Just that one bit of knowledge that was missing has made all the difference.

From the last post, I now understand the purpose behind write protecting the libraries, and it does seem an easier method to work with the symbols, once the way to actually do the editing is understood.

I must also add that the footprint libraries seem to be much easier to add or find than they were in previous versions,or maybe I really have just got used to that part of the program.

Thanks again I now have a brand new BFY90 sat in my own personal library.

Hello again.
My nice new BFY90 has the wrong footprint as it was originally a BF199, so I click the footprint field and select the TO-72-4 footprint from the list, which in V4.0.x updated the field in the component. Now a message flashes up and when the footprint viewer is closed the screen shot below is produced:

, suggesting that something is missing. After this KiCad grinds to a halt. A similar error used to occur in the footprint viewer when it was not set up correctly in a previous version, but that was when the footprint table was messed up as I recall.
I can still add the footprint details manually and save them.
As ever any help would be appreciated.

Just found that if I close the wxwidgets error message from windows task manager, the footprint does update in the component.
I am not sure why the error is occurring in the viewer, presumably some problem with the 3D viewer which I have never really used.