Replicate layout: Action plugin

I would rather simplify the plugin installation process and let the users decide which plugins they want to have.

2 Likes

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.

3 Likes

(This discussion could be moved out of this thread)
We should first check with the developer the better way to do it:

  1. A code included in the KiCad;
  2. 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).

1 Like

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.

1 Like

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:

  1. 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.

  2. For those zones that are replicated, the replicated zones are not associated with any nets. They must be assigned manually.

  3. 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:

  1. 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.
  2. I’d need a replicate_layout.log file with additional info regarding which zone has this issue
  3. 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.

2 Likes

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. :slight_smile:

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.

1 Like

Just want to say thanks!

Iterating placements of an audio mixer, would have been major paaaain without this plugin:

:heart:

1 Like

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