• 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. PCB Design
  3. Skill file menu for hotfix SPB16.60.055

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 164
  • Views 15951
  • Members are here 0
More Content
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

Skill file menu for hotfix SPB16.60.055

C Shiva
C Shiva over 10 years ago

Hi all,

Recently I have updated to latest hotfix SPB16.60.055 to my tool Orcad PCB Designer Professional 16.6. After installation of hotfix there were lots of changes in Menu bar and I didn't find the skill files which I had set in menu bar before hotfix installation. Anyone faced same issue? Where can I find out the menu file which can be user edited and skill file path's can be added?

Regards,

Shiva.

  • Cancel
  • steve
    steve over 10 years ago

    menu.zipOrCAD introduced a new menu structure in hotfix S051 that changed the menu structure. This makes the menu more intuitive. If you want to change back look under Display - Use Legacy menu option. Editing filename.men files is not a good option anyway because when menus change you need to redo the menu. Look at the attached skill file that can be put in your skill location and loaded via the allegro.ilinit file. This way regardless of the .men file that is used your used defined menu is always loaded.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • C Shiva
    C Shiva over 10 years ago

    Thanks Steve for your reply. I have clicked on Display-Use Legacy menu option and everything changed to old settings. But can't get how to come back to new menu structure. Please help.

    Regarding the skill file you attached, I will have a try on it.

    Regards,

    Shiva.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • steve
    steve over 10 years ago
    Setup - User Preferences - UI - General and uncheck orcad_use_legacy_menu then restart.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • C Shiva
    C Shiva over 10 years ago
    It worked. Thanks for your prompt reply.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • EvanShultz
    EvanShultz over 10 years ago

    Yes, using SKILL is definitely the right way to go. I used to use a SKILL function that would modify allegro.men, but modifying the menus via SKILL at Allegro invocation took a bit of work but will serve you well in the future.

    The great Dave Elder shared the following SKILL function:

    defun( DE_UIMenuInsertAfter (curCmdStr, curDisplayStr, cmdStr, displayStr, "tttt")
    let((result, menuId)
    and(
    result = list(nil, sprintf(nil, "Menu item '%s' not found.", curCmdStr))
    menuId = axlUIMenuFind(nil, curCmdStr)
    result = list(nil, sprintf(nil, "Menu insert command failed for '%s'.", cmdStr))
    axlUIMenuInsert(menuId, "temp", "temp")
    menuId = axlUIMenuFind(nil, curCmdStr)
    axlUIMenuInsert(menuId, displayStr, cmdStr)
    result = list(nil, "Menu delete command failed.")
    axlUIMenuDelete(menuId)
    menuId = axlUIMenuFind(nil, cmdStr)
    axlUIMenuInsert(menuId, curDisplayStr, curCmdStr)
    menuId = axlUIMenuFind(nil, "temp")
    axlUIMenuDelete(menuId)
    result = list(t, sprintf(nil, "Menu insertion for '%s' succeeded.", cmdStr))
    )
    result
    )
    )

    I use it to great effect in this example allegro.ilinit trigger:

    procedure(qscMenuTrig(t_menufile)
    when(t_menufile == "allegro" || t_menufile == "specctraquest" ; only load menu customizations for Allegro PCB or SI licences
    let((layerMenuList gridMenuList)
    ; "File" menu
    DE_UIMenuInsertAfter("save_as" "Save &As..." "write" "Write...")
    DE_UIMenuInsertAfter("pcad in" "P&CAD In..." "qsc pdif drl tbl writer" "QSC PCAD Drill Table Writer...")
    DE_UIMenuInsertAfter("plctxt in" "Placeme&nt..." "srd get" "Ref Des Silkscreen...")
    DE_UIMenuInsertAfter("annotation in" "Annotations..." "logomaker" "Insert Image File...")
    axlUIMenuInsert(axlUIMenuFind(nil "logomaker") 'separator)
    DE_UIMenuInsertAfter("dxf out" "D&XF..." "qsc_dxf_out" "QSC DXF")
    DE_UIMenuInsertAfter("idf out" "&IDF..." "qsc_multiboard_idf_out" "QSC Multi-Board IDF")
    DE_UIMenuInsertAfter("idf out" "&IDF..." "qsc_idf_out" "QSC IDF")
    DE_UIMenuInsertAfter("idx out" "I&DX..." "qsc_idx_out_inc" "QSC IDX Incremental")
    DE_UIMenuInsertAfter("idx out" "I&DX..." "qsc_idx_out_base" "QSC IDX Baseline")
    ; "Edit" menu
    DE_UIMenuInsertAfter("delete" "&Delete" "scalpel" "Scalpel Cline(s)")
    DE_UIMenuInsertAfter("property edit" "P&roperties" "add_prop_via" "Via Net Property...")
    DE_UIMenuInsertAfter("net_properties" "&Net Properties..." "find net" "Find Net...")
    DE_UIMenuInsertAfter("net_properties" "&Net Properties..." "find comp" "Find Component...")
    axlUIMenuInsert(axlUIMenuFind(nil "find comp") 'separator)
    ; "Display" menu
    axlUIMenuInsert(axlUIMenuFind(nil "layer priority") layerMenuList)
    axlUIMenuDelete(axlUIMenuFind(nil "layer priority"))
    DE_UIMenuInsertAfter("color192" "&Color/Visibility..." "layer priority" "&Layer Priority...")
    ; "Shape" menu
    DE_UIMenuInsertAfter("island_delete" "&Delete Islands" "fss" "Find Static Shapes...")
    DE_UIMenuInsertAfter("shape check" "Chec&k" "shapeupdate" "Update")
    ; "Route" menu
    DE_UIMenuInsertAfter("add connect" "&Connect" "cwidth" "Change Width...")
    ; "Manufacture" menu
    DE_UIMenuInsertAfter("artwork" "&Artwork..." "film_reorder" "Reorder Films...")
    DE_UIMenuInsertAfter("silkscreen param" "&Silkscreen..." "silkutils" "Silkscreen Check...")
    ; "Tools" menu
    ;DE_UIMenuInsertAfter("reports" "&Reports..." "UC_find_stubs" "Find Stubs...")
    DE_UIMenuInsertAfter("reports" "&Reports..." "css" "Shorted Segment Report")
    DE_UIMenuInsertAfter("db diary" "Data&base Diary..." "heightchk" "Height Checker...")
    DE_UIMenuInsertAfter("db diary" "Data&base Diary..." "datasheet" "Open Component Datasheet")
    axlUIMenuInsert(axlUIMenuFind(nil "datasheet") 'separator)
    )
    )

    when(axlIsSymbolEditor() ; only add to symbol editor
    DE_UIMenuInsertAfter("dbdoctor" "Database &Check..." "autopad" "Open Autopad Generation")
    )
    )

    axlTriggerSet('menu 'qscMenuTrig) ; trigger when a menu is loaded

    Good luck to you!

    (Sorry for the lack of formatting!)

    • Cancel
    • Vote Up 0 Vote Down
    • 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.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information