KiCad PCB EDA Suite
|
Create Excellon drill, drill map, and drill report files. More...
#include <gendrill_Excellon_writer.h>
Public Types | |
enum | ZEROS_FMT { DECIMAL_FORMAT , SUPPRESS_LEADING , SUPPRESS_TRAILING , KEEP_ZEROS } |
enum | TYPE_FILE { PTH_FILE , NPTH_FILE , MIXED_FILE } |
Public Member Functions | |
EXCELLON_WRITER (BOARD *aPcb) | |
virtual | ~EXCELLON_WRITER () |
VECTOR2I | GetOffset () |
Return the plot offset (usually the position of the auxiliary axis. | |
void | SetRouteModeForOvalHoles (bool aUseRouteModeForOvalHoles) |
void | SetFormat (bool aMetric, ZEROS_FMT aZerosFmt=DECIMAL_FORMAT, int aLeftDigits=0, int aRightDigits=0) |
Initialize internal parameters to match the given format. | |
void | SetOptions (bool aMirror, bool aMinimalHeader, const VECTOR2I &aOffset, bool aMerge_PTH_NPTH) |
Initialize internal parameters to match drill options. | |
bool | CreateDrillandMapFilesSet (const wxString &aPlotDirectory, bool aGenDrill, bool aGenMap, REPORTER *aReporter=nullptr) |
Create the full set of Excellon drill file for the board. | |
void | SetMergeOption (bool aMerge) |
Set the option to make separate drill files for PTH and NPTH. | |
void | SetPageInfo (const PAGE_INFO *aPageInfo) |
Set the page info used to plot drill maps. | |
void | SetMapFileFormat (PLOT_FORMAT aMapFmt) |
Initialize the format for the drill map file. | |
bool | CreateMapFilesSet (const wxString &aPlotDirectory, REPORTER *aReporter=nullptr) |
Create the full set of map files for the board, in PS, PDF ... format (use SetMapFileFormat() to select the format). | |
bool | GenDrillReportFile (const wxString &aFullFileName) |
Create a plain text report file giving a list of drill values and drill count for through holes, oblong holes, and for buried vias, drill values and drill count per layer pair there is only one report for all drill files even when buried or blinds vias exist. | |
wxString | GetDrillFileExt () const |
Returns the file extension of the drill writer format. | |
Protected Member Functions | |
bool | genDrillMapFile (const wxString &aFullFileName, PLOT_FORMAT aFormat) |
Plot a map of drill marks for holes. | |
void | buildHolesList (DRILL_LAYER_PAIR aLayerPair, bool aGenerateNPTH_list) |
Create the list of holes and tools for a given board. | |
int | getHolesCount () const |
bool | plotDrillMarks (PLOTTER *aPlotter) |
Write the drill marks in HPGL, POSTSCRIPT or other supported formats/. | |
std::vector< DRILL_LAYER_PAIR > | getUniqueLayerPairs () const |
Get unique layer pairs by examining the micro and blind_buried vias. | |
unsigned | printToolSummary (OUTPUTFORMATTER &aOut, bool aSummaryNPTH) const |
Print m_toolListBuffer[] tools to aOut and returns total hole count. | |
const std::string | layerPairName (DRILL_LAYER_PAIR aPair) const |
const std::string | layerName (PCB_LAYER_ID aLayer) const |
virtual const wxString | getDrillFileName (DRILL_LAYER_PAIR aPair, bool aNPTH, bool aMerge_PTH_NPTH) const |
const wxString | BuildFileFunctionAttributeString (DRILL_LAYER_PAIR aLayerPair, TYPE_FILE aHoleType, bool aCompatNCdrill=false) const |
Protected Attributes | |
BOARD * | m_pcb |
wxString | m_drillFileExtension |
bool | m_unitsMetric |
ZEROS_FMT | m_zeroFormat |
DRILL_PRECISION | m_precision |
double | m_conversionUnits |
VECTOR2I | m_offset |
bool | m_merge_PTH_NPTH |
std::vector< HOLE_INFO > | m_holeListBuffer |
std::vector< DRILL_TOOL > | m_toolListBuffer |
PLOT_FORMAT | m_mapFileFmt |
const PAGE_INFO * | m_pageInfo |
Private Member Functions | |
int | createDrillFile (FILE *aFile, DRILL_LAYER_PAIR aLayerPair, TYPE_FILE aHolesType) |
Create an Excellon drill file. | |
void | writeEXCELLONHeader (DRILL_LAYER_PAIR aLayerPair, TYPE_FILE aHolesType) |
Print the DRILL file header. | |
void | writeEXCELLONEndOfFile () |
void | writeCoordinates (char *aLine, size_t aLineSize, double aCoordX, double aCoordY) |
Create a line like according to the selected format. | |
void | writeHoleAttribute (HOLE_ATTRIBUTE aAttribute) |
Write a comment string giving the hole attribute. | |
Private Attributes | |
FILE * | m_file |
bool | m_minimalHeader |
bool | m_mirror |
bool | m_useRouteModeForOval |
Create Excellon drill, drill map, and drill report files.
Definition at line 44 of file gendrill_Excellon_writer.h.
|
inherited |
Enumerator | |
---|---|
PTH_FILE | |
NPTH_FILE | |
MIXED_FILE |
Definition at line 162 of file gendrill_file_writer_base.h.
|
inherited |
Enumerator | |
---|---|
DECIMAL_FORMAT | |
SUPPRESS_LEADING | |
SUPPRESS_TRAILING | |
KEEP_ZEROS |
Definition at line 155 of file gendrill_file_writer_base.h.
EXCELLON_WRITER::EXCELLON_WRITER | ( | BOARD * | aPcb | ) |
Definition at line 62 of file gendrill_Excellon_writer.cpp.
References GENDRILL_WRITER_BASE::DECIMAL_FORMAT, FILEEXT::DrillFileExtension, GENDRILL_WRITER_BASE::m_conversionUnits, GENDRILL_WRITER_BASE::m_drillFileExtension, m_file, GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, m_minimalHeader, m_mirror, m_useRouteModeForOval, and GENDRILL_WRITER_BASE::m_zeroFormat.
|
inlinevirtual |
Definition at line 49 of file gendrill_Excellon_writer.h.
|
protectedinherited |
aLayerPair | is the layer pair (Drill from rom first layer to second layer) |
aHoleType | is type of drill file (PTH, NPTH, mixed) |
aCompatNCdrill | is true when generating NC (Excellon) compatible drill file |
Definition at line 366 of file gendrill_file_writer_base.cpp.
References B_Cu, F_Cu, BOARD::GetCopperLayerCount(), HOLE_INFO::m_Hole_Shape, GENDRILL_WRITER_BASE::m_holeListBuffer, GENDRILL_WRITER_BASE::m_pcb, GENDRILL_WRITER_BASE::MIXED_FILE, GENDRILL_WRITER_BASE::NPTH_FILE, and text.
Referenced by GERBER_WRITER::createDrillFile(), and writeEXCELLONHeader().
|
protectedinherited |
Create the list of holes and tools for a given board.
The list is sorted by increasing drill size. Only holes included within aLayerPair are listed. If aLayerPair identifies with [F_Cu, B_Cu], then pad holes are always included also.
aLayerPair | is an inclusive range of layers. |
aGenerateNPTH_list | : true to create NPTH only list (with no plated holes) false to created plated holes list (with no NPTH ) |
Definition at line 67 of file gendrill_file_writer_base.cpp.
References ANGLE_0, B_Cu, cmpHoleSorting(), F_Cu, BOARD::Footprints(), DRILL_TOOL::m_Diameter, HOLE_INFO::m_Hole_Bottom_Layer, HOLE_INFO::m_Hole_Diameter, DRILL_TOOL::m_Hole_NotPlated, HOLE_INFO::m_Hole_NotPlated, HOLE_INFO::m_Hole_Orient, HOLE_INFO::m_Hole_Pos, HOLE_INFO::m_Hole_Shape, HOLE_INFO::m_Hole_Size, HOLE_INFO::m_Hole_Top_Layer, DRILL_TOOL::m_HoleAttribute, HOLE_INFO::m_HoleAttribute, GENDRILL_WRITER_BASE::m_holeListBuffer, HOLE_INFO::m_ItemParent, GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, GENDRILL_WRITER_BASE::m_pcb, HOLE_INFO::m_Tool_Reference, GENDRILL_WRITER_BASE::m_toolListBuffer, pad, PCB_VIA_T, BOARD::Tracks(), USE_ATTRIB_FOR_HOLES, via, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), and GENDRILL_WRITER_BASE::GenDrillReportFile().
bool EXCELLON_WRITER::CreateDrillandMapFilesSet | ( | const wxString & | aPlotDirectory, |
bool | aGenDrill, | ||
bool | aGenMap, | ||
REPORTER * | aReporter = nullptr |
||
) |
Create the full set of Excellon drill file for the board.
File names are computed from the board name and layer ID.
aPlotDirectory | is the output folder. |
aGenDrill | set to true to generate the EXCELLON drill file. |
aGenMap | set to true to generate a drill map file. |
aReporter | is a REPORTER to return activity or any message (can be NULL) |
Definition at line 76 of file gendrill_Excellon_writer.cpp.
References _, B_Cu, GENDRILL_WRITER_BASE::buildHolesList(), createDrillFile(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), F_Cu, GENDRILL_WRITER_BASE::getDrillFileName(), GENDRILL_WRITER_BASE::getHolesCount(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, GENDRILL_WRITER_BASE::MIXED_FILE, GENDRILL_WRITER_BASE::NPTH_FILE, GENDRILL_WRITER_BASE::PTH_FILE, REPORTER::Report(), REPORTER::ReportTail(), RPT_SEVERITY_ACTION, RPT_SEVERITY_ERROR, and RPT_SEVERITY_INFO.
Referenced by DIALOG_GENDRILL::GenDrillAndMapFiles(), and PCBNEW_JOBS_HANDLER::JobExportDrill().
|
private |
Create an Excellon drill file.
aFile | is an opened file to write to will be closed by CreateDrillFile. |
aLayerPair | is the layer pair for the current holes. |
aHolesType | is the holes type (PTH, NPTH, mixed). |
Definition at line 194 of file gendrill_Excellon_writer.cpp.
References delta, dummy, GENDRILL_WRITER_BASE::m_conversionUnits, DRILL_TOOL::m_Diameter, m_file, HOLE_INFO::m_Hole_Orient, HOLE_INFO::m_Hole_Pos, HOLE_INFO::m_Hole_Shape, HOLE_INFO::m_Hole_Size, DRILL_TOOL::m_HoleAttribute, GENDRILL_WRITER_BASE::m_holeListBuffer, m_mirror, GENDRILL_WRITER_BASE::m_offset, HOLE_INFO::m_Tool_Reference, GENDRILL_WRITER_BASE::m_toolListBuffer, GENDRILL_WRITER_BASE::m_unitsMetric, m_useRouteModeForOval, RotatePoint(), writeCoordinates(), writeEXCELLONEndOfFile(), writeEXCELLONHeader(), writeHoleAttribute(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by CreateDrillandMapFilesSet().
|
inherited |
Create the full set of map files for the board, in PS, PDF ... format (use SetMapFileFormat() to select the format).
File names are computed from the board name and layer ID.
aPlotDirectory | is the output folder. |
aReporter | is a REPORTER to return activity or any message (can be NULL) |
Definition at line 305 of file gendrill_file_writer_base.cpp.
References _, B_Cu, GENDRILL_WRITER_BASE::buildHolesList(), F_Cu, GENDRILL_WRITER_BASE::genDrillMapFile(), GetDefaultPlotExtension(), GENDRILL_WRITER_BASE::getDrillFileName(), GENDRILL_WRITER_BASE::getHolesCount(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), GENDRILL_WRITER_BASE::m_mapFileFmt, GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, REPORTER::Report(), RPT_SEVERITY_ACTION, and RPT_SEVERITY_ERROR.
Referenced by CreateDrillandMapFilesSet(), and GERBER_WRITER::CreateDrillandMapFilesSet().
|
protectedinherited |
Plot a map of drill marks for holes.
Hole list must be created before calling this function, by buildHolesList() for the right holes set (PTH, NPTH, buried/blind vias ...) the paper sheet to use to plot the map is set in m_pageInfo ( calls SetPageInfo() to set it ). If NULL, A4 format will be used.
aFullFileName | is the full filename of the map file to create. |
aFormat | is one of the supported plot formats (see enum PlotFormat ). |
Definition at line 88 of file gen_drill_report_files.cpp.
References PAGE_INFO::A4, AddGerberX2Header(), PLOTTER::AddLineToHeader(), ANGLE_HORIZONTAL, BOX2< Vec >::Centre(), PLOTTER::ClearHeaderLinesList(), KIFONT::METRICS::Default(), diameter_in_inches(), diameter_in_mm(), GERBER_PLOTTER::DisableApertMacros(), BOARD::Drawings(), dummy, Dwgs_User, Edge_Cuts, PLOTTER::EndPlot(), BOARD::Footprints(), From_UTF8(), BOARD::GetBoardEdgesBoundingBox(), BOX2< Vec >::GetBottom(), getDefaultPenSize(), BOX2< Vec >::GetHeight(), getMarkerBestPenSize(), GENDRILL_WRITER_BASE::GetOffset(), PLOTTER::GetPlotterType(), PAGE_INFO::GetSizeIU(), BOARD::GetVisibleLayers(), BOX2< Vec >::GetWidth(), BOX2< Vec >::GetX(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_CENTER, EDA_IU_SCALE::IU_PER_MILS, EDA_IU_SCALE::IU_PER_MM, KI_FALLTHROUGH, KiROUND(), TEXT_ATTRIBUTES::m_Angle, DRILL_TOOL::m_Diameter, TEXT_ATTRIBUTES::m_Halign, DRILL_TOOL::m_Hole_NotPlated, TEXT_ATTRIBUTES::m_Multiline, DRILL_TOOL::m_OvalCount, GENDRILL_WRITER_BASE::m_pageInfo, GENDRILL_WRITER_BASE::m_pcb, TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, GENDRILL_WRITER_BASE::m_toolListBuffer, DRILL_TOOL::m_TotalCount, GENDRILL_WRITER_BASE::m_unitsMetric, TEXT_ATTRIBUTES::m_Valign, PLOTTER::Marker(), EDA_IU_SCALE::mmToIU(), PLOTTER::OpenFile(), PCB_SHAPE_T, pcbIUScale, GENDRILL_WRITER_BASE::plotDrillMarks(), BRDITEMS_PLOTTER::PlotShape(), PLOTTER::PlotText(), scale, PLOTTER::SetColorMode(), PLOTTER::SetCreator(), PLOTTER::SetCurrentLineWidth(), KIGFX::RENDER_SETTINGS::SetDefaultPenWidth(), PLOTTER::SetGerberCoordinatesFormat(), PCB_SHAPE::SetLayer(), BRDITEMS_PLOTTER::SetLayerSet(), PLOTTER::SetPageSettings(), BOARD_ITEM::SetParentGroup(), PLOTTER::SetRenderSettings(), DXF_PLOTTER::SetUnits(), PLOTTER::SetViewport(), BOARD::SetVisibleLayers(), PLOTTER::StartPlot(), text, GERBER_PLOTTER::UseX2format(), GERBER_PLOTTER::UseX2NetAttributes(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by GENDRILL_WRITER_BASE::CreateMapFilesSet().
|
inherited |
Create a plain text report file giving a list of drill values and drill count for through holes, oblong holes, and for buried vias, drill values and drill count per layer pair there is only one report for all drill files even when buried or blinds vias exist.
Here is a sample created by this function: Drill report for F:/tmp/interf_u/interf_u.brd Created on 04/10/2012 20:48:38 Selected Drill Unit: Imperial (inches)
Drill report for plated through holes : T1 0,025" 0,64mm (88 holes) T2 0,031" 0,79mm (120 holes) T3 0,032" 0,81mm (151 holes) (with 1 slot) T4 0,040" 1,02mm (43 holes) T5 0,079" 2,00mm (1 hole) (with 1 slot) T6 0,120" 3,05mm (1 hole) (with 1 slot)
Total plated holes count 404
Drill report for buried and blind vias :
Drill report for holes from layer Soudure to layer Interne1 :
Total plated holes count 0
Drill report for holes from layer Interne1 to layer Interne2 : T1 0,025" 0,64mm (3 holes) Total plated holes count 3 Drill report for holes from layer Interne2 to layer Composant : T1 0,025" 0,64mm (1 hole)
Total plated holes count 1
Drill report for unplated through holes : T1 0,120" 3,05mm (1 hole) (with 1 slot)
Total unplated holes count 1
aFullFileName | is the name of the file to create. |
Definition at line 409 of file gen_drill_report_files.cpp.
References LSET::AllCuMask(), B_Cu, GENDRILL_WRITER_BASE::buildHolesList(), F_Cu, GENDRILL_WRITER_BASE::getDrillFileName(), BOARD::GetEnabledLayers(), BOARD::GetFileName(), GetISO8601CurrentDateTime(), BOARD::GetLayerName(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), GENDRILL_WRITER_BASE::layerName(), GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, GENDRILL_WRITER_BASE::m_pcb, OUTPUTFORMATTER::Print(), GENDRILL_WRITER_BASE::printToolSummary(), LSET::Seq(), TO_UTF8, and ToLAYER_ID().
Referenced by DIALOG_GENDRILL::OnGenReportFile().
|
inlineinherited |
Returns the file extension of the drill writer format.
Definition at line 270 of file gendrill_file_writer_base.h.
References GENDRILL_WRITER_BASE::m_drillFileExtension.
|
protectedvirtualinherited |
aPair | is the layer pair. |
aNPTH | use true to generate the filename of NPTH holes. |
aMerge_PTH_NPTH | use true to generate the filename of a file which containd both NPH and NPTH holes. |
Reimplemented in GERBER_WRITER.
Definition at line 274 of file gendrill_file_writer_base.cpp.
References B_Cu, F_Cu, BOARD::GetFileName(), GENDRILL_WRITER_BASE::layerPairName(), GENDRILL_WRITER_BASE::m_drillFileExtension, and GENDRILL_WRITER_BASE::m_pcb.
Referenced by CreateDrillandMapFilesSet(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), GENDRILL_WRITER_BASE::GenDrillReportFile(), and GERBER_WRITER::getDrillFileName().
|
inlineprotectedinherited |
Definition at line 300 of file gendrill_file_writer_base.h.
References GENDRILL_WRITER_BASE::m_holeListBuffer.
Referenced by CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), and GENDRILL_WRITER_BASE::CreateMapFilesSet().
|
inline |
Return the plot offset (usually the position of the auxiliary axis.
Definition at line 56 of file gendrill_Excellon_writer.h.
References GENDRILL_WRITER_BASE::m_offset.
|
protectedinherited |
Get unique layer pairs by examining the micro and blind_buried vias.
Definition at line 211 of file gendrill_file_writer_base.cpp.
References B_Cu, PCB_TYPE_COLLECTOR::Collect(), F_Cu, COLLECTOR::GetCount(), PCB_VIA::LayerPair(), GENDRILL_WRITER_BASE::m_pcb, and PCB_VIA_T.
Referenced by CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), and GENDRILL_WRITER_BASE::GenDrillReportFile().
|
protectedinherited |
Definition at line 245 of file gendrill_file_writer_base.cpp.
References B_Cu, F_Cu, and StrPrintf().
Referenced by GENDRILL_WRITER_BASE::GenDrillReportFile(), and GENDRILL_WRITER_BASE::layerPairName().
|
protectedinherited |
Definition at line 264 of file gendrill_file_writer_base.cpp.
References GENDRILL_WRITER_BASE::layerName().
Referenced by GENDRILL_WRITER_BASE::getDrillFileName().
|
protectedinherited |
Write the drill marks in HPGL, POSTSCRIPT or other supported formats/.
Each hole size has a symbol (circle, cross X, cross + ...) up to PLOTTER::MARKER_COUNT different values. If more than PLOTTER::MARKER_COUNT different values, these other values share the same mark shape.
aPlotter | is a PLOTTER instance (HPGL, POSTSCRIPT ... plotter). |
Definition at line 511 of file gen_drill_report_files.cpp.
References PLOTTER::FlashPadOval(), KIGFX::RENDER_SETTINGS::GetDefaultPenWidth(), getMarkerBestPenSize(), getSketchOvalBestPenSize(), HOLE_INFO::m_Hole_Diameter, HOLE_INFO::m_Hole_Orient, HOLE_INFO::m_Hole_Pos, HOLE_INFO::m_Hole_Shape, HOLE_INFO::m_Hole_Size, GENDRILL_WRITER_BASE::m_holeListBuffer, HOLE_INFO::m_Tool_Reference, PLOTTER::Marker(), PLOTTER::RenderSettings(), PLOTTER::SetCurrentLineWidth(), KIGFX::RENDER_SETTINGS::SetDefaultPenWidth(), and SKETCH.
Referenced by GENDRILL_WRITER_BASE::genDrillMapFile().
|
protectedinherited |
Print m_toolListBuffer[] tools to aOut and returns total hole count.
aOut | is the current OUTPUTFORMATTER to print summary. |
aSummaryNPTH | is true to print summary for NPTH, false for PTH. |
Definition at line 546 of file gen_drill_report_files.cpp.
References diameter_in_inches(), diameter_in_mm(), DRILL_TOOL::m_Diameter, DRILL_TOOL::m_Hole_NotPlated, DRILL_TOOL::m_OvalCount, GENDRILL_WRITER_BASE::m_toolListBuffer, DRILL_TOOL::m_TotalCount, and OUTPUTFORMATTER::Print().
Referenced by GENDRILL_WRITER_BASE::GenDrillReportFile().
void EXCELLON_WRITER::SetFormat | ( | bool | aMetric, |
ZEROS_FMT | aZerosFmt = DECIMAL_FORMAT , |
||
int | aLeftDigits = 0 , |
||
int | aRightDigits = 0 |
||
) |
Initialize internal parameters to match the given format.
aMetric | set to true for metric coordinates, false for imperial units. |
aZerosFmt | is the zero format DECIMAL_FORMAT, SUPPRESS_LEADING, SUPPRESS_TRAILING, or KEEP_ZEROS. |
aLeftDigits | is the number of digits for integer part of coordinates if <= 0 (default), a suitable value will be used, depending on units. |
aRightDigits | is number of digits for mantissa part of coordinates if <= 0 (default), a suitable value will be used, depending on units. |
Definition at line 358 of file gendrill_Excellon_writer.cpp.
References EDA_IU_SCALE::IU_PER_MILS, EDA_IU_SCALE::IU_PER_MM, GENDRILL_WRITER_BASE::m_conversionUnits, DRILL_PRECISION::m_Lhs, GENDRILL_WRITER_BASE::m_precision, DRILL_PRECISION::m_Rhs, GENDRILL_WRITER_BASE::m_unitsMetric, GENDRILL_WRITER_BASE::m_zeroFormat, and pcbIUScale.
Referenced by DIALOG_GENDRILL::GenDrillAndMapFiles(), and PCBNEW_JOBS_HANDLER::JobExportDrill().
|
inlineinherited |
Initialize the format for the drill map file.
aMapFmt | a PlotFormat value (one of PLOT_FORMAT_HPGL, PLOT_FORMAT_POST, PLOT_FORMAT_GERBER, PLOT_FORMAT_DXF, PLOT_FORMAT_SVG, PLOT_FORMAT_PDF the most useful are PLOT_FORMAT_PDF and PLOT_FORMAT_POST. |
Definition at line 201 of file gendrill_file_writer_base.h.
References GENDRILL_WRITER_BASE::m_mapFileFmt.
Referenced by DIALOG_GENDRILL::GenDrillAndMapFiles(), and PCBNEW_JOBS_HANDLER::JobExportDrill().
|
inlineinherited |
Set the option to make separate drill files for PTH and NPTH.
aMerge | set to true to make only one file containing PTH and NPTH or false to create 2 separate files. |
Definition at line 178 of file gendrill_file_writer_base.h.
References GENDRILL_WRITER_BASE::m_merge_PTH_NPTH.
Referenced by DIALOG_GENDRILL::OnGenReportFile().
|
inline |
Initialize internal parameters to match drill options.
aMirror | set to true to create mirrored coordinates (Y coordinates negated). |
aMinimalHeader | set to true to use a minimal header (no comments, no info). |
aOffset | is the drill coordinates offset. |
aMerge_PTH_NPTH | set to true to create only one file containing PTH and NPTH false to create 2 separate files : one for PTH and one for NPTH. |
Definition at line 89 of file gendrill_Excellon_writer.h.
References GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, m_minimalHeader, m_mirror, and GENDRILL_WRITER_BASE::m_offset.
Referenced by DIALOG_GENDRILL::GenDrillAndMapFiles(), and PCBNEW_JOBS_HANDLER::JobExportDrill().
|
inlineinherited |
Set the page info used to plot drill maps.
If NULL, a A4 page format will be used.
aPageInfo | is a reference to the page info, usually used to plot/display the board. |
Definition at line 192 of file gendrill_file_writer_base.h.
References GENDRILL_WRITER_BASE::m_pageInfo.
|
inline |
Definition at line 61 of file gendrill_Excellon_writer.h.
References m_useRouteModeForOval.
Referenced by DIALOG_GENDRILL::GenDrillAndMapFiles(), and PCBNEW_JOBS_HANDLER::JobExportDrill().
|
private |
Create a line like according to the selected format.
Definition at line 383 of file gendrill_Excellon_writer.cpp.
References GENDRILL_WRITER_BASE::DECIMAL_FORMAT, GENDRILL_WRITER_BASE::KEEP_ZEROS, KiROUND(), DRILL_PRECISION::m_Lhs, GENDRILL_WRITER_BASE::m_precision, DRILL_PRECISION::m_Rhs, GENDRILL_WRITER_BASE::m_unitsMetric, GENDRILL_WRITER_BASE::m_zeroFormat, GENDRILL_WRITER_BASE::SUPPRESS_LEADING, GENDRILL_WRITER_BASE::SUPPRESS_TRAILING, and TO_UTF8.
Referenced by createDrillFile().
|
private |
Definition at line 576 of file gendrill_Excellon_writer.cpp.
References m_file.
Referenced by createDrillFile().
|
private |
Print the DRILL file header.
The full header is something like: M48 ;DRILL file {PCBNEW (2007-11-29-b)} date 17/1/2008-21:02:35 ;FORMAT={ <precision> / absolute / <units> / <numbers format>} ; #@! TF.FileFunction,Plated,1,4,PTH ; #@! TF.CreationDate,2018-11-23T15:59:51+01:00 ; #@! TF.GenerationSoftware,Kicad,Pcbnew,2017.04 FMAT,2 INCH,TZ
aLayerPair | is the layer pair for the current holes. |
aHolesType | is the holes type in file (PTH, NPTH, mixed). |
Definition at line 490 of file gendrill_Excellon_writer.cpp.
References GENDRILL_WRITER_BASE::BuildFileFunctionAttributeString(), GENDRILL_WRITER_BASE::DECIMAL_FORMAT, GBR_NC_STRING_FORMAT_NCDRILL, GbrMakeCreationDateAttributeString(), GetBuildVersion(), GetISO8601CurrentDateTime(), DRILL_PRECISION::GetPrecisionString(), GENDRILL_WRITER_BASE::KEEP_ZEROS, m_file, m_minimalHeader, GENDRILL_WRITER_BASE::m_precision, GENDRILL_WRITER_BASE::m_unitsMetric, GENDRILL_WRITER_BASE::m_zeroFormat, GENDRILL_WRITER_BASE::SUPPRESS_LEADING, GENDRILL_WRITER_BASE::SUPPRESS_TRAILING, and TO_UTF8.
Referenced by createDrillFile().
|
private |
Write a comment string giving the hole attribute.
aAttribute | is the hole attribute. |
Definition at line 161 of file gendrill_Excellon_writer.cpp.
References m_file, and m_minimalHeader.
Referenced by createDrillFile().
|
protectedinherited |
Definition at line 385 of file gendrill_file_writer_base.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), GERBER_WRITER::GERBER_WRITER(), SetFormat(), and GERBER_WRITER::SetFormat().
|
protectedinherited |
Definition at line 380 of file gendrill_file_writer_base.h.
Referenced by EXCELLON_WRITER(), GERBER_WRITER::GERBER_WRITER(), GENDRILL_WRITER_BASE::GetDrillFileExt(), and GENDRILL_WRITER_BASE::getDrillFileName().
|
private |
Definition at line 155 of file gendrill_Excellon_writer.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), writeEXCELLONEndOfFile(), writeEXCELLONHeader(), and writeHoleAttribute().
|
protectedinherited |
Definition at line 390 of file gendrill_file_writer_base.h.
Referenced by GENDRILL_WRITER_BASE::BuildFileFunctionAttributeString(), GENDRILL_WRITER_BASE::buildHolesList(), createDrillFile(), GERBER_WRITER::createDrillFile(), GENDRILL_WRITER_BASE::getHolesCount(), and GENDRILL_WRITER_BASE::plotDrillMarks().
|
protectedinherited |
Definition at line 393 of file gendrill_file_writer_base.h.
Referenced by GENDRILL_WRITER_BASE::CreateMapFilesSet(), GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), and GENDRILL_WRITER_BASE::SetMapFileFormat().
|
protectedinherited |
Definition at line 389 of file gendrill_file_writer_base.h.
Referenced by GENDRILL_WRITER_BASE::buildHolesList(), CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), EXCELLON_WRITER(), GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), GENDRILL_WRITER_BASE::GenDrillReportFile(), GERBER_WRITER::GERBER_WRITER(), GENDRILL_WRITER_BASE::SetMergeOption(), SetOptions(), and GERBER_WRITER::SetOptions().
|
private |
Definition at line 156 of file gendrill_Excellon_writer.h.
Referenced by EXCELLON_WRITER(), SetOptions(), writeEXCELLONHeader(), and writeHoleAttribute().
|
private |
Definition at line 157 of file gendrill_Excellon_writer.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), and SetOptions().
|
protectedinherited |
Definition at line 388 of file gendrill_file_writer_base.h.
Referenced by createDrillFile(), GERBER_WRITER::createDrillFile(), GetOffset(), GENDRILL_WRITER_BASE::GetOffset(), SetOptions(), and GERBER_WRITER::SetOptions().
|
protectedinherited |
Definition at line 395 of file gendrill_file_writer_base.h.
Referenced by GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), GENDRILL_WRITER_BASE::genDrillMapFile(), and GENDRILL_WRITER_BASE::SetPageInfo().
|
protectedinherited |
Definition at line 379 of file gendrill_file_writer_base.h.
Referenced by GENDRILL_WRITER_BASE::BuildFileFunctionAttributeString(), GENDRILL_WRITER_BASE::buildHolesList(), GERBER_WRITER::createDrillFile(), GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), GENDRILL_WRITER_BASE::genDrillMapFile(), GENDRILL_WRITER_BASE::GenDrillReportFile(), GENDRILL_WRITER_BASE::getDrillFileName(), and GENDRILL_WRITER_BASE::getUniqueLayerPairs().
|
protectedinherited |
Definition at line 383 of file gendrill_file_writer_base.h.
Referenced by SetFormat(), GERBER_WRITER::SetFormat(), writeCoordinates(), and writeEXCELLONHeader().
|
protectedinherited |
Definition at line 391 of file gendrill_file_writer_base.h.
Referenced by GENDRILL_WRITER_BASE::buildHolesList(), createDrillFile(), GENDRILL_WRITER_BASE::genDrillMapFile(), and GENDRILL_WRITER_BASE::printToolSummary().
|
protectedinherited |
Definition at line 381 of file gendrill_file_writer_base.h.
Referenced by createDrillFile(), GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), GENDRILL_WRITER_BASE::genDrillMapFile(), GERBER_WRITER::GERBER_WRITER(), SetFormat(), writeCoordinates(), and writeEXCELLONHeader().
|
private |
Definition at line 158 of file gendrill_Excellon_writer.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), and SetRouteModeForOvalHoles().
|
protectedinherited |
Definition at line 382 of file gendrill_file_writer_base.h.
Referenced by EXCELLON_WRITER(), GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), GERBER_WRITER::GERBER_WRITER(), SetFormat(), writeCoordinates(), and writeEXCELLONHeader().