kicad-developers team mailing list archive
Mailing list archive
Re: Redundunt Lib path info
Frank Bennett a écrit :
The lib infos in the schematic files are not used (consider these infos
Here is an area for enhancement I could work on with
some background info before I jump into the code.
At first glance it seems the library Path information
is required to be in the schematic file(.sch) and in the
project file(.pro). I wonder why this is the case.
the line can be only
Only the .pro is used. The .pro is not required.
kicad can use the default configuration file kicad.pro in
kicad/template for all projects without .pro file.
If I'm importing a schematic with it's libraries as
is the case with an OrCad EDIF file, I can include
the Library Refs in the schematics file with a path='.',
the schematic and library files in some temp directory
unknown to KiCad and I would expect EEschema to be able to
run standalone without the KiCad project mgr. This doesn't seem
to be the case so I create a new project using KiCad and
it sets up the default libraries/ install PATH.
Why should KiCad need to know either the EEschema or pcbnew
libraries/Path? Putting the info in two places doesn't
seem optimal or necessary.
In most cases: nothing.
If it is the "standard" path (kicad/library and library/modules) it is
The path is required **only** in non standard installations.
If no .pro found in current path, kicad uses the default kicad.pro in
Also is the Library PATH a single PATH or can it be
a ':' separated multipath also dictating the search path
for symbols or footprints? Could be one search path for
both since symbols are (.sym) and footprints are (.mod).
Only one path can be entered.
it is assumed the .sym and the .lib are in the same directory.
the .sym are only shapes which can be loaded when creating a component
(and can be elsewhere).
Thes files are not needed to run eeschema.
The order of libraries (in the library list in eeschema configuration)
is also the order of the component search and load.
Not all the libraries must be in the default path. If a library is not
in the default path, no problems, its name must be the full file name.
the libraries which have a name starting by ./ (like ./mylib.lib) are
searched in the current path (where is the .sch main file).
A search path would also help with multiple symbols for
resistors and caps coming out of OrCad (or other sources)
also with different scaling/orientation. The user would only
need to make sure symbols for the current schematic was first
in the list.
A library is always loaded (if found). It is the library attached to the
main file. it is created by eeschema when saving the main schematic file:
if the main schematic is mysheet.sch, the library called
mysheet.cache.lib is created and contains a copy of all the components
used in the schematic projet.
Its priority is the lower priority (it is loaded at the end of library list)
It is a security.
It is used when a component is not found in a library.
So a schematic can be loaded and displayed even if some libraries are
not found, or lost.
When I convert old orcad files (i have some old orcad SDT386 files) :
I create a library archive (in an old decompiled format which is an
ascii format) . Orcad creates the equivalent of the mysheet.cache.lib
with only the used components
I convert the orcad files in the aex format (an old orcad exchange
format which is the equivalent of your edif format in recent orcad
With the kicad converters for these old formats:
I convert the .aex files in kicad schematic files.
I convert the archive library in one library:
(the process is a bit tedious)
This library can be loaded as mysheet.cache.lib (assuming the main
shematic is mysheet.sch)
If i want have the hightest priority in the library list, rename it
something like orcad.lib, and modify the eeschema lib list
to put it in the first line of loaded libraries)
It will be loaded as ./orcad.lib (if it is in the current directory).
I think the most simple way to convert an orcad scheamtic project to a
kicad project is:
create a directory.
put the converted schematic files (and the board file) in this directory
with no .pro file.
and (2 ways of work)
- 1 For those who have 1 or 2 projetc to convert: Create only one
library (the .cache.lib file) from from an Orcad library archive
( and modify the schematic according to the current kicad libraries)
This is my way, because i do not want to handle 2 families of libraries.
Or if many projects must be converted:
2 - Convert all the orcad libraries, and put these libs in the default
kicad library path, because they will be used by many projects.
and Change the library list in eeschema config .
this will be create the missing .pro
This .pro can be copied without modification in all the others
orcad2kicad projects and therfore the work will be made once.
if this .pro replaces the kicad/template/kicad.pri it will become the
new default configuration.
Also I see there is a log window in KiCad project mgr.
What would it take to echo unresolved symbols when a schematic
is loaded or even the path of a resolved (found) symbol?
Great work todate.
See the Dick's answer