• 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. Code for create the Ground Guard around the board outli...

Stats

  • Replies 1
  • Subscribers 159
  • Views 12856
  • Members are here 0
More Content

Code for create the Ground Guard around the board outline

ASPKS
ASPKS over 8 years ago

Dear All,

Does anybody have the skill code for create the ground guard (polygon) around the board outline with the options of polygon width change & change the Stiching via distance in ground guard.

Thanks

Kumarasamy

  • Sign in to reply
  • Cancel
  • B Bruekers
    B Bruekers over 8 years ago
    There is already a standard function in Allegro which can add vias around the board outline. It is in the Place->via array menu.

    If you want to make such function then I would start with something like this:
    get with axlDBGetShapes the outline shape (If using 16.x then I hope you have a single shape as an outline... in 17.2 this is the only way to draw a outline. )
    Then convert the shape to a polygon with axlPolyFromDB and use axlPolyExpand to shrink the outline.
    To create a Cline on the via's you will need a rpath. However there is no standart skill function to do this... The axlDB2Path() only takes a shape as input, not a polygon.
    You can do two things;
    - create a temporary shape from the contracted polygon and use the axlDB2Path() to get it's path. Once you have the path then use axlDeleteObject() to remove the shape.
    - make a function which converts each poly vertices to a rpath.

    Once you have the rpath of the contracted outline you can use this to create a cline on an etch layer with axlDBCreateLine()
    For placing the via's you need to determine points along each segment of the rpath. For straight lines you can use axlMUniVector() to calculate a point on the line.
    For arcs this a bit more complicated, but with some math you can solve this.

    Bram
    • 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