Go to file
MitjaNemec 41de2e3117 Change exotic connectivity test and handling (do the replication and just let the user know that we've detected possible issues) 2023-06-05 15:54:36 +02:00
replicate_layout_fp_text Remove .kicad_prl 2022-02-03 18:55:31 +01:00
replicate_layout_test_project Improve error messages that user sees 2022-12-14 19:35:33 +01:00
.gitattributes add gitattributes to forse lf line endings 2022-10-10 12:18:14 +02:00
.gitignore Update .gitignore 2023-05-15 20:31:37 +02:00
LICENSE
README.md Add grouping replicated items 2023-05-31 10:40:40 +03:00
__init__.py Fix a bug when layout only footprints are present 2022-02-19 21:26:06 +01:00
action_replicate_layout.py Change exotic connectivity test and handling (do the replication and just let the user know that we've detected possible issues) 2023-06-05 15:54:36 +02:00
compare_boards.py
conn_issue_dialog_GUI.fbp Add connectivity issue test and dialog, refactor net_pairs(), 2023-02-19 21:11:25 +01:00
error_dialog_GUI.fbp Fix typo 2023-02-25 21:18:21 +01:00
make_a_package.sh Add conn_issue_GUI to the package 2023-02-23 12:12:28 +01:00
metadata_source.json Bump version and change metadata to bind to kicad version 2022-12-30 21:31:22 +01:00
parse_metadata_json.py
remove_duplicates.py
replicate_layout.py Change exotic connectivity test and handling (do the replication and just let the user know that we've detected possible issues) 2023-06-05 15:54:36 +02:00
replicate_layout_GUI.fbp GUI layout changes 2023-06-02 11:36:22 +02:00
replicate_layout_dark.svg
replicate_layout_light.svg Significant refactoring of item selection code, expand selection to outside sheet items which are within src group 2022-11-14 21:41:12 +01:00
test_replicate_layout.py Expand net pair matching code 2023-03-19 12:15:27 +01:00
version.txt Change exotic connectivity test and handling (do the replication and just let the user know that we've detected possible issues) 2023-06-05 15:54:36 +02:00

README.md

KiCAD Replicate Layout Plugin

Replicate the PCB layout of one hierarchical sheet to other hierarchical sheets. This replication is based upon hierarchical sheets in Eeschema. The basic requirement for replication is that the section to be replicated (source) is completely contained within a single hierarchical sheet, and replicated sections (destination) are just copies of the same sheet. Complex hierarchies are supported and the replicated sheet can contain subsheets. The plugin replicates footprints, zones, tracks, text and drawings.

After the section for replication (source section) has been laid out (footprints, tracks, text objects and zones placed) you need to:

  1. Place the anchor footprints for the destination sections you want to replicate. This defines the position and orientation of replicated sections. You can use the PlaceFootprints action plugin for this.
  2. Select the same anchor footprint within the source section.
  3. Run the plugin.
  4. Choose which hierarchical level you wish to replicate.
  5. Select which sheets you want to replicate (default is all of them).
  6. Select whether you want to also replicate tracks, zones and/or text objects.
  7. Select whether you want to group replicated footprints/tracks/zones/text/drawings by hierarchical sheets.
  8. Select whether you want to replicate tracks/zones/text which intersect the pivot bounding box or just those contained within the bounding box.
  9. Select whether you want to delete already laid out tracks/zones/text (this is useful when updating an already replicated layout).
  10. Hit OK.

By default, only objects which are fully contained in the bounding box constituted by all the footprints in the section will be replicated. You can select to also replicate zones and tracks which intersect this bounding box. Additionally, tracks, text and zones which are already laid out in the replicated bounding boxes can be removed (useful when updating). Note that bounding boxes are squares aligned with the x and y axis, regardless of section orientation.

Installation

The preferred way to install the plugin is via KiCad's Plugin and Content Manager (PCM). Installation on non-networked devices can be done by downloading the latest release and installing in the PCM using the Install from file option.