Calculate the diameter of the hole from the pin size. The calculation takes into account the IPC level selected in the Footprint wizard dialog box.
Syntax: |
---|
FWiz.CalcHoleDiameter(leadWidth, leadTick=-1) |
Parameters
Parameter | Description |
---|---|
leadWidth | Pin diameter or the width of the pin if it is not round. |
leadTick | If the pin is square or rectangular also specify the thickness in addition to the width. |
Return Value
Returns the calculated value for the hole diameter.
Example
See the TO-220 sample code for the complete script.
Copy code | |
---|---|
function OnBuildFootprint()
{
var A = FWiz.GetValue("A");
var b = FWiz.GetValue("b");
var c = FWiz.GetValue("c");
var e = FWiz.GetValue("e");
var J1 = FWiz.GetValue("J1");
var E = FWiz.GetValue("E");
var F = FWiz.GetValue("F");
var styleIndex = 0;
if (FWiz.IsAutoPadStyle(styleIndex))
{
styleIndex = 1;
var holeSize = FWiz.CalcHoleDiameter(b, -1);
var padSize = FWiz.CalcPadDiameter(holeSize);
FWiz.GetPadStyle(styleIndex).InitTHPadStack(holeSize, padSize, FWiz.GetValue("PADSHAPEMODE")==1);
}
// Add Pads
FWiz.DrawPad(0, 0, "2", styleIndex, 0);
FWiz.DrawPad(-e, 0, "1", styleIndex, 0);
FWiz.DrawPad(e, 0, "3", styleIndex, 0);
// Add Legend
var legendCtx = FWiz.GetLegendCtx();
var rect = new DlxRect();
var y = J1 + c / 2 - A / 2;
rect.SetRect(new DlxPoint(0,y), E, A);
y = rect.top - F;
legendCtx.DrawLine(new DlxPoint(rect.left,y), new DlxPoint(rect.right,y));
legendCtx.DrawRectangle(rect, FWiz.SHAPEMODE_OUTLINE);
legendCtx.DrawAttributes();
// Add Courtyard
FWiz.DrawCourtyard(rect);
// Set Name
var description = FWiz.Format("TO-220 3 leads; in the upright position; %s", FWiz.GetIPCinfo());
FWiz.SetFootprintName("TO-220V3", description);
}
|