kigadgets.board

Module Contents

Classes

Board

class kigadgets.board.Board(wrap=None)

Bases: object

property native_obj
property footprints

Provides a list of the board Footprint objects.

property modules

Alias footprint to module

property vias

A list of via objects

property tracks

A list of track objects

property rule_areas

A list of both zone and keepout objects

property zones
property keepouts
property drawings

list of drawings, including all shapes and text

property items

Everything on the board

property filename

Name of the board file.

property default_width
property default_via_size
property default_via_drill
property selected_items

This useful for duck typing in the interactive terminal Suppose you want to set some drill radii. Iterating everything would cause attribute errors, so it is easier to just select the vias you want, then use this method for convenience.

To get one item that you selected, use

>>> xx = pcb.selected_items[0]
static wrap(instance)

Wraps a C++/old api BOARD object, and returns a Board.

add(obj)

Adds an object to the Board.

Tracks, Drawings, Modules, etc…

footprint_by_ref(ref)

Returns the footprint that has the reference ref. Returns None if there is no such footprint.

module_by_ref(ref)

Alias footprint to module

static from_editor()

Provides the board object from the editor.

static load(filename)

Loads a board file.

save(filename=None)

Save the board to a file. The filename should have .kicad_pcb extention, but it is not enforced. If filename=None, the board’s GetFileName value is used.

copy()
geohash()

Geometric hash

add_footprint(ref, pos=(0, 0))

Create new module on the board

add_module(ref, pos=(0, 0))

Same as add_footprint

add_track_segment(start, end, layer='F.Cu', width=None)

Create a track segment.

get_layer_id(name)
get_layer_name(layer_id)
add_track(coords, layer='F.Cu', width=None)

Create a track polyline.

Create track segments from each coordinate to the next.

add_via(coord, size=None, drill=None, layer_pair=None)

Create a via on the board.

Parameters:
  • coord – Position of the via.

  • layer_pair – Tuple of the connected layers (for example (‘B.Cu’, ‘F.Cu’)).

  • size – size of via in mm, or None for current selection.

  • drill – size of drill in mm, or None for current selection.

Returns:

the created Via

add_line(start, end, layer='F.SilkS', width=0.15)

Create a graphic line on the board

add_polyline(coords, layer='F.SilkS', width=0.15)

Create a graphic polyline on the board

add_circle(center, radius, layer='F.SilkS', width=0.15)

Create a graphic circle on the board

add_arc(center, radius, start_angle, stop_angle, layer='F.SilkS', width=0.15)

Create a graphic arc on the board

add_text(position, text, layer='F.SilkS', size=1.0, thickness=0.15)
remove(element, permanent=False)

Makes it so Ctrl-Z works. Keeps a reference to the element in the python pcb object, so it persists for the life of that object

restore_removed()
deselect_all()
fill_zones()

fills all zones in this board