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
 ! 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
 ! More...
 
struct  PADSTACK::DRILL_PROPS
 ! The properties of a padstack drill. Drill position is always the pad position (origin). More...
 
struct  PADSTACK::POST_MACHINING_PROPS
 

Namespaces

namespace  kiapi
 
namespace  kiapi::board
 
namespace  kiapi::board::types
 

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_DRILL_POST_MACHINING_MODE { UNKNOWN , NOT_POST_MACHINED , COUNTERBORE , COUNTERSINK }
 
enum class  BACKDRILL_MODE { NO_BACKDRILL , BACKDRILL_BOTTOM , BACKDRILL_TOP , BACKDRILL_BOTH }
 
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 ,
  PRESSFIT
}
 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...
 
enum class  UNCONNECTED_LAYER_MODE { KEEP_ALL , START_END_ONLY , REMOVE_ALL , REMOVE_EXCEPT_START_AND_END }
 
enum class  CUSTOM_SHAPE_ZONE_MODE { OUTLINE , CONVEXHULL }
 

Functions

 DECLARE_ENUM_TO_WXANY (PAD_DRILL_POST_MACHINING_MODE)
 
 DECLARE_ENUM_TO_WXANY (UNCONNECTED_LAYER_MODE)
 
 DECLARE_ENUM_TO_WXANY (BACKDRILL_MODE)
 

Enumeration Type Documentation

◆ BACKDRILL_MODE

enum class BACKDRILL_MODE
strong
Enumerator
NO_BACKDRILL 
BACKDRILL_BOTTOM 
BACKDRILL_TOP 
BACKDRILL_BOTH 

Definition at line 83 of file padstack.h.

◆ CUSTOM_SHAPE_ZONE_MODE

enum class CUSTOM_SHAPE_ZONE_MODE
strong
Enumerator
OUTLINE 
CONVEXHULL 

Definition at line 136 of file padstack.h.

◆ 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 96 of file padstack.h.

◆ PAD_DRILL_POST_MACHINING_MODE

enum class PAD_DRILL_POST_MACHINING_MODE
strong
Enumerator
UNKNOWN 
NOT_POST_MACHINED 
COUNTERBORE 
COUNTERSINK 

Definition at line 75 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 68 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

PRESSFIT 

a PTH with a hole diameter with tight tolerances for press fit pin

Definition at line 113 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 51 of file padstack.h.

◆ UNCONNECTED_LAYER_MODE

enum class UNCONNECTED_LAYER_MODE
strong
Enumerator
KEEP_ALL 
START_END_ONLY 
REMOVE_ALL 
REMOVE_EXCEPT_START_AND_END 

Definition at line 127 of file padstack.h.

Function Documentation

◆ DECLARE_ENUM_TO_WXANY() [1/3]

DECLARE_ENUM_TO_WXANY ( BACKDRILL_MODE )

◆ DECLARE_ENUM_TO_WXANY() [2/3]

DECLARE_ENUM_TO_WXANY ( PAD_DRILL_POST_MACHINING_MODE )

◆ DECLARE_ENUM_TO_WXANY() [3/3]

DECLARE_ENUM_TO_WXANY ( UNCONNECTED_LAYER_MODE )