auto-create footprint archive in project (so it can be shared)

Bug #1098563 reported by madworm
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Unknown

Bug Description

Distribution of design files would benefit from a footprint cache, just like the symbol cache.

If you want to publish design files so other people can use and modify them easily, you have to modify your local project, create the footprint archive manually and manually add that to the list of libraries. All of this is done automatically for the schematic editor, so why not for the pcb editor too?

Revision history for this message
Lorenzo Marcantonio (l-marcantonio) wrote : Re: [Bug 1098563] [NEW] wishlist: create and use a footprint cache

On Fri, Jan 11, 2013 at 01:34:11PM -0000, madworm wrote:
> Public bug reported:
>
> Distribution of design files would benefit from a footprint cache, just
> like the symbol cache.
>
> If you want to publish design files so other people can use and modify
> them easily, you have to modify your local project, create the footprint
> archive manually and manually add that to the list of libraries. All of
> this is done automatically for the schematic editor, so why not for the
> pcb editor too?

pcbnew and eeschema have two completely different approach to the 'part'
handling:

- eeschema symbols are instanced; there is *one* master symbol (from the
  library) and every part use that; you need the library because symbols
  are only referenced in schematics

- pcbnew instead *copies* the modules; the library is used *only* during
  initial placement (or when updating/replacing the part) but after that
  the module is fully contained in the board. Changing the library, in
  fact, doesn't touch the already placed module (they need to be updated
  manually).

  There is a reason for this: sometimes you need to slightly alter only
  one instance of a module; the typical case is reducing slightly pads
  to squeeze one (more) trace between them...

The consequence are that: 1) you actually don't need the library files
to exchange board files and 2) a library 'cache' would contain all the
instance of each module since they could be all potentially customized.
This is actually what the 'archive footprint' command does.

Maybe you're better asking some kind of librarian for modules...

--
Lorenzo Marcantonio
Logos Srl

Revision history for this message
madworm (madworm-de-inkscape) wrote : Re: wishlist: create and use a footprint cache

> Maybe you're better asking some kind of librarian for modules...

The meaning of this sentence is not clear to me. You're talking in riddles.

> a library 'cache' would contain all the
> instance of each module since they could be all potentially customized.
> This is actually what the 'archive footprint' command does.

I know that, but I'd like that done automatically (or at least automatic by option).

Currently you can open and modify (to some degree) a board without the footprint archive, but have you ever tried adding another component that is embedded in the board? Doesn't work at all, as they're not visible in the add component dialogue. That at least should be the case.

Changed in kicad:
importance: Undecided → Wishlist
Revision history for this message
Jan Cablik (cablikj) wrote :

It should be possible to know which module instances are exact copy of the part from the original library and which were changed. Typically none or few ones are changed. When you add a new module on the board, it would be nice to copy it from other unchanged module copy from the same board (if found).

OrCAD copies the parts and modules from libraries to the design cache and uses instances of these master symbols. When any part/module is being altered, it creates a new master symbol with slightly different name in the design cache.

When you edit some board later, it is possible, that libraries were slightly changed and the new module is not similar with the same ones used on the board.

The same problem comes with eeschema. The part symbols in libraries are sometimes changed (enhanced). If you need to move pins, all older schematics that used the part can become "broken" and need some editing. Opening several years old design can be a nightmare in this case.

When I pass my design to a colleague, it's a problem how to synchronize our libraries, since we both are adding new components. When all the used parts would be included in a design cache (eeschema and pcbnew), these problems would be gone.

Revision history for this message
Martin Errenst (imp-d) wrote :

You can export an "Footprint Archive" from pcbnew - does this and the <projectname>-cache.lib fulfill your needs?

Revision history for this message
madworm (madworm-de-inkscape) wrote :

@imp:

Yes, that can be done, but it is cumbersome. The footprints are already part of the board, so I don't really understand why these "local" footprints don't show up in the footprint selection dialogue - without having to go through hoops to export them first, add a new library...

Exporting these footprints to a new library IS useful, if you want to use them for something else.

Revision history for this message
NhatKhai (nhatkhai) wrote :

The cached is already in the pcb file it save. I guest, @madworm want to able to just copy a module on the board and use it. I'm I right?

Revision history for this message
Jeff Young (jeyjey) wrote :

Yeah, I think he's referring to archiving, not caching (at least not in the computer sense of temp-storage-for-improved-performance).

summary: - wishlist: create and use a footprint cache
+ auto-create footprint archive in project for sharing
summary: - auto-create footprint archive in project for sharing
+ auto-create footprint archive in project (so it can be shared)
Revision history for this message
madworm (madworm-de-inkscape) wrote :

I'm referring to the fact that you have to resort to copy and paste if you want to modify / extend a board on the pcb level on a machine that doesn't have the necessary libs installed!

The schematic editor can, by use of the cache file add new symbols the usual way, the PCB editor cannot out of the box.

Ultimately I, and probably many others, desire a board that contains everything. Symbols, footprints... copy one file & have everything to work with the board.

Revision history for this message
Barry Buelow (iabarry) wrote :

Might I humbly suggest that developers step back from the fire a bit and ponder a larger picture.

A feature to support sharing a design on dropbox (or whatever) would be REALLY REALLY useful.

There should be "bundle" and "un-bundle" commands which magically collect everything necessary to allow sharing/collaboration. Make a ZIP or apply some wrapper.

I realize this does lead to wanting revision tracking and that is another issue. KiCad needs to be moving in this direction.

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/1968

Changed in kicad:
status: New → Expired
Changed in kicad:
importance: Wishlist → Unknown
status: Expired → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.