KiCad PCB EDA Suite
Loading...
Searching...
No Matches
DRILL_OPERATION Struct Reference

One machining action, which is also one NC hit and one tool assignment. More...

#include <drill_operation.h>

Public Member Functions

DRILL_OPERATION_ID Id () const
 
bool IsBackdrill () const
 

Public Attributes

DRILL_OP_KIND m_Kind = DRILL_OP_KIND::PRIMARY_DRILL
 
BOARD_ITEMm_SourceItem = nullptr
 non-owning, valid only for this enumeration
 
KIID m_SourceId
 
VECTOR2I m_Position
 
VECTOR2I m_SizeXY
 Source axes, never normalized to (width, length).
 
EDA_ANGLE m_Orientation = ANGLE_0
 
int m_Diameter = 0
 
bool m_IsSlot = false
 
PCB_LAYER_ID m_TopLayer = F_Cu
 
PCB_LAYER_ID m_BottomLayer = B_Cu
 
PCB_LAYER_ID m_DrillStart = UNDEFINED_LAYER
 
PCB_LAYER_ID m_DrillEnd = UNDEFINED_LAYER
 
bool m_NotPlated = false
 
HOLE_ATTRIBUTE m_Attribute = HOLE_ATTRIBUTE::HOLE_UNKNOWN
 
bool m_Filled = false
 
bool m_Capped = false
 
bool m_TopCovered = false
 
bool m_BottomCovered = false
 
bool m_TopPlugged = false
 
bool m_BottomPlugged = false
 
bool m_TopTented = false
 
bool m_BottomTented = false
 
DRILL_POST_MACHINING m_FrontPostMachining
 
DRILL_POST_MACHINING m_BackPostMachining
 
std::optional< int > m_StubLength
 

Detailed Description

One machining action, which is also one NC hit and one tool assignment.

Post-machining is not a kind of its own. It rides on the record that made the hole, the way HOLE_INFO does, so one operation projects onto exactly one HOLE_INFO. A consumer that wants a countersink on a row of its own expands the front and back fields itself.

Definition at line 79 of file drill_operation.h.

Member Function Documentation

◆ Id()

DRILL_OPERATION_ID DRILL_OPERATION::Id ( ) const
inline

Definition at line 118 of file drill_operation.h.

References m_Kind, and m_SourceId.

◆ IsBackdrill()

bool DRILL_OPERATION::IsBackdrill ( ) const
inline

Definition at line 120 of file drill_operation.h.

References m_Kind, and PRIMARY_DRILL.

Member Data Documentation

◆ m_Attribute

HOLE_ATTRIBUTE DRILL_OPERATION::m_Attribute = HOLE_ATTRIBUTE::HOLE_UNKNOWN

Definition at line 102 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_BackPostMachining

DRILL_POST_MACHINING DRILL_OPERATION::m_BackPostMachining

Definition at line 114 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_BottomCovered

bool DRILL_OPERATION::m_BottomCovered = false

Definition at line 107 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_BottomLayer

PCB_LAYER_ID DRILL_OPERATION::m_BottomLayer = B_Cu

Definition at line 97 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_BottomPlugged

bool DRILL_OPERATION::m_BottomPlugged = false

Definition at line 109 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_BottomTented

bool DRILL_OPERATION::m_BottomTented = false

Definition at line 111 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_Capped

bool DRILL_OPERATION::m_Capped = false

Definition at line 105 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_Diameter

int DRILL_OPERATION::m_Diameter = 0

Definition at line 93 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_DrillEnd

PCB_LAYER_ID DRILL_OPERATION::m_DrillEnd = UNDEFINED_LAYER

Definition at line 99 of file drill_operation.h.

◆ m_DrillStart

PCB_LAYER_ID DRILL_OPERATION::m_DrillStart = UNDEFINED_LAYER

Definition at line 98 of file drill_operation.h.

◆ m_Filled

bool DRILL_OPERATION::m_Filled = false

Definition at line 104 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_FrontPostMachining

DRILL_POST_MACHINING DRILL_OPERATION::m_FrontPostMachining

Definition at line 113 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_IsSlot

bool DRILL_OPERATION::m_IsSlot = false

Definition at line 94 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_Kind

DRILL_OP_KIND DRILL_OPERATION::m_Kind = DRILL_OP_KIND::PRIMARY_DRILL

Definition at line 81 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString(), Id(), and IsBackdrill().

◆ m_NotPlated

bool DRILL_OPERATION::m_NotPlated = false

Definition at line 101 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_Orientation

EDA_ANGLE DRILL_OPERATION::m_Orientation = ANGLE_0

Definition at line 92 of file drill_operation.h.

◆ m_Position

VECTOR2I DRILL_OPERATION::m_Position

Definition at line 86 of file drill_operation.h.

◆ m_SizeXY

VECTOR2I DRILL_OPERATION::m_SizeXY

Source axes, never normalized to (width, length).

The Excellon writer picks slot endpoints from whichever of X and Y is longer.

Definition at line 91 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_SourceId

KIID DRILL_OPERATION::m_SourceId

Definition at line 84 of file drill_operation.h.

Referenced by Id().

◆ m_SourceItem

BOARD_ITEM* DRILL_OPERATION::m_SourceItem = nullptr

non-owning, valid only for this enumeration

Definition at line 83 of file drill_operation.h.

◆ m_StubLength

std::optional<int> DRILL_OPERATION::m_StubLength

Definition at line 116 of file drill_operation.h.

◆ m_TopCovered

bool DRILL_OPERATION::m_TopCovered = false

Definition at line 106 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_TopLayer

PCB_LAYER_ID DRILL_OPERATION::m_TopLayer = F_Cu

Definition at line 96 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_TopPlugged

bool DRILL_OPERATION::m_TopPlugged = false

Definition at line 108 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().

◆ m_TopTented

bool DRILL_OPERATION::m_TopTented = false

Definition at line 110 of file drill_operation.h.

Referenced by DRILL_SYMBOL_PROFILE::GroupKeyString().


The documentation for this struct was generated from the following file: