• 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. leHiMerge blocks SKILL when unsuccessful

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 3293
  • 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

leHiMerge blocks SKILL when unsuccessful

jaleco
jaleco over 1 year ago

How does one get past an unsuccessful call to leHiMerge in a SKILL script?

When there the function is successful (eg shapes are merged, return value is t ), the script continues.

When the function is not successful (eg no merge-able data is found) , it blocks the script from progressing.

I have tried evaluating the return value from leHiMerge.

I have tried muffleWarnings(leHiMerge).

I have tried cancelEnterFun().

I have tried envSetVal("layout" modalCommands 'boolean nil) prior to leHiMerge (because an unsuccessful return value stays in it as an enterFunction).

Below is what is displayed in the CIW when the function is not successful, and it remains stuck in enterFunction mode.

*WARNING* (LE-103092): The 'Merge' command was unsuccessful and returned the original set of shapes
because of one of the following reasons:
all the objects are of different type
all the objects belong to different groups
the objects of same type are not overlapping
one of the polygon type shape has more than 4000 points
the objects have a different mask color
To merge the objects, select valid sets of shapes where each set contains same
type of shapes.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    The best solution here would be to use leMergeShapes() instead of using the "Hi" function - that way you're not dependent upon any interactive behaviour of the function.

    If you really must use leHiMerge(), then you could use:

    hiEnqueueCmd("cancelEnterFun()") leHiMerge()

    This will enqueue the cancelEnterFun() so that if leHiMerge() doesn't accept the selected shapes, it will cancel the resulting enter function when the UI top-level is entered.

    However, using leMergeShapes() is a much better way to solve this in my opinion.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jaleco
    jaleco over 1 year ago in reply to Andrew Beckett

    Thanks Andrew,

    You are right of course, leMergeShapes() is a better way to do this, and is working for me.

    Thank you also for reminding me of the hiEnqueueCmd() function as another possibility when attempting to use something like leHiMerge().

    Very much appreciated!

    • 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