Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kikit panel CPL file all over the place #440

Closed
whinis opened this issue Apr 10, 2024 · 15 comments · Fixed by #480
Closed

kikit panel CPL file all over the place #440

whinis opened this issue Apr 10, 2024 · 15 comments · Fixed by #480
Assignees
Labels
more info needed Need more info to resolve this

Comments

@whinis
Copy link

whinis commented Apr 10, 2024

I think this is a regression of #155. I submitted a 3x3 board and had my CPL rejected. It seems that its randomly selecting a reference designation for each part, leading to the placement being all over the panel rather than on one unit.

@Bouni Bouni added the more info needed Need more info to resolve this label Apr 11, 2024
@Bouni
Copy link
Owner

Bouni commented Apr 11, 2024

Can you provide your generated files so that I can take a look at them?

@whinis
Copy link
Author

whinis commented Apr 11, 2024

@Bouni
Copy link
Owner

Bouni commented Apr 17, 2024

OK, I guess th eproblem is that the ref, SW1 for example occures on each pcb of the panel, ehich makes absolute sens (I've never done panels before, so I never thought about that).
Can you provide the .kicad_pcb file or even better the complete prjetc files as well? I need to check what the API returns for all the footprints.

@whinis
Copy link
Author

whinis commented Apr 17, 2024

@Bouni
Copy link
Owner

Bouni commented Apr 18, 2024

Is there a reason you did not include the panized version in th egit repo?

@whinis
Copy link
Author

whinis commented Apr 18, 2024

I just generate it each time via kikit and the included kitkit json file

@shuki25
Copy link

shuki25 commented Jun 5, 2024

I have the same problem as above. The latest revision does not produce CPL position for every components. I have 2x2 panel generated by Kikit, it only list once for each component randomized from one of the boards (4 boards total). See example:

image

I did not have that issue before until Version 2024.04.02 when I started having problems. I haven't tested it with 2024.04.01 yet. Last production run with panelized boards were in March so I probably ran it off on 2023.09.01 version. AFAIK the 2023.09.01 version generated the panelized CPL file correctly. I'm currently on version 2024.05.01, this version is causing problems. I'm unable to rollback to the older version. I need to have the board produced this week and this is problematic.

@shuki25
Copy link

shuki25 commented Jun 5, 2024

Just to add comment here, I was able to generate position file using KiCad's File > Fabrication Outputs > Component Placement and renamed the columns in the generated file and it worked. It just that your plug-in is not producing correct output. This is a temporary workaround for Kikit generated panelized boards.

@Bouni
Copy link
Owner

Bouni commented Jun 7, 2024

@shuki25 can you share the project files including the panel?

@shuki25
Copy link

shuki25 commented Jun 7, 2024

@shuki25 can you share the project files including the panel?

No. It's proprietary. Sorry.

@whinis
Copy link
Author

whinis commented Jun 7, 2024

Did my panel not work ?

@Bouni
Copy link
Owner

Bouni commented Jun 7, 2024

Did my panel not work ?

I wasn't able to generate a panel. For whatever reason I can't get KiKit to work ...

@Bouni
Copy link
Owner

Bouni commented Jun 7, 2024

Ok, I finally managed to create the panel by using the Docker method.

I wonder how this could ever have worked!?

We iterate over all parts in the table and get the position of each part, so if we have 4x C1 for example, we just get the position fo one (random) of them, whatever the KiCAD API returns on self.board.FindFootprintByReference(part[0])

But I have a solution in mind. We iterate over all parts on the board and serach a match in the parts table. That way we get all C1 parts for example.

But that will take some time to implement ...

@shuki25
Copy link

shuki25 commented Jun 7, 2024

I don't understand why 2023.09.01 version worked just fine. Why reimplement if previous version worked? What has changed in your code base? Did it break under KiCad 8?

Bouni added a commit that referenced this issue Jun 7, 2024
@Bouni Bouni mentioned this issue Jun 7, 2024
@Bouni
Copy link
Owner

Bouni commented Jun 7, 2024

After some digging I found out that PRs #398 and #407 caused this issue.

After PR #480 is reviewed and merged I'll release another version with the fix

Bouni added a commit that referenced this issue Jun 13, 2024
KiKit Panels have the same ref, C1 for example on all boards of a panel.
In order to get all of them in the POS / BOM files we now iterate over all parts
of the board, matching them with a ref from the database.
Bouni added a commit that referenced this issue Jun 13, 2024
KiKit Panels have the same ref, C1 for example on all boards of a panel.
In order to get all of them in the POS / BOM files we now iterate over all parts
of the board, matching them with a ref from the database.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
more info needed Need more info to resolve this
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants