OpenGL renderer doesn't show Edge.Cuts from imported Eagle footprints

Bug #1399737 reported by Paul "LeoNerd" Evans on 2014-12-05
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Undecided
Unassigned

Bug Description

Recent versions of KiCad support footprints supplying the Edge.Cuts layer - if I draw a new footprint, I can place a board outline.

Eagle packages ("footprints") can supply a board outline, such as used to great effect by Dangerous Prototypes' "Sick of Beige" collection of standard PCB sizes:
  http://dangerousprototypes.com/docs/Sick_of_Beige_standard_PCB_sizes_v1.0

The Eagle footprint import plugin manages to lose this layer, though does successfully import most of the rest. It would be great if it could support the Edge.Cuts, as that means KiCad users can natively use the DP SOB board sizes for their designs.

A couple of small hints:

 * The Eagle "dp_pbc.lib" file linked by the page above is in Eagle v5's binary format, not Eagle v6's XML format. If required as a sample to test with, I can provide a re-exported v6 XML format file, that KiCad can load

 * The name of the layer in Eagle is called "Dimension", layer number 20.

Related branches

Paul "LeoNerd" Evans (leonerd) wrote :

Hrm. I thought I'd have a quick look at implementing this myself, but at first glance it appears this code is already in place.

pcbnew/eagle_plugin.cpp line 2678:

        case 20: kiLayer = Edge_Cuts; break; // eagle says "Dimension" layer, but it's for board perimeter

Perhaps a more subtle bug than I thought

Paul "LeoNerd" Evans (leonerd) wrote :

Actually, it seems to be a renderer issue. If I use the "default" or the "Cairo" renderers, then this renders just fine. Even in the 3D view it shows.

Also if I export the KiCad part to a .kicad_mod file and view it, I do have the edge cuts:

  (fp_line (start 4 0) (end 66 0) (layer Edge.Cuts))
  (fp_line (start 0 -39) (end 0 -4) (layer Edge.Cuts))
  (fp_line (start 70 -4) (end 70 -39) (layer Edge.Cuts))
  (fp_line (start 66 -43) (end 4 -43) (layer Edge.Cuts))
...

It seems only that the OpenGL renderer doesn't show these lines.

summary: - Imported Eagle footprints lack Edge.Cuts layer
+ OpenGL renderer doesn't show Edge.Cuts from imported Eagle footprints
Nick Østergaard (nickoe) wrote :

Without looking in the pcb file, it seems like the edge.cuts line is zero width, hence it is shown with a 1px line in the default renderer, whereas the GAL render renders a more "true" image, that is nothing, because of the zero width.

Nick Østergaard (nickoe) wrote :

The width attribute is indeed not added as sen in the excerpt from LeoNerd. But I have found the following:

1. When the board is saved, it will save without the width attribute.
2. When the board is opened again pcbnew will assign the default width of (width 0.15)

So saving and opening it again is a workaround.

It still needs to be assigned a width on load, such that the width is always known, IMHO.

tags: added: eagle plugin
Wayne Stambaugh (stambaughw) wrote :

Fix committed in product branch r6244.

Changed in kicad:
status: New → Fix Committed
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers