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_ITEM * m_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 rides on the operation that made the hole. A consumer that wants a countersink on a row of its own expands the front and back fields itself. Tool numbers belong to the writer, since each output file can group and order operations differently.

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()

Member Data Documentation

◆ m_Attribute

◆ m_BackPostMachining

◆ m_BottomCovered

◆ m_BottomLayer

PCB_LAYER_ID DRILL_OPERATION::m_BottomLayer = B_Cu

◆ m_BottomPlugged

◆ m_BottomTented

◆ m_Capped

◆ m_Diameter

◆ 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

◆ m_FrontPostMachining

◆ m_IsSlot

◆ 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

◆ m_Orientation

◆ m_Position

◆ 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 FEATURES_MANAGER::AddPad(), EXCELLON_WRITER::createDrillFile(), GERBER_WRITER::createDrillFile(), DRILL_SYMBOL_PROFILE::GroupKeyString(), and GENDRILL_WRITER_BASE::plotDrillMarks().

◆ 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

◆ m_StubLength

std::optional<int> DRILL_OPERATION::m_StubLength

Definition at line 116 of file drill_operation.h.

Referenced by GENDRILL_WRITER_BASE::buildHolesList().

◆ m_TopCovered

◆ m_TopLayer

◆ m_TopPlugged

◆ m_TopTented


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