Add [padstack manager]

Adds a padstack.

UI Access Tools > Edit Configured Libraries > Padstacks > Add Padstack
Parameters
Name Type Description
<NAME> String Simple name of padstack to create; in the form of "Name:PadstackName"
<ModifiedOn> Integer

An integer that corresponds to the number of seconds that have elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock.

<Library> String Padstack library.
<LibLocation> String Location of the padstack.
<psdArray> Array

Includes "Name:psd" and the subparameters listed below.

<nam>

String <PadstackName>

<lib>

String Name of the library

<mat>

String Hole plating material

<plt>

String Percent of hole's radius filled by plating

<pdsArray>

Array Includes "Name:pds" and a list of <LayerGeometryArray> that defines the padstack geometry. See below for more details this array.

<hle>

Array Defines <PadInfo>; see below for more details on this array.

<hRg>

String

Defines the hole range. One of the following choices:

"Thr" – through all layout layers

"Beg" – from upper pad layer to lowest layout layer

"End" – from upper layout layer to lowest pad layer

"UTL" – from upper pad layer to lowest pad layer

<sbsh>

String

Defines the solder ball shape. One of the following choices:

"None" – no solderball

"Cyl" – cylinder solderball

"Sph" – spheroid solderball

<sbpl>

String

Defines the solder ball placement. One of the following choices:

"abv" – above padstack

"blw" – below padstack

<sbr>

String Solderball diameter; real number with units

<sb2>

String Solderball mid diameter, real number with units

<sbn>

String Name of solderball material
<PadPortLayerArray> Array List of integers where each integer is a layer id
Return Value

Simple name of the added padstack. If the name requested conflicts with the name of an existing padstack, the requested name is altered to be unique, and the name returned reflects any change made.

<LayerGeometryArray>:

["Name:lgm",

"lay:=", <string>, // definition layer name

"id:=", <int>, // definition layer id

"pad:=", <PadInfo>, // pad

"ant:=", <PadInfo>, // antipad

"thm:=", <PadInfo>, // themal pad

"X:=", <string>, // pad x connection, real with units

"Y:=", <string>, // pad y connection, real with units

"dir:=", <DirectionString>] // pad connection direction

<PadInfo>:

["shp:=", <PadShape>,

"Szs:=", <DimensionArray>,

"X:=", <string>, // x offset, real with units

"Y:=", <string>, // y offset, real with units

"R:=", <string>] // rotation, real with units

<PadShape>:

One of these choices:

"No" // no pad

"Cir" // Circle

"Sq" // Square

"Rct" // Rectangle

"Ov" // Oval

"Blt" // Bullet

"Ply" // Polygons

"R45" // Round 45 thermal

"R90" // Round 90 thermal

"S45" // Square 45 thermal

"S90" // Square 90 thermal

<DimensionArray>:

An array of strings; each string is a real with units for one of the dimensions of the shape

<DirectionString>:

One of these choices:

"No" // no direction

"Any" // any direction

"0" // 0 degrees

"45" // 45 degrees

"90" // 90 degrees

"135" // 135 degrees

"180" // 180 degrees

"225" // 225 degrees

"270" // 270 degrees

"315" // 315 degrees

Python Syntax  oPadstackManager.Add(<PadstackName>, <ModifiedOnInfo>, <psdArray>,<PadPortLayerArray>)
Python Example

oPadstackManager.Add(

["NAME:Circle - through3",

"ModTime:=", 1235765635,

"Library:=", "",

"LibLocation:=", "Project",

["NAME:psd", "nam:=", "Circle - through3", "lib:=", "", "mat:=", "", "plt:=", "0",

["NAME:pds",

["NAME:lgm", "lay:=", "Top Signal", "id:=", 0,

"pad:=", ["shp:=", "Cir", "Szs:=", ["2.5mm"], "X:=", "0mm", "Y:=",

"0mm", "R:=", "0deg"],

"ant:=", ["shp:=", "Cir", "Szs:=", ["3.5mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0"],

"thm:=", ["shp:=", "No", "Szs:=", [], "X:=", "0mm", "Y:=", "0mm", "R:=", "0"],

"X:=", "0mm", "Y:=", "0mm", "dir:=", "Any"],

["NAME:lgm", "lay:=", "SignalA", "id:=", 1,

"pad:=", ["shp:=", "Cir", "Szs:=", ["2mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"],

"ant:=", ["shp:=", "Cir", "Szs:=", ["3mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0"],

"thm:=", ["shp:=", "No", "Szs:=", [ ], "X:=", "0mm", "Y:=", "0mm", "R:=", "0"],

"X:=", "0mm", "Y:=", "0mm", "dir:=", "Any"],

["NAME:lgm", "lay:=", "SignalB", "id:=", 2,

"pad:=", ["shp:=", "Cir", "Szs:=", ["2mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"],

"ant:=", [shp:=", "Cir", "Szs:=", ["3mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"],

"thm:=", ["shp:=", "No", "Szs:=", [ ], "X:=", "0mm", "Y:=", "0mm", "R:=", "0"],

"X:=", "0mm", "Y:=", "0mm", "dir:=", "Any"],

["NAME:lgm", "lay:=", "Ground", "id:=", 3,

"pad:=", ["shp:=", "No", "Szs:=", [ ], "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"],

"ant:=", ["shp:=", "No", "Szs:=", [ ], "X:=", "0mm", "Y:=", "0mm", "R:=", "0"],

"thm:=", ["shp:=", "R90", "Szs:=", ["3mm", "0.75mm", "1mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0"],

"X:=", "0mm", "Y:=", "0mm", "dir:=", "Any"],

["NAME:lgm", "lay:=", "Bottom signal", "id:=", 5,

"pad:=", ["shp:=", "Cir", "Szs:=", ["1mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"],

"ant:=", ["shp:=", "Cir", "Szs:=", ["2mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"],

"thm:=", ["shp:=", "No", "Szs:=", [ ], "X:=", "0mm", "Y:=", "0mm", "R:=", "0"],

"X:=", "0mm", "Y:=", "0mm", "dir:=", "Any"]

]

"hle:=", ["shp:=", "Cir", "Szs:=", ["1.5mm"], "X:=", "0mm", "Y:=", "0mm", "R:=", "0deg"],

"hRg:=", "End",

"sbsh:=", "Sph",

"sbpl:=", "abv",

"sbr:=", "750um",

"sb2:=", "1200um", "1200um",

"sbn:=", "solder"],

"ppl:=", [0, 1, 2, 3, 5]

])