MitjaNemec / Kicad_action_plugins

Kicad action plugins
414 stars 62 forks source link

replicate_layout: Keep locked footprints in their original positions #81

Closed prasetekus closed 4 years ago

prasetekus commented 4 years ago

First of all, thank you for great tools facilitating board design in KiCad.

In current design, I need to replicate layout but keep some specified components (connectors) in specific positions. Of course, it could be solved by detaching the connectors to another sheet but it would make the schematic unnecessarily complex.

I tried to add an option to keep locked items at original position. I am not very strong in programming and in python at all, so you maybe find my modifications messy. However, I tried this way rather than a feature request.

Worth to mention that wxFormBuilder warned me, that it saved the modifications in new file format. I am not sure, if you would like to accept it.

MitjaNemec commented 4 years ago

Thanks for your contribution. I like the idea, but I'll need a bit of time to review the changes.

As for the wxFormBuilder, you've used the latest version (3.9 most likely) and I used an older one. I' updated the files on master branch with 3.9 so the diff makes more sense.

MitjaNemec commented 4 years ago

From a quick review, I get the idea. Your approach is that the plugin will check each source (pivot) footprint and if it is lock it will leave corresponding destination footprint(s) alone.

There is also another approach possible. The plugin could check each destination footprint and if it is locked it would leave it alone. I'd like to hear your thought on this approach.

prasetekus commented 4 years ago

Thank you for kind review of the edits.

Yes, I have compiled the wxFormBuilder from GitHub, because I could not find suitable binary for Debian. I tried to amend the fbp file so that it contains as few changes as possible with respect to your updated file.

The approach with checking the pivot footprint fully matches my needs; however, the approach checking the destination footprints, you suggested, is more flexible, thus a better way in my opinion. I altered the code appropriately.

MitjaNemec commented 4 years ago

I've cleared your code a bit and merged the PR.

Thanks for your contribution.

prasetekus commented 4 years ago

Thanks for the adoption