• 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. how to work around limits in axlDBGetExtents

Stats

  • Replies 5
  • Subscribers 159
  • Views 13263
  • Members are here 0
More Content

how to work around limits in axlDBGetExtents

Ejlersen
Ejlersen over 11 years ago

Hi

I'm using the axlDBGetExtents function to get the extents but are running into issues depending on the number of dbids in my list.

So in some cases I run into issues simply due to the length of the list of dbids and axlDBGetExtents return "nil"

Is there any kind of workaround for this?

I know that 1487 dbids are ok whereas 2520 are not

Thanks in advance 

Best regards

Ole 

  • Sign in to reply
  • Cancel
  • fxffxf
    fxffxf over 11 years ago

    Look into if the list contains an  unsupported dbids. GetExtents only supports segements, clines, lines, rect, filled rect, figure, text, shape, voids, pins, vias and symbol instances. If you have dbids like nets, symbol defs, or groups it will fail.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Ejlersen
    Ejlersen over 11 years ago

    Hi

    I'm using the find filter to select with the command

    axlSetFindFilter(?enabled list( "noall" "vias" "shapes" "pins" "clines" "lines" "figures")

    ?onButtons list( "noall" "vias" "shapes" "pins" "clines" "lines" "figures")

    ) 

    Printing the list for objType exhibits the following types

    pin, path, via, shape, polygon

    That does not look like symdefs

     

    Bonus question, if I do the printing in the skill development window there seem to be a limit of 296 lines, how can I circumvent that limit? 

     

    Best regards

    Ole 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • fxffxf
    fxffxf over 11 years ago

     I would call GetExtents for each element and see what it rejects (returns nil)

    The skill code: for(i 1 1000 printf("i=%d\n" i))

    has no trouble echoing 1000 lines to the Skill window

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Ejlersen
    Ejlersen over 11 years ago

    Hi

    Your printing code works fine for 1000 lines, but when the skill window reports my dbid list it ends with 3 points

    http://screencast.com/t/e2oA8a4B0uZ

    Also, if I create a loop on all dbids and write the type to skill dev window or file it will stop after 296 items (suppose thats the number of dbids it shows when returning after axlGetSelSet())

     

    I'll try iterate over getextents 

    Best regards

    Ole 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Ejlersen
    Ejlersen over 11 years ago

    Hi

    Just a quick update.

    Iterating over all dbids and removing dbids that return nil solves the issue

    I found out that the problem was related to a slot hole that had no pad definition but still got selected as a pin on the subclass that was visible. But axlDBGetExtents return nil

    Best regards

    Ole 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
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