• 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 use axlDBCreateGroup and axlDBAddGroupObjects

Stats

  • Replies 3
  • Subscribers 159
  • Views 12555
  • Members are here 0
More Content

How to use axlDBCreateGroup and axlDBAddGroupObjects

Rajagopalg
Rajagopalg over 8 years ago

Hi,

Can anyone explain how to use these function axlDBCreateGroup and axlDBAddGroupObjects with an example would be more helpful.

My intention is that the circularly placed vias has to make it as one group object and then needs to be rotated certain angle based on trace segment angle. 

Much appreciated your response!

Regards 

Rajagopal

  • Sign in to reply
  • Cancel
  • eDave
    eDave over 8 years ago
    Example (for what it's worth):
    myGroupDBID = axlDBCreateGroup("MYVIAS", "generic", nil)
    axlDBAddGroupObjects(myGroupDBID, viaList)

    In your use model it is unnecessary to use a group. You can use axlTransformObject to achieve your result.
    eg. axlTransformObject(viaList, ?angle myAngle, ?origin myRotateAroundPoint)
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Rajagopalg
    Rajagopalg over 8 years ago
    Hi Dave,

    Thank you for sharing the syntax and while running the code it shows the error message "*WARNING* (axlDBCreateGroup): ERROR(SPMHDB-246): Specified group name already in use". The group named as "GrpVias" and next when execute the code, this group name have been change to "GrpVias1,GrpVias2,,,". Is there any method to increment the group name by automatically?
    And using the axlTransformObject function, it spinning the objects by itself instead of moving from existing location to new location( need to rotate by myAngle) w.r.t origin "pinXY".

    Thanks,
    Rajagopal
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 8 years ago

    There are a number of axl group functions that you should investigate to help you handle groups including axlDBCreateGroup, axlDBRemoveGroupObjects, axlDBDisbandGroup and axlDBAddGroupObjects.

    Incrementing a name is as simple as using something like sprintf(myGrpName, "GrpVias%d", ++counter) where counter has been initialised to an integer.

    axlTransformObject should do what you want. You must include the ?origin parameter. This is the centre of rotation around which you want objects to rotate.

    • 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