V0.300 RenumKiCadPCBV0300-fixed (NOTE: THIS IS AN UPDATED ZIP WITH A FIXED EXE FILE) is a substantial rewrite in order to process errors better and to fix bugs which popped up in stress testing.
User Jano reported “The make RenumKiCadPCB don’t works out of the box, instead I was able to compile with: gcc RenumKiCadPCB.c -o RenumKiCadPCB -lm”
I don’t know if this is an issue across Linux versions but, just in case I have updated the manual in the zip.
Now everything is done in memory before writing to files. If there are warnings, it asks whether to commit changes. After all, some errors, like mounting holes on the PCB which are not on the schematic, are not critical, even though you really should fix errors (including ERC and DRC).
If there are no errors (or if the user decides to “commit”), all related files are backed up and the new ones are written.
I fixed a number of issues associated with/exposed by weird file content in TERES_PCB1-A64-MAIN_Rev.C.pro.
I have stress tested with https://github.com/OLIMEX/DIY-LAPTOP/tree/master/HARDWARE/A64-TERES/TERES-PCB1-A64-MAIN_Rev_C which is the most complex KiCad project I have come across.
The Olimex Rev C files themselves have issues:
ERC and DRC show errors. I was able to fix all the ERC errors:
1) Resistor networks in the schematic have sections with different modules than the PCB
2) There is an excess PWR_FLAG on a power connector.
Also (bug reported to the developers) LCD.SCH has a “phantom” instantiation which does not show up in ERC. The phantom instantiation meant parts were labeled U? but didn’t show up as not annotated. Even though renumKiCadPCB works, it flags errors such as this.
There are blank reference designations (i.e. “”) on the PCB.
The good news is, all these errors exposed issues with RenumKiCadPCB!
The Olimex PCB fails DRC with 9 errors as distributed. After creation and importation of a netlist this becomes 27 errors. The new errors appear to be associated with zones, a well established KiCad bug (see MANUAL.TXT).
I couldn’t figure out Olimex’s license, otherwise I’d post the fixed files (renumbered!)
After RenumKiCadPCB is run on the original files or the fixed files the DRC errors are the same, respectively. I assume, therefore, that RenumKiCadPCB is working. (famous last words …)
The Kicad “pour error” described in MANUAL.TXT still seems to be present in Kicad V5 nightly builds. The way you fix it (in V5 nightlies) is to “Edit” the zone (which I find a pain in the butt to do – type “E” exactly on the edge zone outline).
Make sure Net Filtering Display: Show All is selected and rename the zone net.
I remain hopeful the developers will decide to incorporate RenuKiCadPCB functionality into the software. It should be easy to do (but I don’t know how). Again, if there is anybody out there willing to do encourage the KiCad development group, please do.
Similarly, I would welcome anybody with requisit c++ or GUI programming skills to put a wrapper on the code.
PLEASE LET ME KNOW OF ANY BUGS!
6 thoughts on “RenumKiCadPCB V0.300”
The olimex licence seems to be in the top-level directory DIY-LAPTOP.
Thanks. I meant to say I had read the license but the terms are unclear with respect to redistribution: among the terms I have to “prominently” show that I modified the files but there is no explanation of what this means.
I am not going to risk being sued over something like that.
under linux (Mint 18.3) the make RenumKiCadPCB don’t works out of the box, instead I was able to compile with: gcc RenumKiCadPCB.c -o RenumKiCadPCB -lm
didn’t test the version yet, Thank you for this software!
Thanks and you are welcome!
I should add that to the manual.
FYI – I am trying to learn how to compile kicad under windows so I can try add it to PCBNew. Unfortunately all the make recipes fail so far …
On Windows 10 – 64 bit I get “The code execution cannot proceed because libgcc_s_dw2-1.dll was not found. Reinstalling the program may fix this problem.” As a hardware guy who hates Windows in the first place, I’m not able to do any further debugging, sorry. Off to try Linux.
This looks like a gcc/development platform issue. The exe in the zip file should run. If you want to compile on Windows can I ask what you setup is?