• 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. Command to return the Layer type in SKILL

Stats

  • Locked Locked
  • Replies 21
  • Subscribers 151
  • Views 30916
  • 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

Command to return the Layer type in SKILL

MANJ
MANJ over 15 years ago

 Hi all,

 I was trying to get LayerType on getting the layer selected manually. I wanted the features of the selected Layer like "Drawing" and "type" etc ..thanks in advance

  • Cancel
  • MANJ
    MANJ over 15 years ago

     hey Lawrence ,

     

    Thanks for replying to my questions . I have not used this turbo toolbox option in virtuoso can u guide me through this. 

    thanks and regards,

    MANJ 

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

    Hi MANJ,

    You can also pass the layer to search on to dbGetOverlaps/dbGetTrueOverlaps rather than doing it on all layers and then filtering.

    One possibility to convert polygons to paths is using the SKILL that I wrote which a colleague published in solution 11037248

    Regards,

    Andrew.

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

    Hi MANJ,

    If you are using IC61x the Toolbox is enabled in VLS-L etc.by going to Options -> Toolbox and enabling it from there; this will add two toolbar menus, Toolbox-1 and Toolbox-2.  The documentation is a great place to start learning about all of the features, for example there is a Virtuoso Toolbox User Guide manual. The Turbo Toolbox also exists with the IC5141 release, as does the documentation, though it is enabled differently and looks different.

    Regards,

    Lawrence.

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

     hey Lawrence,

       I am refering the toolbox user guide manual which seems to be useful. Meanwhile can u help me out with following :

     ~>  delete all "text" Layer from the Layout.

     

    Thanks and regards ,

    MANJ 

      

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

    hey all,

     I want to know the following: 

    1) what does the following function dbDeleteRect( dbRectId rectId) and dbDeleteShape(dbShapeId shapeId). As I have asked earlier what function I am supposed to use to delete all the "text" Layer from a layout .

    2)my script is bit lengthy and I want to reduce the length of the script by including a different SKILL program . We have properties like encapsulation, inheritance in OOPs similarly do we have any options to use fn of another SKILL program.

    thanks and regards,

    MANJ 

     

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

    Hi Manj,

    There are no such SKILL functions as dbDeleteRect or dbDeleteShape. You are reading about these in the Integrator's ToolKit documentation - these are C functions for interacting with the database. The SKILL function is called dbDeleteObject, which can be used for any object. If you find the text objects you're interested in, call dbDeleteObject() on these, and they will be gone.

    Yes, you can call any SKILL function that is defined in the session. There is no such thing as a "program" as a single entity  - there are just defined functions.

    Regards,

    Andrew.

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

    LPP=car(exists(LP cv~>lpps LP~>layerName=="text"))
    foreach(shape LPP~>shapes dbDeleteObject(shape))

    Regards,

    Andrew.

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

    Hi MANJ,

    It may depend on whether you want to delete all text (labels & textDisplays) or just labels?  Anyway, here's something that may work:

    
    ;; get the current cellview db id
    cv = geGetEditCellView()
    ;; get the text layer purpose database object txtLp = car(setof(lp cv~>lpps lp~>layerName=="text" && lp~>purpose=="drawing"))
    ;; delete all labels and textDisplays mapcar('dbDeleteObject txtLp~>shapes)

    I tested this briefly and it deleted all the labels and textDisplays in my test.  If you want to limit it just to labels, then you might use another setof filter and check for shapes that have theLabel attribute, for example (this is not present on a textDisplay).  Another thing to consider is that you might want to toggle the visibility rather than deleting?

    Best regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Austin CAD Guy
    Austin CAD Guy over 15 years ago

    >> 2)my script is bit lengthy and I want to reduce the length of the script by including a different SKILL program . We have properties like encapsulation, inheritance in OOPs similarly do we have any options to use fn of another SKILL program.

    SKILL has all those capabilities, usually by using the built in object system. This is built on the LISP object system which works different than those found in other languages. You can also use procedural encapsulation which may be quicker to implement if you don't know SKILL very well.

     Ted

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

     hey all,

    thanks for your reply. To understand " LISP object system " or "procedural encapsulation" can u post an example to understand. or Please guide me where i can look for it in "cdnshelp".

    regards 

    MANJ

     

    • 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.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information