• 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. Allegro X PCB Editor
  3. Finish current command before starting new command

Stats

  • Replies 7
  • Subscribers 159
  • Views 17546
  • Members are here 0
More Content

Finish current command before starting new command

archive
archive over 19 years ago

I wrote a little skill routine. It works but when it is finished, I have to end each other commands with done before being able to call the next one ("Finish current command before starting new command")

If I run other skill routines, when I finish it, this strange behaviour disappears.
So, something in these other routines si needed in the new one to avoid this behaviour.

But in my stop/cancel I have a axlCancel(Finish)EnterFun, an axlClearSelSet but nothing put Allegro back to normal.

I saw that my stop routine set some variables to nil but if I go to skill mode in allegro and display these variables, some are not set like they should be after a stop....

Any help would be greatly appreciated...
Thanks. 


Originally posted in cdnusers.org by willbi
  • Sign in to reply
  • Cancel
Parents
  • archive
    archive over 18 years ago

    How are you starting the command?

    If you put a procedure that calls axlShell("done") into a command register, then the command is called automatically when starting a new command.

    procedure(MYFinishCommand()
       axlShell("done")
    )

    axlCmdRegister("mycommand" 'MYCommandStart ?doneCmd 'MYFinishCommand ?cancelCmd 'MYFinishCommand)

    This also automatically makes a context menu (Right mouse click) with "Done" and "Cancel" in it.


    Originally posted in cdnusers.org by natebizu
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • archive
    archive over 18 years ago

    How are you starting the command?

    If you put a procedure that calls axlShell("done") into a command register, then the command is called automatically when starting a new command.

    procedure(MYFinishCommand()
       axlShell("done")
    )

    axlCmdRegister("mycommand" 'MYCommandStart ?doneCmd 'MYFinishCommand ?cancelCmd 'MYFinishCommand)

    This also automatically makes a context menu (Right mouse click) with "Done" and "Cancel" in it.


    Originally posted in cdnusers.org by natebizu
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • luanvn81
    luanvn81 over 1 year ago in reply to archive

    Hi everyone!

    I also have same problem. In my  skill code , I use ?cmdType "general"  mode for pupose use axlShell ("move*******"). How I can finish  current allegro editor command  before run  my skill command by skill?

    I found that The Done callback function is only registered for “interactive” command type.

    Thanks.

    Luan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 1 year ago in reply to luanvn81

    Try:

    unless( axlOKToProceed(), axlShell("done"))

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • luanvn81
    luanvn81 over 1 year ago in reply to eDave

    Hello eDave!

    Thank for reply. I have tested code with [unless( axlOKToProceed(), axlShell("done")) ] but the result still can not done current active command. I think There is no other way to "done" current active command except done command by user. My choice is checking axlOKToProceed() before run skill command. Can you suggest me another way?

    Luan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 1 year ago in reply to luanvn81

    Hi Luan. I'm not aware of another way. Like many Cadence commands, a DONE is necessary before continuing.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Cadence Guidelines

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