For running skill files, is there any way to run skill files from one location.
currently I have to copy skill file in my working dir and then I load it and then I am able to run it.
actually I want to make aliases for skills which we use frequently, when I make script of loading skill file and asign it in aliases it is not working because it needs to have skill file in the working dir. I dont want to copy skill files in my working dir.
If any one knows please tell me the procedure.
Thanx & Regards
This is indeed possible. I would recommend that you read the readme.txt file in %CDSROOT%\share\local\pcb
Also read the example.ilinit in %CDSROOT%\share\local\pcb\skill
The easiest way of doing this is to take the example.ilinit file from <cdsroot>/share/local/pcb/skill and copy it your <HOME>/pcbenv directory naming it allegro.ilinit. Then take all your Skill files and place them in <HOME>/pcbenv. The next time you start Allegro, it will load all the skill files (.il extension) in the pcbenv directory. This method will work with all tiers of Allegro even L.
If you offer Allegro from a central server then you can do the same thing for all your users by renaming example.ilinit to allegro.ilinit in the <cdsroot>/share/local/pcb/skill directory and placing your skill files in this directory. You can relocate this shared location outside the Cadence hieararchy by reading about CDS_SITE in the documentation. This "local" location will not be updated when loading Cadence patches.
In either case, this assumes your Skill code is function based with axlCmdRegister calls to register the Skills functions as Allegro commands. You can write your skill code non-function based (similar to Allegro scripting). Non-function based skill code executes the skill code (doing database changes and/or UI work) everytime you load the skill file. Non-function based skill code should not be loaded via the allegro.ilinit method.
In reply to fxffxf:
Thanks for your detailed answers. Its working now.
In reply to pakistan:
Stumped.....What am I doing wrong?
I have my HOME variable set to C:\Cadence
I have a C:\Cadence\pcbenv folder
I have a allegro.ilinit file in the \pcbenv folder
Here are the contents of the allegro.ilinit file:
; DstCAM350() is the CAM350 Cross Probe Startup
all of the skill files are in the mapped network folder V:\allegro\skill
Why isn't this working?
In reply to padmaster:
You got the "wrong" slashes bud, UNIX and other scripting languages go the "other" way, you need to have things like:
Since all the "stuff" is in V:/allegro/skill, you might want to get the allegro.ilinit to autoload from there, that way you can "just" add anothe script to the directory and not hack the allegro.ilinit every time.
In reply to oldmouldy:
hmmm, I actually had this working some number of years ago and many revisions ago. Don't use skill much but I have a need for it now.
Don't remember how/when those \\ got in there or of it worked like that before.
I'll replace the double \\ with a single / and see if it works.
still not working. Here is the allegro.ilinit file after editing....
Is there supposed to be a space after the ( in the load command?
In reply to eDave:
eDaveThe double back-slashes are OK. Try putting your allegro.ilinit file in a skill folder below your pcbenv folder. (C:\Cadence\pcbenv\skill)
I changed the slashes back and moved the allegro.ilinit to C:\Cadence\pcbenv\skill and it still doesn't work :-(
Shouldn't I see the skill files load when I start allegro?
To invoke the skill file you just type in the name of the file right?
i.e. replace_via <enter>
You definitely want to use %HOME%\pcbenv as your allegro.ilinit location for a default location. It used to be possible to move this around with the "skillpath" but I don't think that is a clever move in later releases. Add some debug messages to your allegro.ilinit:
printf("Start Loading Skill files:")
at the top of the file,
printf("Done Loading Skill files.)
at the bottom of the file and save the modified file.
If nothing else, you should see the messages printed at the PCB Editor Command Window after PCB Editor starts. If you don't see the messages, PCB Editor did not process the allegro.ilinit, probably because it didn't find it!
I think I would prefer to use the default HOME of "C:\SPB_Data", rather than "C:\Cadence" but this might make no difference.
You should not need the full path to the skill files in the allegro.ilinit file. Just use
load(" clinecut.il") or
(load "clinecut.il") works also.
As long as your allegro.ilinit file is in your pcbenv directory it should read it as long as you are not using the old format. If you are in 16.5 or higher open a design and do User Preferences, then do a search on skill and read what it says for skill_old_init. Make sure it is not checked. See if that works........
In reply to Boma:
Ok, so I was able to find enough info on COS to get the skill files to load. According to the doc I read, allegro.ilinit should be in the pcbenv folder. The path to the skill files MUST use the /.
Here is the contents of the allegro.ilinit file:
println("allegro.ilinit file loaded")
So I start allegro and it reports that the allegro.ilinit file was loaded.
Then I type:
Command > replace viaEnter selection pointLoading axlcore.cxt Command >
Allegro is now in the "replace via" command mode.
I draw a box around the vias I want to replace and the "new padstack name" dialog box appears.
I type in the new padstack name and click OK.
Allegro reports "619 vias replaced".
But they are not replaced!!!!!
There are two variations of the Skill code floating around. I believe the one you are using is causing the issue when mistyping the New Padstack name or if the padstack does not exist in the design already.
Attached is the Skill code that I have been using for a very long time which does not present this issue (replace_update_via.il). After loading the "replace_update_via.il" Skill code, any mistype of the New Padstack Name will report that it cannot be found and to please check the name. If the padstack does not existing in the design it will retrieve it from the library.
Please give this Skill code a try. (replace_update_via.zip)
Hope this helps,Mike Catrambone