OK. It's easy to create a padstack. I've included code for creating and SMD padstack based on a name.
As you can see from the other posts, creating a rectangle with rounded corners is also relatively easy.
The difficult part is knowing exactly what you want to do and, hence, what the form should look like.
Dave
defun( TLU_makeSMDPadstack (padName, figure, padx, pady @optional (res t), (paste t))
let((pad, pads)
unless(pady, pady = padx)
pad = make_axlPadStackPad(?layer "TOP", ?type 'REGULAR, ?figure figure, ?figureSize padx:pady)
when(pad, pads = list(pad))
and(pads, res
pad = make_axlPadStackPad(?layer "SOLDERMASK_TOP", ?type 'REGULAR, ?figure figure, ?figureSize padx:pady)
pads = cons(pad, pads)
)
and(pads, paste
pad = make_axlPadStackPad(?layer "PASTEMASK_TOP", ?type 'REGULAR, ?figure figure, ?figureSize padx:pady)
pads = cons(pad, pads)
)
axlDBCreatePadStack(padName, nil, pads)
axlPadstackToDisk(padName)
))