This repo contains Kicad pcbnew Action Plugins()
This plugin has been tested on Windows 7 Kicad nightly 2017-09-19 revision dddaa7e69.
This plugin has been developed as a complex plugin according the Python Plugin Development for Pcbnew.
Within the plugin folder only *.py files are required for operation.
While the action plugin works within pcbnew, the replicatelayout
module can be used also in pcbnew scripting console or even without pcbnew running. Additionally the replicatelayout.py
module if run standalone will test itself aginst known correct layouts (provided within the plugin folder). This is to ease testing if pcbnew API changes in the future. The replicatelayout
module does not work with Kicad 4.0.7 as the Python API lacks certain methods.
This plugin replicates layout section. The replication is based upon hierarchical sheets. Basic requirement for replication is that the section for replication is completely contained within one hierarchical sheet, and replicated sections are just a copy of the same sheet. Plugin also replicates module text layout (References, Values and other text bound to a module). The example can be seen in this two pictures.
Once the section for replication (pivot section) has been laid out (modules, tracks and zones placed) you need to:
- select anyone of the modules within the pivot section
- run the plugin
- choose between linear and circular replication
- Enter replication step size (x,y in linear replication and radius, angle (in degrees) for circular replication
- select wheather you want to replicate also tracks and/or zones
- select wheather you want to replicate tracks/zones which are intersectin the pivot bounding box
- select wheather you want to delete already layed out tracks/zones (this is useful when updating already replicated layout)
- hit OK
The replication can be linear or circular. For linear replication the plugin will ask for x and y offset (in mm) with respect to pivot section where replicated sections will be placed. For circular replication the plugin will ask for radius (in mm) and angle (in °) with respect to pivot section where replicated sections will be placed.
Additionally you can choose wheather you want to replicate also zones and/or tracks. By default only tracks and zones which are contained in bounding box constituted by all the modules in the section will be replicated. You can seledt to replicate also zones and tracks which intersect this bounding box. Additionally, tracks and zones already laid out in replicated bounding boxes can be removed (useful when updating). Note that in circular replication, bounding boxes are still squares alligned with x and y axis.
Example of replication of only contained tracks and zones
Example of replication including intersecting zones and tracks
Example of circular replication
This plugin has been tested on Windows 7 Kicad nightly 2018-03-03 revision aeae32b1a.
This plugin has been developed as a complex plugin according the Python Plugin Development for Pcbnew.
Within the plugin folder only *.py files are required for operation.
This plugin deletes selected items. Items can be: zones and/or tracks and/or modules. The main intention is to delete selected tracks to redo part of the layout.
To run the plugin:
- select items you want to delete (note that in kicad it is different if you start your selection box from left or right)
- run the plugin
- select what you want to delete
- hit OK
This plugin has been tested on Windows 7 Kicad nightly 2018-03-03 revision aeae32b1a.
This plugin has been developed as a complex plugin according the Python Plugin Development for Pcbnew.
Within the plugin folder only *.py files are required for operation.
This plugin calculates shortest distance between two pads. The result is not always correct as the algorithm folows the track layout. Also the Via distance is not accounted for. Following picture shows the example where the distacne is not correct as the tracks go to pin #4 and then back over the same tracks as there is no connection between thick and thin track at the encircled area
For complex tracks (GND, Supply rails) the calculation can take quite some time.
To run the plugin:
- select two pads to measure the distance between
- run the plugin
- select what you want to delete
- hit OK