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