Can one reference a symbol library in another symbol library?

I have a library I’ve just created called Mixed. This is where I plan to keep oddball parts with their symbols, footprints, and 3d files (step format).

My ideal structure is as follows:

Mixed/
├── Mixed.Kicad_sym
├── 3dmodels/
│   ├── imaginary_part_1.step
│   └── imaginary_part_2.step
├── footprints/
│   ├── imaginary_part_1.kicad_mod
│   └── imaginary_part_2.kicad_mod
└── symbols/
    ├── imaginary_part_1.kicad_sym
    └── imaginary_part_2.kicad_sym


In this structure, ideally, Mixed.kicad_sym would be added to the library, and would be updated when I added a new part in the matching folders.

Is this possible? Does this make sense? I must think there is some method other than adding all external files for each new part manually.

I hope to have a similar effect to impartGUI but for partial parts/parts that are incompatible.

I have a rough idea of what you want to do… is it something like; “add a part to one of the subfolders and the others get populated as well” ?

I think the issue is your imaginary parts have individual parts that need not be related to the other files. For instance you could have a symbol for an IC. It can be associated with different footprints (DIP, SOIC, Quat…)
And a 14 pin SOIC step file can be used for a number of different IC’s.

If this were not the case, Kicad would need only one file for each part.

Hi @A_Hobbyist_Prod_Des

Only the actual libraries are created in Kicad.

The Folders:
Your Mixed/
__________3D/
__________Footprints/
__________Symbols/

need to be created with your OS.

This FAQ explains all (I hope :slightly_smiling_face:)
If you have any problems please ask.

Edit, just to clarify more:

You will notice in the FAQ, I first selected D drive to place my libraries.
I then created a Folder titled Kicad Personal Libraries.
I then created 3 folders in the Personal Libraries folder and titled these 3D, Footprints & Symbols.

After these are created with your OS, the Kicad Libraries are created with Kicad and placed in their appropriate Folders.

The problem is symbols libraries, unlike footprints and 3D models, are not directories, but files contaning one or more symbols. In your hierarchy, imaginary_part_1.kicad_sym is already a library, albeit with only one symbol.

So that means that adding a symbol to a library is not a simple matter of adding a file to a directory. It might be possible to write a script to merge a symbol library containing one symbol to another symbol library, I can’t comment on that.

Not quite. In this case I had a part where I had a premade symbol, and step file, but not footprint and I wanted to add that symbol to a library of other oddball not all there parts.

I ended up doing it manually, but I was hoping for/hope for a means to add that symbol to an already existing library.

I do get the reasoning behind many of the parts being separate, and I’m not seeking for that to change. Indeed I think my example folder structure was not well thought through at time of posting considering how it works. That said, automatically linking named foot prints and 3d models would be awesome, as would exact matches.

The main thing was the symbols however, but I guess there really isn’t a way other than save as in another library.

Anyhow, this is a rare circumstance I feel now that I’ve thought about it more, so I reckon the inconvenience might not be worth fixing, and is probably scriptable in the same way I wanted a convenient import button for a symbol library so to speak to do all of these manual steps for me.

Not sure what manually means in this case.

The easiest way to move a symbol to a different library is to:
In the symbol editor

  • Open the symbol in its existing library.
  • Right mouse click and select “save as”
  • In newly opened window scroll to find and then select new library.
  • OK.

Note: you can also create a new library for, and change the symbol name, in this new window.

First, I hope you read the FAQ @jmk linked to.

Conceptually, the point is, that for parts/devices/whatyouliketocallit, the Symbol is the top coordinating point.
To the Symbol you can add a Footprint.
And to the Footprint, you can add a 3D model.

If you only have the Symbol and the 3D model, the middleman is missing.

That the library directory/file system is actually “flat” is a different issue.

Actually your structure and mine are very much the same. I just can’t think of a universal approach to linking the different portions of a part definition.

I believe you can however, link a 3D symbol to a footprint in the footprint definition.