DXF import / polygon creation?

Hello! I am a long time EagleCAD user transitioning to KiCAD and I’m finding it hard to search for information about infrequent use cases, I may be using the wrong keywords.

I have a DXF file that I am importing to create a polygon for a flex board’s stiffener. It imported great as a graphic as shown below, and as shown it was able to convert it to a polygon and fill it in on the left tab. Edge cut layer is not visible but the tab is connected to the main outline.

The issue is that what I want is to form a closed polygon between the inner curve and the outer curve in the right section of the layout below, to specify in the gerber files where stiffener should go around the edge. Maybe there is a better way to do this, but trying to convert this to a polygon didn’t do anything helpful and I’m not sure what approach is advisable. I put the stiffener in layer User.1 and would just like to avoid any confusion from the fabricator regarding where it goes.

Hello! I am a long time EagleCAD user transitioning to KiCAD and I’m finding it hard to search for information about infrequent use cases, I may be using the wrong keywords.

I’m on the same road since 9 month. Searching/reading (and asking) on this forum and spending much time playing around with kicad was my way to learn the tool.

regarding the flex board / board stiffener: I think the idea to put the geometry on a separate layer (==separate gerber file) sounds reasonable. But my last project involving flex-pcb was a long time ago - so be careful with these opinion.

regarding creating the shape:
This is what I think you want to do (I’m not sure I correctly understand what you want to do, so correct me if I’m wrong):
You want to create a 3mm shape which completely covers the area between the outer<->inner lines of your picture?
If this assumption is correct: the “convert to polygon”-command will not work in this case. The “convert to polygon”-command needs exactly one shape of lines+arcs to form a closed polygon. Your imported shapes form 2 polygones - the “conversion”-tool can not handle these.
So my advice would be:

  • draw a middle line/polygon in the CAD-tool (between the outer-inner shape).
  • import only this middle shape with dxf-import to layer user.1
  • convert these middle shape to polygon
  • set polygon to not filled
  • set polygon-width to 1…2…3mm (just the width you want for your flex-stiffener)

have a look at:

I see. I suppose that’s about what I would do in EagleCAD as well, draw a central line and use its width to define the board edge. I’m honestly a little surprised, I suppose it doesn’t come up much outside of a DRC.

Another possibility to get a filled polygon with a hole/cutout in the middle: Use the *.SVG-import.
This import-filter is able to create a polygon with empty hole. So (theoretically) in your CAD-tool you can draw an outer polygone, an inner polygone, fill the space between these two shapes, save as *.svg and import this shape into the kicad-board-editor.
Attention: importing filled shapes doesn’t works in the edge.cuts-layer!

Unfortunately this worked not as smooth as described above. I had to insert a intermediate step so the workflow was the following:
1.) creating outline and filling in QCAD(save as native dxf). Importing this dxf ignore the fills. file:
dxf_02.dxf (103.4 KB)

2.) export from QCAD as *.SVG (file: dxf_02_als_svg):

3.) start Inkscape (graphical vector program). Load the dxf_02_als_svg.svg into Inkscape
4.) immediately save the File from Inkscape. It seems inkscape does a reformatting of the file (looks the same, but is binary different). File dxf_02_als_svg_inkscape.svg

5.) in Kicad: import this resulting dxf_02_als_svg_inkscape.svg into the silkscreen/F.Fab/User-layer.

The export to gerber works fine and produces the wanted filled shape.

some background-info regarding SVG-import with holes in this gitlab-bugreport: SVG import does not process holes in polygons correctly (#6739) · Issues · KiCad / KiCad Source Code / kicad · GitLab

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