-
-
Notifications
You must be signed in to change notification settings - Fork 53
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
A new valid placement area calculation method #32
base: v5.1
Are you sure you want to change the base?
A new valid placement area calculation method #32
Conversation
I think this is now ready to review. Behaviour has changed a little from the previous implementation:
I've tried to leave the GUI alone, but possibly it'd be worth updating that to be more in line with my changes? I'm trying to think of functionality or use cases that I've dropped with my sweeping changes, but nothing really sticks out. Feedback is welcome. |
@jsreynaud, any thoughts on this PR? If it is too much of a drastic change, I'm happy to fork it off into another repo as a standalone plugin. |
@m-schubert I had test with pic_programmer.kicad_pcb file (in kicad demo)
I think it's normal since there a single area (bottom). But if you change the configuration of the board by adding 4 layers and if you duplicate the bottom area and put the new one on inner1 or inner2 it don't place any via. => Your plug-in put via only if there are a top+bottom configuration. Could you fix it ? For me you don't check collisions with elements in inner layers. => Could you fix that ? As I see your fix is for KiCad 5.1. I'm really interested to merge it and then make the appropriate corrections to be able to use it on future 6.0 version. Thanks, |
Thanks for the feedback!
Yep, it should be possible to adjust the code to connect any two copper layers.
Good pick up. I'll have to think a bit about how to adapt my "valid placement region" generation code, but it should be possible. There may be some edge cases to consider.
Sounds good. I'll let you know when I've finished making my changes. |
@jsreynaud, I think I've updated it to behave like you've suggested. Are you able to test it and let me know? With the new code, vias will be placed in positions that:
|
Sorry for late reply. |
@jsreynaud |
There's been a couple of of issues (#23, #31, maybe #29) about the way the via stitching plugin places vias on a grid and handles step and clearance settings.
I ran into these same problems, and so I've started on a bit of a new algorithm for via placement. It goes like this:
At this point I've only implemented the standard grid pattern, but if there is interest I can do the star pattern, and I was thinking of doing a proper Poisson disc random distribution. For now, at least, here is my WIP.
Oh yeah, the new algorithm seems to be a bit quicker, too.