Import from Altium - rebuild relation multischema to PCB

I’m importing an existing project from Altium. The project has multiple schema and one PCB. I used the online to Altium2KiCAD tool. It generated several schema and une PCB. I try to aggregate this in a unique project, to finally be able to push modifications en EESchema to the PCB in PCB new (Forward annotation process).

Note that all components in PCBnew have the same timestamp :frowning:

From PCB new, I first of all exported all footprints from the PCB in a project library, and generated the .cmp footprint association file.

Then I felt I needed to create a single project with all my schema and the PCB:

  • created a hierarchical to schema with as many subsheets I needed,
  • then for each of of them, I added one of the indididual “Altium converted schema” I have , using the file> “+schema” (add a schema sheet).

However, in the process I loose the annotations: U8 becomes U?. And when I redo the annotation, I loose the link with the PCB.

Even if I manually copy the schema file in the project folder:

  • if I open the file directly with EEschema, I have the annotations
  • if I open it in the top project, after linking in a hierarchical sheet, I loos the annotation ?!?!? all tags replaced by C?, U?, R?
  • if I relaunch the annotation with “keep existing annotation” then all is unfortunatly renamed :frowning:

So what would be the correct process to import the schema, while keeping the annotations and aloowing to keep the relation with the PCB ?

Best regards,

JM

In kicad you can make multiple instances of the same hierarchical sub sheet. For this reason the annotation is stored slightly differently than in the top sheet.

I will play around a bit maybe i can find a workaround for your problem.

You might want to report this as a bug on that tool. KiCad expects no timestamps to be duplicated. (They are not really timestamps but unique identifiers)

Ok i played around a bit.

I could get it to work as follows:

Step one make sure you have a copy of every sheet you want to add somewhere safe.
Add the hierarchical sheet in eeschema and save the project.
Close kicad.
Overwrite the sheet you just added with the copy you had in a safe place.
Reopen kicad and check if it worked.
This workflow will not work if you have multiple instances of the same sheet in the project!

I tested this in a small project in kicad 5. It could behave differently in kicad 4 and also for larger projects.

1 Like

Thanks !!! I’ll test that.

If fact the best for me would be a build a reliable “timestamp” relation between the schemas and the PCB, based on the working annotation (based for example using your trick).

Is there a way to " forward" update the time stamps based on the annotations ?

JMF

I think the normal update pcb from schematic stuff should take care of it, assuming the references are equal and the footprints assigned correctly.

Thanks Rene,

Your trick to replace the files after creation of the hierarchical sheets worked. I achieved consistent schema / PCB annotation.

However, I confirmed that due to the Alitium2KiCAD conversion tool, the timestamps are not unique. Neither in schema, nor PCB.

I don’t know if there is a tool/script that would allow to recreate unique timestamps, based on the annotation associations… I believe that the possibility to update the annotations at the end of the project, when everything is stabilized is important.

However, this import is usefull, but also brings a lot of constraints. I wonder If I should not start a new project, manually duplicating the layout and concept, but full KiCAD. More work intensive, but maybe more solid at the end …

JMF

I went that route when i switched over from eagle. It gave me the opportunity to rethink my approaches and made my PCBs better in that process.
Sadly it was also a point where errors got introduced. So i have mixed feelings about my original decision.

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