Import project from Altium

Bug #1755952 reported by Hildo Guillardi Júnior
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
New
Unknown

Bug Description

KiCad already have the Eagle project import.
It will be interesting have also Altium import.

Revision history for this message
Nick Østergaard (nickoe) wrote :

In the mean time use, https://github.com/thesourcerer8/altium2kicad

It works quite well.

Changed in kicad:
importance: Undecided → Low
tags: added: altium import
Changed in kicad:
importance: Low → Wishlist
Revision history for this message
Russell Oliver (roliver8143) wrote :

Well looks like i'm learning Perl...

Revision history for this message
Maciej Suminski (orsonmmz) wrote :

Not necessarily [1], but I have no idea how well developed the library is.

1. https://github.com/pcjc2/openaltium

Revision history for this message
Jon Evans (craftyjon) wrote :

There is also this, schematic only but at least it's in Python
https://github.com/vadmium/python-altium

Revision history for this message
jean-pierre charras (jp-charras) wrote :

@Russel,

Last year, I had a look into openaltium.

I cleaned the code, converted it in C++, added a cmakefile.txt, a lot of comments and fixes and a Kicad format output.

There is a lot of things to do, mainly because many chunks are not or incorrectly decoded.
From this point of view, altium2kicad is much better.

I can send my version of openaltium if you want.

Revision history for this message
Hildo Guillardi Júnior (hildogjr) wrote :

About the Altium files formats, I can list the main and correlate with KiCad:
.SchDot : sheet template -> .kicad_wks
.SchDoc : schematic -> .sch
.PrjPcb : project -> .pro
.PrjPcbStructure : rules about rooms (blocks of schematic that repeat) -> ?
.PcbDoc -> .kicad_pcb
.SCHLIB / .LibPkg / .IntLib : symbols and footprints -> .lib / .kicad_mod
.rep / .dat -> .dcm?
.DsnWrk : group projects .PrjPcb -> It have not a correspondent on KiCad
.OutJob : configuration to output GERBERS / PDF / ... -> It have not a correspondent on KiCad
.xml : BOM -> .xml (Use a total diferent format of KiCad, see https://github.com/xesscorp/KiCost/blob/master/kicost/eda_tools/altium/altium.py and do not need to be converted)
.pas : Pascal code for some kind of project initialization -> ?

If help, I have this Open project on Altium that could be a workbench https://github.com/hildogjr/edgeverter/tree/master/prj%20Altium.

About the packages, how far I have analyzed, `altium2kicad` appear more promising. But I still have to do more test with Altium files to check the issues of each tool.

Revision history for this message
Cé (cedric-dewijs-telfort) wrote :

I would like to start coding this feature. This is the first time I'm trying to code anything for KiCAD. Where do I begin? Should I make a fork from here: https://github.com/KiCad/kicad-source-mirror ,then make a new branch, and send pull requests when I have made progress?

I've opened a topic on the forum about this:
https://forum.kicad.info/t/altium-2-kicad-converter-using-parts-of-the-kicad-source-code/14169/3

Cheers,
Cedric

Revision history for this message
Cé (cedric-dewijs-telfort) wrote :

Hi All,

I see pull request on Github are not accepted or watched. how can I make a new fork and branch on https://code.launchpad.net/kicad?

Cheers,
Cedric

Revision history for this message
Seth Hillbrand (sethh) wrote :

Hi Cé-

1) git clone git+ssh://<email address hidden>/kicad kicad-source
2) cd kicad-source
3) git remote rename origin upstream
4) git remote add origin git+ssh://<email address hidden>/~cedric-dewijs-telfort/+git/kicad
5) git push --set-upstream origin master

You now have two remotes in your directory, one named "origin" that has your personal git repository as the push target and one named "upstream" that targets the kicad repository. You won't be able to push to it, but you can fetch and rebase from it to keep your repository up to date.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

Using github is fine but the actual project is hosted on launchpad so we would not be able to do a merge in the same way we can when you use git on launchpad. You can send patches to the developers mailing list[1] for review.

I believe that one of the main KiCad developers has already created an Altium project importer. If I am remember correctly that there were some concerns about the legal ramifications so you may want to consider asking on the developers mailing list before you spend a lot of time writing code for something that is already in progress.

[1]: https://launchpad.net/~kicad-developers

Revision history for this message
Cé (cedric-dewijs-telfort) wrote :

Hey Wayne,

Thank you. I'm aware Altium2kicad exist, is that what you are referring to? I've tried it, but it does not keep all the different elements of a footprint together. If I move a footprint of an imported PCB, then only the pads move along with it, but the rest stays where it was:
https://github.com/thesourcerer8/altium2kicad/issues/61

I will join the developer mailing list, as I believe that it's legal to reverse engineer something to enable 2 programs working together. Also, there's something like clean room reverse engineering. But I'm not a lawyer, and I can imagine different parts of the world have different rules / interpretations. Still I see no difference between the eagle and the Altium importer. But this bug report is not the place for a deep discussion about this :-)

Thanks for the heads-up.
Cheers,
Cedric

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Cedric, this is not the Altium2kicad conversions tool. It is an actual plugin similar to the Eagle plugin that we currently have. AFAIK, the primary difference is that the Eagle file format (greater than version 6) is xml and the Altium file format is a binary format that uses MS OCX controls which may have restrictions on reverse engineering. This is what I know from the developer but it's been a few years since this discussion occurred so I may not be remembering this correctly. The developer's mailing list is definitely the proper place to discuss this.

Revision history for this message
jean-pierre charras (jp-charras) wrote :

@Wayne,
Perhaps you are thinking about this one:
https://github.com/pcjc2/openaltium

Some time ago I made some work from this project.

And the developer's mailing list is really the proper place to discuss this.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@JP, it was one of our developers who was working on it. I will let that developer come forward to discuss it if they are willing. I didn't realize Peter (Clifton) was working on Altium tool. I haven't talked to Peter for a long time so this must be something fairly recent.

Revision history for this message
Cé (cedric-dewijs-telfort) wrote :

Hi All,

I've subscribed to the development mailing list, and asked the question there:
https://lists.launchpad.net/kicad-developers/msg38665.html

I would love to see the code that has been written for the Altium importer sofar.

Cheers,
Cedric

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/2117

Changed in kicad:
status: New → Expired
Changed in kicad:
importance: Wishlist → Unknown
status: Expired → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.