|
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, REPORTER *aReporter=nullptr) |
| 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 (const DRILL_SPAN &aSpan, 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 PDF, POSTSCRIPT or other supported formats/. | |
| std::vector< DRILL_SPAN > | getUniqueLayerPairs () const |
| Get unique layer pairs by examining the micro and blind_buried vias. | |
| unsigned | printToolSummary (FILE *out, 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 (const DRILL_SPAN &aSpan, bool aNPTH, bool aMerge_PTH_NPTH) const |
| virtual const wxString | getProtectionFileName (const DRILL_SPAN &aSpan, IPC4761_FEATURES aFeature) const |
| const wxString | BuildFileFunctionAttributeString (const DRILL_SPAN &aSpan, 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, const DRILL_SPAN &aSpan, TYPE_FILE aHolesType, bool aTagBackdrillHit=false) |
| Create an Excellon drill file. | |
| void | writeEXCELLONHeader (const DRILL_SPAN &aSpan, 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. | |
| wxFileName | getBackdrillLayerPairFileName (const DRILL_SPAN &aSpan) const |
| bool | writeBackdrillLayerPairFile (const wxString &aPlotDirectory, REPORTER *aReporter, const DRILL_SPAN &aSpan) |
| void | writeHoleComments (const HOLE_INFO &aHole, bool aTagBackdrillHit) |
| void | writePostMachiningComment (PAD_DRILL_POST_MACHINING_MODE aMode, int aSizeIU, int aDepthIU, int aAngleDeciDegree, const wxString &aSideLabel) |
| wxString | formatLinearValue (int aValueIU) const |
Private Attributes | |
| FILE * | m_file |
| bool | m_minimalHeader |
| bool | m_mirror |
| bool | m_useRouteModeForOval |
| int | m_mantissaLenght |
Create Excellon drill, drill map, and drill report files.
Definition at line 46 of file gendrill_excellon_writer.h.
|
inherited |
| Enumerator | |
|---|---|
| PTH_FILE | |
| NPTH_FILE | |
| MIXED_FILE | |
Definition at line 307 of file gendrill_writer_base.h.
|
inherited |
| Enumerator | |
|---|---|
| DECIMAL_FORMAT | |
| SUPPRESS_LEADING | |
| SUPPRESS_TRAILING | |
| KEEP_ZEROS | |
Definition at line 300 of file gendrill_writer_base.h.
| EXCELLON_WRITER::EXCELLON_WRITER | ( | BOARD * | aPcb | ) |
Definition at line 63 of file gendrill_excellon_writer.cpp.
References GENDRILL_WRITER_BASE::DECIMAL_FORMAT, FILEEXT::DrillFileExtension, GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), GENDRILL_WRITER_BASE::m_conversionUnits, GENDRILL_WRITER_BASE::m_drillFileExtension, m_file, m_mantissaLenght, GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, m_minimalHeader, m_mirror, m_useRouteModeForOval, and GENDRILL_WRITER_BASE::m_zeroFormat.
|
inlinevirtual |
Definition at line 51 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 605 of file gendrill_writer_base.cpp.
References B_Cu, F_Cu, HOLE_INFO::m_Hole_Shape, m_holeListBuffer, DRILL_SPAN::m_IsBackdrill, m_pcb, MIXED_FILE, NPTH_FILE, DRILL_SPAN::Pair(), and text.
Referenced by GERBER_WRITER::createDrillFile(), and EXCELLON_WRITER::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 80 of file gendrill_writer_base.cpp.
References ANGLE_0, B_Cu, DRILL_SPAN::BottomLayer(), CASTELLATED, CIRCLE, cmpHoleSorting(), COUNTERBORE, COUNTERSINK, DRILL_SPAN::DrillEndLayer(), DRILL_SPAN::DrillStartLayer(), PADSTACK::DRILL_PROPS::end, F_Cu, BOARD_STACKUP::GetLayerDistance(), HOLE_MECHANICAL, HOLE_PAD, HOLE_PAD_CASTELLATED, HOLE_PAD_PRESSFIT, HOLE_UNKNOWN, HOLE_VIA_BACKDRILL, HOLE_VIA_BURIED, HOLE_VIA_THROUGH, PADSTACK::DRILL_PROPS::is_capped, PADSTACK::DRILL_PROPS::is_filled, HOLE_INFO::m_BackPostMachining, HOLE_INFO::m_BackPostMachiningAngle, HOLE_INFO::m_BackPostMachiningDepth, HOLE_INFO::m_BackPostMachiningSize, DRILL_TOOL::m_Diameter, HOLE_INFO::m_DrillEnd, HOLE_INFO::m_DrillStart, HOLE_INFO::m_FrontPostMachining, HOLE_INFO::m_FrontPostMachiningAngle, HOLE_INFO::m_FrontPostMachiningDepth, HOLE_INFO::m_FrontPostMachiningSize, HOLE_INFO::m_Hole_Bot_Covered, HOLE_INFO::m_Hole_Bot_Plugged, HOLE_INFO::m_Hole_Bot_Tented, HOLE_INFO::m_Hole_Bottom_Layer, HOLE_INFO::m_Hole_Capped, HOLE_INFO::m_Hole_Diameter, HOLE_INFO::m_Hole_Filled, 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_Covered, HOLE_INFO::m_Hole_Top_Layer, HOLE_INFO::m_Hole_Top_Plugged, HOLE_INFO::m_Hole_Top_Tented, DRILL_TOOL::m_HoleAttribute, HOLE_INFO::m_HoleAttribute, m_holeListBuffer, DRILL_SPAN::m_IsBackdrill, HOLE_INFO::m_IsBackdrill, HOLE_INFO::m_ItemParent, m_merge_PTH_NPTH, m_pcb, HOLE_INFO::m_StubLength, HOLE_INFO::m_Tool_Reference, m_toolListBuffer, NPTH, pad, DRILL_SPAN::Pair(), PCB_VIA_T, PRESSFIT, PADSTACK::DRILL_PROPS::shape, PADSTACK::DRILL_PROPS::size, PADSTACK::DRILL_PROPS::start, DRILL_SPAN::TopLayer(), UNDEFINED_LAYER, UNKNOWN, USE_ATTRIB_FOR_HOLES, via, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EXCELLON_WRITER::CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), CreateMapFilesSet(), and 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 78 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(), DRILL_SPAN::m_IsBackdrill, DRILL_SPAN::m_IsNonPlatedFile, GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, GENDRILL_WRITER_BASE::MIXED_FILE, GENDRILL_WRITER_BASE::NPTH_FILE, DRILL_SPAN::Pair(), GENDRILL_WRITER_BASE::PTH_FILE, REPORTER::Report(), REPORTER::ReportTail(), RPT_SEVERITY_ACTION, RPT_SEVERITY_ERROR, RPT_SEVERITY_INFO, and writeBackdrillLayerPairFile().
Referenced by BOOST_AUTO_TEST_CASE(), 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 231 of file gendrill_excellon_writer.cpp.
References delta, GENDRILL_WRITER_BASE::m_conversionUnits, DRILL_TOOL::m_Diameter, m_file, DRILL_TOOL::m_HasPostMachining, 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, DRILL_TOOL::m_IsBackdrill, m_mantissaLenght, DRILL_TOOL::m_MaxStubLength, m_minimalHeader, DRILL_TOOL::m_MinStubLength, m_mirror, GENDRILL_WRITER_BASE::m_offset, HOLE_INFO::m_Tool_Reference, GENDRILL_WRITER_BASE::m_toolListBuffer, GENDRILL_WRITER_BASE::m_unitsMetric, m_useRouteModeForOval, pcbIUScale, RotatePoint(), TO_UTF8, writeCoordinates(), writeEXCELLONEndOfFile(), writeEXCELLONHeader(), writeHoleAttribute(), writeHoleComments(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by CreateDrillandMapFilesSet(), and writeBackdrillLayerPairFile().
|
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 552 of file gendrill_writer_base.cpp.
References _, B_Cu, buildHolesList(), F_Cu, genDrillMapFile(), GetDefaultPlotExtension(), getDrillFileName(), getHolesCount(), getUniqueLayerPairs(), DRILL_SPAN::m_IsNonPlatedFile, m_mapFileFmt, m_merge_PTH_NPTH, DRILL_SPAN::Pair(), REPORTER::Report(), RPT_SEVERITY_ACTION, and RPT_SEVERITY_ERROR.
Referenced by EXCELLON_WRITER::CreateDrillandMapFilesSet(), and GERBER_WRITER::CreateDrillandMapFilesSet().
|
private |
Definition at line 776 of file gendrill_excellon_writer.cpp.
References GENDRILL_WRITER_BASE::m_conversionUnits, m_mantissaLenght, and GENDRILL_WRITER_BASE::m_unitsMetric.
Referenced by writePostMachiningComment().
|
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 744 of file gendrill_writer_base.cpp.
References A4, AddGerberX2Header(), PLOTTER::AddLineToHeader(), ANGLE_HORIZONTAL, BOX2< Vec >::Centre(), PLOTTER::ClearHeaderLinesList(), KIFONT::METRICS::Default(), diameter_in_inches(), diameter_in_mm(), GERBER_PLOTTER::DisableApertMacros(), dummy, Dwgs_User, DXF, Edge_Cuts, PLOTTER::EndPlot(), From_UTF8(), GERBER, BOX2< Vec >::GetBottom(), getDefaultPenSize(), BOX2< Vec >::GetHeight(), getMarkerBestPenSize(), GetOffset(), PLOTTER::GetPlotterType(), PAGE_INFO::GetSizeIU(), BOX2< Vec >::GetWidth(), BOX2< Vec >::GetX(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_CENTER, HOLE_PAD_CASTELLATED, HOLE_PAD_PRESSFIT, HPGL, INCH, KI_FALLTHROUGH, KiROUND(), TEXT_ATTRIBUTES::m_Angle, DRILL_TOOL::m_Diameter, TEXT_ATTRIBUTES::m_Halign, DRILL_TOOL::m_HasPostMachining, DRILL_TOOL::m_Hole_NotPlated, DRILL_TOOL::m_HoleAttribute, DRILL_TOOL::m_IsBackdrill, DRILL_TOOL::m_MaxStubLength, DRILL_TOOL::m_MinStubLength, TEXT_ATTRIBUTES::m_Multiline, DRILL_TOOL::m_OvalCount, m_pageInfo, m_pcb, TEXT_ATTRIBUTES::m_Size, TEXT_ATTRIBUTES::m_StrokeWidth, m_toolListBuffer, DRILL_TOOL::m_TotalCount, m_unitsMetric, TEXT_ATTRIBUTES::m_Valign, PLOTTER::Marker(), MM, PLOTTER::OpenFile(), PCB_SHAPE_T, pcbIUScale, PDF, plotDrillMarks(), BRDITEMS_PLOTTER::PlotShape(), PLOTTER::PlotText(), POST, scale, PLOTTER::SetColorMode(), PLOTTER::SetCreator(), PLOTTER::SetCurrentLineWidth(), KIGFX::RENDER_SETTINGS::SetDefaultPenWidth(), PLOTTER::SetGerberCoordinatesFormat(), PCB_SHAPE::SetLayer(), BRDITEMS_PLOTTER::SetLayerSet(), PLOTTER::SetPageSettings(), EDA_ITEM::SetParentGroup(), PLOTTER::SetRenderSettings(), DXF_PLOTTER::SetUnits(), PLOTTER::SetViewport(), PLOTTER::StartPlot(), SVG, text, COLOR4D::UNSPECIFIED, GERBER_PLOTTER::UseX2format(), GERBER_PLOTTER::UseX2NetAttributes(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by 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 1087 of file gendrill_writer_base.cpp.
References _, LSET::AllCuMask(), B_Cu, buildHolesList(), DRILL_SPAN::DrillEndLayer(), DRILL_SPAN::DrillStartLayer(), F_Cu, getDrillFileName(), GetISO8601CurrentDateTime(), getUniqueLayerPairs(), layerName(), DRILL_SPAN::m_IsBackdrill, m_merge_PTH_NPTH, m_pcb, DRILL_SPAN::Pair(), printToolSummary(), REPORTER::Report(), RPT_SEVERITY_ACTION, RPT_SEVERITY_ERROR, TO_UTF8, and ToLAYER_ID().
Referenced by PCBNEW_JOBS_HANDLER::JobExportDrill(), and DIALOG_GENDRILL::onGenReportFile().
|
private |
Definition at line 653 of file gendrill_excellon_writer.cpp.
References GENDRILL_WRITER_BASE::layerPairName(), GENDRILL_WRITER_BASE::m_drillFileExtension, GENDRILL_WRITER_BASE::m_pcb, and DRILL_SPAN::Pair().
Referenced by writeBackdrillLayerPairFile().
|
inlineinherited |
Returns the file extension of the drill writer format.
Definition at line 415 of file gendrill_writer_base.h.
References 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 443 of file gendrill_writer_base.cpp.
References LSET::AllCuMask(), B_Cu, DRILL_SPAN::DrillEndLayer(), DRILL_SPAN::DrillStartLayer(), F_Cu, layerPairName(), m_drillFileExtension, DRILL_SPAN::m_IsBackdrill, m_pcb, and DRILL_SPAN::Pair().
Referenced by EXCELLON_WRITER::CreateDrillandMapFilesSet(), CreateMapFilesSet(), GenDrillReportFile(), and GERBER_WRITER::getDrillFileName().
|
inlineprotectedinherited |
Definition at line 445 of file gendrill_writer_base.h.
References m_holeListBuffer.
Referenced by EXCELLON_WRITER::CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), and CreateMapFilesSet().
|
inline |
Return the plot offset (usually the position of the auxiliary axis.
Definition at line 58 of file gendrill_excellon_writer.h.
References GENDRILL_WRITER_BASE::m_offset.
|
protectedvirtualinherited |
| aPair | is the layer pair. |
| aFeature | Is the protection feature represented by the file |
Definition at line 498 of file gendrill_writer_base.cpp.
References CAPPED, COVERED_BACK, COVERED_FRONT, FILLED, layerName(), layerPairName(), m_drillFileExtension, m_pcb, DRILL_SPAN::Pair(), PLUGGED_BACK, PLUGGED_FRONT, TENTED_BACK, and TENTED_FRONT.
Referenced by GERBER_WRITER::CreateDrillandMapFilesSet().
|
protectedinherited |
Get unique layer pairs by examining the micro and blind_buried vias.
Definition at line 368 of file gendrill_writer_base.cpp.
References B_Cu, PCB_TYPE_COLLECTOR::Collect(), PADSTACK::DRILL_PROPS::end, F_Cu, COLLECTOR::GetCount(), m_pcb, PCB_VIA_T, PADSTACK::DRILL_PROPS::size, PADSTACK::DRILL_PROPS::start, UNDEFINED_LAYER, via, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EXCELLON_WRITER::CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), CreateMapFilesSet(), and GenDrillReportFile().
|
protectedinherited |
Definition at line 414 of file gendrill_writer_base.cpp.
Referenced by GenDrillReportFile(), getProtectionFileName(), and layerPairName().
|
protectedinherited |
Definition at line 433 of file gendrill_writer_base.cpp.
References layerName().
Referenced by EXCELLON_WRITER::getBackdrillLayerPairFileName(), GERBER_WRITER::getBackdrillLayerPairFileName(), getDrillFileName(), and getProtectionFileName().
|
protectedinherited |
Write the drill marks in PDF, 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 (PDF, POSTSCRIPT ... plotter). |
Definition at line 1227 of file gendrill_writer_base.cpp.
References 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, m_holeListBuffer, HOLE_INFO::m_Tool_Reference, PLOTTER::Marker(), PLOTTER::SetCurrentLineWidth(), PLOTTER::ThickOval(), and PLOTTER::USE_DEFAULT_LINE_WIDTH.
Referenced by 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 1253 of file gendrill_writer_base.cpp.
References diameter_in_inches(), diameter_in_mm(), HOLE_PAD_CASTELLATED, HOLE_PAD_PRESSFIT, DRILL_TOOL::m_Diameter, DRILL_TOOL::m_Hole_NotPlated, DRILL_TOOL::m_HoleAttribute, DRILL_TOOL::m_OvalCount, m_toolListBuffer, and DRILL_TOOL::m_TotalCount.
Referenced by 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 432 of file gendrill_excellon_writer.cpp.
References GENDRILL_WRITER_BASE::m_conversionUnits, GENDRILL_WRITER_BASE::m_precision, GENDRILL_WRITER_BASE::m_unitsMetric, GENDRILL_WRITER_BASE::m_zeroFormat, and pcbIUScale.
Referenced by BOOST_AUTO_TEST_CASE(), 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_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 346 of file gendrill_writer_base.h.
References 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 323 of file gendrill_writer_base.h.
References 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 91 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 BOOST_AUTO_TEST_CASE(), 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 337 of file gendrill_writer_base.h.
References m_pageInfo.
Referenced by DIALOG_GENDRILL::genDrillAndMapFiles().
|
inline |
Definition at line 63 of file gendrill_excellon_writer.h.
References m_useRouteModeForOval.
Referenced by DIALOG_GENDRILL::genDrillAndMapFiles(), and PCBNEW_JOBS_HANDLER::JobExportDrill().
|
private |
Definition at line 669 of file gendrill_excellon_writer.cpp.
References _, createDrillFile(), getBackdrillLayerPairFileName(), GENDRILL_WRITER_BASE::NPTH_FILE, REPORTER::Report(), RPT_SEVERITY_ACTION, and RPT_SEVERITY_ERROR.
Referenced by CreateDrillandMapFilesSet().
|
private |
Create a line like according to the selected format.
Definition at line 457 of file gendrill_excellon_writer.cpp.
References GENDRILL_WRITER_BASE::DECIMAL_FORMAT, GENDRILL_WRITER_BASE::KEEP_ZEROS, KiROUND(), m_mantissaLenght, GENDRILL_WRITER_BASE::m_precision, 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 645 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
| aSpan | is the drilling span for the current holes. |
| aHolesType | is the holes type in file (PTH, NPTH, mixed). |
Definition at line 558 of file gendrill_excellon_writer.cpp.
References GENDRILL_WRITER_BASE::BuildFileFunctionAttributeString(), GENDRILL_WRITER_BASE::DECIMAL_FORMAT, GBR_NC_STRING_FORMAT_NCDRILL, GbrMakeCreationDateAttributeString(), GetBuildVersion(), GetISO8601CurrentDateTime(), 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 185 of file gendrill_excellon_writer.cpp.
References HOLE_MECHANICAL, HOLE_PAD, HOLE_PAD_CASTELLATED, HOLE_PAD_PRESSFIT, HOLE_UNKNOWN, HOLE_VIA_BACKDRILL, HOLE_VIA_BURIED, HOLE_VIA_THROUGH, m_file, and m_minimalHeader.
Referenced by createDrillFile().
|
private |
Definition at line 718 of file gendrill_excellon_writer.cpp.
References HOLE_INFO::m_BackPostMachining, HOLE_INFO::m_BackPostMachiningAngle, HOLE_INFO::m_BackPostMachiningDepth, HOLE_INFO::m_BackPostMachiningSize, m_file, HOLE_INFO::m_FrontPostMachining, HOLE_INFO::m_FrontPostMachiningAngle, HOLE_INFO::m_FrontPostMachiningDepth, HOLE_INFO::m_FrontPostMachiningSize, HOLE_INFO::m_IsBackdrill, and writePostMachiningComment().
Referenced by createDrillFile().
|
private |
Definition at line 733 of file gendrill_excellon_writer.cpp.
References COUNTERBORE, COUNTERSINK, formatLinearValue(), m_file, and TO_UTF8.
Referenced by writeHoleComments().
|
protectedinherited |
Definition at line 540 of file gendrill_writer_base.h.
Referenced by EXCELLON_WRITER::createDrillFile(), EXCELLON_WRITER::EXCELLON_WRITER(), EXCELLON_WRITER::formatLinearValue(), GENDRILL_WRITER_BASE(), GERBER_WRITER::GERBER_WRITER(), EXCELLON_WRITER::SetFormat(), and GERBER_WRITER::SetFormat().
|
protectedinherited |
Definition at line 535 of file gendrill_writer_base.h.
Referenced by EXCELLON_WRITER::EXCELLON_WRITER(), GERBER_WRITER::GERBER_WRITER(), EXCELLON_WRITER::getBackdrillLayerPairFileName(), GERBER_WRITER::getBackdrillLayerPairFileName(), GetDrillFileExt(), getDrillFileName(), and getProtectionFileName().
|
private |
Definition at line 167 of file gendrill_excellon_writer.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), writeEXCELLONEndOfFile(), writeEXCELLONHeader(), writeHoleAttribute(), writeHoleComments(), and writePostMachiningComment().
|
protectedinherited |
Definition at line 545 of file gendrill_writer_base.h.
Referenced by BuildFileFunctionAttributeString(), buildHolesList(), EXCELLON_WRITER::createDrillFile(), GERBER_WRITER::createDrillFile(), GERBER_WRITER::createProtectionFile(), getHolesCount(), GERBER_WRITER::hasViaType(), and plotDrillMarks().
|
private |
Definition at line 172 of file gendrill_excellon_writer.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), formatLinearValue(), and writeCoordinates().
|
protectedinherited |
Definition at line 548 of file gendrill_writer_base.h.
Referenced by CreateMapFilesSet(), GENDRILL_WRITER_BASE(), and SetMapFileFormat().
|
protectedinherited |
Definition at line 544 of file gendrill_writer_base.h.
Referenced by buildHolesList(), EXCELLON_WRITER::CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), CreateMapFilesSet(), EXCELLON_WRITER::EXCELLON_WRITER(), GENDRILL_WRITER_BASE(), GenDrillReportFile(), GERBER_WRITER::GERBER_WRITER(), SetMergeOption(), EXCELLON_WRITER::SetOptions(), and GERBER_WRITER::SetOptions().
|
private |
Definition at line 168 of file gendrill_excellon_writer.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), SetOptions(), writeEXCELLONHeader(), and writeHoleAttribute().
|
private |
Definition at line 169 of file gendrill_excellon_writer.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), and SetOptions().
|
protectedinherited |
Definition at line 543 of file gendrill_writer_base.h.
Referenced by EXCELLON_WRITER::createDrillFile(), GERBER_WRITER::createDrillFile(), GERBER_WRITER::createProtectionFile(), EXCELLON_WRITER::GetOffset(), GetOffset(), EXCELLON_WRITER::SetOptions(), and GERBER_WRITER::SetOptions().
|
protectedinherited |
Definition at line 550 of file gendrill_writer_base.h.
Referenced by GENDRILL_WRITER_BASE(), genDrillMapFile(), and SetPageInfo().
|
protectedinherited |
Definition at line 534 of file gendrill_writer_base.h.
Referenced by BuildFileFunctionAttributeString(), buildHolesList(), GERBER_WRITER::createDrillFile(), GERBER_WRITER::createProtectionFile(), GENDRILL_WRITER_BASE(), genDrillMapFile(), GenDrillReportFile(), EXCELLON_WRITER::getBackdrillLayerPairFileName(), GERBER_WRITER::getBackdrillLayerPairFileName(), getDrillFileName(), getProtectionFileName(), and getUniqueLayerPairs().
|
protectedinherited |
Definition at line 538 of file gendrill_writer_base.h.
Referenced by EXCELLON_WRITER::SetFormat(), GERBER_WRITER::SetFormat(), EXCELLON_WRITER::writeCoordinates(), and EXCELLON_WRITER::writeEXCELLONHeader().
|
protectedinherited |
Definition at line 546 of file gendrill_writer_base.h.
Referenced by buildHolesList(), EXCELLON_WRITER::createDrillFile(), genDrillMapFile(), and printToolSummary().
|
protectedinherited |
Definition at line 536 of file gendrill_writer_base.h.
Referenced by EXCELLON_WRITER::createDrillFile(), EXCELLON_WRITER::formatLinearValue(), GENDRILL_WRITER_BASE(), genDrillMapFile(), GERBER_WRITER::GERBER_WRITER(), EXCELLON_WRITER::SetFormat(), and EXCELLON_WRITER::writeEXCELLONHeader().
|
private |
Definition at line 170 of file gendrill_excellon_writer.h.
Referenced by createDrillFile(), EXCELLON_WRITER(), and SetRouteModeForOvalHoles().
|
protectedinherited |
Definition at line 537 of file gendrill_writer_base.h.
Referenced by EXCELLON_WRITER::EXCELLON_WRITER(), GENDRILL_WRITER_BASE(), GERBER_WRITER::GERBER_WRITER(), EXCELLON_WRITER::SetFormat(), EXCELLON_WRITER::writeCoordinates(), and EXCELLON_WRITER::writeEXCELLONHeader().