thesourcerer8 / altium2kicad

Altium to KiCad converter for PCB and schematics
https://www2.futureware.at/KiCad/
GNU General Public License v2.0
837 stars 153 forks source link

Cannot convert Scheme and PCB #134

Closed highvoltageenjoyer closed 1 year ago

highvoltageenjoyer commented 1 year ago

So I have a project in our lab which is completely made within Altium and I want to convert it into KiCAD. but I have faced some problems: With the conversion of the Schematic I get this error code:

Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 867. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 867. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 868. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 869. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 867. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 869. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 869. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 870. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 867. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 867. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 868. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 868. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 868. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 869. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 869. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 869. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 870. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 870. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 870. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 870. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 867. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 867. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 867. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 868. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 868. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 868. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 868. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 869. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 869. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 870. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 870. Use of uninitialized value in multiplication () at /home/oliver/Programs/altium2kicad/convertschema.pl line 870.

Where at this point the conversion fails completely and I do not get a KiCAD schematic file.

With the PCB conversion the error appears when I try to open KiCAD with a new Project and then append the converted pcb. It gives me an overflow error in such that I can't open the pcb file in any way.

It would be great if you could help us in our lab with this. Since we only have one computer with an Altium license I want to get as much independent as possible through KiCAD.

In the attachment you will find the Project files. svd.zip

thesourcerer8 commented 1 year ago

I have slightly improved the converter to detect missing coordinate components so that it leaves out those objects and doesn't cause unparsable KiCad files. It generates a .sch file now that KiCAD can open. Could you please provide a PDF of the schematic from Altium so that I can take a look at what is missing now?

highvoltageenjoyer commented 1 year ago

Thank you for the response! Yea sure! You'll find it in the Attachments. I kind of have found out at when it stopped working, it seems like there was a new KiCAD update recently. This maybe caused things to not work anymore. svd_single_channel_revB.pdf

highvoltageenjoyer commented 1 year ago

I have now tried your latest push, sadly it still does not work. It now actually creates a .sch file. But the file cannot be opened, KiCAD tells me there is a syntax error in the XML file.

You may also need this kind of empty picture for correct schematic conversion (In the attachment). Altm black

thesourcerer8 commented 1 year ago

I just tried the new Altium Importer that has been integrated into Kicad itself (one in PcbNew and on in EESchema, to be found in "File -> Import -> Non-KiCad Files", and the results are much better than altium2kicad, so I would suggest to you use the KiCad integrated importer yourself instead of altium2kicad. If it works for you, please close this issue. If it doesn't work for you, please let me know.

highvoltageenjoyer commented 1 year ago

So the actual version 7.0 of KiCAD does not feature a conversion vom altium to KiCAD, the same with the nightly version which I had to compile myself. This accounts for Linux. It seems like, or as far as I have seen it, this kind of conversion only exists on KiCAD versions for Windows.

So sadly this problem still exists :(

thesourcerer8 commented 1 year ago

It was working for me on KiCAD 6.0.2 on Linux, so it definitely isn't a Windows-only feature. I am upgrading to 7.0.5 now and will try again ...

thesourcerer8 commented 1 year ago

It also works the same way in 7.0.5. For PCB Layout design, you can use the kicad tool, create a new project, go the the layout editor, click on File -> Import -> Non-KiCad-board file. For Schematic design, I suggest to start eeschema directly (not to go through the kicad project management tool), -> File -> Import -> Non-KiCad-plan. grafik

highvoltageenjoyer commented 1 year ago

Omg it finally worked! So the working process is like this:

Do not open a Non-KiCAD Projekt but JUST the PCB and Schematic. That was the fault I did all the time. So you directly go to the PCB and Schematics Editor and there you import the Non-KiCAD File.

Thank you very much!

thesourcerer8 commented 1 year ago

Ok, can we close this issue?

highvoltageenjoyer commented 1 year ago

Yes we can :)