|
KiCad PCB EDA Suite
|
Used to create Gerber drill files. More...
#include <gendrill_gerber_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 | |
| GERBER_WRITER (BOARD *aPcb) | |
| virtual | ~GERBER_WRITER () |
| void | SetFormat (int aRightDigits=6) |
| Initialize internal parameters to match the given format. | |
| void | SetOptions (const VECTOR2I &aOffset) |
| Initialize internal parameters to match drill options. | |
| bool | CreateDrillandMapFilesSet (const wxString &aPlotDirectory, bool aGenDrill, bool aGenMap, bool aGenTenting, REPORTER *aReporter=nullptr) |
| Create the full set of Excellon drill file for the board filenames are computed from the board name, and layers id. | |
| void | SetMergeOption (bool aMerge) |
| Set the option to make separate drill files for PTH and NPTH. | |
| VECTOR2I | GetOffset () |
| Return the plot offset (usually the position of the drill/place origin). | |
| 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 | 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 (wxString &aFullFilename, bool aIsNpth, const DRILL_SPAN &aSpan) |
| Create an Excellon drill file. | |
| int | createProtectionFile (const wxString &aFullFilename, IPC4761_FEATURES aFeature, DRILL_LAYER_PAIR aLayerPair) |
| Create a Gerber X2 file for via protection features. | |
| virtual const wxString | getDrillFileName (const DRILL_SPAN &aSpan, bool aNPTH, bool aMerge_PTH_NPTH) const override |
| bool | hasViaType (IPC4761_FEATURES aFeature) |
| test for an existing via having the given feature IPC4761_FEATURES | |
| wxFileName | getBackdrillLayerPairFileName (const DRILL_SPAN &aSpan) const |
| bool | writeBackdrillLayerPairFile (const wxString &aPlotDirectory, REPORTER *aReporter, const DRILL_SPAN &aSpan) |
Used to create Gerber drill files.
Definition at line 42 of file gendrill_gerber_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.
| GERBER_WRITER::GERBER_WRITER | ( | BOARD * | aPcb | ) |
Definition at line 49 of file gendrill_gerber_writer.cpp.
References GENDRILL_WRITER_BASE::GENDRILL_WRITER_BASE(), GENDRILL_WRITER_BASE::m_conversionUnits, GENDRILL_WRITER_BASE::m_drillFileExtension, GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, GENDRILL_WRITER_BASE::m_unitsMetric, GENDRILL_WRITER_BASE::m_zeroFormat, and GENDRILL_WRITER_BASE::SUPPRESS_LEADING.
|
inlinevirtual |
Definition at line 47 of file gendrill_gerber_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 GERBER_WRITER::CreateDrillandMapFilesSet | ( | const wxString & | aPlotDirectory, |
| bool | aGenDrill, | ||
| bool | aGenMap, | ||
| bool | aGenTenting, | ||
| REPORTER * | aReporter = nullptr ) |
Create the full set of Excellon drill file for the board filenames are computed from the board name, and layers 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. |
| aGenTenting | set to true to generate tenting layer files. |
| aReporter | is a REPORTER to return activity or any message (can be NULL). |
Definition at line 60 of file gendrill_gerber_writer.cpp.
References _, B_Cu, GENDRILL_WRITER_BASE::buildHolesList(), CAPPED, COVERED_BACK, COVERED_FRONT, createDrillFile(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), createProtectionFile(), F_Cu, FILLED, getDrillFileName(), GENDRILL_WRITER_BASE::getHolesCount(), GENDRILL_WRITER_BASE::getProtectionFileName(), GENDRILL_WRITER_BASE::getUniqueLayerPairs(), hasViaType(), DRILL_SPAN::m_IsBackdrill, DRILL_SPAN::m_IsNonPlatedFile, GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, DRILL_SPAN::Pair(), PLUGGED_BACK, PLUGGED_FRONT, REPORTER::Report(), REPORTER::ReportTail(), result, RPT_SEVERITY_ACTION, RPT_SEVERITY_ERROR, RPT_SEVERITY_INFO, TENTED_BACK, TENTED_FRONT, and writeBackdrillLayerPairFile().
Referenced by BOOST_AUTO_TEST_CASE(), DIALOG_GENDRILL::genDrillAndMapFiles(), and PCBNEW_JOBS_HANDLER::JobExportDrill().
|
private |
Create an Excellon drill file.
| aFullFilename | is the full file name. |
| aIsNpth | set to true for a NPTH file or false for a PTH file. |
| aLayerPair | is the first board layer and the last board layer for this drill file for blind buried vias, they are not always top and bottom layers/ |
Definition at line 323 of file gendrill_gerber_writer.cpp.
References AddGerberX2Header(), PLOTTER::AddLineToHeader(), GENDRILL_WRITER_BASE::BuildFileFunctionAttributeString(), CASTELLATED, convertOblong2Segment(), GERBER_PLOTTER::DisableApertMacros(), dummy, dyn_cast(), end, GERBER_PLOTTER::EndBlock(), GERBER_PLOTTER::EndPlot(), GERBER_PLOTTER::FlashPadCircle(), GERBER_PLOTTER::FlashPadOval(), GBR_APERTURE_METADATA::GBR_APERTURE_ATTRIB_BACKDRILL, GBR_APERTURE_METADATA::GBR_APERTURE_ATTRIB_CASTELLATEDDRILL, GBR_APERTURE_METADATA::GBR_APERTURE_ATTRIB_CMP_DRILL, GBR_APERTURE_METADATA::GBR_APERTURE_ATTRIB_CMP_OBLONG_DRILL, GBR_APERTURE_METADATA::GBR_APERTURE_ATTRIB_PRESSFITDRILL, GBR_APERTURE_METADATA::GBR_APERTURE_ATTRIB_VIADRILL, GBR_NETLIST_METADATA::GBR_NETINFO_CMP, 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_IsBackdrill, HOLE_INFO::m_ItemParent, GENDRILL_WRITER_BASE::m_offset, GENDRILL_WRITER_BASE::m_pcb, GENDRILL_WRITER_BASE::NPTH_FILE, PLOTTER::OpenFile(), pad, pcbIUScale, PRESSFIT, GENDRILL_WRITER_BASE::PTH_FILE, GBR_METADATA::SetApertureAttrib(), GBR_METADATA::SetCmpReference(), PLOTTER::SetCreator(), GERBER_PLOTTER::SetGerberCoordinatesFormat(), GBR_METADATA::SetNetAttribType(), GERBER_PLOTTER::SetViewport(), GERBER_PLOTTER::StartPlot(), text, GERBER_PLOTTER::ThickSegment(), GERBER_PLOTTER::UseX2format(), GERBER_PLOTTER::UseX2NetAttributes(), 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 |
Create a Gerber X2 file for via protection features.
| aFullFilename | is the full file name |
| aFeature | the protection feature this file represents |
| aLayerPair | is the first and last layer pair for the via drill. Usually is top and bottom. |
Definition at line 187 of file gendrill_gerber_writer.cpp.
References AddGerberX2Header(), PLOTTER::AddLineToHeader(), CAPPED, COVERED_BACK, COVERED_FRONT, GERBER_PLOTTER::DisableApertMacros(), dyn_cast(), GERBER_PLOTTER::EndPlot(), FILLED, GERBER_PLOTTER::FlashPadCircle(), GENDRILL_WRITER_BASE::m_holeListBuffer, GENDRILL_WRITER_BASE::m_offset, GENDRILL_WRITER_BASE::m_pcb, PLOTTER::OpenFile(), pcbIUScale, PLUGGED_BACK, PLUGGED_FRONT, GBR_METADATA::SetApertureAttrib(), PLOTTER::SetCreator(), GERBER_PLOTTER::SetGerberCoordinatesFormat(), GERBER_PLOTTER::SetViewport(), GERBER_PLOTTER::StartPlot(), TENTED_BACK, TENTED_FRONT, text, GERBER_PLOTTER::UseX2format(), GERBER_PLOTTER::UseX2NetAttributes(), and via.
Referenced by 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 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 463 of file gendrill_gerber_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.
|
overrideprivatevirtual |
| aPair | is the layer pair. |
| aNPTH | set to true to generate the filename of NPTH holes. |
| aMerge_PTH_NPTH | set to true to generate the filename of a file which contains both NPH and NPTH holes |
Reimplemented from GENDRILL_WRITER_BASE.
Definition at line 543 of file gendrill_gerber_writer.cpp.
References GENDRILL_WRITER_BASE::getDrillFileName().
Referenced by CreateDrillandMapFilesSet().
|
inlineprotectedinherited |
Definition at line 445 of file gendrill_writer_base.h.
References m_holeListBuffer.
Referenced by EXCELLON_WRITER::CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), and CreateMapFilesSet().
|
inlineinherited |
Return the plot offset (usually the position of the drill/place origin).
Definition at line 328 of file gendrill_writer_base.h.
References m_offset.
Referenced by genDrillMapFile().
|
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().
|
private |
test for an existing via having the given feature IPC4761_FEATURES
| aFeature | is the feature to find |
Definition at line 555 of file gendrill_gerber_writer.cpp.
References CAPPED, COVERED_BACK, COVERED_FRONT, dyn_cast(), FILLED, GENDRILL_WRITER_BASE::m_holeListBuffer, PLUGGED_BACK, PLUGGED_FRONT, TENTED_BACK, and TENTED_FRONT.
Referenced by CreateDrillandMapFilesSet().
|
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 GERBER_WRITER::SetFormat | ( | int | aRightDigits = 6 | ) |
Initialize internal parameters to match the given format.
| aRightDigits | is the number of digits for mantissa part of coordinates (5 or 6). |
Definition at line 532 of file gendrill_gerber_writer.cpp.
References GENDRILL_WRITER_BASE::m_conversionUnits, GENDRILL_WRITER_BASE::m_precision, 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.
| aOffset | is the drill coordinates offset. |
Definition at line 65 of file gendrill_gerber_writer.h.
References GENDRILL_WRITER_BASE::m_merge_PTH_NPTH, 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().
|
private |
Definition at line 475 of file gendrill_gerber_writer.cpp.
References _, createDrillFile(), getBackdrillLayerPairFileName(), REPORTER::Report(), RPT_SEVERITY_ACTION, and RPT_SEVERITY_ERROR.
Referenced by CreateDrillandMapFilesSet().
|
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().
|
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().
|
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().
|
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().
|
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().