Top Banner
Structured ASIC Xcellence Framescript A case study demonstrating the A case study demonstrating the power of Framescript to power of Framescript to automate the generation of a automate the generation of a Data Book or Catalogue Data Book or Catalogue
51

Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Mar 31, 2015

Download

Documents

Savanna Master
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Framescript

A case study demonstrating the A case study demonstrating the power of Framescript to power of Framescript to automate the generation of a automate the generation of a Data Book or CatalogueData Book or Catalogue

Page 2: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Reference data

The reference data The reference data comes from a .txt file comes from a .txt file which is generated by which is generated by a computer program.a computer program.

This file is the This file is the equivalent of 7000 equivalent of 7000 pages in either word or pages in either word or Framemaker.Framemaker.

Page 3: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Text file

Note there is almost 1/2 million lines of text.

Page 4: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Modifying the reference file

This reference file contains This reference file contains information required for the information required for the databook but not necessarily in the databook but not necessarily in the proper form.proper form.

Raw data must be transformed into Raw data must be transformed into usable data by running a PERL script usable data by running a PERL script on the reference file.on the reference file. Some information requires complex Some information requires complex

mathematical permutations of the raw mathematical permutations of the raw data. data. This is done with the PERL Script.This is done with the PERL Script.

Page 5: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Text File after the PERL Script

Page 6: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

The Section in Blue

The section in blue above is transformed into the data sheet…..

Page 7: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Finished Data Sheet

Page 8: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

How long to turn

into this?

Page 9: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

What do you think?

Manually, I would have to:

Cut and paste the name from the text file

Import a graphic

Import a table

Determine the size of the next three tables

Create the tables

Fill in the tables using the information in the text file

Page 10: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Finished Data Book

is1700 Pages Long

Page 11: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Not 1 button The results of the PERL script is a The results of the PERL script is a

Preliminary input data file that I use Preliminary input data file that I use as the input for my suite of scripts. (I as the input for my suite of scripts. (I did not write the PERL script.)did not write the PERL script.)

The complexity of the data required The complexity of the data required that I create a suite of scripts. This is that I create a suite of scripts. This is not a one button operation. not a one button operation.

Although it is possible for a less Although it is possible for a less complicated Data Book to be created complicated Data Book to be created with a one button process; and I will with a one button process; and I will demonstrate that in a few minutes.demonstrate that in a few minutes.

Page 12: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Breaking down the

Preliminary file The preliminary file is very large. I The preliminary file is very large. I

was afraid that data would misalign was afraid that data would misalign and mismatch the the specifications and mismatch the the specifications to the wrong data sheet.to the wrong data sheet.

I used a system that created a I used a system that created a specifications file and a datasheet file specifications file and a datasheet file for for eacheach object to isolate each object object to isolate each object and each object’s specifications. In and each object’s specifications. In this way I reduced the possibility of this way I reduced the possibility of inputting the wrong data items. inputting the wrong data items.

Page 13: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Open the text file in FM

Page 14: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

And Turn it into a

Specifications File

Page 15: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Next I make a Data Sheet

Page 16: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Each data sheet has:

A name in Heading 3 formatA name in Heading 3 format A description of the objectA description of the object A graphic of the objectA graphic of the object

All graphics are created in visio and All graphics are created in visio and saved as WMFs in a specific folder saved as WMFs in a specific folder

Up to 5 tables; each table getting the Up to 5 tables; each table getting the cell data from the Specifications file.cell data from the Specifications file.

Page 17: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Text file after running the PERL Script

Script 2 createsCell names file

Script 1 creates Specifications files

Cell Names FileOR20POR20DOR30POR30D

OR20P

OR20D

OR30P

OR30D

OR20P

OR20D

OR30P

OR30D

Graphics Folder

OR20P

OR20D

OR30P

OR30D

Table #1

Script 3 creates Data Sheet files

OR20P

OR20D

OR30P

OR30D

Completed Data Sheets

Script 4 creates concatenated Book

File

One Doc Filein Book

Flow for creating a Data Book

Page 18: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 1 Generating

Specification files

This script takes the preliminary file This script takes the preliminary file and searches for a specific phrase and searches for a specific phrase that precedes each name then, that precedes each name then,

opens a new document fileopens a new document file that that will contain the relevant data for a will contain the relevant data for a single object in the data booksingle object in the data book

Each object has a uniquely named Each object has a uniquely named specification file specification file

Page 19: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 1 Cont’d

