I know this is mostly a topic I should discuss in the Altium Forums. But since I am not into Altium at all I thought, I might ask here as well. I am pretty sure it will take the Altium guys some time to rewrite their Kicad import to match V6…
I am starting to work on a project in V6 that will at some point be converted into an Altium project by our customer. Are there people here who have done this? Are there certain features in Kicad I should avoid? Things that work well?
Since it isn’t an option yet, I don’t have any input on how Kicad 6 will play with the Altium importer. I have recently done a Kicad 5 to Altium project though, so I can speak to that.
The quick answer is everything mostly just worked! Especially on the PCB side, all of the footprints were imported to a library and automatically associated with parts on the board. I’d expect the PCB import to remain relatively straightforward, since the Kicad pcb file format hasn’t changed drastically and to my knowledge the features that Kicad supports are a subset of Altium’s. I wouldn’t necessarily expect things like board stackup or custom rules to be imported, but I’m willing to be pleasantly surprised.
The big struggle for me was duplicated hierarchical sheets for reusing analog filters, since Kicad and Altium have very different ways of assigning reference designators (I much prefer Kicad’s, but that’s neither here nor there). Altium’s separation of logical and physical sheets means that if you have to edit schematics/reannotate in Altium you’ll have to go through a surprisingly difficult process to ensure no duplicates while keeping a simple R1234 style reference designator. Geographical re-annotate from the layout does not have these issues since it works more or less like Kicad’s, so if that is acceptable, that was much easier for me.
Mostly it was a decently smooth transition, primarily limited by my learning Altium at the same time, rather than any inherent limitations of the importer.
There is currently an unsupported hack to save KiCad 6 schematics in KiCad 5.1 format, but not the symbol libraries (nor the cache files). It might work if you stick with KiCad 5 symbol libraries…
Hierarchical pins worked fine, everything remained attached and in the proper “tree” locations after import. I had no trouble with any of my single use sheets.
Unrelated: I do vaguely remember some initial confusion over additional parameters contained in my symbols: by default, Altium only shows their special Comment parameter, rather than the Value parameter. The Value was copied into the Comment to be displayed on import, but I had to remember that if I changed a value that I needed to change both the Value and the Comment field (or just make the Value displayed and the Comment hidden on every symbol).
The “proper” way to solve this is to use an atomic library where each type of part gets a unique entry like Altium expects (so every resistor value is a part in the parts library that shares a reference to the schematic symbol and footprint in those respective libraries). This is not how Kicad libraries are setup by default, though it is very possible to do in Kicad.
In the end, it wasn’t a big deal for me so I stuck with the generic symbol system that Kicad defaults to.
If the exported file is opened with Kicad, and the libraries are still the same, the schematic works.
But if the -cache.lib is needed, for any reason, then it won’t work. However, it may be possible to regenerate this cache lib since .kicad_sch has all it is needed. I just don’t know how to do it yet.