• 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. How to set up to use SKILL?

Stats

  • Replies 7
  • Subscribers 160
  • Views 19602
  • Members are here 0
More Content

How to set up to use SKILL?

tmd63
tmd63 over 9 years ago

I have some skill file examples but I cannot access them. These are the examples in toolbox.

But we have a different environment setup so I dont think the toolbox is step up to run.

If I try and type 'tbx changewidth' for example. I get an error message 'E - Command not found'. These are the examples found in share\pcb\toolbox\ but the path to start does not appear to be set.

Where is the path for using SKILL commands found?

  • Sign in to reply
  • Cancel
  • oldmouldy
    oldmouldy over 9 years ago
    You need a license for the Allegro (or OrCAD) Productivity Toolbox in addition to any Allegro (or OrCAD) PCB Designer license, this is selected from the license picker when the products are started. IF licensed, you will get menu entries for the Productivity Toolbox functions amongst the "regular" menus, they won't work without a license.
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • tmd63
    tmd63 over 9 years ago
    ok. I open my Allegro, and in the commandline, I can type 'skill' and the prompt changes to Skill>. But I cannot load or run the silkutils. WHen I try I get a variable not set silkutils error.
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • jwhend
    jwhend over 9 years ago

    Try loading the individual skill programs:

    skill load "program.il"


    You may need to put in the full path to the program.

    Inside the program there maybe a axlCmdRegister("keyboard command" 'actual function name)

    If not you will need to type the procedure in the allegro command line:

    skill functionname()

    hello world program called hworld.il

    axlCmdRegister("hiworld" 'axlhWorld)
    procedure(axlhWorld()
    printf("HELLO WORLD!\n")
    )
     

    To execute on the allegro command line:

    hiworld or,

    Command > skill load "hworld.il"
    t
    Command > skill axlhWorld()
    HELLO WORLD!
    t

    Jerry

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Kirti Sikri
    Kirti Sikri over 9 years ago
    You can refer to document  Allegro® User Guide: SKILL Reference which you can find at  <Cadence 16.6 installation dir>/doc//algroskill/algroskill.pdf
    •You run AXL-SKILL by typing skill on the Allegro PCB Editor command line.
    •The AXLSKILL interpreter appears with the skill> prompt in place of the Allegro PCB Editor command line.
    Then you can load the skill file. Please use the linux path i.e / to specify file name.
    •Type exit to close the AXL-SKILL interpreter and return to the Allegro PCB Editor command line.
    •You can also run AXL-SKILL functions from the Allegro PCB Editor command line with the following syntax:
    –skill (<function> <arguments>)
    •Ex: skill "load a.il"
    •You can get a larger SKILL-only window by setting the Allegro PCB Editor environment variable, TELSKILL.
    •Note: All Allegro PCB Editor console output is directed to the SKILL window when the TELSKILL variable is set.
    axlCmdRegister registers the 

    a command named t_allegroCmd with the Allegro PCB Editor shell system. If
    the command already exists, either because it is a base Allegro PCB Editor command or
    because it has been registered by this function at an earlier time, it will be hidden.
    Once you register a command, Allegro PCB Editor passes its arguments to SKILL-AXL
    without parsing them.
    You can call the axlCmdRegister command any time. Once a command is registered, you
    can type it at the Allegro PCB Editor command line and also incorporate it into menus and
    pop-ups.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • tmd63
    tmd63 over 9 years ago

    Thanks Jerry,

    I tried your hello world skill and it works.

    I then tried a sample skill called colorForm but I get an error.

    E- *Error* axlFormBuildPopup: argument #1 should be any user-defined (other) type (type template = "otl") - nil
    ERROR.

    This is a simple colorTest.il and colorTest.form that was installed when I installed Cadence.

    Any ideas?

    code

    ; demostration for useing color switches in a form popup

    unless(boundp('ct) ct = nil)

    defun( colorTest ()
        let( (form colorList colorString color)

        form = axlFormCreate('ct "colorTest" nil 'colorTestDispatch t)
        ct = form
        
        for(i 1 axlColorGet('count)
            color = axlColorGet(i);
            colorString = sprintf(nil "i=%L, r=%L, g=%L, b=%L" i car(color) cadr(color) caddr(color))
            colorList = cons(list(colorString i i) colorList)
        );
        colorList = reverse(colorList);
        axlFormBuildPopup(form "COLOR_LIST" colorList);
        axlFormDisplay(form);
    ))

    defun( colorTestDispatch (fw)
        printf("field/value %L = %L (int %L\n)"
        fw->curField fw->curValue, fw->curValueInt )
        if((nequal fw->doneState 0) axlFormClose(fw))
        nil
    )

    /code

    • 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