• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. Ideas/Help Needed for Padstack Edit

Stats

  • Replies 5
  • Subscribers 160
  • Views 3562
  • Members are here 0
More Content

Ideas/Help Needed for Padstack Edit

archive
archive over 14 years ago
Hi Guys I give up, I tried for a while and now I don’t know what to do This is what I want to do in Skill 1.  Load a Padstack 2.  Edit the pad-definition on only selected layers, either make them null or assign a new value I tried the following methods 

Method 1:

 a.  Get All padstacks b.  Foreach padstack and foreach pad-definition make a copy of pad definition a.  Using make_axlPadStackPadb.  Modify the values if neededc.  Create a New Padstack  Replace the old padstack with new padstack

                Problem:

a.  Not able to create the pad-definition structure, error prone 

Method 2:

a.  Foreach padstack I use axlDBCopyPadstack and trim it by specifying the start/end layerp1=axlLoadPadstack("CIR60D40")p2 = axlDBCopyPadstack(p1, '("CONDUCTOR/RDL_SEC" "CONDUCTOR/TOP_PRM"), t)axlPadstackToDisk(p2->name)

Problem:

a.  This doesn’t seem to work, the resulting padstack still has all the pad definition on the other layersb.  Trimming doesn’t seems to work 

Method 3:

a.  Use Allegro Scripting all the way

Problem:

a.  Error Prone and there is no way to control occasional out of blue pop-ups  I am out of ideas and would appreciate any kind of help on this issue  Is there is any way I can load a padstack and go to a certain padstack definition on a given layer and change its vaule

regards

Vramanan

  • Sign in to reply
  • Cancel
Parents
  • fxffxf
    fxffxf over 13 years ago
    The 16.5 the padstack dbid attributes are: 
     Padstack Attributes:   padstacks in Allegro
    
        NAME                TYPE    DESCRIPTION
        ----------------------------------------
            Also includes generic object attributes
    
    
        definition          o_dbid  (see isPadRef) Points to padstack definition if this is
                                    padReference otherwise nil
        drillChar           string  drill characters (max 3)
        drillDiameter       float   Drill hole diameter (0 if slot)
        drillSizeWidth      float   width of slot, diameter if hole and extents of mulidrill
        drillSizeHeight     float   height of slot, diameter if hole and extents of mulidrill
        drillOffset         point   offset of drill hole
        drillFigureName     string  type of drill symbol (circle, square, etc.)
        drillFigureWidth    float   Width of drill symbol (for slots same as drillSizeWidth)
        drillFigureHeight   float   Height of drill symbol (for slots same as drillSizeHeight)
        drillNonStandard    string  Type of drill (nil is standard) (not supported by slots)
        holeTolerance       l_float A list of two numbers reporting the + and -
                                    drill hole tolerance
        multiDrillData      l_values If not multidrill then nil otherwise list
                                    of (rows columns clearanceX clearanceY
                                    staggered) both clearances are in dbreps
                                    and staggered is t/nil
        holeType            string  Type of hole (circle_drill, oval_slot, etc.)
        keepout             t/nil   Padstack built to accomodate anti-pads as
                                    Route keepouts for mechanical pins. This
                                    padstack can also be used for logical
                                    connections but this option is ignored.
        isPadRef            t/nil   t = padstack is a padstack reference. This means that the
                                    actual padstack is a template and the padstack's start
                                    end layers is dynamically mapped depending upon its
                                    use with a pin or via.
        isThrough           t/nil   t = through padstack
        name                string  Padstack name
        objType             string  Type of object, in this case "padstack"
        pads                ll_dbid List of pads
        parent              dbid    Design
        plating             string  One of "Plated", "Non-Plated", "Plating-Optional"
        prop                nil     Always nil, padstacks do not support properties
        startEnd            lt_layer Start and end layer of padstack
        type                string  Type of padstack; through, smd, bbvia, uvia
        uvia                t/nil   A sub-type of bbvias, to differentiate in
                                    constraint system.
    
    
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • fxffxf
    fxffxf over 13 years ago
    The 16.5 the padstack dbid attributes are: 
     Padstack Attributes:   padstacks in Allegro
    
        NAME                TYPE    DESCRIPTION
        ----------------------------------------
            Also includes generic object attributes
    
    
        definition          o_dbid  (see isPadRef) Points to padstack definition if this is
                                    padReference otherwise nil
        drillChar           string  drill characters (max 3)
        drillDiameter       float   Drill hole diameter (0 if slot)
        drillSizeWidth      float   width of slot, diameter if hole and extents of mulidrill
        drillSizeHeight     float   height of slot, diameter if hole and extents of mulidrill
        drillOffset         point   offset of drill hole
        drillFigureName     string  type of drill symbol (circle, square, etc.)
        drillFigureWidth    float   Width of drill symbol (for slots same as drillSizeWidth)
        drillFigureHeight   float   Height of drill symbol (for slots same as drillSizeHeight)
        drillNonStandard    string  Type of drill (nil is standard) (not supported by slots)
        holeTolerance       l_float A list of two numbers reporting the + and -
                                    drill hole tolerance
        multiDrillData      l_values If not multidrill then nil otherwise list
                                    of (rows columns clearanceX clearanceY
                                    staggered) both clearances are in dbreps
                                    and staggered is t/nil
        holeType            string  Type of hole (circle_drill, oval_slot, etc.)
        keepout             t/nil   Padstack built to accomodate anti-pads as
                                    Route keepouts for mechanical pins. This
                                    padstack can also be used for logical
                                    connections but this option is ignored.
        isPadRef            t/nil   t = padstack is a padstack reference. This means that the
                                    actual padstack is a template and the padstack's start
                                    end layers is dynamically mapped depending upon its
                                    use with a pin or via.
        isThrough           t/nil   t = through padstack
        name                string  Padstack name
        objType             string  Type of object, in this case "padstack"
        pads                ll_dbid List of pads
        parent              dbid    Design
        plating             string  One of "Plated", "Non-Plated", "Plating-Optional"
        prop                nil     Always nil, padstacks do not support properties
        startEnd            lt_layer Start and end layer of padstack
        type                string  Type of padstack; through, smd, bbvia, uvia
        uvia                t/nil   A sub-type of bbvias, to differentiate in
                                    constraint system.
    
    
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information