• 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. Auto Click ButtonBox using SKILL

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 142
  • Views 15249
  • 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

Auto Click ButtonBox using SKILL

Siddique baig
Siddique baig over 5 years ago

Hi All,

I am using ICADv18.1 & I am trying to write a code that:

  1. opens a form
  2. clicks on a button; which would open 2nd form
  3. autoFill the fields inside 2nd form
  4. Then clicks Ok for both the forms. 

In GUI, I would click "Customize SpoolSubmit Settings" buttion to open 2nd form. But how could I open the 2nd Form using SKILL? 

I took the callBack value of the "Customize SpoolSubmit Settings" button and placed it in the code. 

As of now, this is the code:

procedure(KSBautoFillNRF()

NRFInit()  ;; First Form Opens
rexCompile("^cte")
hiSetCurrentForm(car(setof(x hiFormList() rexExecute(x))))
MASH_F=hiGetCurrentForm()

hiRegTimer(
NRFCustomizeSpoolSubmitSettingsCB(hiGetCurrentForm())  ;;; This is the callBack value of the button

hiSetCurrentForm(car(setof(x hiFormList() rexExecute(x))))

nrfSS=hiGetCurrentForm()
f1=nrfSS->ssCmdLineOpts->value
when(f1 nrfSS->ssCmdLineOpts->value=\"-bmap map=prioritized\")
f2=nrfSS->ssLSFCpus
when(f2 nrfSS->ssLSFCpus->value=\"4\")
hiFormDone(nrfSS)

hiSetCurrentForm(MASH_F)
hiFormDone(MASH_F)
" 10)
);procedure
hiSetBindKey("Layout" "<Key>7" "KSBautoFillNRF()")

When executing the code, it just opens the first form & does nothing until I cancel the form. 
Please let me know how could I automate it? 

Thanks in Advance
Baig

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    Rather hard to know without seeing your code - I'm having to guess based on what's most likely,

    My assumption is that NRFInit() displays a blocking form. Because of that, the code that follows NRFInit() doesn't get called until the form is OK'd, and so it doesn't call the hiRegTimer until after the original form is OK'd. Normally you need to enqueue the commands (e.g. with hiRegTimer or hiEnqueueCmd) before you display the form - otherwise it won't get enqueued.

    I've no idea what these cte forms are, so I can't help with any specifics.

    Oh, and by the way - please don't post a question and then delete it later and then post a similar question. It's really annoying, as often I spend time working on a response to the original question, go to respond and find it's been deleted. Far better to post the question and then post a follow-up saying that you'd figured it out (ideally with how you've figured it out).

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    Rather hard to know without seeing your code - I'm having to guess based on what's most likely,

    My assumption is that NRFInit() displays a blocking form. Because of that, the code that follows NRFInit() doesn't get called until the form is OK'd, and so it doesn't call the hiRegTimer until after the original form is OK'd. Normally you need to enqueue the commands (e.g. with hiRegTimer or hiEnqueueCmd) before you display the form - otherwise it won't get enqueued.

    I've no idea what these cte forms are, so I can't help with any specifics.

    Oh, and by the way - please don't post a question and then delete it later and then post a similar question. It's really annoying, as often I spend time working on a response to the original question, go to respond and find it's been deleted. Far better to post the question and then post a follow-up saying that you'd figured it out (ideally with how you've figured it out).

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • kssbaig
    kssbaig over 5 years ago in reply to Andrew Beckett

    Hi Andrew, 

    Sorry for deleting the post. I wouldn't do that in future.

    My basic question was "Is it possible to click a button in the form, using SKILL"

    For example, consider "Create Via" form. leHiCreateVia() will invoke the form. Now, if I have to select "Auto" radio-button and then click on Options button, using SKILL. How could I achieve that? Please let me know. 

    BTW : I am the one who posted the question. It was the account with my vendor company. 

    Thanks 

    Baig 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to kssbaig

    All you need to do is invoke the callback for the button - that's identical to clicking the button.

    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