• 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. How does SKILL tell if the current window is in Edit-In...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 14348
  • 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

How does SKILL tell if the current window is in Edit-In-Place or Descend-To-Edit mode?

DanielDing
DanielDing over 5 years ago

Experts,

I'm trying to place a ruler marker in a layout window, until when descending into sub-hierarchies gets complicated..

For Edit-In-Place, the top level shapes are still displayed in current window as I descend into a sub-cell.

But for Descend-To-Edit, and Descend-To-Read, only the current sub-hierarchy is shown in the editor window.

This means, ruler marker's coordinates need to account for hierarchical transforms in Descend-To-Edit mode, but not in Edit-In-Place mode.

So how can I tell the 2 modes apart in a skill program, to apply appropriate conditions accordingly?

Many thanks!

Duo

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    I suspect you don't really need to know that you're in Edit-in-Place mode, because if you use geGetEditCellView() you'll get the cellView you're editing and so any coordinates in that cellView will be relative to that cellView. You can also use geGetWindowCellView() to find out what is being displayed (i.e. the top level). If they're different then you're editing in place, although the deGetEIP(hiGetCurrentWindow()) will tell you when  you're editing in place if you want to find that out (I don't think I've ever really needed to use that though). 

    There's also geWindowToEditPoint and geEditToWindowPoint which translates a coordinate from the window cellView's coordinate system to the edit cellView's coordinate system and vice-versa.

    Finally, there are properties on the window object called e2dTransX, e2dTransY, e2dTransOrient, d2eTransX, d2eTransY, d2eTransOrient which give you the translation and orientation mapping between the two cellViews (most of the time you wouldn't need these though).

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • DanielDing
    DanielDing over 5 years ago in reply to Andrew Beckett

    Much appreciate it, Andrew! This solves my problem excellently.

    Thanks all for making this forum arguably the best place in the universe for SKILL users!

    • 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