KiCad PCB EDA Suite
ERULES Struct Reference

subset of eagle.drawing.board.designrules in the XML document More...

#include <eagle_plugin.h>

Public Member Functions

 ERULES ()
 
void parse (wxXmlNode *aRules, std::function< void()> aCheckpoint)
 percent over 100%. More...
 

Public Attributes

int psElongationLong
 
int psElongationOffset
 the offset of the hole within the "long" pad. More...
 
double mvStopFrame
 solderpaste mask, expressed as percentage of the smaller pad/via dimension More...
 
double mvCreamFrame
 
int mlMinStopFrame
 solder mask, minimum size (Eagle mils, here nanometers) More...
 
int mlMaxStopFrame
 solder mask, maximum size (Eagle mils, here nanometers) More...
 
int mlMinCreamFrame
 solder paste mask, minimum size (Eagle mils, here nanometers) More...
 
int mlMaxCreamFrame
 solder paste mask, maximum size (Eagle mils, here nanometers) More...
 
int psTop
 Shape of the top pads. More...
 
int psBottom
 Shape of the bottom pads. More...
 
int psFirst
 Shape of the first pads. More...
 
double srRoundness
 corner rounding ratio for SMD pads (percentage) More...
 
int srMinRoundness
 corner rounding radius, maximum size (Eagle mils, here nanometers) More...
 
int srMaxRoundness
 
double rvPadTop
 top pad size as percent of drill size More...
 
double rlMinPadTop
 minimum copper annulus on through hole pads More...
 
double rlMaxPadTop
 maximum copper annulus on through hole pads More...
 
double rvViaOuter
 copper annulus is this percent of via hole More...
 
double rlMinViaOuter
 minimum copper annulus on via More...
 
double rlMaxViaOuter
 maximum copper annulus on via More...
 
double mdWireWire
 wire to wire spacing I presume. More...
 

Detailed Description

subset of eagle.drawing.board.designrules in the XML document

Definition at line 50 of file eagle_plugin.h.

Constructor & Destructor Documentation

◆ ERULES()

ERULES::ERULES ( )
inline

Definition at line 52 of file eagle_plugin.h.

52 :
53 psElongationLong ( 100 ),
55
56 mvStopFrame ( 1.0 ),
57 mvCreamFrame ( 0.0 ),
58 mlMinStopFrame ( Mils2iu( 4.0 ) ),
59 mlMaxStopFrame ( Mils2iu( 4.0 ) ),
60 mlMinCreamFrame ( Mils2iu( 0.0 ) ),
61 mlMaxCreamFrame ( Mils2iu( 0.0 ) ),
62
66
67 srRoundness ( 0.0 ),
68 srMinRoundness ( Mils2iu( 0.0 ) ),
69 srMaxRoundness ( Mils2iu( 0.0 ) ),
70
71 rvPadTop ( 0.25 ),
72 // rvPadBottom ( 0.25 ),
73 rlMinPadTop ( Mils2iu( 10 ) ),
74 rlMaxPadTop ( Mils2iu( 20 ) ),
75
76 rvViaOuter ( 0.25 ),
77 rlMinViaOuter ( Mils2iu( 10 ) ),
78 rlMaxViaOuter ( Mils2iu( 20 ) ),
79 mdWireWire ( 0 )
80 {}
int psBottom
Shape of the bottom pads.
Definition: eagle_plugin.h:101
int psElongationLong
Definition: eagle_plugin.h:86
double mvStopFrame
solderpaste mask, expressed as percentage of the smaller pad/via dimension
Definition: eagle_plugin.h:91
double srRoundness
corner rounding ratio for SMD pads (percentage)
Definition: eagle_plugin.h:104
double rlMinViaOuter
minimum copper annulus on via
Definition: eagle_plugin.h:119
int mlMaxCreamFrame
solder paste mask, maximum size (Eagle mils, here nanometers)
Definition: eagle_plugin.h:98
int mlMinCreamFrame
solder paste mask, minimum size (Eagle mils, here nanometers)
Definition: eagle_plugin.h:97
int psTop
Shape of the top pads.
Definition: eagle_plugin.h:100
double rlMaxViaOuter
maximum copper annulus on via
Definition: eagle_plugin.h:120
double mdWireWire
wire to wire spacing I presume.
Definition: eagle_plugin.h:121
double rvPadTop
top pad size as percent of drill size
Definition: eagle_plugin.h:112
int srMaxRoundness
Definition: eagle_plugin.h:110
double rvViaOuter
copper annulus is this percent of via hole
Definition: eagle_plugin.h:118
double rlMinPadTop
minimum copper annulus on through hole pads
Definition: eagle_plugin.h:115
double mvCreamFrame
Definition: eagle_plugin.h:94
int psElongationOffset
the offset of the hole within the "long" pad.
Definition: eagle_plugin.h:88
int mlMinStopFrame
solder mask, minimum size (Eagle mils, here nanometers)
Definition: eagle_plugin.h:95
int srMinRoundness
corner rounding radius, maximum size (Eagle mils, here nanometers)
Definition: eagle_plugin.h:107
int mlMaxStopFrame
solder mask, maximum size (Eagle mils, here nanometers)
Definition: eagle_plugin.h:96
double rlMaxPadTop
maximum copper annulus on through hole pads
Definition: eagle_plugin.h:116
int psFirst
Shape of the first pads.
Definition: eagle_plugin.h:102

