Work in progress: Native Altium Importer

@pointhi
is there a way to convert ASCII Altium PcbDoc file to KiCAD?

not yet, at least with my importer

Is there anyone having Altium that could do the conversion?

Conversion done via PM… Many Thanks :smiley:

Are you saying Altium can export KiCAD files??? By “files” I mean schematics. We don’t have a current Altium layout, but I suppose we do have Altium libraries for many of the parts. Can we convert this to KiCAD? Will the libraries become something usable?

For now, KiCad can import board files using the nightly version. I resumed development of the schematic importer, but it is far from finished: https://gitlab.com/kicad/code/kicad/-/merge_requests/472

At least I haven’t planned to add Altium library support for v6.

3 Likes

No way Altium would add KiCad export! I think the latest messages meant a roundabout conversion from “ASCII Altium PcbDoc file” to another Altium format to be imported by KiCad.

The good news is that the schematic importer is already in the official master branch of KiCad, but it’s appareantly not ready for all uses yet. See https://gitlab.com/kicad/code/kicad/-/merge_requests/472.

I haven’t seen any discussion about converting libraries. At the moment you have to open one instance of each symbol or footprint in the corresponding library editor and use “Save As” to create your own librares. (EDIT: open them from the schematic or the layout.)

2 Likes

Dang, pointhi was too fast…

To get some idea about the current State. This is how it should look like in Altium:

This is the state, how the schematic import would look in the current nightlies. You see, completly unusable:

This is the state you would get after the merge-request. Power symbols, Text and so is still missing, but it finally looks like a schematic:

7 Likes

thanks pointhi for your efforts, something great you have going on there! keep it up!

Hi,
I’ve been using v5.99 from ppa/ubuntu for a while now.
I would like to test the Altium importer, but I can’t find this option in the menu.

Do I need to download a specific version and compile?

@pedro At the moment the importer is hidden to normal users due to being incomplete. If you want to give it a try anyway, you will have to create a new advanced configuration variable. You’ll need to create a new file kicad_advanced in the KiCad configuration folder, if you don’t have it already. Then (as pointhi mentioned in his merge request):

Set PluginAltiumSch=1 in ~/.config/kicad/5.99/kicad_advanced for now.

3 Likes

If you’re not compiling, you’ll want to wait a day to get the new updates. What’s currently in your ppa build is the old “completely unusable” version (which is why it’s hidden behind the advanced config flag)

1 Like

I pushed some additional improvements onto master, like support for labels, bus_entries, and the usage of the correct schematic sheet size.

1 Like

To be exact the pcb import have been there for some time, but the schematic import have been behind an advanced configuration option. If it’s like that, two things have to be done:

EDIT: LOL, I didn’t notice Qbort’s message. The search result points to that post.

1 Like

Jeff has already started the port of our project. He seems to think the cleanup will be fairly easy. That’s great. While Altium was fine, we had a hard time finding people with a license. I’m hoping we will have better luck finding enough people with KiCad experience… so far it looks good. We have three people offering help.

Seems like the port is going well. There were some issues, but Jeff seems to have straightened that out. I don’t know if he intends to provide any feedback.

In the last week, I managed to improve board as well as schematic import, and fixed some bugs:

Board import:

  • support via records of size 74
  • support keepout arcs/tracks on multiple layers
  • fix netclass parsing
  • handle arcs in polygon/zone outlines
  • detect and ignore polygons which are invalid for KiCad (<2 points)
  • use center dimension of KiCad, instead of original workaround

Schematic import:

  • handle symbol names with spaces
  • parse symbol description, reference and fields (and place them on schematic)
  • parse some page settings
  • correctly handle multiunit symbols
  • parse power ports incl. all their different shapes
  • parse ports (for now, assume global labels)
  • parse sub-sheet entries (but not the sheet itself)

There are still quite a few issues (sometimes wires are disconnected, some arcs are not visible,…) but I’m happy for testers. I would suggest to focus on single-sheet import for now, to fix this one up. I will tackle multi-sheet import later.

To enable the schematic importer, people need to enable it in the advanced configuration options for now:

Set PluginAltiumSch=1 in ~/.config/kicad/5.99/kicad_advanced for now.

5 Likes

@pointhi For Ubuntu users, does it mean we can now use nightly builds instead of building KiCad from scratch?

@eeintech yes, my changes should be in the nightly builds, as long as they are up-to-date.