• 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. Skill script for creating a selactable area

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 143
  • Views 17904
  • 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

Skill script for creating a selactable area

RFStuff
RFStuff over 12 years ago

 Dear All,

For selecting an object we use "leSelBoxOrStretch()". This happens automatically if one does a left click on the mouse and releases it. The created virtual rectangular area selects the object inside it. This way it becomes difficult to accurately select the objects as the objects may not be accomodated in the zoomed area.

So what I actually want is as  follows:-

I will click ( left click in the mouse)  one point ( this will be let's say one corner of the rectangle), then I will go to other corner of the desired area and click the mouse and will fix the other diagonal corner of the rectangle. Then the objects which arefully coming inder this area will be selected.

Could anybody please tell, how it can be done.

Kind Regards,

 

 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    geSingleSelectBox() does this. It's already in the normal leBindKeys.il sample file bound to shift-A in the layout editor.

    You might also be interested in this solution on Cadence Online Support. It's some SKILL code I wrote to allow you to select by polygon or select by line. The capability is now built-in to IC615, but the code is still useful in earlier releases (including IC5141).

    Kind Regards,

    Andrew.

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

     Dear Andrew,

    Thanks a lot.

    It looks like I am running out of free bind keys.

    Is it possible to use Alt-"A..1" in stead of Shift to add more bind keys.

    Kind Regards,

     

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

    You can use "alt" as a modifier for bindkeys in Cadence 6.1 if you set the following environment variable to nil in your .cdsenv:

    ui      enableMenuShortcuts     boolean nil

    It's hard to run out of bindkeys. You can use several modifiers and combined modifiers:
    None, Shift, Ctrl, Alt, Super (next to alt on most keyboards), CtrlShift, CtrlSuper, CtrlAlt, etc.

    Derek

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

    Although I'd generally recommend not disabling menu shortcuts. If this isn't turned off, you can use the underlined key accelerators - e.g. Alt-F-E-C to do a File->Export->CDL in the CIW. It's a useful alternative when you haven't got bindkeys for everything.

    So in the layout editor (in IC615), you can do Alt-e-l-e to do a select by area...

    Andrew.

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

     Dear Derek and Andrew,

    Thanks a lot for your replies.

    Derek:-

             I tried   ui enableMEnuShortCuts bolean nil in .cdsenv. It did NOT work. I am using IC5141.

    Andrew:-

              1) I could not get your point. What is the effect of File->Export->CDL

              2) Just to know:- For the layout editor, which are the files set the bindKeys.

                 I commented the command load(../sample/local/leBindKey.il") and reinvoked icfb, but still the bindkeys written in that  file are working. Looks like, it is getting the binKey information from some other files.

    Kind Regards,

     

       

            

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

    As Derek said, this env var is for IC61. Menu accelerators were introduced in IC61, and the file export CDL was just me showing an example. The reason I was suggesting that you don't start using Alt in your bindkeys in IC5141 because you'll then get used to them and might then end up having to disable menu accelerators once you move to IC61.

    The bindkey I mentioned is in the leBindKeys.il file - so you'll presumably have to track down where your bindkeys are being loaded. 

     Regards,

     Andrew 

     

     

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

    Dear Andrew,

    Thanks a lot for your reply.

    In 2nd query I was not clear in presenting what I want.

    I have my leBindKeys in two files as written in the .cdsinit file as below:-

    a) load(prependInstallPath("samples/local/leBindKeys.il"))

    b) load("/home/../work_directory/leBindKeys.il")

    I want to use Shift-F5 key for one task. So I added 

    bk("Layout" "Shift<Key>F5"  "CCSprotect->protectSelected()") in my /home/../work_directory/leBindKeys.il file.

    But after reinvoking icfb it turns out that when I press "Shift F5", the command "deOpen()" gets implemented. Then I went to the file " samples/local/leBindKeys.il" and disable the bindkey set for deOpen(). The key F5 was used for this command. After reinvoking Icfb, when I press Shift F5 still the above command gets executed in CIW.

    Is there any other file from where layout editor gets the bindKey information ?

    I wonder why this happening. Could please tel what is the caus.

    Kind Regards,

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

    I suggest you add a print statement at the top of each bindkey file to see when they get loaded during your startup. It sounds like the Cadence bindkey file is getting loaded last. At the top of each file, add something like:

    println("In the Cadence defaults")

    println("In my defaults")

    Once you figure this out, adjust the order of when things are loaded.

    Derek

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

     Dear Derek,

    Thanks a lot for your reply.

    Before trying what you have said, I would like to know from  where  the bindKey files are getting loaded.

    Is it from two places:-

     a)  samples/local/leBindKeys.il

     b)  /home/../work_directory/leBindKeys.il

    Are there anyother places from where leBindKeys.il files get loaded at start-up.

    Could please confirm ?

    Kind Regards,

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

    Typically bindkeys are loaded in a .cdsinit file. I suspect your setup is doing the loading of the bindkey files so that is why I suggested the print statements to help you find where it is happening. There may be several different .cdsinit files loaded during your startup, depending on settings in your site setup.loc file. Try searching the documentation for setup.loc to better understand Cadence's file loading process.

    Derek

    • 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