WISL™ Cover Letter

This is the way it works …

When the check clears, I send you the latest & greatest version of the source code. (If I trust you, I'll give you the password as soon as you can FAX me a signed Purchase Order. :-)

This is marketing on the infobahn … all we need to close the loop is secured funds transfer, and you can even save the postage!

BTW, you MUST have a copy of the 600 page IGES specification in order to use this library. To obtain a copy ($360.00 US) contact: uspro@scra.org

Anywho, this is what I used to send with the floppy disk in the mail. (Ain't technology wonderful?)


Dear Potential Customer,

Thank you for your inquiry regarding WISL™, the WiZ WORX IGES Source Library. As we discussed, I am not at liberty to divulge the names of some of my customers. However, I have identified two customers who have not requested anonymity. I do not know if they have completed their intended projects yet, but I am sure that they can give you their honest appraisal of the product and the support provided by WiZ WORX.

WISL is a collection of routines to read and write data files conforming to the Initial Graphics Exchange Specification (IGES) Version 5.2. The library contains several hundred C files and include files that correspond to the various individual IGES entities. Each file contains its own documentation, but a copy of the IGES document itself is essential to understanding the format of the data, since most variable names correspond to mnemonics defined therein.

The basic operation of the library is to support a C structure named ENTITY. Each ENTITY consists of (a) the fields from the Directory Entry (DE) Section, (b) a pointer to a dynamically allocated block of memory containing the Parameter Data (PD) record (a bit-bucket, if you will), and (c) pointers to dynamically allocated blocks for Associativity and Property pointers. The OPEN routines for READ and WRITE take a filename as an argument, and all parsing and buffering is handled by the GET, PUT, and CLOSE routines.

Each ENTITY is a fixed size, and there is a single GET routine which takes as its arguments a DE number and a pointer to an ENTITY. The GET routine will access the DE records for the selected entity, fill the fields of the ENTITY structure, then call the appropriate routine to parse the associated PD record and place the data into the bit-bucket using a defined structure appropriate to that entity type. These unique structures match the IGES definitions of the entity types, and may contain pointers to dynamically allocated memory for variable-length lists of parameters, as with splines and surfaces.

The same paradigm is used for writing IGES files. Once you have filled an ENTITY structure with the appropriate data, a call to the PUT routine will perform the necessary binary to ASCII conversions and pointer housekeeping for creating syntactically correct DE and PD records. These records are kept in two separate disk files that are combined (with the Global and Terminate Sections) when the CLOSE routine is called.

The library also includes routines to ADD an entity and its children to an IGES file. This is a recursive algorithm that takes a DE pointer as its input argument. The implicit assumption is that one IGES file is currently open for read and a second one is open for write. The entity is extracted from the input file and all entities explicitly referenced from its DE, PD, and optional Associativity and Property fields are added to the output file as well. The algorithm keeps track of entities already copied so that pointers are updated automagically and duplications are avoided.

The source code is written in very portable C, with conditional compilation statements that support MS-DOS (Microsoft Visual C++), VAX/VMS, SUN/Unix, and Macintosh environments. A list of all the files in the library is attached to this letter.

I have included a product that makes use of the software library. IGESXTRACT is an interactive browser for IGES files that also allows you to extract selected entities (and their children) into a second IGES file. Several major CAD/CAM vendors use IGESXTRACT as a diagnostic tool for problem IGES files from other vendors.

The price of IGESXTRACT is $50.00 if you try it and continue to use it. (This includes 90 days of technical support and one free upgrade.) Otherwise, please pass the media along to someone who can use it and is willing to pay for it. The source code for the library is $5,000.00, but no royalties will be charged for use or resale. (This also includes 90 days of technical support; upgrades are $500.00)

I have also included source and executable for a program called IGESCOPY. This program shows the ability to read and write an IGES file. Please use an IGES file from your site and compare the output with the original; the reformatting of the PD records will show that the data has not been simply "echoed."

If you have any further questions, please call me. If you would like to place an order, then please send a check for five thousand dollars, payable to Dennette A. Harrod, Jr.

I look forward to your reply, and to a mutually profitable relationship.

Sincerely,

(signed) DAHarrod
Imagineer in Residence


The following source and include files are useful for a discussion of the WISL™ API.
[WiZ WORX HomePage] Last update: 2002-07-12 by Dennette@WiZ-WORX.com