I would rather simplify the plugin installation process and let the users decide which plugins they want to have.
One idea would be to imitate FreeCADâs plugin/script manager where the user can install a new Plugin with a couple of clicks from a central repository, but still is able to install Plugins the âhard wayâ putting the files on the correct path. The manager could also check which plugins are compatible with the current version of KiCAD, in order to not show broken/unmanteined/old stuff.
(This discussion could be moved out of this thread)
We should first check with the developer the better way to do it:
- A code included in the KiCad;
- A python plugin default installed at KiCad (that could also autoupdate).
In https://bugs.launchpad.net/kicad/+bug/1823733 I propose the creation of a https://github.com/KiCad/plugins repository to keep just the meta data and the plugin will check the installed version and the avaliable to download (the important infos will be: name, description/propose, category, icon, version, download link and we could reserve some info to say âpcbnew pluginâ for allow future âeeschema pluginsâ https://bugs.launchpad.net/kicad/+bug/1728258).
I didnât check kipi yet but, even if by a hard way (not using git
commands) it will be interesting deal with different branch and repositories (I usually keep âstableâ and âin-developmentâ at git, should be interesting give this options to the users, also because I need some users to check my in-development version).
Another open source project to borrow (steal) ideas from is the ArduinoIDE board manager. That system allows pointing to several repositories that each maintain their own repository manifests. Allowing to install plugins (for different board targets) not only from the âofficialâ source, but also 3rd party locations (I have attiny, AdaFruit, and SparkFun linked). Iâm not saying that the ArduinoIDE board manager doesnât have itâs own problems, but there is certainly some techniques worth learning from there.
I also like this Arduino IDE feature (although other aspects of the software are rather more dubious). One especially useful aspect is that it allows you to select exactly which version you want to install very easily.
Or like Notepad++ plugin management, or like Visual studio Extension⌠That would be nice for many kind of plug-in can be directly download. IFF the distribution server(s) is/are simple, fee/low of maintain (may be like the way pip server are â so far I think/assume it was low maintenance)
I have three problems with the Replicate_Layout plugin as follows:
-
Zones do not appear to be replicated reliably. Some replicate, some donât, and minor changes to the anchor layout (the âmasterâ that gets replicated) such as shifting a footprint or "D"ing a trace can cause a zone no longer be replicated, even if the change is no-where near the zone in question.
-
For those zones that are replicated, the replicated zones are not associated with any nets. They must be assigned manually.
-
When I run Debug on the whole layout after replication, I get some errors on the replicants (the results of replication) that do not appear on the âmasterâ. Further, when I examine both replicants and âmasterâ, I find that:
a. some courtyards overlap in the replicants that are not overlapping in the âmasterâ, and
b. some traces have moved relative to some pads, resulting in âtrace too close to padâ errors for the replicants but not for the âmasterâ.
This is a problem because it the âmasterâ consistently passes the DRC but the replicants donât. So it becomes a slow, time-consuming trial-and-error process. I could solve the problem quickly by increasing the spacing the components, but my board cannot get bigger.
Does anyone have solutions to these problems?
Best regards,
Peter
Hi!
Iâd really appreciate it if you open an issue on GitHub for each of this issues. This way even if I donât have the time to fix the issues now they will not be forgotten. And when you do report the issues, please attach a replicate_layout.log
file which should be in the project folder
As for the issues:
- picture is worth a 1000 words in this case. As the pivot bounding box is calculated as a bounding box that bounds all the footprints, a minimal change in footprint position can change the pivot bounding box positions. Also a pivot bounding box is always rectangular, one can change a footprint position on the top of this rectangle, which can cause a zone on bottom of rectangle to be included/excluded. I do plan to add highlight feature, which would highlighted items which will be replicated.
- Iâd need a
replicate_layout.log
file with additional info regarding which zone has this issue - I assume by debug you mean DRC. Again example (pictures are good, but an example project would be better). I assume that DRC errors mentioned are between replicated tracks/footprints and other tracks/footpritns. Currently the plugins does not check for any DRC violations, you do have an option to reposition the anchor footprint and rerun the plugin. But if the errors are within the replicated tracks/footprint then there is a bug n the could and Iâd like to fix it.
Regarding 3 One way would be to position anchor footprints really far apart, then run the plugin and then you can select the replicated sheet and move it manually in place.
Just added GUI progress dialog. It is not perfect, but it is a start.
MUCH appreciated, MitjaN. Your plugins are invaluable and excellent.
I will have I test.
I hadnât tested the highlight yet. Itâs very useful. Is it possible allow the Pcbnew to get zoom out/in when the âReplicate layoutâ windows are in focus?
Other point: I am using the last Nightly (5.99) on Ubuntu 16.04, after I use the replicate plugin KiCad get frozen but the replication worked just fine (despise the need to restart KiCad). I donât known if is a plugin or Pcbnew issue.
I am reporting on GitHub
Iâve moved this to the plugins section and made it a WIKI so you can update the first post and it doesnât get locked after 3 months.
Just want to say thanks!
Iterating placements of an audio mixer, would have been major paaaain without this plugin:
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.