• 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 Scripting - Skill
  3. Changing dimension parameters by menu

Stats

  • State Not Answered
  • Replies 2
  • Subscribers 17
  • Views 1207
  • Members are here 0
More Content

Changing dimension parameters by menu

Jim OMahony
Jim OMahony over 1 year ago

I want to make it easy to dimension component footprints with the appropriate text and arrow head sizes. To do this

I have written some code to read parameter files according to the menu picked :

procedure( exlDimSize( sizeSelect )
    println(list("Dimension taille = " sizeSelect))
        caseq( sizeSelect
                ( "Defaut" axlImportXmlDBRecords( "Y:/LIBRAIRIES/CAO/Cadence/site_env/pcb/parameter/Dim_Defaut.prm"))
                ( "0603" axlImportXmlDBRecords( "Y:/LIBRAIRIES/CAO/Cadence/site_env/pcb/parameter/Dim_0603.prm"))
                (t println("Taille de dimensions pas de modification."))
            );caseq
        axlLayerCreateNonConductor("PACKAGE GEOMETRY/DIMENSIONS")
        axlSetActiveLayer( "PACKAGE GEOMETRY/DIMENSIONS")
);procedure

axlCmdRegister( "dimsize" 'exlDimSize ?cmdType "general")

-----

The problem is that I have to manually reload the skill file first. The file is in my skill directory and loads to a certain extent as I can see the new command "dimsize".

Anyone know why this file has to be loaded a second time in order to work ?

Thanks in advance.

  • Cancel
  • Sign in to reply
  • mahimag
    0 mahimag over 1 year ago

    Hi Jim, so have you added the load function in your allegro.ilinit file to load this skill file automatically at the time of startup? If yes, and you still need to load it again after the Allegro is reinvoked, you can check whether your skill path is correctly set. 

    To check this try below function in the allegro command window:

    getSkillPath()

    This will give you the path which is currently set.

    To add more locations to the SKILL Path you can use setSkillPath as below:

    setSkillPath(buildString(append1(getSkillPath()  "D:/skill")))

    Once done, try to add a printf statement in code to check whether it is loaded at the time of startup or not.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jim OMahony
    0 Jim OMahony over 1 year ago in reply to mahimag

    In fact I put all of my skill files in the $ALLEGRO_PCBENV/site_env/pcb/skill directory and this directory shows up in the SKILL Path.
    I use the traditional allegro.ilinit loop to read all of the .il skill files in this directory. My new file gets read ok and I can
    see and use the command "dimsize" in the command line. Despite that I have to reload the file to get it to work. Not something
    that I have to do for any of the other skill files.
    I have now added a separate load command in the ilinit file just for this file so that it gets loaded twice automatically
    and that seems to do the trick.
    There seems to be something particular about this skill file, I suspect the caseq command as this is the only time that
    I have used it, but that's just a guess.
    Thanks for having a look anyway.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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