• Every CAD package stores information internally in a format that it best suited for that package. When the user is done this information is written to files on the hard drive.
• These proprietary formats can only be read by the specific program (and version of software), and are virtually useless to other programs.
• For most modern engineering applications it is necessary to be able to transfer CAD models between dissimilar computer programs.
• Standard file formats are the best method for storing and transferring CAD geometries (and other information) between dissimilar programs.
• Files are mainly stored on disks as ASCII, or binary with a structure that has been agreed upon by organizations that represent various interest groups in the CAD/CAM sectors.
• When standard formats are used data should be easily transported between systems. Although beware, some vendors do not conform fully to these standards.
• The basic structure of programs using standard files is shown below
• An example of data transfer is a prototype part drawn using CADKEY and then transferred to SmartCAM (via CADL) so that it can generate the NC code to manufacture the part. Finally it is transferred to the milling machine using ‘G-Code’.
• Reasons to use non-standard files are listed below. Note: some software offers standards that are non-compliant: these should be treated as non-standard files.
Standard files are compromises, therefore they may limit the ability of certain software
Standards do not always exist, and may lag behind their need.
Prevent your customers from using other CAD, etc software (e.g., Microsoft and IBM have made an art of this process)
Universally readable allowing easy data transfer
Generally more dependable that proprietary formats (better thought out)
• Some Graphics formats are intended for graphical display,
GIF: (Graphics Interchange Format) A compact graphic format
JPG: (Joint Photographic experts Group) A compressed format
MPEG: (Motion Pictures Experts Group) Compressed Animation
• Some graphics formats are intended for output on hardcopy devices
HPGL: Hewlett Packard Graphics Language: An ASCII language devised to drive pen plotters
PostScript: A VERY popular graphics format which typically drives laser printers, but can also be displayed on devices like color screens
CGM: A US defense department product, related to polygon modeling
CIF: For Integrated Circuit Design by layered polygon definition
DMC: Digital Mapping for Customers: for transmitting maps
DXF: Primarily developed by Autodesk (for Autocad) to transfer geometry using ASCII definitions
EDIF: Electronic Design Interchange Format supports VLSI design, and is expected to incorporate Circuit Boards soon
IISF: A format Developed by Intergraph for their CAD systems
SET: Standard d’Echange et de Transfert: Made to be more compact than IGES
STEP and PDES (Standard for the Exchange of Product model data and Product Data Exchange Specification) An attempt to model other attributes of a product, in addition to geometry, such as tolerancing. This is the emerging standard, but it is not widely available yet.
VDA-FS (DIN 66301) A German approach for modelling surfaces
VDA-IS: A German subset of IGES for the auto industry
• As mentioned before, these should be treated as non-standard formats, but they will increase some of the transferability of data.
• For marketing reasons most major vendors of CAD systems attempt to define their own “standards”. Examples include ‘DXF’ for Autocad, ‘CADL’ for Cadkey, ‘SAT’ for ACIS.
• An example of a proprietary format is the CADL file produced by Cadkey for transferring geometric entities through the use of an ASCII file. Such entities may be lines, points, arcs, splines, etc.
• A device independent format is based on public standards that are controlled by non-commercial bodies.
STEP (Standard for Exchange of Product Data)
SET (Standard d’Exchange et de Transfer)
PDES (Product Data Exchange Specification)
IGES (Initial Graphics Exchange Specification)
• IGES was first developed by the National Bureau of Standards, Boeing Corporation, and General Electric Corporation and published by the National Bureau of Standards in 1980.
• Initially the only data that could be exchanged were basic entity types such as points, lines, arcs, and circles.
• September 1981, IGES version 2.0 was approved by the American National Standards Institute as ANSI standard Y14.26M for CAD/CAM communications.
• More recent versions of IGES contain the ability to transfer constructive solid geometry and boundary representations of solid models.
• The IGES can be in either binary or ASCII format. In ASCII the file is easy to read and modify by hand but it tends to be larger.
a fixed 80 character line length format
a compressed line length free format.
• In the fixed formatted data, there are several sections that must be entered in a highly structured approach. Data must be right justified within the specified column locations, and these locations must occupy the columns between 1 and 80, inclusive. The following is a brief outline of some rules that must be followed in creating the IGES file.
1. Blanks: Blanks are only significant in string constants. A numeric filed of blanks is considered to denote the default value for that field. No blanks are allowed between the beginning of a numeric constant and the end of that constant. Leading blanks in numeric constants are ignored. Blanks between the end of any constant and the delimiter following the constant are not allowed.
2. Numeric Constants: Embedded commas in numeric constants are not permitted. The absolute magnitude of a numeric constant may not exceed the value of , where N is the number of bits used to represent an integer of a real value. Real constants may be double or single precision. Valid integer constants can be expressed as:
Valid real constants can be expressed as:
3. String Constants: A string constant is defined as an arbitrary sequence of ASCII characters. Blanks, commas, and numbers are treated as characters within the string. String constants are represented in Hollerith notation. This form consists of a non-zero integer constant (i.e. the number of characters in the string), followed immediately by the letter H, followed by the character string. Valid string constants can be expressed as:
3Hr45 12H Hello There 9Htime;.erw
4. Sequence numbers: A sequence number is a string of up to seven digits and is used for indexing the lines within the various sections of the IGES file. Sequence numbers begin ar 1, (i.e. 0000001) in each section and continue sequentially without interruption to the end of that section. This is primarily used to indicate the number of physical lines of the particular section, or may be thought of as section line counters. Sequence numbers must be used in each section of the IGES file. These numbers are right justified in the columns 74 to 80. Sequence numbers may have leading zeros (0) or blanks.
• An IGES file consists of six (6) sub-sections that must appear as follows:
• This section identifies whether the IGES file is written as a bit string binary file, or as a “compressed” ASCII file. If this section is ignored, then the default format for the IGES file is ASCII.
• This section of the IGES file is to provide a readable prologue to the file. There must be at least one (1) start record. All records must have the letter “S” in the 73rd column and a sequence number in columns 74 to 80. Information in columns 1 to 72 are ASCII characters. Figure 3
• The global section contains information regarding the IGES pre-processor, and any information that is required by the IGES post-processor. There are 24 parameters that must be entered. These include:
Parameter Data Type Description
1 string parameter delimiter character
2 string record delimiter character
3 string product ID from sending system
6 string IGES pre-processor version
7 integer no. of bits for integers
8 integer single precision magnitude
9 integer single precision significance
10 integer double precision magnitude
11 integer double precision significance
12 string product ID for receiving system
15 string unit description (mm, m, in, etc.)
16 integer no. of line weight gradations
17 real size of max. line width
18 string data and time of file generation
19 real min. user intended resolution
20 real approx. max. coordinate value
21 string name of author of file
22 string name of organization
24 integer applicable drafting standard
• Parameters of the global section (All string constants are represents in Hollerith notation).
1. Parameter delimiter character: Indicates which character is used to separate values in free formatted data (including the global section). Default is a comma (,).
2. Record delimiter: Indicates which character is used to indicate the end of a list of parameters in free formatted data sections (including the global section). Default is a period (.).
3. Product ID from sending system: Name of the product as referenced from the sending system.
4. File name: Name of the IGES file.
5. System ID: Name and version of software containing the pre-processor which created the IGES file.
6. IGES pre-processor version: Version of the pre-processor which created the IGES file.
7. No. of bits for integers: No. of bits present in the integer representation of the sending system.
8. Single precision magnitude: Maximum power of 10 which may be represented as a single precision floating point number from the sending system.
9. Single precision significance: No. of significant digits of a single precision floating point number on the sending system.
10. Double precision magnitude: Maximum power of 10 which may be represented as a double precision floating point number from the sending system.
11. Double precision significance: No. of significant digits of a double precision floating point number on the sending system.
12. Product ID for receiver: Name of product intended to be used by the receiving system.
13. Model space scale: Ratio of model space to real space (e.g. 0.125 indicates a ratio of 1 unit model space to 8 units real space).
14. Unit flag: Integer value denoting the measuring system used in the file.
= 3 (see parameter 15 for name of units)
A value of “3” should only be used when the receiving system is using the same units. In this case, parameter 15 must be used to provide additional information as to those units.
15. Unit description: A string constant naming the units in the system.
2HIN or 4HINCH (model units are inches)
2HMM (model units are millimeters)
2HKM (model units are kilometers)
2HUM (model units are microns)
2HCM (model units are centimeters)
3HUIN (model units are microinches)
When a unit flag of “3” is used, the string constant naming the desired unit should conform to MIL-STD-12D (DOD12D), or ANSI/IEEE 260 (IEEE260).
16. Maximum no. of line weight gradations: Number of equal subdivisions of line thickness.
17. Size of Max. line width: Width of the thickest line possible in the (scaled) file.
18. Date and time of file generation: Time stamp of when the file was created.
19. Minimum user intended resolution: Smallest distance in model space units that is discernible by the system.
20. Approximate Max. coordinate value: Upper bound on the values of all coordinate data occurring in this model.
21. Name of author of file: Name of person who generated the data contained in the IGES file.
22. Name of organization: Name of organization who generated the data contained in the IGES file.
23. IGES version: Integer number representing the corresponding version of IGES used to create the file.
Default is 3 (i.e. IGES version 2.0).
24. Applicable drafting standard: Integer number representing the drafting standard to which the data in the IGES file was specified.
1: ISO (International Organization for Standardization)
2: AFNOR (French Association for Standardization)
3: ANSI (American National Standards Institute)
4: BSI (British Standards Institute)
5: CSA (Canadian Standards Association)
6: DIN (German Institute for Standardization)
7: JIS (Japanese Institute for Standardization)
• A sample of the global section is given below,
• provides attribute information for each entity entered in the parameter section
• each directory entry consists of two, 80 character, fixed formatted lines
1. Entity type number: An integer value identifying the type of geometric entity.
2. Parameter data: Sequence number of the parameter data record for this entity.
3. Structure: Not discussed here. For more information, consult the IGES text.
4. Line font pattern: Integer value indicating the pattern to be used in displaying the geometric entity.
5. Level: An integer value indicating the graphic display level, or layer, to be associated with the entity.
6. View: Specifies the type of entity view desired. This value is a pointer to the directory entry of a view entity (type 410). It can also be a pointer to an associativity instance. A value of zero (0) indicates the entity is displayed with the same characteristics in all views.
7. Transformation matrix: This value is either a pointer to the directory entry of a transformation matrix used in defining this entity, or a zero indicating the identity matrix used in defining this entity, or a zero indicating the identity matrix for rotation (zero rotation) and zero translation.
8. Label display associativity: Pointer to the directory entry of a label display associativity which defines how the entity’s label and subscript are to be displayed in different view.
9. Status number: This is an 8 digit number relaying 4 pieces of entity information, described as follows:
10. Sequence number: The sequence number for the position of the directory entry line in the IGES file. This sequence number will always be an odd number.
11. Entity type number: Same as in 1.
12. Line weight number: Denotes the width for which an entity is to be displayed. Largest line thickness is specified in global parameter 16, smallest thickness is specified in global parameter 17. A value of zero (0) indicates the default line weight as specified by the receiving system.
13. Color number: This value specifies the color of the entity.
14. Parameter line count number: The number of lines in the parameter data section which contain the entity whose attributes are described in the directory entry section.
15. Form number: A value of zero (0) causes individual interpretation of the entity type entered in the parameter data section.
16. Reserved field: This filed is reserved for future use and should be left blank.
17. Reserved field: Same as 16.
18. Entity label: This is an alphanumeric identified for the particular entity type in consideration.
19. Entity subscript number: A numeric qualifier for the entity label in 18.
20. Sequence number: The sequence number for the position of the directory entry line in the IGES file. This sequence number will always be even.
• A sample of a directory section is given below,
• This section of the IGES file provides entity identification and coordinates to be plotted on the receiving system. The following is a partial list of some common entities:
• The structure is a free formatted data entry from columns 1 to 64. Each line of free formatted data consists of the entity type number followed by the parameter data describing the entity. Columns 65 to 72 are reserved for a parameter data index which is an odd number counter, right justified in the field, which begins at the number 1 and progresses in odd increments for each entity entered. Column 73 is reserved for the letter ‘P’ to indicate the data element belongs to the parameter data section. Columns 74 to 80 are reserved for the sequence number. Each line of data corresponds to the entity type as specified in the global section. For example, the first entity element of the global section corresponds to the first line of coordinates in the parameter data section. Each portion of data in the global section is matched with its coordinate counterpart in the parameter data section.
• Circular arc entity parameter data:
1 zt real parallel zt displace. of arc from xt, yt plane
2 x1 real arc centre x coordinate
3 y1 real arc centre y coordinate
4 x2 real start point x coordinate
5 y2 real start point y coordinate
6 x3 real terminate point x coordinate
7 y3 real terminate point y coordinate
1 x1 real start point x coordinate
2 y1 real start point y coordinate
3 z1 real start point z coordinate
4 x2 real terminate point x coordinate
5 y2 real terminate point y coordinate
6 z2 real terminate point z coordinate
• Point entity parameter data:
1 x real x coordinate of point
2 y real y coordinate of point
3 z real z coordinate of point
4 PTR pointer pointer to directory entry of subfigure insta-
nce specifying the display symbol. If zero (0),
then no display symbol is specified.
• A sample of a data section is given below,
• This section provides information needed by the post-processor to properly signal the end of the IGES file. The information that is relayed to the receiving system is the number of lines in each of the sections of the IGES file.
• A sample of the termination section is given below,
• A Sample IGES File (Note: the columns are out of alignment)
This is a sample IGES file generated from a drawing done using CADKEY. S 1
This is simply a drawing of a two boxes: one larger box and one smaller S 2
box placed on top of the larger one. The size of the larger box is S 3
100x150x50 and the size of the smaller box is 80x60x50 units. S 4
Viewed from the top view, the origin is located on the top of the large S 5
,,7Hbox.prt,7Hbox.prt,14HMCS.CADKEY 3.0,9HC2IG 3.0B,16,8,24,11,53, G 1
7Hbox.prt,1.,2,2HMM,1,1.,13H911001.075746,.0005,,17HDouglas M. A. Lee, G 2
33HThe University of Western Ontario,4,0; G 3
124,1.,0.,0.,0.,0.,1.,0.,0.,0.,0.,1.,0.; 1P 1
124,1.,0.,0.,0.,0.,6.125742E-017,-1.,0.,0.,1.,6.125742E-017,0.; 3P 2
124,-1.,0.,-1.225148E-016,0.,-1.225148E-016,6.125742E-017,1.,0., 5P 3
7.504944E-033,1.,-6.125742E-017,0.; 5P 4
124,-1.,0.,-1.225148E-016,0.,0.,1.,0.,0.,1.225148E-016,0.,-1., 7P 5
124,6.125742E-017,0.,1.,0.,1.,6.125742E-017,-6.125742E-017,0., 9P 7
-6.125742E-017,1.,3.752472E-033,0.; 9P 8
124,6.125742E-017,0.,-1.,0.,-1.,6.125742E-017,-6.125742E-017,0., 11P 9
6.125742E-017,1.,3.752472E-033,0.; 11P 10
124,.707107,-.408202,.577383,0.,.707107,.408202,-.577383,0., 13P 11
-4.331554E-017,.816543,.577285,0.; 13P 12
124,.5,.5,.707107,0.,-.853553,.146447,.5,0.,.146447,-.853553,.5, 15P 13
110,0.,0.,0.,100.,0.,0.; 17P 15
110,100.,0.,0.,100.,150.,0.; 19P 16
110,100.,150.,0.,0.,150.,0.; 21P 17
110,0.,150.,0.,0.,0.,0.; 23P 18
110,0.,0.,-50.,100.,0.,-50.; 25P 19
110,0.,0.,0.,0.,0.,-50.; 27P 20
110,100.,0.,0.,100.,0.,-50.; 29P 21
110,100.,0.,-50.,100.,150.,-50.; 31P 22
110,100.,150.,0.,100.,150.,-50.; 33P 23
110,100.,150.,-50.,0.,150.,-50.; 35P 24
110,0.,150.,0.,0.,150.,-50.; 37P 25
110,0.,150.,-50.,0.,0.,-50.; 39P 26
110,10.,70.,0.,90.,70.,0.; 41P 27
110,90.,70.,0.,90.,130.,0.; 43P 28
110,90.,130.,0.,10.,130.,0.; 45P 29
110,10.,130.,0.,10.,70.,0.; 47P 30
110,10.,70.,50.,90.,70.,50.; 49P 31
110,10.,70.,0.,10.,70.,50.; 51P 32
110,90.,70.,0.,90.,70.,50.; 53P 33
110,90.,70.,50.,90.,130.,50.; 55P 34
110,90.,130.,0.,90.,130.,50.; 57P 35
110,90.,130.,50.,10.,130.,50.; 59P 36
110,10.,130.,0.,10.,130.,50.; 61P 37
110,10.,130.,50.,10.,70.,50.; 63P 38
LINE 0.0000, 0.0000, 0.0000, 100.0000, 0.0000, 0.0000, 1, 1, 1, 0, 0, 1, 1
LINE 100.0000, 0.0000, 0.0000, 100.0000, 150.0000, 0.0000, 1, 1, 1, 0, 0, 1, 1
LINE 100.0000, 150.0000, 0.0000, 0.0000, 150.0000, 0.0000, 1, 1, 1, 0, 0, 1, 1
LINE 0.0000, 150.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1, 1, 1, 0, 0, 1, 1
LINE 0.0000, 0.0000, -50.0000, 100.0000, 0.0000, -50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, -50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 100.0000, 0.0000, 0.0000, 100.0000, 0.0000, -50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 100.0000, 0.0000, -50.0000, 100.0000, 150.0000, -50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 100.0000, 150.0000, 0.0000, 100.0000, 150.0000, -50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 100.0000, 150.0000, -50.0000, 0.0000, 150.0000, -50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 0.0000, 150.0000, 0.0000, 0.0000, 150.0000, -50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 0.0000, 150.0000, -50.0000, 0.0000, 0.0000, -50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 10.0000, 70.0000, 0.0000, 90.0000, 70.0000, 0.0000, 1, 1, 1, 0, 0, 1, 1
LINE 90.0000, 70.0000, 0.0000, 90.0000, 130.0000, 0.0000, 1, 1, 1, 0, 0, 1, 1
LINE 90.0000, 130.0000, 0.0000, 10.0000, 130.0000, 0.0000, 1, 1, 1, 0, 0, 1, 1
LINE 10.0000, 130.0000, 0.0000, 10.0000, 70.0000, 0.0000, 1, 1, 1, 0, 0, 1, 1
LINE 10.0000, 70.0000, 50.0000, 90.0000, 70.0000, 50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 10.0000, 70.0000, 0.0000, 10.0000, 70.0000, 50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 90.0000, 70.0000, 0.0000, 90.0000, 70.0000, 50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 90.0000, 70.0000, 50.0000, 90.0000, 130.0000, 50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 90.0000, 130.0000, 0.0000, 90.0000, 130.0000, 50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 90.0000, 130.0000, 50.0000, 10.0000, 130.0000, 50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 10.0000, 130.0000, 0.0000, 10.0000, 130.0000, 50.0000, 1, 1, 1, 0, 0, 1, 1
LINE 10.0000, 130.0000, 50.0000, 10.0000, 70.0000, 50.0000, 1, 1, 1, 0, 0, 1, 1
• The DXF file below is shown only for illustration (Not for casual reading)
• PDES (using STEP) is the result of an international effort to develop a standard product design standard.
• This format attempts to incorporate all aspects of product modeling including,
geometry (B-Rep, CSG, Features)
Problem 17.1 Given the following IGES file, draw the part it contains.
A Test file for the IND807 final exam 1995 S 1
,,7Hbox.prt,7Hbox.prt,14HMCS.CADKEY 3.0,9HC2IG 3.0B,16,8,24,11,53, G 1
7Hbox.prt,1.,2,2HMM,1,1.,13H911001.075746,.0005,,9HHugh Jack, G 2
30HRyerson Polytechnic University,4,0; G 3
110,0.,75.,0.,0.,100.,0.; 1P 1
110,50.,100.,0.,25.,100.,0.; 3P 2
110,25.,100.,0.,25.,75.,0.; 5P 3
110,25.,75.,0.,50.,75.,0.; 7P 4
110,50.,75.,0.,50.,50.,0.; 9P 5
110,25.,50.,0.,50.,50.,0.; 11P 6
110,0.,0.,0.,100.,100.,100.; 13P 7
110,50.,0.,0.,50.,50.,0.; 15P 8
110,75.,0.,0.,100.,0.,0.; 17P 9
110,100.,0.,0.,100.,25.,0.; 19P 10
110,75.,25.,0.,100.,25.,0.; 21P 11
110,75.,25.,0.,75.,50.,0.; 23P 12
110,75.,50.,0.,100.,50.,0.; 25P 13