• 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. Add highlight set colors / Define temporary layer and associated...

Stats

  • Replies 2
  • Subscribers 147
  • Views 69
  • Members are here 0

Add highlight set colors / Define temporary layer and associated DRF properties

Aurel B
Aurel B 10 hours ago

Hi All,

I have a script that report layout shapes with specific colors using highlight sets.

However some very unfortunate bugs can happen if no layer is available with the selected color.

This is very tricky as any user can change his DRF and select whatever color / pattern pair for every layer.

I am usually relying on highlight layers (y..., designFlow etc.) but even those can be redefined.

Is there a way to guarantee that a color / pattern pair will be available for my highlight set?

I was thinking of adding temporary layers to the technology with specific DRF properties but I fear it might cause other problems.

For now I am checking all the available layers, fetching their DRF packet and using this but it is too random and users can still modify the DRF properties afterwards.

This means caching is not a good solution, and re-evaluating all the available layers everytime adds too much overload...

Am I missing something, is there a proper solution to that?

Thanks,

Aurel

PS:

For the future, my goal is to create custom fields (color and color/pattern pair) using hiCreateCyclicField and hiStringToIcon and hiMatchColorByName to list all the available colors that can be used with highlight sets. (pattern will be "fill" or "outline" to begin with, in the future I might support more outline / stipple combinations)

  • Cancel
  • Sign in to reply
  • Andrew Beckett
    Andrew Beckett 10 hours ago

    The good news is that you can create hilight sets with a packet rather than an LPP (the documentation for geCreateWindowHilightSet says this, but geCreateHilightSet does not -  have fed back that this needs to be fixed - I found an old CCR where it was noted but the doc fix never happened.

    Anyway, you can then use geCreatePacket to create a new packet and use that. For example:

    geCreatePacket(hiGetCurrentWindow() "myGreenPacket" "solid" "solid" "green" "green" 4 nil)
    hs = geCreateHilightSet( geGetEditCellView() "myGreenPacket" )
    geAddHilightRectangle(hs bBox)
    hs~>enable=t

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Aurel B
    Aurel B 6 hours ago in reply to Andrew Beckett

    Hi Andrew,

    Thanks for this answer, this is exactly what I was looking for.

    I wish I learned about that 5 years ago though... Sweat smile

    Anyway, this will simplify a lot of code.

    Have a great weekend!

    Aurel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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