• 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 Design
  3. Need a Skill code to get a list of elements under a plygonal...

Stats

  • Locked Locked
  • Replies 15
  • Subscribers 127
  • Views 22518
  • 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

Need a Skill code to get a list of elements under a plygonal shape.

AmitBiswas
AmitBiswas over 16 years ago

I am looking for a comand in skill to get the list of elements under a polygonal shape.

There is a command

 

dbgetTrueOverlaps(
d_cellView
l_bBox
)

 here the output of this command is a list of elements. But this command only takes the input as a list of two points.

 I want to give a list of more number of points as input to the code and the output it will return a list of elements under the polygon formed by the list of input points.

If anybody knows how to get it done please repply.

Regards,

Amit 

 


  • Cancel
Parents
  • dmay
    dmay over 16 years ago

    The only way to do this is to decompose the polygon into rectangles and run dbGetTrueOverlaps on each rectangle. If your polygons are not orthogonal, then you'll have to do some approximating. Cadence has a routine called dbLayerTile that will take an input shape and decompose it into trapezoids. If the original shape is orthogonal, then the results will be rectangles. The drawback to this routine is that it will actually create the trapezoids (or rectangles) in your layout where the source shapes are located. If you need to be able to work in a read-only mode, then you would have to mess around with a scratch cell to do your layer tiling. You alternative is to write your own polygon to trapezoid routine or find one out on the web.

     -Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • dmay
    dmay over 16 years ago

    The only way to do this is to decompose the polygon into rectangles and run dbGetTrueOverlaps on each rectangle. If your polygons are not orthogonal, then you'll have to do some approximating. Cadence has a routine called dbLayerTile that will take an input shape and decompose it into trapezoids. If the original shape is orthogonal, then the results will be rectangles. The drawback to this routine is that it will actually create the trapezoids (or rectangles) in your layout where the source shapes are located. If you need to be able to work in a read-only mode, then you would have to mess around with a scratch cell to do your layer tiling. You alternative is to write your own polygon to trapezoid routine or find one out on the web.

     -Derek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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