we define our soldermask on padstacks as pads manually, knowing the defined value (oversize value).
If you would like to define those by a script, I would recommend not to go through hkp.
To be prepared for the future I would use automation for the padstackeditor with .Net.
- you will eitehr need the soldermask pads defined in your library
- Use the mask Engine automation to
- grow a copper pad geometry
- create the new pad in padstack editor
Then you can put all the pads together by automation directly in the database.
If you go this way with HKP, you have to write manuylly you consistency check or you get really low quality code.
Also you would have to create the pads here, but it is not easier to create correct ascii file lines
than to run it by automation.
A complete different approach is to use automation and the mask engine in expedition PCB.
As an example you could copy the geometries of specific pads to an temporary user layer, grow them by a global value with the
mask engine and copy the result to the solder mask layer.
Thsi is a post process but much more component pin selective.
But my opinion is:
- Use a central library
- define the pads there by hand
- use a defined (not always the proposed) pad naming
- use a second librarian to double check manually or by tool with automation.
This is the safest and cleanest way.
If you need an approach to automation scripting I would recommend to ask John Dube from Mentor Graphics here in the community.
He can give you hints and first step code for sure.