Member Function Documentation

◆ parse()

void ERULES::parse ( wxXmlNode *  aRules,
std::function< void()>  aCheckpoint 
)

percent over 100%.

0-> not elongated, 100->twice as wide as is tall Goes into making a scaling factor for "long" pads.

Definition at line 232 of file eagle_plugin.cpp.

233{
234 wxXmlNode* child = aRules->GetChildren();
235
236 while( child )
237 {
238 aCheckpoint();
239
240 if( child->GetName() == wxT( "param" ) )
241 {
242 const wxString& name = child->GetAttribute( wxT( "name" ) );
243 const wxString& value = child->GetAttribute( wxT( "value" ) );
244
245 if( name == wxT( "psElongationLong" ) )
246 psElongationLong = wxAtoi( value );
247 else if( name == wxT( "psElongationOffset" ) )
248 psElongationOffset = wxAtoi( value );
249 else if( name == wxT( "mvStopFrame" ) )
250 value.ToCDouble( &mvStopFrame );
251 else if( name == wxT( "mvCreamFrame" ) )
252 value.ToCDouble( &mvCreamFrame );
253 else if( name == wxT( "mlMinStopFrame" ) )
254 mlMinStopFrame = parseEagle( value );
255 else if( name == wxT( "mlMaxStopFrame" ) )
256 mlMaxStopFrame = parseEagle( value );
257 else if( name == wxT( "mlMinCreamFrame" ) )
258 mlMinCreamFrame = parseEagle( value );
259 else if( name == wxT( "mlMaxCreamFrame" ) )
260 mlMaxCreamFrame = parseEagle( value );
261 else if( name == wxT( "srRoundness" ) )
262 value.ToCDouble( &srRoundness );
263 else if( name == wxT( "srMinRoundness" ) )
264 srMinRoundness = parseEagle( value );
265 else if( name == wxT( "srMaxRoundness" ) )
266 srMaxRoundness = parseEagle( value );
267 else if( name == wxT( "psTop" ) )
268 psTop = wxAtoi( value );
269 else if( name == wxT( "psBottom" ) )
270 psBottom = wxAtoi( value );
271 else if( name == wxT( "psFirst" ) )
272 psFirst = wxAtoi( value );
273 else if( name == wxT( "rvPadTop" ) )
274 value.ToCDouble( &rvPadTop );
275 else if( name == wxT( "rlMinPadTop" ) )
276 rlMinPadTop = parseEagle( value );
277 else if( name == wxT( "rlMaxPadTop" ) )
278 rlMaxPadTop = parseEagle( value );
279 else if( name == wxT( "rvViaOuter" ) )
280 value.ToCDouble( &rvViaOuter );
281 else if( name == wxT( "rlMinViaOuter" ) )
282 rlMinViaOuter = parseEagle( value );
283 else if( name == wxT( "rlMaxViaOuter" ) )
284 rlMaxViaOuter = parseEagle( value );
285 else if( name == wxT( "mdWireWire" ) )
286 mdWireWire = parseEagle( value );
287 }
288
289 child = child->GetNext();
290 }
291}
const char * name
Definition: DXF_plotter.cpp:56
static int parseEagle(const wxString &aDistance)
Parse an eagle distance which is either mm, or mils if there is "mil" suffix.

