• 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 Design
  3. Options/Display - Shape information

Stats

  • Locked Locked
  • Replies 17
  • Subscribers 127
  • Views 9178
  • 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

Options/Display - Shape information

Liahuro
Liahuro over 15 years ago
Hi Cadence Community, I have my first question in this forum. In IC5.1 there was an option to display shape information in the corner of the screen. This is a "Shape information" check-box. When we move cursor touch any object then at the corner of current window will show all information of shape as : Layer-Shape(rectangle, polygon,..) How can I make this thing with skill code? Please help me know. Thanks, Q
  • Cancel
  • skillUser
    skillUser over 15 years ago

    Hi Liahuro,

    In order to implement something like this in SKILL you would need a triggering event, something like onMouseOver - but this does not exist in SKILL to my knowledge.  The best I think that you could do is to create a bindkey (a mouse click or key combination) and then use the mouse location to gather information about what's at the cursor.  The function hiGetCommandPoint() could be useful, as might gePointQuery().  With a coordinate point you might use something like dbGetOverlaps() or dbGetTrueOverlaps() to find what shapes are under that point.

    Hopefully this will help you.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    In IC61, go to Options->Dynamic Display, and turn on "Show Info Balloon". You may also want to ensure that everything is checked on the Setup tab. As you hover over instances, you'll get an info balloon appear. This is similar information to the old "Shape Information" option in Options->Display in IC5141, just implemented with a more modern UI (a transparent info balloon). There's also an icon in one of the toolbars (a light bulb) to toggle on or off the info balloon display (in IC613 and IC614).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Liahuro
    Liahuro over 15 years ago
    Dear Lawrence & Andrew Beckett, Thanks for your help. I can implement some functions to get all shapes & return the current locations of the pointer in cell view. But in order to display/show all property(layer/shape/...) at the corner of layout is not. Do you have any way to help me?. @Andrew : "modern UI (a transparent info balloon)", can you explain more clearly?. Regards, Liahuro
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Liahuro
    Liahuro over 15 years ago
    Dear Lawrence & Andrew Beckett, Thanks for your help. I can implement some functions to get all shapes & return the current locations of the pointer in cell view. But in order to display/show all property(layer/shape/...) at the corner of layout is not. Do you have any way to help me?. @Andrew : "modern UI (a transparent info balloon)", can you explain more clearly?. Regards, Liahuro
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Liahuro
    Liahuro over 15 years ago
    Dear Lawrence & Andrew Beckett,
    Thanks for your help. I can implement some functions to get all shapes & return the current locations of the pointer in cell view. But in order to display/show all property(layer/shape/...) at the corner of layout is not. Do you have any way to help me?.
    @Andrew : "modern UI (a transparent info balloon)", can you explain more clearly?.
     Regards,
       Liahuro
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Sorry, my assumption was that you wanted to implement this in SKILL because you couldn't find it in IC61X. I was trying to save you the effort by showing you something similar (and better) in IC613/IC614. I don't know what version you're using, but if using these versions, I'd suggest you try it - I already explained how to enable it!

    If you're using IC5141, you already have it, so not sure why you need to write your own SKILL code.

    As Lawrence said, there's no way to do it with a "mouse over" because there's no event for that in SKILL. You could display info on selection, by using the leRegUserObjectSelectionFilter which allows you to register a trigger on selection.

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dmay
    dmay over 15 years ago

    Take a look at this post for a different solution for when an object is selected (Info is displayed in the CIW upon selection):

    /forums/p/11732/15144.aspx#15144

    Also, there is a way to achieve a "mouseOver" effect in 5.1.41 using leRegUserObjectSelectionFilter. You have to be careful with this because it will call your registered routine constantly as you move your mouse. A short, very efficient piece of code is all that you should register with this routine. In this case, the code always returns t. However, you can configure it to return nil when you don't want a specific object to be selectable. I prefer the solution in the above post, but the following code is as close to a "mouseOver" feature as you are going to get in 5.1.41.

    _MOUSE_OVER_GLOBAL=nil
    procedure(myMouseOver(obj)
      prog((newString)
        sprintf(newString "ObjType: %L   Lpp: %L  CellName: %L\n" obj~>objType obj~>lpp obj~>cellName)
        unless(newString==_MOUSE_OVER_GLOBAL
            _MOUSE_OVER_GLOBAL=newString
            printf("%s" _MOUSE_OVER_GLOBAL)
        )
        return(t)
      );prog
    );procedure

    leRegUserObjectSelectionFilter("myMouseOver")

    Then you can run this command to turn it off: 

    leUnregUserObjectSelectionFilter()

    Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Sorry, had a brain lapse. I suggested leRegUserObjectSelectionFilter in my last post but forgot (not sure why I forgot, because I've used it for this purpose myself) that it gets called before selection (this is so it knows whether to highlight the object you're over or not - i.e. if it's selectable).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Liahuro
    Liahuro over 15 years ago
    Dear Andrew,
      Actually, I want to build a application to help manual layout. As you know we use bind key  'q'  to show/edit property of the selected objects, It will take your time to press short key 'q',
    a repetitive job is very boring :((.
     I try to create a script can display all information of the selected objects when moving or clicking cursor touching boundary/bBox of these objects.
     
     No end obliged to you!
     @Derek :  You are a big help!
     
      I have a new problem wanna ask you. The function leZoomToSelSet() can zooms the selected objects to fit the window. But at top cell or instances, It's not work?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Liahuro
    Liahuro over 15 years ago
    If I want to zoom out/zoom in the selected objects to fit layout window (top cell or low level,....). Is there any way?
    • 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