Home > Community > Forums > PCB SKILL > Extract Pads in PadStack

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Extract Pads in PadStack 

Last post Thu, Oct 9 2008 7:51 AM by aCraig. 2 replies.
Started by mr wilson 08 Oct 2008 02:13 PM. Topic has 2 replies and 1992 views
Page 1 of 1 (3 items)
Sort Posts:
  • Wed, Oct 8 2008 2:13 PM

    • mr wilson
    • Not Ranked
    • Joined on Wed, Oct 8 2008
    • Round Rock, TX
    • Posts 5
    • Points 85
    Extract Pads in PadStack Reply

    I'm trying to get a list of pads from the padstack. Unforntunately when I run this on a top surface mount pad I get a pad for all the layers in the design even though the pad exists only on the top. Any ideas?  Looks like some others are trying to do the same thing.

    defun( ExportSelect ()
     let((segs selectbox cl_list netdata psxy paddbid pslist padlayer )
        axlClearSelSet()
        axlSetFindFilter(?enabled list("noall" "clines" "vias" "pins")
                         ?onButtons list("noall" "clines" "vias" "pins"))
        selectbox = axlSingleSelectBox()
        ;Run if something is selected
        if( selectbox != nil then
         netdata = axlGetSelSet()
         foreach( sdbid netdata
         case( sdbid->objType
          ("path" cl_list = cons(sdbid cl_list))
          ("pin"
           psxy = sdbid->xy
           paddbid = sdbid->definition
           pslist = paddbid->pads
           foreach(pad pslist
            padlayer = pad->layer
            psdtype = pad->type
            sprintf(padstr "%s,%s,%s,%L" paddbid psdtype padlayer psxy)
            println(padstr)
           )
          )
          ("via" via = (sdbid->name))
         )
        )
        ;Write the Cline segment file in "Show Element" format
        axlShowObjectToFile(cl_list "segs.txt")
      )
       axlClearSelSet()
       axlDehighlightObject(netdata)
     )
    )

     Here is the output from a surface mount top pad...

    "dbid:153548140,REGULAR,PIN/SOLDERMASK_TOP,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,PIN/SOLDERMASK_BOTTOM,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,PIN/PASTEMASK_TOP,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,PIN/PASTEMASK_BOTTOM,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,PIN/FILMMASKTOP,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,PIN/FILMMASKBOTTOM,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,ETCH/TOP,(413.9291 8220.0)"
    "dbid:153548140,THERMAL,ETCH/TOP,(413.9291 8220.0)"
    "dbid:153548140,ANTI,ETCH/TOP,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,ETCH/GND,(413.9291 8220.0)"
    "dbid:153548140,THERMAL,ETCH/GND,(413.9291 8220.0)"
    "dbid:153548140,ANTI,ETCH/GND,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,ETCH/INNER1,(413.9291 8220.0)"
    "dbid:153548140,THERMAL,ETCH/INNER1,(413.9291 8220.0)"
    "dbid:153548140,ANTI,ETCH/INNER1,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,ETCH/VCC,(413.9291 8220.0)"
    "dbid:153548140,THERMAL,ETCH/VCC,(413.9291 8220.0)"
    "dbid:153548140,ANTI,ETCH/VCC,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,ETCH/VC2,(413.9291 8220.0)"
    "dbid:153548140,THERMAL,ETCH/VC2,(413.9291 8220.0)"
    "dbid:153548140,ANTI,ETCH/VC2,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,ETCH/INNER2,(413.9291 8220.0)"
    "dbid:153548140,THERMAL,ETCH/INNER2,(413.9291 8220.0)"
    "dbid:153548140,ANTI,ETCH/INNER2,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,ETCH/GD2,(413.9291 8220.0)"
    "dbid:153548140,THERMAL,ETCH/GD2,(413.9291 8220.0)"
    "dbid:153548140,ANTI,ETCH/GD2,(413.9291 8220.0)"
    "dbid:153548140,REGULAR,ETCH/BOTTOM,(413.9291 8220.0)"
    "dbid:153548140,THERMAL,ETCH/BOTTOM,(413.9291 8220.0)"
    "dbid:153548140,ANTI,ETCH/BOTTOM,(413.9291 8220.0)"

    • Post Points: 35
  • Wed, Oct 8 2008 6:02 PM

    • eDave
    • Top 10 Contributor
    • Joined on Sun, Jul 13 2008
    • Christchurch, 00-NZ
    • Posts 738
    • Points 16,055
    Re: Extract Pads in PadStack Reply
    Hi Mike,

    You might want to use axlDBGetPad
    eg.
    padid = axlDBGetPad(sdbid, "ETCH/TOP", "REGULAR")

    Cheers, Dave
    Dave Elder, Tait Communications
    • Post Points: 5
  • Thu, Oct 9 2008 7:51 AM

    • aCraig
    • Top 50 Contributor
    • Joined on Sat, Aug 16 2008
    • Pepperell, MA
    • Posts 132
    • Points 2,070
    Re: Extract Pads in PadStack Reply

    This will be true with BBVias as well. All layers will have a pad definition, it's just empty if there is no pad. To get only the layers with pads you can filter on the pad->figure.

    Craig

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by mr wilson at 08 Oct 2008 02:13 PM. Topic has 2 replies.