References mdWireWire, mlMaxCreamFrame, mlMaxStopFrame, mlMinCreamFrame, mlMinStopFrame, mvCreamFrame, mvStopFrame, name, parseEagle(), psBottom, psElongationLong, psElongationOffset, psFirst, psTop, rlMaxPadTop, rlMaxViaOuter, rlMinPadTop, rlMinViaOuter, rvPadTop, rvViaOuter, srMaxRoundness, srMinRoundness, and srRoundness.

Referenced by EAGLE_PLUGIN::loadDesignRules().

Member Data Documentation

◆ mdWireWire

double ERULES::mdWireWire

wire to wire spacing I presume.

Definition at line 121 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::Load(), and parse().

◆ mlMaxCreamFrame

int ERULES::mlMaxCreamFrame

solder paste mask, maximum size (Eagle mils, here nanometers)

Definition at line 98 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packageSMD(), and parse().

◆ mlMaxStopFrame

int ERULES::mlMaxStopFrame

solder mask, maximum size (Eagle mils, here nanometers)

Definition at line 96 of file eagle_plugin.h.

Referenced by parse(), and EAGLE_PLUGIN::transferPad().

◆ mlMinCreamFrame

int ERULES::mlMinCreamFrame

solder paste mask, minimum size (Eagle mils, here nanometers)

Definition at line 97 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packageSMD(), and parse().

◆ mlMinStopFrame

int ERULES::mlMinStopFrame

solder mask, minimum size (Eagle mils, here nanometers)

Definition at line 95 of file eagle_plugin.h.

Referenced by parse(), and EAGLE_PLUGIN::transferPad().

◆ mvCreamFrame

double ERULES::mvCreamFrame

Definition at line 94 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packageSMD(), and parse().

◆ mvStopFrame

double ERULES::mvStopFrame

solderpaste mask, expressed as percentage of the smaller pad/via dimension

Definition at line 91 of file eagle_plugin.h.

Referenced by parse(), and EAGLE_PLUGIN::transferPad().

◆ psBottom

int ERULES::psBottom

Shape of the bottom pads.

Definition at line 101 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packagePad(), and parse().

◆ psElongationLong

int ERULES::psElongationLong

Definition at line 86 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packagePad(), and parse().

◆ psElongationOffset

int ERULES::psElongationOffset

the offset of the hole within the "long" pad.

solder mask, expressed as percentage of the smaller pad/via dimension

Definition at line 88 of file eagle_plugin.h.

Referenced by parse().

◆ psFirst

int ERULES::psFirst

Shape of the first pads.

Definition at line 102 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packagePad(), and parse().

◆ psTop

int ERULES::psTop

Shape of the top pads.

Definition at line 100 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packagePad(), and parse().

◆ rlMaxPadTop

double ERULES::rlMaxPadTop

maximum copper annulus on through hole pads

Definition at line 116 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packagePad(), and parse().

◆ rlMaxViaOuter

double ERULES::rlMaxViaOuter

maximum copper annulus on via

Definition at line 120 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::loadSignals(), and parse().

◆ rlMinPadTop

double ERULES::rlMinPadTop

minimum copper annulus on through hole pads

Definition at line 115 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packagePad(), and parse().

◆ rlMinViaOuter

double ERULES::rlMinViaOuter

minimum copper annulus on via

Definition at line 119 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::loadSignals(), and parse().

◆ rvPadTop

double ERULES::rvPadTop

top pad size as percent of drill size

Definition at line 112 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packagePad(), and parse().

◆ rvViaOuter

double ERULES::rvViaOuter

copper annulus is this percent of via hole

Definition at line 118 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::loadSignals(), and parse().

◆ srMaxRoundness

int ERULES::srMaxRoundness

Definition at line 110 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packageSMD(), and parse().

◆ srMinRoundness

int ERULES::srMinRoundness

corner rounding radius, maximum size (Eagle mils, here nanometers)

Definition at line 107 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packageSMD(), and parse().

◆ srRoundness

double ERULES::srRoundness

corner rounding ratio for SMD pads (percentage)

corner rounding radius, minimum size (Eagle mils, here nanometers)

Definition at line 104 of file eagle_plugin.h.

Referenced by EAGLE_PLUGIN::packageSMD(), and parse().


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