• 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 store and recall DBIDs

Stats

  • Replies 4
  • Subscribers 159
  • Views 13645
  • Members are here 0
More Content

How to store and recall DBIDs

thewill2live
thewill2live over 10 years ago

Hey all,

I currently have a SKILL program that is creating text on the board for me with certain fields being filled in by the user (i.e. "This is the property of <COMPANY>" where <COMPANY> is replaced by the user-input ). What I need to be able to do is create a SKILL program to be run later on down the line that can update the same line of text with a different input  (thus updating the string). I know that I can change text using axlDBChangeText but that requires a DBID for the string to be changed. How can I store the DBID from when I create the text so that I can use it again later?

I looked at using axlCreateAttachment with a disembodied property list but the reference documentation clearly states to not use this to store DBID's. I also considered writing those DBID's to a file and reading them back in later on but they are then recognized as string text not a dbid object. Any helpful ideas are appreciated.

-Will

  • Sign in to reply
  • Cancel
  • eDave
    eDave over 10 years ago

    Don't try to do this using dbids. They are dynamic and WILL change. A few of ways that I can think of:

    1/ Put each item of text into its own group. ie. Name a group "COMPANY" and add the text to that.

    2/ Create a special text block and name it "Company". Use the special text block to identify the text.

    3/ Create a symbol on the fly and add the text to that. I use this method for variably-sized logos.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • thewill2live
    thewill2live over 10 years ago

    Ok so let's say i have "Apple" as the text entered into the string "Apple is a company" and I store that text item into the group "COMPANY". But in order to access that string again to update the text, I still need to get that line's DBID. If I know I can reach it in the group "COMPANY" then I can get it that way but don't I still need the group's DBID in order to access the "COMPANY" group?

    EDIT: Ah wait I can just do a axlDBGetDesign()->groups to get a list of groups and then filter through them. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 10 years ago
    You got it!
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • thewill2live
    thewill2live over 10 years ago
    Yup. Thanks Dave!
    • 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