|
KiCad PCB EDA Suite
|
Functions to read drill files (EXCELLON format) created by Pcbnew These files use only a subset of EXCELLON commands. More...
#include <math/util.h>#include <trigo.h>#include <gerbview.h>#include <gerbview_frame.h>#include <gerber_file_image.h>#include <gerber_file_image_list.h>#include <excellon_image.h>#include <excellon_defaults.h>#include <macros.h>#include <richio.h>#include <string_utils.h>#include <X2_gerber_attributes.h>#include <view/view.h>#include <gerbview_settings.h>#include <cmath>#include <charconv>#include <dialogs/html_message_box.h>Go to the source code of this file.
Functions | |
| static VECTOR2I | computeCenter (VECTOR2I aStart, VECTOR2I aEnd, int &aRadius, bool aRotCCW) |
| int | ReadInt (char *&text, bool aSkipSeparator=true) |
| Read an integer from an ASCII character buffer. | |
| double | ReadDouble (char *&text, bool aSkipSeparator=true) |
| Read a double precision floating point number from an ASCII character buffer. | |
| void | fillFlashedGBRITEM (GERBER_DRAW_ITEM *aGbrItem, APERTURE_T aAperture, int Dcode_index, const VECTOR2I &aPos, VECTOR2I aSize, bool aLayerNegative) |
| functions to read the rs274d commands from a rs274d/rs274x file | |
| void | fillLineGBRITEM (GERBER_DRAW_ITEM *aGbrItem, int Dcode_index, const VECTOR2I &aStart, const VECTOR2I &aEnd, VECTOR2I aPenSize, bool aLayerNegative) |
| Initialize a given GBRITEM so that it can draw a linear D code. | |
| void | fillArcGBRITEM (GERBER_DRAW_ITEM *aGbrItem, int Dcode_index, const VECTOR2I &aStart, const VECTOR2I &aEnd, const VECTOR2I &aRelCenter, VECTOR2I aPenSize, bool aClockwise, bool aMultiquadrant, bool aLayerNegative) |
| Initialize a given GBRITEM so that it can draw an arc G code. | |
Variables | |
| static const char | file_attribute [] = ".FileFunction,Other,Drill*" |
| static EXCELLON_CMD | excellonHeaderCmdList [] |
| static EXCELLON_CMD | excellon_G_CmdList [] |
Functions to read drill files (EXCELLON format) created by Pcbnew These files use only a subset of EXCELLON commands.
Definition in file excellon_read_drill_file.cpp.
|
static |
Definition at line 89 of file excellon_read_drill_file.cpp.
References std::abs(), ANGLE_0, ANGLE_180, ANGLE_360, center, end, KiROUND(), RotatePoint(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by EXCELLON_IMAGE::FinishRouteCommand().
|
extern |
Initialize a given GBRITEM so that it can draw an arc G code.
If multiquadrant == true : arc can be 0 to 360 degrees and rel_center is the center coordinate relative to start point.
If multiquadrant == false arc can be only 0 to 90 deg, and only in the same quadrant :
| aGbrItem | is the GBRITEM to fill in. |
| Dcode_index | is the DCODE value, like D14. |
| aStart | is the starting point. |
| aEnd | is the ending point. |
| aRelCenter | is the center coordinate relative to start point, given in ABSOLUTE VALUE and the sign of values x et y de rel_center must be calculated from the previously given constraint: arc only in the same quadrant. |
| aClockwise | true if arc must be created clockwise |
| aPenSize | The size of the flash. Note rectangular shapes are legal. |
| aMultiquadrant | set to true to create arcs up to 360 degrees, false when arc is inside one quadrant |
| aLayerNegative | set to true if the current layer is negative. |
Definition at line 203 of file rs274d.cpp.
References center, delta, GBR_ARC, GERBER_DRAW_ITEM::m_ArcCentre, GERBER_DRAW_ITEM::m_DCode, GERBER_DRAW_ITEM::m_End, GERBER_DRAW_ITEM::m_Flashed, GERBER_DRAW_ITEM::m_GerberImageFile, GERBER_FILE_IMAGE::m_NetAttributeDict, GERBER_DRAW_ITEM::m_ShapeType, GERBER_DRAW_ITEM::m_Size, GERBER_DRAW_ITEM::m_Start, GERBER_DRAW_ITEM::SetLayerPolarity(), and GERBER_DRAW_ITEM::SetNetAttributes().
Referenced by GERBER_FILE_IMAGE::Execute_DCODE_Command(), fillArcPOLY(), and EXCELLON_IMAGE::FinishRouteCommand().
|
extern |
functions to read the rs274d commands from a rs274d/rs274x file
Initializes a given GBRITEM so that it can draw a circle which is filled and has no pen border.
| aGbrItem | The GBRITEM to fill in. |
| aAperture | the associated type of aperture. |
| Dcode_index | The DCODE value, like D14. |
| aPos | The center point of the flash. |
| aSize | The diameter of the round flash. |
| aLayerNegative | set to true if the current layer is negative. |
Definition at line 100 of file rs274d.cpp.
References APT_CIRCLE, APT_MACRO, APT_OVAL, APT_POLYGON, APT_RECT, GBR_SPOT_CIRCLE, GBR_SPOT_MACRO, GBR_SPOT_OVAL, GBR_SPOT_POLY, GBR_SPOT_RECT, APERTURE_MACRO::GetApertureMacroShape(), GERBER_DRAW_ITEM::GetDcodeDescr(), D_CODE::GetMacro(), GERBER_DRAW_ITEM::m_DCode, GERBER_DRAW_ITEM::m_End, GERBER_DRAW_ITEM::m_Flashed, GERBER_DRAW_ITEM::m_GerberImageFile, GERBER_FILE_IMAGE::m_NetAttributeDict, GERBER_DRAW_ITEM::m_ShapeType, GERBER_DRAW_ITEM::m_Size, GERBER_DRAW_ITEM::m_Start, GERBER_DRAW_ITEM::SetLayerPolarity(), GERBER_DRAW_ITEM::SetNetAttributes(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by GERBER_FILE_IMAGE::Execute_DCODE_Command(), and EXCELLON_IMAGE::Execute_Drill_Command().
|
extern |
Initialize a given GBRITEM so that it can draw a linear D code.
| aGbrItem | The GERBER_DRAW_ITEM to fill in. |
| Dcode_index | The DCODE value, like D14. |
| aStart | The starting point of the line. |
| aEnd | The ending point of the line. |
| aPenSize | The size of the flash. Note rectangular shapes are legal. |
| aLayerNegative | set to true if the current layer is negative. |
Definition at line 154 of file rs274d.cpp.
References GERBER_DRAW_ITEM::m_DCode, GERBER_DRAW_ITEM::m_End, GERBER_DRAW_ITEM::m_Flashed, GERBER_DRAW_ITEM::m_GerberImageFile, GERBER_FILE_IMAGE::m_NetAttributeDict, GERBER_DRAW_ITEM::m_Size, GERBER_DRAW_ITEM::m_Start, GERBER_DRAW_ITEM::SetLayerPolarity(), and GERBER_DRAW_ITEM::SetNetAttributes().
Referenced by GERBER_FILE_IMAGE::Execute_DCODE_Command(), EXCELLON_IMAGE::Execute_Drill_Command(), and EXCELLON_IMAGE::FinishRouteCommand().
|
extern |
Read a double precision floating point number from an ASCII character buffer.
If there is a comma after the number, then skip over that.
| text | is a reference to a character pointer from which the ASCII double is read from and the pointer advanced for each character read. |
| aSkipSeparator | set to true (default) to skip comma. |
Definition at line 308 of file rs274_read_XY_and_IJ_coordinates.cpp.
|
extern |
Read an integer from an ASCII character buffer.
If there is a comma after the integer, then skip over that.
| text | is a reference to a character pointer from which bytes are read and the pointer is advanced for each byte read. |
| aSkipSeparator | set to true (default) to skip comma. |
Definition at line 271 of file rs274_read_XY_and_IJ_coordinates.cpp.
|
static |
Definition at line 232 of file excellon_read_drill_file.cpp.
Referenced by EXCELLON_IMAGE::Execute_EXCELLON_G_Command().
|
static |
Definition at line 194 of file excellon_read_drill_file.cpp.
Referenced by EXCELLON_IMAGE::Execute_HEADER_And_M_Command().
|
static |
Definition at line 192 of file excellon_read_drill_file.cpp.
Referenced by EXCELLON_IMAGE::LoadFile().