KiCad PCB EDA Suite
Loading...
Searching...
No Matches
padstack.h File Reference
#include <memory>
#include <optional>
#include <wx/string.h>
#include <api/serializable.h>
#include <geometry/eda_angle.h>
#include <layer_ids.h>
#include <lset.h>
#include <math/vector2d.h>
#include <properties/property.h>
#include <zones.h>

Go to the source code of this file.

Classes

class  PADSTACK
 A PADSTACK defines the characteristics of a single or multi-layer pad, in the IPC sense of the word. More...
 
struct  PADSTACK::SHAPE_PROPS
 ! The set of properties that define a pad's shape on a given layer More...
 
struct  PADSTACK::COPPER_LAYER_PROPS
 The features of a padstack that can vary between copper layers All parameters are optional; leaving them un-set means "use parent/rule defaults" Pad clearances, margins, etc. More...
 
struct  PADSTACK::MASK_LAYER_PROPS
 ! The features of a padstack that can vary on outer layers. More...
 
struct  PADSTACK::DRILL_PROPS
 ! The properties of a padstack drill. Drill position is always the pad position (origin). More...
 

Enumerations

enum class  PAD_SHAPE : int {
  CIRCLE , RECTANGLE , OVAL , TRAPEZOID ,
  ROUNDRECT , CHAMFERED_RECT , CUSTOM
}
 The set of pad shapes, used with PAD::{Set,Get}Shape() More...
 
enum class  PAD_DRILL_SHAPE { UNDEFINED , CIRCLE , OBLONG }
 The set of pad drill shapes, used with PAD::{Set,Get}DrillShape() More...
 
enum class  PAD_ATTRIB { PTH , SMD , CONN , NPTH }
 The set of pad shapes, used with PAD::{Set,Get}Attribute(). More...
 
enum class  PAD_PROP {
  NONE , BGA , FIDUCIAL_GLBL , FIDUCIAL_LOCAL ,
  TESTPOINT , HEATSINK , CASTELLATED , MECHANICAL
}
 The set of pad properties used in Gerber files (Draw files, and P&P files) to define some properties in fabrication or test files. More...
 

Functions

 DECLARE_ENUM_TO_WXANY (PADSTACK::UNCONNECTED_LAYER_MODE)
 

Enumeration Type Documentation

◆ PAD_ATTRIB

enum class PAD_ATTRIB
strong

The set of pad shapes, used with PAD::{Set,Get}Attribute().

The double name is for convenience of Python devs

Enumerator
PTH 

Plated through hole pad.

SMD 

Smd pad, appears on the solder paste layer (default)

CONN 

Like smd, does not appear on the solder paste layer (default) Note: also has a special attribute in Gerber X files Used for edgecard connectors for instance.

NPTH 

like PAD_PTH, but not plated mechanical use only, no connection allowed

Definition at line 74 of file padstack.h.

◆ PAD_DRILL_SHAPE

enum class PAD_DRILL_SHAPE
strong

The set of pad drill shapes, used with PAD::{Set,Get}DrillShape()

Enumerator
UNDEFINED 
CIRCLE 
OBLONG 

Definition at line 62 of file padstack.h.

◆ PAD_PROP

enum class PAD_PROP
strong

The set of pad properties used in Gerber files (Draw files, and P&P files) to define some properties in fabrication or test files.

Also used by DRC to check some properties.

Enumerator
NONE 

no special fabrication property

BGA 

Smd pad, used in BGA footprints.

FIDUCIAL_GLBL 

a fiducial (usually a smd) for the full board

FIDUCIAL_LOCAL 

a fiducial (usually a smd) local to the parent footprint

TESTPOINT 

a test point pad

HEATSINK 

a pad used as heat sink, usually in SMD footprints

CASTELLATED 

a pad with a castellated through hole

MECHANICAL 

a pad used for mechanical support

Definition at line 91 of file padstack.h.

◆ PAD_SHAPE

enum class PAD_SHAPE : int
strong

The set of pad shapes, used with PAD::{Set,Get}Shape()

--> DO NOT REORDER, PCB_IO_KICAD_LEGACY is dependent on the integer values <–

Enumerator
CIRCLE 
RECTANGLE 
OVAL 
TRAPEZOID 
ROUNDRECT 
CHAMFERED_RECT 
CUSTOM 

Definition at line 45 of file padstack.h.

Function Documentation

◆ DECLARE_ENUM_TO_WXANY()

DECLARE_ENUM_TO_WXANY ( PADSTACK::UNCONNECTED_LAYER_MODE  )