-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
214 additions
and
79 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
Core concepts | ||
============= | ||
|
||
Circuit Painter works by drawing objects onto PCB layers. | ||
|
||
PCB layers | ||
---------- | ||
|
||
There are a lot of layers that make up a PCB! Fortunately, we only need to | ||
focus on a few of them: | ||
|
||
* Edge cuts | ||
* Top silkscreen | ||
* Top soldermask | ||
* Top copper | ||
* Bottom copper | ||
* Bottom soldermask | ||
* Bottom silkscreen | ||
|
||
In Circuit Painter, you set the active drawing layer by calling the layer() | ||
function: | ||
|
||
.. code:: python | ||
painter.layer('F_Cu') | ||
Any objects created afterwards will be drawn on that layer, until it is | ||
updated by another layer() call. Note that some objects, particularly the | ||
conductive ones, can only be placed on a copper layer. | ||
|
||
Taxonomy of objects | ||
------------------- | ||
|
||
Circuit Painter allows you to create two categories of objects- conductive, | ||
and non-conductive. Conductive objects are used to carry electricity, and | ||
are assigned to 'nets'. Non-conductive objects are used for making graphics, | ||
markings, and defining the board outline. | ||
|
||
|
||
Conductive: | ||
|
||
* Tracks | ||
* Arc Tracks | ||
* Polygons | ||
* Footprints | ||
* Vias | ||
|
||
Non-Conductive: | ||
|
||
* Lines | ||
* Arcs | ||
* Cirles | ||
* Polygons | ||
* Rect | ||
* Text | ||
|
||
Object attribues | ||
---------------- | ||
|
||
Many objects have attributes that need to be set when calling them. For | ||
example, the width of a line or track is set by the width() function. | ||
|
||
Global attributes are: | ||
|
||
* width | ||
* fill / no fill | ||
* layer | ||
* designators / no designators | ||
|
||
Drawing coordinates | ||
------------------- | ||
|
||
Circuit Painter features a virtual transformation matrix, to make scripting | ||
similar arrangements of objects anywhere on a board. It supports both linear | ||
and rotational transformations for all objects, allowing for example LEDs to | ||
be aligned around a circle. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.