Copies each line of the preliminary Copies each line of the preliminary file one line at a time into the new file one line at a time into the new single object (specifications) doc file.single object (specifications) doc file.

When it finds the next name it saves When it finds the next name it saves and closes the single object and closes the single object (specifications) file using the name (specifications) file using the name as the filename.as the filename.

Page 20: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

All of the specification files

are : Unique and Unique and

have a unique have a unique namename

saved to a saved to a specified Path specified Path in a specific in a specific folderfolder

Page 21: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 2

This script runs through the This script runs through the preliminary file and copies and preliminary file and copies and pastes only the paragraph containing pastes only the paragraph containing the object name. the object name.

It then removes all of the text in the It then removes all of the text in the paragraph except for the object paragraph except for the object name.name.

The script saves and closes the file.The script saves and closes the file.

The resulting file is a list of all of the The resulting file is a list of all of the Object names.Object names.

Page 22: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Cell names File

Page 23: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 3 This script:

opens the Object names fileopens the Object names file opens a new document using a opens a new document using a

predefined templatepredefined template copies the first name from the Object copies the first name from the Object

names filenames file opens the corresponding opens the corresponding

specifications filespecifications file

Page 24: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 3 continued

The script runs through the The script runs through the specifications file and specifications file and Gives each data item a unique variable Gives each data item a unique variable

name name Counts the number of columns for each Counts the number of columns for each

table table Counts the number of rows for each table Counts the number of rows for each table Table 1

Table 2

Table 3

Page 25: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 3 continued

Once all of the information is acquired Once all of the information is acquired for the identified Object the scriptfor the identified Object the script

copies the object name to the first copies the object name to the first paragraph of the new documentparagraph of the new document Formats the paragraph to Heading 3Formats the paragraph to Heading 3

Page 26: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 3 continued

Runs a description subroutineRuns a description subroutine Inserts the results of the subroutine in Inserts the results of the subroutine in

paragraph 2 of the document.paragraph 2 of the document. Inserts the correct graphic (as Inserts the correct graphic (as

identified using the object name (this identified using the object name (this uses another subroutine)) from the uses another subroutine)) from the graphics folder.graphics folder.

Page 27: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 3 continued

Inserts the first table (this table is not Inserts the first table (this table is not created by the script but inserted into created by the script but inserted into the doc from another folder using the doc from another folder using another subroutine) Everything is another subroutine) Everything is controlled by the object name.controlled by the object name.

Inserts 3, 4 or 5 blank tables (according Inserts 3, 4 or 5 blank tables (according to the object and the specifications to the object and the specifications required for the Data Book).required for the Data Book).

Each table has a name and table Each table has a name and table format.format.

Page 28: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 3 continued

The second table is inserted with the The second table is inserted with the exact number of columns and rows exact number of columns and rows required by the specifications file.required by the specifications file.

Some Specifications files have more Some Specifications files have more data than the data sheets require data than the data sheets require and will sometimes add extra rows. and will sometimes add extra rows. For these instances I have a For these instances I have a “Tweaking script ” to remove extra “Tweaking script ” to remove extra empty table rows.empty table rows.

Page 29: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 3 continued

The table is then filled in using:The table is then filled in using: the data the data the unique variable names the unique variable names corresponding values for each variable corresponding values for each variable

The Generated Data Sheet is saved The Generated Data Sheet is saved and closed to a folder again using and closed to a folder again using the object name.the object name.

The specifications file is closed The specifications file is closed without saving (this file was not without saving (this file was not changed).changed).

Page 30: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Single Data Sheet

Page 31: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 3 continued

This whole procedure is repeated for This whole procedure is repeated for each object name.each object name.

In my case one data book had 1200 In my case one data book had 1200 data sheets and a second had 1500.data sheets and a second had 1500.

Page 32: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Data Books

Sometimes the data items change Sometimes the data items change and the data book needs to be and the data book needs to be regenerated. regenerated.

Page 33: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

All of the Data Sheet files

are :Unique and have Unique and have a unique namea unique namesaved to a saved to a specified Path in specified Path in a specific foldera specific folder

Page 34: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Script 4

This script concatenates the This script concatenates the individual data sheets into a larger individual data sheets into a larger file identified by category of object.file identified by category of object.

These concatenated files become These concatenated files become files in the book file.files in the book file.

I have 10 to 20 files in the book. This I have 10 to 20 files in the book. This includes general information aside includes general information aside from the datasheets.from the datasheets.

