Altium 2 kicad converter, using parts of the kicad source code

Hi There,
I’ve been playing with this perl script. It reads an Altium file, and converts it into a Kicad file. This works by unpacking the Altium file, and then build the Kicad file.

I would like to make a program in C++/Qt that does the same thing, but I would like to not re-invent the wheel, so I would like to use code from Kicad. therefore I have the following plan. Is this a good plan, or is there a better way? Has somebody already done (parts of) it?

  1. Altium used the Microsoft Compound Document File Format to store its elements. Pole should be able to separate the different parts of the Altium file (like pads, arcs and so on), so I only need to write a Qt wrapper around it:
    http://www.dimin.net/software/pole/
    https://www.openoffice.org/sc/compdocfileformat.pdf
  2. Then I can write something that converts each part of the altium file into property-value pairs.
  3. Then i can convert the property-value pairs into a model of the PCB that Kicad uses internally
  4. Then I can use the Kicad save function to write out the Kicad File for me.

Cheers,
Cedric

2 Likes

If you are interested about python, you could construct a board directly without an intermediate representation.

If you are interested about not implementing yet another altium importer, why not trying to integrate it into Kicad like the eagle importer? You seem to want to write it in c++ anyway. No need to program abstractions between.

Hi pointhi,
Thank you. So far I’ve made all my C++ programs in Qt, so it’s less daunting for me than to put in into KiCAD. Having said that, i guess it’s less work to integrate it into KiCAD, as it has already been done with eagle, so all the software interfaces for an importer are already there. Also, adding this directly into KiCAD has the advantage that after it works, somebody else will maintain it for me :slight_smile: . So it’s time to see if I can build Kicad from source.

In the meantime I’ve found somebody who has also made something that interprets Altium files. I have not yet looked into it, but I leave it here so I don’t forget about it:

Cheers,
Cedric

Found another one, for reading an Altium schematic

Cheers,
Cedric

1 Like

Placed a link on the bug tracker to here:

1 Like

If there was a good native Altium importer (for AD, CircuitStudio, or CircuitMaker) then it would make it a lot easier for people to change over. I know at our company it would make a huge material difference to considering whether to upgrade to the latest version of Altium or make a clean break to Kicad.

There seems to be various projects out there that make up the components needed, so I wish you the best in pulling them together into something that can be added to the Kicad roadmap (like the Eagle importer was)

This may even be something that will pull in more donations given it’s commercial ramifications - Especially if it works as good as the Eagle importer!

1 Like

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