Mailing list archives : pcb-rnd

ID:3427
From:ge...@igor2.repo.hu
Date:Sat, 5 Oct 2019 11:00:35 +0200 (CEST)
Subject:[pcb-rnd] io_kicad load improvements
Hi all,
 
I've just finished some bugfixes on the io_kicad plugin. Thanks to Karl 
for prividing the requested test cases.
 
At the moment there are two known bugs:
 
1. CUCP#39: some clearances are specified at and enforced by the polygon 
(zone), not the object; pcb-rnd doesn't yet have support for that, so 
clearance values from those files may be a bit off. I decided not to work 
this around (by changing object clearances) until we have a similar 
by-polygon clearance feature in pcb-rnd, because loading polygons is 
one of the things that will never 100% match between different EDA tools.
 
 
2. CUCP#49: kicad 5 allows keepout zones to use multiple layers. We won't 
have anything similar in pcb-rnd: one polygon will affect one layer. 
However, the loader could copy the polygon to all affected layers. I did 
not yet implement this, because it seems the multi-layer-zone in kicad 
happens exclusively for keepout zones and we don't yet have the new DRC 
that would care about that anyway. So multi-layer keepout zones are lost, 
with a warning.
 
I think both of these are marginal issues and we generally can say that we 
fully load and use kicad s-expression files now.
 
If you find kicad s-expression board files that break on load, please 
contact me:
 
- if it is a segfault, I only need the kicad board file
 
- if it's something loaded the wrong way, I will need the kicad board file 
and gerber exports of the same board from kicad and a short description 
what to look for
 
- in the second case, if you want to use this in production and want the 
result fast: make a minimal test case first, by using kicad to delete 
everything that is not required to trigger the bug. At the end there 
should be only a few objects left on the board and the resulting board 
file should be below 10k. Such test cases have very high chance to get 
handled fast, while 100 kilobyte, 6 layer boards packed with hundreds of 
components will tend to enter the queue and handled much later.
 
 
 
Please note: our policy about alien formats has not changed. That means, 
we support alien format (often read/write) so you can convert between 
tools - but we never promise losless, 100% accurate round trips in any 
direction. After a conversion, some manual checks and tunings may be 
needed on the target side.
 
In other words, you can't realistically use this feature to work together 
on the same board file using pcb-rnd with a kicad user, one commit from 
pcb-rnd, one commit from kicad. The reason is simple: the data model of 
different EDA tools differ so drasticly that it's impossible to represent 
the same board the same way.
 
It is more efficinelty used as in "convert this old kicad design to 
pcb-rnd so I can modify it and get it fabbed" or "save this pcb-rnd board 
in kicad format so my kicad user friend can have the dimensions and 
connector locations to design his plugin board in kicad".
 
Best regards,
 
Igor2
 

Reply subtree:
3427 [pcb-rnd] io_kicad load improvements from ge...@igor2.repo.hu