Common
- class edea.kicad.pcb.common.Position(x: float = 0, y: float = 0, angle: float = 0, unlocked: bool = False)
Bases:
KicadPcbExpr
A position element within a KiCad PCB file.
- Parameters:
x – The X coordinates of the position.
y – The X coordinates of the position.
angle – The orientation angle of the position.
unlocked – Whether the position orientation can be anything other than the upright orientation or not.
- Variables:
kicad_expr_tag_name – The KiCad expression tag name for this element (“at”).
- class edea.kicad.pcb.common.ConnectionPads(type: Literal['yes', 'no', 'full', 'thru_hole_only', None] = None, clearance: float = 0)
Bases:
KicadPcbExpr
A connection pads.
- Parameters:
type – The type of pad connection.
clearance – The minimum clearance distance for connected pads.
- Variables:
kicad_expr_tag_name – The KiCad expression tag name for this element (“connect_pads”).
- class edea.kicad.pcb.common.ZoneKeepOutSettings(tracks: Literal['allowed', 'not_allowed'], vias: Literal['allowed', 'not_allowed'], pads: Literal['allowed', 'not_allowed'], copperpour: Literal['allowed', 'not_allowed'], footprints: Literal['allowed', 'not_allowed'])
Bases:
KicadPcbExpr
The zone keepout settings within a KiCad PCB file, defining allowed elements within keepout zones.
- Parameters:
tracks – Whether tracks should be excluded from the keep out area. Valid attributes are allowed and not_allowed.
vias – Whether vias should be excluded from the keep out area. Valid attributes are allowed and not_allowed.
pads – Whether pads should be excluded from the keep out area. Valid attributes are allowed and not_allowed.
copperpour – Whethercopper pours should be excluded from the keep out area. Valid attributes are allowed and not_allowed.
footprints – Whether footprints should be excluded from the keep out area. Valid attributes are allowed and not_allowed.
- Variables:
kicad_expr_tag_name – The KiCad expression tag name for this element (“keepout”) or not.
- class edea.kicad.pcb.common.ZoneFillIslandRemovalMode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum
Different Island removal modes for zone fills within a KiCad PCB file.
- class edea.kicad.pcb.common.ZoneFillHatchSmoothingLevel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum
Different smoothing levels for hatched zone fills within a KiCad PCB file.
- class edea.kicad.pcb.common.ZoneFillHatchBorderAlgorithm(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum
Different algorithms for defining the border of hatched zone fills within a KiCad PCB file.
- class edea.kicad.pcb.common.ZoneFillSettings(yes: bool = False, mode: Literal['hatch', 'solid'] = 'solid', thermal_gap: float | None = None, thermal_bridge_width: float | None = None, smoothing: Literal['chamfer', 'fillet', None] = None, radius: float | None = None, island_removal_mode: ZoneFillIslandRemovalMode | None = None, island_area_min: float | None = None, hatch_thickness: float | None = None, hatch_gap: float | None = None, hatch_orientation: float | None = None, hatch_smoothing_level: ZoneFillHatchSmoothingLevel | None = None, hatch_smoothing_value: float | None = None, hatch_border_algorithm: ZoneFillHatchBorderAlgorithm | None = None, hatch_min_hole_area: float | None = None)
Bases:
KicadPcbExpr
The zone fill settings within a KiCad PCB file, defining properties for filling copper zones.
- Parameters:
yes – If the zone should be filled.
mode – How the zone is filled. The only valid fill mode is hatched.
thermal_gap – The distance from the zone to all pad thermal relief connections to the zone.
thermal_bridge_width – The spoke width for all pad thermal relief connection to the zone.
smoothing – The style of corner smoothing and the radius of the smoothing.
radius – The radius.
island_removal_mode – The mode for removing islands within the zone fill.
island_area_min – The minimum allowable zone island.
hatch_thickness – The thickness for hatched fills.
hatch_gap – The distance between lines for hatched fills.
hatch_orientation – The line angle for hatched fills.
hatch_smoothing_level – How hatch outlines are smoothed.
hatch_smoothing_value – The ratio between the hole and the chamfer/fillet size.
hatch_border_algorithm – Whether the zone line thickness is used when performing a hatch fill or not.
hatch_min_hole_area – The minimum area a hatch file hole can be.
- Variables:
kicad_expr_tag_name – The KiCad expression tag name for this element (“fill”).
Warning
The radius field is not documented in the KiCad file format documentation but we have seen it in the wild.
- island_removal_mode: ZoneFillIslandRemovalMode | None = None
- hatch_smoothing_level: ZoneFillHatchSmoothingLevel | None = None
- hatch_border_algorithm: ZoneFillHatchBorderAlgorithm | None = None
- class edea.kicad.pcb.common.ZoneFillPolygon(layer: ~typing.Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'], island: bool = False, pts: ~edea.kicad.common.Pts = <factory>)
Bases:
KicadPcbExpr
A filled polygon element within a KiCad PCB file, defining a zone fill area on a specific layer.
- Parameters:
layer – The canonical layer the zone fill resides on.
island – Whether the polygon defines an island within a zone fill or not.
pts – A list of polygon X-Y coordinates used to fill the zone.
- Variables:
kicad_expr_tag_name – The KiCad expression tag name for this element (“filled_polygon”).
- layer: Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue']
- pts: Pts
- class edea.kicad.pcb.common.Polygon(pts: list[~edea.kicad.common.Pts] = <factory>)
Bases:
KicadPcbExpr
A simple polygon element within a KiCad PCB file, defining a closed shape without filling.
- Parameters:
pts – List of lists of points defining the polygon’s outer and potential inner contours.
- Variables:
kicad_expr_tag_name – The KiCad expression tag name for this element (“polygon”).
- pts: list[Pts]
- class edea.kicad.pcb.common.Hatch(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)
Bases:
StrEnum
Different hatch options for ZoneFillPolygon and Polygon elements within a KiCad PCB file.
- class edea.kicad.pcb.common.ZoneAttrTearDrop(type: Literal['padvia', 'track_end'] = 'padvia')
Bases:
KicadPcbExpr
A teardrop attribute for zone fills within a KiCad PCB file.
- Parameters:
type – This specifies the type of teardrop element
- Variables:
kicad_expr_tag_name – The KiCad expression tag name for this element, which is always “teardrop”.
- class edea.kicad.pcb.common.ZoneAttr(teardrop: ZoneAttrTearDrop)
Bases:
KicadPcbExpr
The zone attributes within a KiCad PCB file, potentially defining teardrop clearance shapes.
- Parameters:
teardrop – Teardrop clearance shape definition for the zone.
- Variables:
kicad_expr_tag_name – The KiCad expression tag name for this element (“attr”).
- teardrop: ZoneAttrTearDrop
- class edea.kicad.pcb.common.Zone(locked: bool = False, net: int = 0, net_name: str = '', layer: ~typing.Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] | None = None, layers: list[~typing.Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] | ~typing.Literal['*.Adhes', '*.Cu', '*.Mask', '*.Paste', '*.SilkS', 'F&B.Cu']] = <factory>, tstamp: ~uuid.UUID | None = None, uuid: ~uuid.UUID | None = None, name: str | None = None, hatch: tuple[~edea.kicad.pcb.common.Hatch, float] = ('none', 0), priority: int | None = None, attr: ~edea.kicad.pcb.common.ZoneAttr | None = None, connect_pads: ~edea.kicad.pcb.common.ConnectionPads = <factory>, min_thickness: float = 0, filled_areas_thickness: bool = True, keepout: ~edea.kicad.pcb.common.ZoneKeepOutSettings | None = None, fill: ~edea.kicad.pcb.common.ZoneFillSettings = <factory>, polygons: list[~edea.kicad.pcb.common.Polygon] = <factory>, filled_polygons: list[~edea.kicad.pcb.common.ZoneFillPolygon] = <factory>)
Bases:
KicadPcbExpr
A zone object within a KiCad PCB file, defining a designated area on specific copper layers.
Note
Some zones have layers instead of layer. But it’s always guaranteed to have all the layers in the layers list after initialization.
- Parameters:
locked – Whether the zone is locked for editing or not.
net – The net ordinal number which net in the nets section that the zone is part of.
net_name – The name of the net if the zone is not a keep out area.
layer – The canonical layer the zone resides on.
layers – It specifies the copper layers for the zone.
tstamp – The unique identifier (UUID) for the zone object.
name – The name for the zone if one has been assigned.
hatch – The zone outline display hatch style and pitch
priority – The zone priority if it is not zero.
attr – The reference to a ZoneAttr object defining additional zone attributes.
connect_pads – The pad connection type and clearance.
min_thickness – The minimum fill width allowed in the zone.
filled_areas_thickness – The zone like width is not used when determining the zone fill area.
keepout – The keep out items if the zone defines as a keep out area.
fill – The configuration for zone filling, including mode, island removal, hatch options, etc.
polygons – X-Y coordinates of corner points of the polygon outline.
filled_polygons – List of polygons used to fill the zone.
Note
The tstamp field got renamed to uuid in 20240108 (KiCad 8).
- layer: Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] | None = None
- layers: list[Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] | Literal['*.Adhes', '*.Cu', '*.Mask', '*.Paste', '*.SilkS', 'F&B.Cu']]
- hatch: tuple[Hatch, float] = ('none', 0)
- attr: ZoneAttr | None = None
- connect_pads: ConnectionPads
- keepout: ZoneKeepOutSettings | None = None
- fill: ZoneFillSettings
- polygons: list[Polygon]
- filled_polygons: list[ZoneFillPolygon]
- class edea.kicad.pcb.common.Group(name: str, locked: bool = False, id: ~uuid.UUID | None = None, uuid: ~uuid.UUID | None = None, members: list[~uuid.UUID] = <factory>)
Bases:
KicadPcbExpr
A group element within a KiCad PCB file, allowing you to group other elements for organizational purposes.
- Parameters:
name – The name of the group.
locked – Whether the group is locked for editing or not.
id – The unique identifier (UUID) for the group element.
members – A list of unique identifiers of the objects belonging to the group.
Note
The id field got renamed to uuid in 20240108 (KiCad 8).
- class edea.kicad.pcb.common.RenderCache(name: str, number: float, polygons: list[~edea.kicad.pcb.common.Polygon] = <factory>)
Bases:
KicadPcbExpr
A render cache element within a KiCad PCB file, potentially used for optimizing rendering of complex elements.
- Parameters:
name – The name of the render cache.
number – A number of the render cache.
polygons – The cached geometry.
- polygons: list[Polygon]
- class edea.kicad.pcb.common.BaseTextBox(locked: bool = False, text: str = '', start: tuple[float, float] | None = None, end: tuple[float, float] | None = None, pts: ~edea.kicad.common.Pts | None = None, layer: ~typing.Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] = 'F.Cu', effects: ~edea.kicad.common.Effects = <factory>, render_cache: ~edea.kicad.pcb.common.RenderCache | None = None, angle: float | None = None, stroke: ~edea.kicad.common.Stroke | None = None, hide: bool = False, border: bool | None = None, tstamp: ~uuid.UUID | None = None, uuid: ~uuid.UUID | None = None)
Bases:
KicadPcbExpr
A base textbox element within a KiCad PCB file, providing a foundation for various text objects.
- Parameters:
locked – Whether the text box is locked for editing or not.
text – The text content of the box.
start – The starting X-Y coordinates of the text box.
end – The ending X-Y coordinates of the text box.
pts – The reference to a Pts object defining the text box outline.
layer – The canonical layer the text box resides on.
effects – Reference to an Effects object defining text effects.
render_cache – Reference to a RenderCache element for potentially cached rendering.
angle – The rotation angle for the text box.
stroke – Reference to a stroke object defining the text outline style.
hide – Whether the text box is hidden or not.
border – Whether the text box has a border or not.
tstamp – The unique identifier (UUID) for the text box element.
uuid – The unique identifier (UUID) for the text box element.
Note
The tstamp field got renamed to uuid in 20240108 (KiCad 8).
- pts: Pts | None = None
- layer: Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] = 'F.Cu'
- effects: Effects
- render_cache: RenderCache | None = None
- stroke: Stroke | None = None
- class edea.kicad.pcb.common.Net(number: int, name: str)
Bases:
KicadPcbExpr
A net connection for the pad within a KiCad PCB file.
- Parameters:
number – The number of the net connection.
name – The name of the net connection.
- class edea.kicad.pcb.common.Image(at: tuple[float, float], uuid: ~uuid.UUID | None = None, layer: ~typing.Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] = 'F.Cu', scale: float | None = None, data: list[str] = <factory>, locked: bool | None = None)
Bases:
KicadPcbExpr
An embedded image within a KiCad PCB file.
- Parameters:
at – The X-Y coordinates of the image.
uuid – The unique identifier (UUID) for the image element.
layer – The associated board layer of the image using one canonical layer name.
scale – The scale factor of the image..
data – The image data in the portable network graphics format (PNG) encoded with MIME type base64.
locked – Whether the image is locked for editing or not.
Note
The fields uuid and locked were added in 20240108 (KiCad 8).
- layer: Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] = 'F.Cu'
- class edea.kicad.pcb.common.TearDrops(best_length_ratio: float, max_length: float, best_width_ratio: float, max_width: float, curve_points: int, filter_ratio: float, enabled: bool, allow_two_segments: bool, prefer_zone_connections: bool)
Bases:
KicadPcbExpr
The teardrops settings within a KiCad PCB file.
- Parameters:
best_length_ratio – The best length ratio for the teardrops.
max_length – The maximum length for the teardrops.
best_width_ratio – The best width ratio for the teardrops.
max_width – The maximum width for the teardrops.
curve_points – The number of curve points for the teardrops.
filter_ratio – The filter ratio for the teardrops.
enabled – Whether the teardrops are enabled or not.
allow_two_segments – Whether two segments are allowed for the teardrops or not.
prefer_zone_connections – Whether zone connections are preferred for the teardrops or not.
- class edea.kicad.pcb.common.LayerKnockout(name: Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] = 'F.Cu', knockout: bool = False)
Bases:
KicadPcbExpr
Indicates that the text in a layer should be knocked out.
- param name:
The name of the copper layer to be knocked out
- param knockout:
Whether the layer is knocked out or not.
- cvar kicad_expr_tag_name:
The KiCad expression tag name for this element (“layer”).
- name: Literal['F.Cu', 'In1.Cu', 'In2.Cu', 'In3.Cu', 'In4.Cu', 'In5.Cu', 'In6.Cu', 'In7.Cu', 'In8.Cu', 'In9.Cu', 'In10.Cu', 'In11.Cu', 'In12.Cu', 'In13.Cu', 'In14.Cu', 'In15.Cu', 'In16.Cu', 'In17.Cu', 'In18.Cu', 'In19.Cu', 'In20.Cu', 'In21.Cu', 'In22.Cu', 'In23.Cu', 'In24.Cu', 'In25.Cu', 'In26.Cu', 'In27.Cu', 'In28.Cu', 'In29.Cu', 'In30.Cu', 'B.Cu', 'B.Adhes', 'F.Adhes', 'B.Paste', 'F.Paste', 'B.SilkS', 'F.SilkS', 'B.Mask', 'F.Mask', 'Dwgs.User', 'Cmts.User', 'Eco1.User', 'Eco2.User', 'Edge.Cuts', 'F.CrtYd', 'B.CrtYd', 'F.Fab', 'B.Fab', 'User.1', 'User.2', 'User.3', 'User.4', 'User.5', 'User.6', 'User.7', 'User.8', 'User.9', 'Margin', 'Rescue'] = 'F.Cu'
- class edea.kicad.pcb.common.Property(key: str, value: str, at: Position | None = None, layer: LayerKnockout | None = None, effects: Effects | None = None, render_cache: RenderCache | None = None, uuid: UUID | None = None, hide: bool | None = None, unlocked: bool | None = None)
Bases:
KicadPcbExpr
A property element within a KiCad PCB file.
- Parameters:
key – The name of the property and must be unique.
value – The value of the property.
- at: Position | None = None
- layer: LayerKnockout | None = None
- effects: Effects | None = None
- render_cache: RenderCache | None = None