Page 35: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Book File

Page 36: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Tweaking

I have about 5 or 6 scripts that tweak I have about 5 or 6 scripts that tweak the concatenated files. the concatenated files.

They:They: remove empty paragraphs remove empty paragraphs remove empty table rowsremove empty table rows Set column widths for each tableSet column widths for each table

Page 37: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Global Find and Replace

A lot of tweaking is done using global A lot of tweaking is done using global find and replace to remove excess find and replace to remove excess characters.characters.

Page 38: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

If a conservative estimate to produce If a conservative estimate to produce a singe data sheet is 30 minutes then a singe data sheet is 30 minutes then

1600 * 0.5 Hrs = 800 hrs. or about 16 1600 * 0.5 Hrs = 800 hrs. or about 16 weeks for 1 writer.weeks for 1 writer.

I can run my scripts and tweak the I can run my scripts and tweak the results within one week.results within one week.

Page 39: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Accuracy

The scripts increase accuracy of the The scripts increase accuracy of the data book by removing the human data book by removing the human error caused by hours of tedious error caused by hours of tedious cutting and pasting.cutting and pasting.

Page 40: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Demonstration

Let's see it work on a small scale; Let's see it work on a small scale;

10 data sheets10 data sheets

Page 41: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Tips for Framescript

Page 42: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Find String

This command searches for any This command searches for any string string

This command cannot search using This command cannot search using wildcards.wildcards.

Page 43: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Find FromTextLoc

The wildcard can only be used with The wildcard can only be used with this command.this command.

Warning Warning This command will find strings or This command will find strings or

wildcards but it returns the range of the wildcards but it returns the range of the paragraph. The pgf may be the first Pgf in paragraph. The pgf may be the first Pgf in Flow,but this find command jumps to the Flow,but this find command jumps to the range where the object is found but the range where the object is found but the paragraph (cursor location) does not paragraph (cursor location) does not change. The loop only moves one Pgf at a change. The loop only moves one Pgf at a time even though the find range may be time even though the find range may be at the end of the Doc.at the end of the Doc.

Page 44: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Find InRange

Find InRange or InObject cannot Find InRange or InObject cannot search using wildcards.search using wildcards.

Page 45: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Error

Not enough rows or columns in table.Not enough rows or columns in table. If there are more cell items than either If there are more cell items than either

rows or columns you will get an error for rows or columns you will get an error for the line of the New Text command. the line of the New Text command.

Look for the problem in the New Table Look for the problem in the New Table command where you specify the number command where you specify the number of columns and the number of rows.of columns and the number of rows.

Page 46: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Remember the cursor

The cursor does not move when the The cursor does not move when the script changes the paragraph.script changes the paragraph.

Page 47: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Don’t forget field codes!

Field codes let you move the cursor Field codes let you move the cursor location. location.

I use them in my concatenate script.I use them in my concatenate script.

They look like this:They look like this:

Execute FC HighFlow;Execute FC HighFlow;

Page 48: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Apostrophes can be trouble

New Pgf PrevObject(vPgf) NewVar(vPgf) New Pgf PrevObject(vPgf) NewVar(vPgf) Text(’The second paragraph.’);Text(’The second paragraph.’);

This line was copied from ‘Framescript A This line was copied from ‘Framescript A Crash Course’ Crash Course’

The smart quotes were not understood The smart quotes were not understood when I ran my script and inserted “0” when I ran my script and inserted “0”

I changed the apostrophe to ' and the I changed the apostrophe to ' and the script worked fine.script worked fine.

New Pgf PrevObject(vPgf) NewVar(vPgf) New Pgf PrevObject(vPgf) NewVar(vPgf) Text(' The second paragraph.');Text(' The second paragraph.');

Page 49: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Don’t forget to reset variables

to 0

When you create a variable and When you create a variable and assign a value to it remember at assign a value to it remember at some point in your script you will some point in your script you will want to reset the variable to 0 so in want to reset the variable to 0 so in the next iteration of the loop the the next iteration of the loop the script will not use an old value. script will not use an old value.

Page 50: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Framescript editors

The editor I used was only good for The editor I used was only good for about 1000 lines of code then it hung about 1000 lines of code then it hung up.up.

I downloaded a free script editor I downloaded a free script editor from the internet.from the internet.

Page 51: Structured ASIC Xcellence Framescript A case study demonstrating the power of Framescript to automate the generation of a Data Book or Catalogue.

Structured ASIC Xcellence

Questions???