4.1 KiB
Conversion tools and information
This file describes the process of converting the DFM guided SparkFun-Eagle-Libraries repo to kicad format, while maintaining DFM guidelines.
Process
Make sure repo is in "C:\github\SparkFun-KiCad-Libraries"
This is the evolving breakdown of tasks required to transfer the full set of sparkfun libraries.
- Convert bulk of libraries to Kicad Manual operation
- Use "Out put new part for every foot print type" in lachlanA's ULP
- Use .bat file to run script for all libraries (check paths within)
- Use custom script to (for each Eagle .lbr):
- Detag and copy descriptions to .dcm files
- Add fields for PROD_ID for each KiCad part
- Add PROD_ID keyword for each part
- If not found, apply XXX-00000 for prod id
- Scrub errant footprint filters by reference Footprint field
- Report statistics to validate script operation
- Use custom script to (for each Eagle .lbr):
- Load and save-as for all .mod files to convert to .pretty format. Manual operation
- Combine all .mod files to a single .pretty folder. Manual operation
- There will be duplicate file names (should be identical)
- There will be similar footprint .mod files (should be identical)
- Weed out (about 3) spare F8 commands that were not saved correctly in the lib files (KiCad will tell you they are broken)
- Convert line graphics of .kicad_mod files to poly graphics using other bat
- Output ends up in Export.pretty
- When satisfied, overwrite Sparkfun.pretty with contents of Export.pretty
Convert bulk of libraries/boards to Kicad
This task is done from within eagle. Open each library and run the conversion .ulp file ../Tools/eagle-to-kicad_ulp/eagle-lbr2kicad-1.0.ulp. This is a modified version of lachlanA's script, from https://github.com/lachlanA/eagle-to-kicad-libs.
During this stage, select
- "Output a new part for every footprint type"
- "Don't prefix the library name to the footprint name in module"
for each library.
When complete
- move the log files to ../Tools/SparkFun-Eagle-Libraries_Conversion/EagleExportLogs
- Copy .lib and .mod files to ../Libraries
- Delete originals when you are happy
Use batch files to convert internal part names and DFM stuff
Run ../Tools/SparkFun-Eagle-Libraries_Conversion/Python/RunOnExportedLibs.bat.
The following files will be made and placed within ../Libraries
- name.lib files
- name.dcm files
- ConvertSFELibsLog.txt
Move the log file to ../Tools/SparkFun-Eagle-Libraries_Conversion/PythonScriptLogs
Load and save-as for all .mod files to convert to .pretty format.
- Create a new project in KiCad named something like "import_n*.
- Go into the footprint editor, manage libraries, and remove all.
- With the library wizard, append exported .mod files to project (not global)
- For each library,
- Set library active
- Save-as to location ../Footprints
- Append with name (such as SparkFun-Aesthetics.mod)
- Ex: C:\github\SparkFun-KiCad-Libraries\Footprints\Aesthetics.pretty
Tip: copy base path to text doc for easy copy-paste. Also, browse .mod folder to copy paste names. This is truely the most painful part.
Combine all .mod files to a single .pretty folder.
Call this /Footprints/SparkFun.pretty
When deciding which duplicated part name to use, ditch the most specific and keep the most generalized
Weed out script failures
Load libraries into test KiCad project (AKA import_n.pro)
- Open schematic lib editor
- Remove all libs from library manager
- Add all .lib files from ../Libraries
- Click brows components
- Will report error in file and line number. Look for misplaced "F" commands
- Move errant lines up to last "F" position, usually after F3
- Rename F8 to F4
Tip: Open all .libs in notepad++ and search "F8" in all open files.
Convert polys
Run ../Tools/SparkFun-Eagle-Libraries_Conversion/Python/ConvertLinesPolys.bat.
Files will go to: C:\github\SparkFun-KiCad-Libraries\Tools\SparkFun-Eagle-Libraries_Conversion\Export.pretty
Copy kicad_mod files back into SparkFun.pretty
You are done enough!
At this point, libs should be useable. Keepout is now on user layers, should be on other layer (script?)