I’m trying to see if this is a Freerouting or a KiCad issue:
KiCad v8.0.5 and Freerouting 1.9.0 plugin.
File was made in Eagle v9.6.2 and imported into KiCad.
Autorouting finishes routing and optimization, but then when it closes, KiCad shows me these errors:
Error
Board may be corrupted, do not save it.
Fix problem and try again.
Expecting 'image_id' in '{folder path removed}\freerouting.ses', line 6, offset 7.
followed by:
KiCad Freerouting Plugin
Failed to invoke:
* pcbnew.ImportSpecctraSES
Lines 5,6,7:
(component
(place @HOLE0 2045000 -720000 front 0)
)
The board includes a basic 6.35mm/0.25in drilled hole.
If I delete that and re-run Freerouting, the entire process works normally, and I’m left with a routed board.
So I’m not sure which it is:
Is Freerouting generating an improper command?
Or should KiCad know what to do with that line?
Firstly there is an issue with the hole’s RefDes @HOLE0. This doesn’t conform to the KiCad’s convention which is letter(s) followed by number. The other symbols may also be problematic.
Changing it to HOLE0 didn’t prevent the problem. Looking at the exported DSN, the footprint is:
When I edited that to component “HOLE0”, the resulting SES didn’t have the offending component any more and was accepted by KiCad. However there was a warning generated by “Via[0-1]_600:300_um”.
So it looks like the PCB that was imported from Eagle has constructs that cause the generated DSN to cause issues for Freerouting.
The Freerouting project (which is not associated with KiCad) will probably tell you that you’re sending invalid input to it. So your imported project needs fixing up in KiCad before you attempt to take it any further. Certainly you should run ERC and DRC on it. Remember that the Eagle importer is only best effort. If there is something you think the importer should do better, then raise a GitLab issue for it.
Interesting, so when I just click on the imported hole, I get a popup allowing me two different selections.
When selecting each one and picking Properties, I can look at Pad Properties and Footprint for that one imported hole.
I also then placed a hole from KiCad’s library, “mountinghole_6.5mm”. For this one, I don’t get that popup, and only have Pad Properties. Freerouter works fine with that one.
I’ll click around a bit in KiCad and see if I can find anything useful, and then do a GitLab post as you suggested, if I can’t find any existing posts on it there.
(I’m a longtime Eagle user, but am extremely new to KiCad.)