• 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. voids, dynamic shapes, and 15.x

Stats

  • Replies 3
  • Subscribers 158
  • Views 13519
  • Members are here 0
More Content

voids, dynamic shapes, and 15.x

archive
archive over 17 years ago

Greetings all,

Pre-15.0, shape objects had an attribute of ->voids which contained a list of all the voids in the shape. A void consisted of a series of line/arc segments much like the parent shape.

Now in >15.0 I have a dynamic shape which contains several voids but the ->voids attribute shows nil  .
How can I access these voids using SKILL in 15.x ?

TIA,

Chris Walters
local Cadence guru
()


Originally posted in cdnusers.org by kerchunk
  • Sign in to reply
  • Cancel
  • archive
    archive over 17 years ago

    A dynamic shape is the boundary object that contains the original outline and any user added voids. A dynamic
    shape can contain 0 or more generated shapes. Generated shapes appear on class ETCH and contain the actual copper
    fills used for artwork.

    If you want to access the generated shape(s) of this dynamic shape then you should process the list of shapes on
    shapeAuto attribute [ dbid->shapeAuto ]. Each of these generated shapes may have zero or more voids.

    dbid->shapeAuto
    = nil then NOT a dynamic shape (basically any shape where dbid->shapeIsBoundary = nil)
    = () empty list, a dynamic shape with no etch
    = (dbid1, dbid2, ...) list of generated shapes


    By default axlSetFindFilter will always return the boundary shape. If you want the generated
    shapes do NOT add "BOUNDARY_SHAPES" to the list of ?enabled sent to axlSetFindFilter.
    Example: axlSetFindFilter(?enabled '("NOALL" "SHAPES") ?onButtons nil)



    Originally posted in cdnusers.org by fxf
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 17 years ago

    Thx for your fast response and I apologize for my tardy reply.

    I've picked this issue up again, and both where ->shapeAuto == nil nor the shape where ->shapeAuto == (dbid:xxx) have ->voids == nil. This makes sense in that a 'show element' on the shape reports no voids even tho voids can clearly be seen in the shape. Now after I =manually= place a void in the shape a 'show element' on the shape does indeed report one void. From this I deduce 'show element' only reports manually-placed voids, and looking at the shape object does show one element in shape_db->voids and this element is a polygon.

    But I'm having no luck finding the dynamically-created voids. Grrrr.


    Chris Walters
    local Cadence guru
    ()


    Originally posted in cdnusers.org by kerchunk
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 17 years ago

    Turns out the problem was shape objects defined on NEGATIVE planes do not have voids as attributes even though you can clearly see their effect visually. Changing the plane to POSITIVE magically put all the voids in the ->voids attribute where one would expect to find them.

    I can't trust my users to turn all the planes to POSITIVE prior to running the routine that looks for these voids, it'd be nice if there was a way to find them when planes are NEGATIVE.

    But thanks to all who replied!

    CASE CLOSED


    Chris Walters
    local Cadence guru
    ()


    Originally posted in cdnusers.org by kerchunk
    • 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