Import from Eagle 6.5 and problem with Holes

I am importing a PCB desigh from Eagle. Its unrouted.

The board has drill in the corners (no pads and not plated) and some of the components also have mount holes, a MicroSD card module and SSD1306 display for instance.

I have setup all the nets to the wanted track width and exported from Kicad to a Specctra DSN file which I then autoroute in Freerouter. I then export the routed board from Freerouter as a Specctra Session file.

When the the try to import the Specctra session file back into Kicad I get an error;

Kicad%20Holes%20Error

It is the drill holes from the Eagle board that appear to be issue, if I remove the drill holes and the components (footprints) that have their own holes, I can import the routed Specctra Session file back into Kicad just fine.

In PCBnew and the Footprint editor the holes look like holes in the 3D view.

Is there a way of stopping the error when importing the routed Specctra session file back into Kicad ?

You will probably need to attach some files or images in order for us to have an idea of the issue.

This is what the holes look like in PCBnew

:smile: OK, I guess I asked for that one.

You will need to attach enough information to allow someone to recreate your issue. Ideally, you would attach the Eagle, KiCad and SPECCTRA files.

This may also be an issue with Freerouting’s SPECCTRA generator, but we can’t tell without more information.

Here we go, much reduced board design that shows the problem.

EagleFiles.zip (7.2 KB)
kicad.zip (8.5 KB)

As suspected, this is an error in Freerouting’s SPECCTRA code.

You can fix it by adding two quotes "" at the end of line 7. The footprint for your holes in the corners doesn’t have a name, which is required by the SPECCTRA format. Freerouting should have output the empty string but did not.

2 Likes

Well spotted, excellent.

The problem was cured by replacing, in the Specctra session file, this;

(component 
 (place @HOLE0 1955010 -1520040 front 0)
  (place @HOLE1 1015010 -1520040 front 0)
  (place @HOLE2 1955010 -580036 front 0)
  (place @HOLE3 1015010 -580036 front 0) 

with this;

(component 
  ""(place @HOLE0 1955010 -1520040 front 0)
  (place @HOLE1 1015010 -1520040 front 0)
  (place @HOLE2 1955010 -580036 front 0)
  (place @HOLE3 1015010 -580036 front 0)

Thanks again.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.