GithubHelp home page GithubHelp logo

sej7278 / kicad-panelizer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from willemcvu/kicad-panelizer

42.0 42.0 9.0 396 KB

A simple script to create a v-scored panel of a KiCad board.

License: GNU General Public License v3.0

Python 100.00%

kicad-panelizer's People

Contributors

willemcvu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kicad-panelizer's Issues

ModuleNotFoundError: No module named 'pcbnew'

OS: Win 10
KiCad version: 5.1.4
Python 3 installed.

When I try to run the script with ./panelizer.py --panelx=100 --panely=100 /path/to/source_board.kicad_pcb, i the the error from the title:

Traceback (most recent call last):
  File "...\panelizer.py", line 6, in <module>
    import pcbnew
ModuleNotFoundError: No module named 'pcbnew'

Any insight into what I'm missing?

EDIT: I added the full command output.

Fix for non-polygon Edge.Cuts

Most fabs want vscore lines on the Edge.Cuts layer, this means that the panel has various lines for rails and vscores that aren't strictly board outlines and this causes an error with the 3Dviewer as it cannot identify the board outline, it also fails the DRC.

Potentially we could move from lines to a series of (overlapping?) rectangles that would then be polygons. Not sure if that would help though.

Also could do with a way of detecting the line width of the Edge.Cuts layer, at the moment we're defaulting to 1.0mm same as KiCad.

Gaps between

It would be nice to be able to add a small gap between the boards in the panel, as an option.
Useful if prototype PCB made ad-hoc, and then panel is cut by diamond circular saw.

Put logo/text block on panel border

More advanced version of HORIZONTAL_EDGE_RAIL_TEXT to include board title, company title, company logo etc. Panel ID stuff.

Potentially we could read this from a page layout description file or the pcb title block itself

ref: http://docs.kicad-pcb.org/doxygen-python/classpcbnew_1_1TITLE__BLOCK.html

print("revision:", board.GetTitleBlock().GetRevision())
print("company:", board.GetTitleBlock().GetCompany())
print("title:", board.GetTitleBlock().GetTitle())
print("date:", board.GetTitleBlock().GetDate())

Update: mostly done:

imgur

Calculate distance between copper and vscores

Is there a way to pull back copper layers to the pullback distances so if the user presses "b" on the panel, it doesn't get wrecked (by copper getting too close to V-scores)

Maybe make a "DRC" that checks if copper is too close to V-score lines.

This may be related to why when using a non Edge.Cuts V_SCORE_LAYER the panel merges into one giant board when you do a zone refill.

Panelized file only has tracks routed on one copy.

I am using KiCad 6.0.2 to generate a panelized version of a simple PCB. The tool generated a 5x4 matrix of boards within the 100x100mm constraints, but when opened with KiCad's standalone PCB editor only the top left PCB was routed, all the others had rats nests. Am I missing something obvious?

Put report in panel file in a text field

The report could go into the generated panel file as a text field or somesuch, preferably a layer that doesn't automatically get added to 3d viewer or gerbers, also outside of the panel.

Not working with KiCad 8.x

The script does not seem to cope with Kicad 8.x PCBs.

What should be changed to make it work with the newest KiCad ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.