Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 2.27 KB

README.md

File metadata and controls

28 lines (21 loc) · 2.27 KB

Auto Place Silkscreen

Iterates through each components' silkscreen reference designator and tries to place it. It will not place over pads, component bodies, or other silkscreen. It will also not place off the board edge. The silkscreen size and width are automatically adjusted depending on the component size. If it can't find a placement, it will try reducing the size. I generally see ~95% placement on boards that aren't dense and ~80% placement on really dense boards (x86). Example

This script should be a good start for placement, but fine tuning will definitely need to be done after running.

How to Run

  1. Run script from pcb layout. If you want to only place selected components' silkscreen, then select these components (not designators) before running the script.
  2. A GUI will open. Select options and run.
  3. Any unplaced silkscreen will be placed on top of components by default or may be placed off the board if selected.
  4. A popup message box will appear on completion saying how many components were placed and what percentage were placed.

GUI Screenshot

Note: May take a long time to run depending on board size, board density, & speed of computer. It took my PC 15 seconds to place 230 components and about 15 minutes to place 3000 components on a much more dense board. My PC is relatively fast, so your mileage may vary. I would recommend trying to run on selected components first and select a smaller subset to see functionality.

Things to try in future

  • Can I use clearance rules? IPCB_SilkToSilkClearanceRule
  • Iterate through all good placement positions, use the one with the lowest x/y --> x2/y2 delta square distance. This will slow down execution time.
  • Only allow 2 silk designators close to eachother if they are perpendicular to eachother

Potential Issues

  • I've currently only tested on a couple of boards and it works well, but issues may crop up once I've expanded testing.
  • Board outline is only approximated as a Bounding Rectangle. Non rectangular boards will probably have issues.

Useful Links