1 Reply Latest reply on Apr 19, 2010 1:07 AM by Andreas.Schaefer

    Manging Solder Mask in the Central Library


      I'd like to here comments back about how people manage (review & verify) gloabl settings for thier solder mask pads in the central library?


      Does anyone know of a script that will read in a padstack.HKP data and report back the solder mask swell for each pad stack if it exists?

      Report writer just tells me the mask pad names for each pad but does not do the math.


      It would also be great if the script could generate solder mask pads based on a pre-described global under/oversize variable.

        • 1. Re: Manging Solder Mask in the Central Library


          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
          • OR

          • 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.