If all else fails, and you need a GOOD routine to create a script file from a .jrl file, use the attached file. It's a perl script file (when you cut out the perl code from the text file) that does it. Used it MANY times. The text file is plenty informational. If you don't know how to invoke PERL, let me know. It's easy, since Cadence installs perl with the toolset. Good day. Mitch > > OK, great! What is the name of the skill routine and is it on sourcelink? > Thanks > Tony Cosentino ----------------------------------------- Stay ahead of the information curve. Receive PCB news and jobs on your desktop daily. Subscribe today to the PCB CafeNews newsletter. [ http://www10.pcbcafe.com/nl/newsletter_subscribe.php ] It's informative and essential.
### Location is C:\Public\Cadence\perl ### *Problem Statement: Problem: In cases where a session replay is required (allegro crash, system failure), and a journal file (allegro_layout.jrl, allegro_interactive.jrl) has been created, a simple UNIX command can extract and modify the commands in the .jrl file for replay as a script. In both cases, the designer should edit the jrl file and search for the last save of the board. Remove the data from the beginning of the script up to and including the save, leaving the next command as the first line of the jrl file. Solution 2 (UNIX or NT) ----------------------- Use a perl script to convert the jrl file into a script file. To do this, you must have the perl executable in your path. PE13.x releases ship perl in the install dir/tools/perl5 directory. The following perl script requires a change to the top line. It must contain the path to "perl" on your UNIX system. Removing the top line may be needed on NT. This script name is replay_jrl.pl ---------------Script -------- Cut Here------------------------- #!/usr/local/bin/perl $prog_name = $0; $prog_name =~ s|^.*/(.*)|$1|; # Keep only base name $| = 1; # don't buffer output { # make sure we have an argument - <ALLEGRO_APPLICATION>.jrl file name die "Usage: $prog_name jrl_file\n" if ($#ARGV != 0); $jrl_file = $ARGV[0]; open (FILE, "$jrl_file") || die "Cannot find or open $jrl_file\n"; while (<FILE>) { # look for records beginning with \i if (/\i \(\S+\) (.+)/) { print "$1 \n"; } } } ---------------------------Script end-------------Cut Here---------------- The perl script should be executable, and in the search path. To use the script: perl replay_jrl.pl journal file name > new script name If using allegro_layout, the journal file name is allegro_layout.jrl and the command would be: replay_jrl.pl allegro_layout.jrl > allegro_layout.scr (replace allegro_layout.jrl with the .jrl file created from the allegro editor used). For NT: redirecting input to perl requires a different format for the command: perl.exe -F replay_jrl.pl allegro.jrl > allegro.scr