• 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. Set NC Parameter and Art Parameters from SKILL?

Stats

  • Replies 15
  • Subscribers 161
  • Views 19225
  • Members are here 0
More Content

Set NC Parameter and Art Parameters from SKILL?

thewill2live
thewill2live over 11 years ago

Hey guys,

 I'm currently working on a program to output artwork and NC Drill files. I have them outputting by calling the batch commands "artwork" and "nctape" respectively. However, this doesn't output the standard Art_param.txt and NC_param.txt files that are normally output when you manually output artwork and NC Drill data from Allegro. My work around for now is that I noticed these .txt files are generated when accessing the parameters tab on each of those windows (even without changing anything, you just have to access the pages) so I recorded a script of me opening those windows, changing to the parameters tabs, and closing the window. By running these scr files using the "replay" command I am able to generate the param.txt files I want. I wanted to ask if anyone knows of a true SKILL way of outputting these files and/or setting these parameters? Workaround is fine but I'd rather not rely on the .scr file being called.

 

Bonus question: Is there a way to modify the default directory of the files I am currently outputting? For instance when I run "artwork" right now it outputs all the .art files into the same directory that my .brd file currently resides in. Is there a way of saying put everything in this FOO folder I made in this directory?

  • Sign in to reply
  • Cancel
  • thewill2live
    thewill2live over 11 years ago
    Thanks Dave. I was sitting here trying to work around that change dir thing by using Python since I couldn't figure out how to do that in SKILL but then I ran into the issue of making Python work with SKILL (got stuck on trying to get SKILL to run a python file haha). I'll give your command a shot. Thanks again!
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Ejlersen
    Ejlersen over 11 years ago

    Hi 

    When working with output generation you also have to take care about a number of different environment variables that can decide where output goes.

    these are named ads_xxxx - like ads_sdart where gerber and drill are writte, ads_sdreport  for report files etc.

    So if you start writing skill programs to do postprocessing you'll probably have to check these using axlGetVariable.

    If you're going to set these variables you can run into variables not getting used for certain commands unless they're in the env file - so you would need to set the variables using axlSetVariableFile instead of just axlSetVariable

    I've also created a post processing program but I took the road with scripts to create artwork instead of  running "artwork" in batch mode, that allows me to change all gerber settings in manufacture->artwork through the script instead of relying on art_param.txt and nc_param.txt - you can embed this into your own form if you wish and prepopulate it with your preferences.

    I also know that EMA has created an app to create output called "Release Manager" that you can find at http://orcadmarketplace.com/ProductDetails/tabid/93/ProductID/37/Default.aspx - it cost 200 USD and have a free trial - it includes support - if it does what you want I guess you can't do much programming for 200USD

    Best regards

    Ole 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • thewill2live
    thewill2live over 11 years ago

    Seeing as how I am wanting to edit the output locations to the specific directory I am currently in for each board that I run this on, I don't think editing the env permanently would be good practice. But good information anyways. Thanks for the heads up about that existing program. I'll take a look at that if I really can't figure out how to get Python to be called from SKILL. 

     

    Side question while I got all you geniuses here: anyone know of a way to figure out which env/.men/.ilinit files Allegro is currently pulling it's information from? I was editing some other coworker's files to include my new skill prorgams but they have multiple instances of Cadence (due to older versions and whatnot) so I don't know which env files Allegro is pulling from and I'd rather not append to all .env files. Is there somewhere in Allegro to check which files it's pulling from? I'd look in the env file for this type of info normally but as you can see this is a chicken and the egg type problem haha

     

    Thanks again, all. I appreciate the help. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • eDave
    eDave over 11 years ago

    Calling Python from Skill should be easy. You can either just wrap the Python call in a "system" command or use axlRunBatchDBProgram.

    You should re-configure your user environments to make use of the heirarchical configurations that Allegro offers. env men and ilinit files can all have their penultimate level in company, read-only, files. The top level is usually the user's install folder. The next level, behind corporate is generally project then user then working directory.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • thewill2live
    thewill2live over 11 years ago
    Can you give me an example of how to wrap a System command around say "foo.py"? And actually I believe I'm going to end up just compiling that python into a .exe file so I guess in that case I can use the axlRunBatchDBProgram command? Does that command allow the calling for .exe's that aren't the ones found in the C:\Cadence\SPB_16.6\tools\pcb\bin directory?
    • 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