1 Reply Latest reply on Jan 31, 2012 9:55 PM by Patrick.Cashman

    Need help on how to exclude zeroed out pads from my net list script.


      I am new to scripting and would like some help.


      I'm trying to create a script that will create a net list with information my board supplier wants/needs. I have: Net, Component (ref des), Pin name (number), Layer, X and Y.


      I started with Script 18: Excel Pin List Report.BAS. After a lot of trial and error I managed to add a column for the layer that each pin is on, took me quite a while to figure it out as layer was not an option under pin. I also deleted some information I didn't want (that was easy).


      It is now in a form that the board supplier likes however there is a lot of "clutter". My design has many wire bond components and a lot of the pads are zeroed out. I would like to be able to exclude those pads from my netlist. I would not like the script to be limited to just wire bond pads, so I don't want to use SBP (surface bond pad) for filtering in case other non-wire bond pads are zeroed out (rare but happens). Also I don't want to filter out pins that have no netname as I want the supplier to know those pins are not connected, for example, fiducials, they exist but are not part of a net.


      The only thing I can think of is to check to see if width or length = 0 in the pad stacks. I beleive I need to check both mounted side and opposite side as bond pads are only on one side or the other.


      Does anyone have any idea how to filter out pads that are zeroed out? Could you give me some idea how to solve this?


      Something along the lines of: If pad mounted side width = 0 and pad opposite side width = 0 then nextPin (skips the pin and moves on to the next one). I just can't figure out how to test the pin (pad stack).


      My script is attached. I hope someone can help me.





        • 1. Re: Need help on how to exclude zeroed out pads from my net list script.



          I don't know what you mean by the pads being zeroed out.  Perhaps you could explain that, ie how it happens, what tool or function you use to accomplish it.  You may be able to use that process or some byproduct of it to eliminate those pins from the netlist.


          Also, if I was going to make a netlist, I'd start with the board's nets, not the pins.


          something along the lines of


          start a string or stringbuilder variable for the netlist

          nets = pcbdoc.nets

          for each net in nets

               'add net name to netlist

               pins = net.pins

               for each pin in pins

                    'do some kind of check

                    if check passes then add the pin number to the netlist




          The check you do to validate each pin could be based on a number of things - reference designator of the pin's component, cell name of the component, pad size, etc