• 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. Custom IC SKILL
  3. Accessing cellview ID which is stored as a string

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 142
  • Views 15453
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Accessing cellview ID which is stored as a string

RK56
RK56 over 9 years ago

Hi,

I'm into a situation now that I have stored a database ID (cellview or object ID) as a string. Like this

a = sprintf(nil, "%L" geGetEditCellView())

b = sprintf(nil, "%s" car(geGetSelSet()))

Now I am trying to access the cellview ID through the variable a or b as follows

evalstring(a)~>cellName

evalstring(b)~>width

Evalstring does not work here. Is there any other function which can do this job?

Why am I doing this?

Say I want to store some layout objects ID inside a report field along with other information. And when user clicks any row in the reportField, the CB should be able to zoom to that particular object.

Is this is a right approach or are there any other elegant way of doing this?

Thanks

Ramakrishnan

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    You should not do this - mainly because it will not and cannot work. You cannot go from the print representation of a database object back to the actual database object. A better idea would be to create a table (or array) indexed by the report field item number and store this table/array as a user defined property on the field. The values of the entries in the table/array would be the database objects.

    Even so you need to be careful - if your form is non-blocking, it's possible that the objects might not exist when you try to operate on them (they may have been deleted by the user, say). Also, db object ids can be recycled, so the id might exist but may no longer be the original object. So caveat emptor...

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RK56
    RK56 over 9 years ago
    Thanks Andrew. I had the idea of creating a table but to keep it as a global variable. I was not knowing that we can add a user defined property to the hi*fields. Should I be using putpropq and getq functions?

    By adding extra properties to reportfield, can the GUI go slower(less responsive) if the attached table grows in size?

    -Ramakrishnan
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Ramakrishnan,

    You can add the property using getq/putpropq or you can just use the -> or ~> operator (-> corresponds to getq/putpropq anyway).

    It won't affect the performance in any way since the UI code knows nothing about the property you've added (and anyway, it would only be a single pointer - the table itself is just a normal SKILL table).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RK56
    RK56 over 9 years ago

    Thanks Andrew for the tip. Adding a property to a form was a wonderful idea to avoid global variables. Now I have added even the high light set with the form(which I was using it as global) and I should revisit my previous skill scripts to make use of this feature.

    -Ramakrishnan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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