Adding 3D models to the library

how does one add a 3D model to the library ?
I can do it only on the footprint

Mod Edit: A new question deserves a new topic :slightly_smiling_face:

Do you mean ā€œadd a new 3D model to the existing Kicad 3D library?ā€

If so, the answer is you can’t. All Kicad libraries are read only.
You must create one or more personal 3D libraries, then add new 3D models to these personal 3D libraries.
If you wish to permanently attach a 3D model to a footprint, you must first create personal footprint libraries, place the footprint in the personal library and then link the 3D image in your personal 3D library to the footprint in your personal footprint library.

no I meant MY library
as posted, THERE IS NO WAY to attach/add/summon/get/link any 3d related stuff in the menus

hence my post

As I asked:

What Library???

Do you want to place a 3D model in a 3D Library???
Do you want to associate a 3D model with a footprint in a personal footprint library???
Do you want to associate a 3D model with a footprint in a Kicad library???

Please explain to what ā€œtheā€ or ā€œMYā€ refer. My crystal ball is out of action at the moment.

KiCad does not have a library of 3D objects. KiCad only has links in footprints that link to 3D models.

…Clarifying…

All of the posted responses are good and it seems reasonable to make a Clarification that Summarizes with respect to Post#3 @phil12345678911 , particularly ā€œTHERE IS NO WAY to attach/add/summon/get/link any 3d related stuffā€ See the last Paragraph below…

Assuming a User want’s to:
• Use a Custom/Personal Library and it’s Location
• Have Convenient ā€˜Global’ Access to:

• 3D-Models (STEP and WRL)
• User Footprints
• User Symbols
• Personal/User-Made and/or Non-Official Plugins
• Other resource files (graphics, etc…)

Knowledge-Base:
• Kicad creates a Folder Structure for Users and it’s best to use it. User can use different Locations but, the Links may ā€˜Break’ when updating Kicad

• On a Mac, for Kicad Version7, the Folders get created in: Documents>Kicad>7.0>(The Folders are…) (screenshot)

• Global (and Project) Settings to the ā€˜Folders’ is best done from Kicad’s Main Panel via Preferences (screenshot).
TYP: Kicad comes with many Footprints/Symbols/3D-STEP/WRL and most Users won’t need 90% of them so, User can Disable them from Loading Until needed), thus improving Speed/performance.

• The Footprint and Symbol folder names get listed Alphabetically and User can Name them with commonality for Easy Visual organization/grouping (screenshot)

• Configuring Build-Path to User Folder may be needed (it depends) Screenshot

• Kicad’s Footprints/etc are READ-ONLY files and User’s tweaks/edits are Not saved without User involvement

Using and Linking the 3D-STEP and WRL:
• For Kicad’s Footprints and Symbols, User needs to Copy the desired Footprint/Symbol and Save it to User’s Folder. This is done from the Footprint and Symbol Editor’s. Then they are Editable/Savable…

• Always Best to Exit Kicad after setting the above…

• Linking the 3D-STEP/WRL is done from the File>Footprint_Properties and Selecting the ā€˜3D Models’ Tab (screenshot).
• Click ā€˜+’ to Add the Link-Field and click the tiny Folder Icon on it’s Right-Side - all of the 3D files will be Listed there (if placed in the linked folder). So, adding them to a Footprint is only a Click or two away
[Access to the Paths is available from here, too]

It’s worth knowing a User can create a ā€˜Dumb’ footprint to use for Viewing 3D-Models and can have as many models linked to it (just enable/disable visibility to unclutter the display) Example screenshot below…

Example of a Dumb-Footprint with several linked models…

1 Like
  • I know where to put the files, and one can even use any folder, you dont need to use the user folder
    linking a 3D model works perfectly fine, but thanks for the time explaining how it works

  • as mentioned, there is no such feature in the library/footprint editor (or I cannot find it)

Unless I missed something, I am, of course, not going to assign a 3D model one by one for more than 100 footprints

Unfortunately this is the state of the art. Until some entity creates a ā€œstandardā€ for default orientation we have to live with this.

Personally I’m more upset that the recording industry cannot make two similar songs the same volume.

You didn’t miss anything. And, linking to many (100 footprints) can be a pain but, it can also be easy if you (User) creates Code to do it. I’ve done it and have Demo’d it with videos but, I don’t keep track of my posts and I have too many to review. I also don’t keep files…

