• 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. selecting single figures/objects...

Stats

  • Locked Locked
  • Replies 20
  • Subscribers 143
  • Views 14107
  • 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

selecting single figures/objects...

bloodwayn
bloodwayn over 14 years ago

Hello everybody,

i have a layout with a "text" layer1. in this layer are diffrent layers consist of metal1, metal2 and/or poly. now i generate with a function 4 rectangles(also text layer) for example which devide the layer1 into 4 parts.

now i would like to select all layers which are located in one of these parts. so i don't know how i can select a figure or shape or so, based on an specific area.

 hope anybody can help

thanking you in anticipation and sry for my bad english ;)
philip

  • Cancel
  • dmay
    dmay over 14 years ago

    Try:

    geAddSelectBox(
    [ w_windowId ]
    [ g_partial ]
    [ l_bBox ]
    )
    => t / nil
    Implements the add mode of area selection. With no arguments given, it prompts you to enter the area to be selected in the current window. Partial selection is performed only when the window environment variable partialSelect is set and the stretch command is active. Partial selection lets you select an edge, vertex, or endpoint of an object to stretch.
     
    OR

    geSelectArea(
    [ w_windowId ]
    [ l_bBox ]
    )
    => t / nil
    Calls geAddSelectBox to add selected objects within the specified bounding box in the specified window.

    I found these commands in the Skill Finder tool. You can run it by running cdsFinder from a shell command line, or startFinder from your CIW. Then search for "select".

    Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

    thx derek for your fast answer

     i've overlocked it )= ... i will test it tomorrow.

    thank you
    philip

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

    hi,

    thanks alot. it works fine.

    but now i've searched for a function where you can copy this marked objects into an oher cellview. so i can create a new one and it opens it. but the copy .... none of the functions i've tried bringing the desired result. or i'm too stupid to use them ^^

     hope you or anyone can help

    greetz
    philip

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

    Hi Philip,

    Select the objects, and then do Edit->Copy (or the "c" bindkey if you have the "default" bindkeys set up - you should see on the menu item what (if any) bindkey you have). Look at the prompts in the bottom of the source window. It will probably be prompting you for a reference point - and once you've clicked that you can then click in the destination window and it will copy there.

    Ah, perhaps you're asking for a SKILL function to do this. In which case:

    foreach(fig geGetSelSet()
      dbCopyFig(fig destCV)
    )

    If you have a source window id and destination window id, you could use:

    destCV=geGetEditCellView(destWinId)
    foreach(fig geGetSelSet(srcWinId)
      dbCopyFig(fig destCV)
    )

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

    Hi Andrew

     also that works, too. my problem is that i have for exapmle .. one cellview with 2 text-boxes side by side an over these 2 boxes a poly-layer(see the link). so what i want is, to create 2 new cellviews, one for each textbox and copy the content in the respective cellview. so only the content of text-rectangle 1 has to be copied to cellview 1 and only the content of text-rectangle 2 has to be copied to cellview 2.
    is there a possibility?

    http://img251.imageshack.us/img251/499/examplev.png

    Regards
    philip

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

     HI Philip,

    If you also want the poly layer (or any crossing shape) to also be copied then you could use the Yank and Paste feature.  The Yank can "slice through" shapes cutting them off at the edge of the yank box, and then in a new cellview you would Paste the content of the Yank buffer, so using you example, you would get a bit of the poly layer plus the text box and anything else in the rectangular Yank box that you draw.  For precision you can start the Yank command (e.g. from the menu, in case you have infix turned on) and then you can type the coordinates into the CIW, e.g. 0:-7 and then 12:7 to specify the corners of the Yank box precisely, rather than trying to click on the exact coordinates in the layout window. Then use Paste in the new cellview in a similar way, start the Paste from the menu and specify the lower-left origin by typing the coordinate into the CIW.

    I hope that this is what you are looking for.

    Regards,

    Lawrence.

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

    And you can use the leYangFigs or lePasteFigs SKILL functions to do the same thing.

    Otherwise you'd need to use things like dbLayerAnd to produce filtered versions of the shapes - but they only work on flat shapes. Yank and Paste will include any complete instance within the yank region, or will chop through the hierarchy (like a "cookie cutter").

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • bloodwayn
    bloodwayn over 14 years ago

    this 2 functions are very nice =)
    they do all what i want. and the feature to go down in the hierachy and to search for objects in other instance or so is brilliant^^

     thanks.

     there is an other question. it's not very important just a little gimmick. when i've copied the objects in the new cellview the objects are everywhere. so there are the buttom "Fit Edit" where the objects are brought in the middle. how can i do that in skill code? is there a possibility to "activate" this buttom automatically?

     philip

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago
    Philip,

    Just call

    hiZoomAbsoluteScale(destWinId 0.9)

    when you're done. The first argument is the destination window id. The 0.9 allows a little margin around the edge. You can see the commands executed by using Options->Log Filter in the CIW and then selecting the button or bindkey or menu item.

    Regards,
    Andrew.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Sorry about the slight gobbledegook in the previous post (the p,li white-space bit). Was caused by pasting from something with some formatting in and is a quirk of the forum software.

    Regards,

    Andrew.

    • 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