• 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. Open Layout View to spec'd configuration

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 2897
  • 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

Open Layout View to spec'd configuration

jaleco
jaleco over 12 years ago

Does anyone know how to code the opening of a layout view to a specific window size and location (on the user's monitor) so the user does not have to resize each view opened from the Library Manager?

Searched for this topic but did not see a related thread.

I used to be able to configure this with Mentor Graphics apps, but do not see how to do it in Cadence....would be very nice to have.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Put this in your ~/.cdsenv (adjust coordinates as you want):

     layout leWindowBBox string "((100 100) (800 700))"

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jaleco
    jaleco over 12 years ago

    Thanks so much Andrew.

    I have found the leWindowBBox() environment variable in our documentation now and I am using it.

    Can you help with sample code to control the size and location of the LSW and CIW as well?

    I have tried "leResizeLSW((0 0) (158 1170))"  and "leSetLSWBBox((0 0) (150 2000))" for example, in the CIW, but cannot get the syntax correct. The arguments passed are not being recognized as a list, despite having the same format returned by "leGetLSWBBox()" 

    I have not located anything that defines or controls the size and placement of the CIW.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 12 years ago

    Hi,

    You are close, but when a bounding box is returned to you, it is not quite the same format used to specify the same (I will show an example shortly).  If a bounding box is returned by a function, then that return value can be used directly as input to another function that accepts a bounding box format in its input.  Here is how you would specify a bounding box:

      leResizeLSW('((0 0) (158 1170)))
      leSetLSWBBox(list(list(0 0) list(150 2000)))
      leResizeLSW(list(0:0 158:1170))
    

    Hopefully the examples will help; the bounding box is a list of lists structure. The first example uses the single quote to prevent the SKILL interpreter from evaluating what is in the parentheses, and so this would return the list of lists structure exactly as written. In the second example I used the list function to create the list and sub-lists. In the third example I use the ":" range operator to generate the sub-lists and the list function to make the top-most list. Do not attempt to use a combination of '() with the list function or the range operator inside the parentheses as this will not give what you want since the items inside the parentheses would not be evaluated (and you want the list or range functions to work).

    Best regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jaleco
    jaleco over 12 years ago

    Thank you Lawrence,

    the commands to resize or to set the LSW in-session, from the CIW command input line work.

    And I have located the commands to size the CIW at startup using "hiResizeWindow()".

    I was hoping to use the Session file to restore the LSW window at startup, but it does not appear to work for the LSW.

    Is there some way to set the size and location of the LSW at startup or automatically when a layout view is opened - as opposed to defining a function to, or by typing the leSetLSWBBox() command directly after a layout view is open?

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jaleco
    jaleco over 12 years ago

    An addendum to the prior post - the session file does NOT save the previous CIW size and location.  The session file ONLY restores the Layout window approximate size and location, and the Library manager window size and location.

    • 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