I will show this, however as it addresses @paulvdh comment (" KiCad does not have a library of 3D objects") - that is True in a sense but, Kicad does come with Thousands of STEP and WRL - they are in the Kicad system’s folders and are accessible.

Below screenshots show their Kicad Default Folder and an App I wrote to list contents (of any folder) - it lists 278 STEP items in one folder alone (the Connector Pin Socket 2.54).

As far as making it easy to Bulk-Change/Add files, re Coding something useful, I show below a screenshot of my App that contain a list of selections to Bulk Change

Screen Shot 2024-06-01 at 10.39.53

This shows a Kicad-Stock 3D-STEP linked to my Dumb Footprint

no matter the software or the editing feature (3d or not), protel, eagle, kicad, you name it, they are ALWAYS a pain in the a$$

like if it was a golden rule to make circuit designer life the most miserable possible

they should use these software as examples of what not to do in UX/UI trainings

@phil12345678911 Perhaps you haven’t realized this - the Footprint Editor (as-is) can use the 3D-Viewer to preview the Footprints (STEP and WRL that are linked to it).

Some Footprints don’t have models or link but many do… Video below…

Not only a default orientation standard, but a default naming standard also. :slightly_smiling_face:

@phil12345678911

So that is what this thread is all about!

Why didn’t you title this thread ā€œFunction to Automatically assign 3D Models to Footprintsā€ or something similar?
This would have saved a lot of people a lot of time and effort with their replies.

I suppose a function such as this would be possible; but first, each image would have to be opened individually and edited to set the orientation and name to something suitable for the automatic function to work correctly.
Just editing the name seems like more trouble than assigning the image. Maybe this is why none of the CAD programs have attempted to include an automatic 3D assignment function?

Most likely we’re done with this Post but I want to finish my posting by addressing above…

Changing FileName’s, Linked Files (assigning an image file) and, most any of a Footprint’s contents is simple - all programming languages can do it.

And, changing/setting position’s/orientation’s…(geometry) is no different than changing ā€˜text’. Python has Excellent Wildcard ability in combination with Search and Replace… I’ve done it

Python has ā€˜Walking’ through DIR/Folder/Files ability.

Quick demo showing example of Step-Extension Case change and changing the Name of the linked Step File… (I just added to existing name for demo but I could have changed to anything).

I opened some files to Verify/Show they got changed…

The ā€˜trick’ isn’t knowing ā€˜how to do it’, the ā€˜trick’ is knowing ā€˜what you want to do’ and that’s where @phil12345678911 fell short…

Thanks @BlackCoffee

My comments were really aimed at requiring to open and identify each 3D image, confirming that that particular image would match a footprint, and then matching the 3D image name somehow to enable an automatic programme to attach the images to the footprints.

IMHO you might just as well attach a 3D image to a footprint as you confirm it is the correct image for a footprint.

1 Like

Well that’s your only realistic option. The current way automate this task needs that you are making your 3D models yourself or at best only have one vendor for your 3D models. In this case you can standardize the models so that it is easy to automate. Another way is if you take in 3d models that already have footprints then you can probably relate them the same way they were form the import.

If your models come from random sources then there’s no guarantees since we can not even standardize on what axis is supposed to be up across 3D CAD applications.

Or you could train a AI for this.

An interesting exercise for someone.
Just teach AI to recognize and understand each 3D image and footprint, then simply match 'em up!
Maybe even teach AI to teach itself the process. :smiley:

The bigger PCB design offices (10+ people working on PCB design) tend to have people who only do ā€œparts managementā€. From creating (checking, verifying) symbols and footprints to 3D models and database stuff etc, but do not do any schematic or PCB design.

If you are interested in more automation. Look into the library part for KiCad on gitlab. There are scripts for creating footprints and other library management tools that are not part of a normal KiCad install.

I also had a short look at kicad-cli It can export or upgrade footprints and symbols, but it can’t do other things with it. A feature request to be able to add or modify fields seems reasonable.

Kicad has this Library Dept. also, and it takes approximately one hour per symbol/footprint/3D image to confirm everything is correct with an included data sheet.

The OP is complaining that there is no automatic function in any CAD program to match personal footprints to personal 3D images, and he has 100+ to sort.

As @joojala mentions: an exercise in training AI? :smiley:

Yes that old ’ volume’ war is …well…getting old :rage:
:mouse: