Can I place a keepout area directly inside the footprint? I will not be the only user of that footprint and I would like to avoid adding extra steps to place keep out areas on the pcb.
KSU is at commit c25f75b
(Your branch is up-to-date with ‘origin/master’.).
Freecad is 0.18.3.
I see, it is not leading to a pad as it is a graphic for the silkscreen here and therefore not imported.
If I have a custom shape with a hole inside this should still be topologically connected. Let’s say you take the example before and close the two feet into one, creating a non-copper region inside a closed region. When converted to kicad_mod it will end in a footprint without the hole inside.
fp-Logo.kicad_mod (4.8 KB) logo-fp.fcstd (21.8 KB)
So, if I understand well this is not supported by kicad.
I struggled to get it working properly and I am in favour of the approach using a proper cad.
I am trying now using a complex logo to understand the limits of each approach, but the idea is to use it for complex coil shapes, antennas and meta-material RF elements.
Their shapes are sometimes quite exotic and they resemble more of a complex logo, but I can assure you there is a rationale behind their shapes and those might be scripted.
The final goal is to automatically create footprints for automatic inclusion in kicad, with full DRC support.
For example, as a test, I tried this (svg) shape:
using svg2shenzen but I was not able to export it:
I am using Inkscape 0.92.4 (5da689c313, 2019-01-14) on Linux Kubuntu 19.10
Traceback (most recent call last):
File "export.py", line 752, in <module>
_main()
File "export.py", line 748, in _main
e.affect()
File "/usr/share/inkscape/extensions/inkex.py", line 283, in affect
self.effect()
File "export.py", line 324, in effect
self.processExportLayer()
File "export.py", line 490, in processExportLayer
with open(kicad_file, 'r') as f:
IOError: [Errno 2] No such file or directory: '/tmp/.svg2shenzhen-cache/customshapekicad.pretty/F.Cu_g824.kicad_mod'
I checked the folder and it is there, but the file is missing, but I suppose it should be created by the extension and not manually. I am not sure how to fix this error.
So then I tried the same shape again with the approach using freecad (custom.FCStd (9.3 KB) ) but the result is an oval without the inner hole, as discussed before.
Anyway, i tried again using the bitmap to component and I was able to make a single pad with a single primitive (custom_b2c.kicad_mod (9.9 KB) ), so it should be somewhat possible to have custom pads with custom shaped holes inside.
How would you convert this latest one using KSU? Should I always split it into two shapes and then combine them into two primitives for the same custom pad?