Comments on MIL-D-28000A1
(30 November 1994)

DIGITAL REPRESENTATION FOR COMMUNICATION OF PRODUCT DATA: IGES APPLICATION SUBSETS AND IGES APPLICATION PROTOCOLS

Prepared By

WiZ WORX
60 Thoreau Street, Suite 320
Concord, MA 01742
(508) 251-3494

NSWC Contract #9465LT01


1. EXECUTIVE SUMMARY

MIL-D-28000A was last amended on 14 December 1992. It makes primary reference to ASME Y14.26M (1989), an American National Standard more commonly known as Initial Graphics Exchange Specification (IGES) Version 4.0, which has been superseded by USPRO/IPO-100 (1993), commonly known as IGES Version 5.2.

This document reviews MIL-D-28000A with Amendment 1 for (a) technical deficiencies, (b) portions that must be updated to incorporate IGES Version 5.2, (c) vague or obscure wording that could lead to ambiguous data exchange, and (d) feasibility of incorporating the IGES Layered Electrical Product Application Protocol (LEP AP).

Most of the suggested changes are trivial and editorial in nature. However, there appear to be flaws in the LEP AP that need to be corrected before it can be incorporated as a replacement for Class III Subset - Electrical/Electronic applications. In addition, it is recommended that resources be allocated for the completion of the IGES Engineering Drawing AP as a replacement for Class II Subset - Engineering Drawings.

CTN Report 93-018 (19 Mar 1993) MIL-D-28000 Test Case Index and Abstracts IGES files are also reviewed.


2. TECHNICAL DEFICIENCIES

MIL-D-28000 originally specified application subsets of full IGES in an attempt to restrict the types of entities in a product data file to a least common denominator for the application domain. The theory was that an IGES preprocessor would either filter the data to remove forbidden entities, or translate the data into acceptable entities. This placed the burden for conformance on the vendors of the CAD/CAM/CAE systems, rather than the users who created the product data model.

MIL-D-28000A recognized the emergence of application protocols as an alternative to subsets. The language was changed to reference both subsets and APs, and the 3D Piping AP was added as a new Class. The advantage of APs is that they help define how the product data is created by the user, and there is much less chance of critical data being lost when a preprocessor creates an IGES file because only appropriate constructs are used in the model.

The problem is that most APs are so specific that they restrict the number of vendor systems that can be used to create the product models, and in some cases change the way in which the user creates the models. For example, the 3D Piping AP defines connectivity in a geometric rather than topological fashion; two nodes are connected if there exists a curve that has endpoints coincident with the nodes. As a consequence, users do not have access to the flow associativity constructs in most Architecture, Engineering, and Construction (AEC) systems.

(NOTE: Lack of this functionality places a burden on postprocessors, because they must traverse the entire data base to find the connections. On the other hand, this functionality does not exist in VIVID, one of the systems used to create the requirements for the AP, so it was not considered a deficiency by the authors of the AP.)

On the other hand, many vendor systems are already excluded from conformance to one or more of the existing MIL-D-28000 Classes because they lack the required functionality.

2.1 PROBLEMS WITH CLASS IV - GEOMETRY FOR NC MANUFACTURING

The most serious deficiency in MIL-D-28000A is Class IV - Geometry for NC Manufacturing. It does not reference either the Constructive Solid Geometry (CSG) or Boundary Representation (B-REP) solid geometry entities, nor does it reference the newly created Associative Dimensioning entities. The reason for the both is mainly the lack of support in IGES pre- and postprocessor implementations for these entities.

Class IV is virtually useless because the dimension data in IGES represents tolerances as text rather than numerical values. This has been corrected by the new Associative Dimensioning entities. (NOTE: These new entities, specifically the Dimension Tolerance Property, are listed in Appendix C) Associative dimensions are "linked" to the geometry in such a way that if the geometry is modified, the dimension is automatically updated to reflect the new value.

The Associative Dimensioning entities contain explicit, machine-interpretable tolerance values. This means that the postprocessing system can extract the tolerance values and preserve this critical design feature during manufacturing. Loss of the tolerance values means that either no tolerance or possibly inappropriate default tolerance will be applied.

The dimension entities should either be removed from Class IV, or the dimension entities should only be allowed if they are associative. Leaving the existing dimension entities in Class IV creates a false sense of confidence in the data integrity. One problem is that many preprocessors fail to indicate tolerance dimensions by the appropriate form number on the General Note Entity (Type 212), and many preprocessors fail to place the base and tolerance values in the correct order. A bigger problem is that dimensions on geometry in scaled views may be totally incorrect if the dimension exists in drawing space rather than view or model space.

Class IV also forbids the use of the Subfigure Definition and Subfigure Instance Entities, which forces the preprocessor to create multiple instances of geometric assemblies. This means that changes must be made to each instance of the assembly, instead of simply changing the definition. The historic reason for this deficiency is probably based on early experience with flawed IGES implementations that incorrectly reproduced subfigures in exchange files. (This is why the German VDA-IS forbids them.)

Subfigure entities should be allowed in Class IV because they provide a mechanism that guarantees data integrity if changes should be required.


3. UPDATES FOR IGES 5.2

The most obvious change required is that all references to "ASME Y14.26M" be changed to "USPRO/IPO-100".

There have been two major changes between IGES Version 4.0 and IGES Version 5.2. The first is the addition of entities for B-Rep Solid Modelling and Associative Dimensioning The second is a reformatting of the specification that adds new tables for each entity.

It seems appropriate to add the B-Rep entities to the Class IV - Geometry for NC Manufacturing Subset, but there are not enough commercially available implementations at this time, and the current definitions are subject to change based on implementation experience. When there are enough commercially available implementations to justify the addition of B-Rep entities to Class IV, the CSG entities should also be added.

The Associative Dimensioning entities should be added to both Class II - Engineering Drawing Subset, and Class IV - Geometry for NC Manufacturing Subset. These entities are still "untested", but their information content is superior to the simple text-based dimensions. Inclusion of these entities in MIL-D-28000 might encourage vendor implementations.

In the Global Section requirements for each Class, the value for field 23 (Version Number) should be changed from "6-7" (as specified in Amendment 1) to "10". This change needs to be made in 3.2.1.3.2 (p. 8), 3.2.2.4.2 (p. 15), 3.2.3.5.2 (p. 24), and 3.2.4.4.2 (p. 31).

In the same sections as above, the new field 25 (Date and Time Model Was Created/Modified) needs to be added.

The Null Entity (Type 0) is no longer in the Untested Entities Appendix, so the "*" should be removed from the tables and notes (p. 6, 10, 19, and 27).

Font Characteristic (FC) 1003 is no longer in the Untested Entities Appendix, so the "*" should be removed from the tables and notes (p. 7, 12, 21, and 29).

As per the Amendment 1 changes to pages 11 and 12, remove the paragraph about 406 form 5 - Line Widening Property.

The paragraph beginning "All 200 series ..." on pages 14 and 30 (3.2.2.3 and 3.2.4.3) should be added to page 23 (3.2.3.4).

A detailed list of changes is given in Appendix D.


4. POTENTIALLY AMBIGUOUS LANGUAGE

The Conic Arc entity (Type 104) is not restricted identically in all Classes. The restrictions should be consolidated and replicated in each Class.

Table I - note 2

Table II - note 5

Table III - missing

Table IV - note 2

The language for 212 - General Note on pages 13 and 30 (3.2.2.3 and 3.2.4.3) should replace the language on page 22 (3.2.3.4).

The list of capabilities in Directory Entry Section on page 15 (3.2.2.4.3) should be replicated on pages 24 and 31 (3.2.2.5.3 and 3.2.4.4.3).

These changes are included in Appendix D.


5. IGES LEP AP

The version of the IGES LEP AP that is currently undergoing review and ballot (Committee Draft 1.0 - 01 September 1994) has many inconsistencies, ambiguities, contradictions, and omissions which need to be corrected. An exhaustive list was prepared by Jack Brainin (NSWC, Carderock Division, Code 2031) on 29 September 1994.

The worst problem is the references to Work In Progress (WIP) entities. Their definitions have not yet been approved by the IPO Request For Change (RFC) ballot process, and they are therefore not a part of the standard, even as "untested" entities.

The version produced as a result of the ballot comments should be reviewed again to see if it is sufficiently correct and complete to incorporate as a replacement for the Class III subset.

New product data created on systems that support the LEP AP functionality should be trivial to convert to conforming exchange files. The problem is that legacy data (product data files created many years ago) may require manipulation by the user before they can be translated into a conforming exchange files. In most cases, this is due to (a) lack of required functionality in the CAD/CAM/CAE systems being used, and (b) failure of the user to create a robust data model that used the functionality if it was available.

On the other hand, there has been both user and vendor resistance to the existing Class III subset, and several contracts which required it have been amended to permit native vendor format data files instead of IGES files. The reasons are the same as cited in the previous paragraph.


6. TEST CASE IGES FILES

CTN Report 93-018 (19 Mar 1993) "MIL-D-28000 Test Case Index and Abstracts" describes two IGES files prepared as test cases for Class II and Class IV.

The figure for the first IGES file, PYRAMID.IGS, does not accurately reflect the expected appearance of the file, i.e., there are "hidden" lines which should appear as dashed lines in one view, since this is the appearance communicated by instances of the Views Visible Associativity (402, Form 4) in the file. The left and right borders of the drawing sheet outline are also missing in the illustration.

The figure for the second IGES file, SPINDL.IGS, also suffers from line font problems (centerlines appear as solid lines). There is, however, a more serious problem with the IGES file itself. There are several instances of General Symbol entities (228) that do not conform to the IGES Recommended Practice 46 (Drafting Symbols) and as a consequence will probably not display correctly on most CAD/CAM systems.

The issue is that ANSI feature control symbols such as "conical taper" have a definition of their appearance which includes a width specified as a ration of the height. The General Note entities (212) in this IGES file have combined the ANSI and non-ANSI characters into a single string with a single box-width, rather than giving each ANSI character its own string with the correct box-width for display of the symbol. The result is that most postprocessors will average the character widths across the box-width without regard for the implied ANSI symbol widths, so that (a) ANSI symbols are displayed too "skinny", and (b) non-ANSI characters are misaligned within the FCS boxes.

Another problem is that the FCS frame separators are imbedded in the character strings as the "|" character, instead of being represented as Line entities (110) referenced by the General Symbol along with the geometric entities that draw the frame-box. Since most postprocessors will simply display this character as normal text, there will be gaps between the top and bottom of this "vertical line" and the surrounding frame-box. (See XTRA.IGS for an example.)

A third problem with the SPINDL.IGS file is that most of the entities contained in the drawing sheet border and title blocks (referenced from the PD list of the Drawing entity) are also referenced from an independent Group Associativity (402, Form 7) which is flagged as visible in all views by way of a defaulted DE View field. This causes the drawing border and title blocks to be displayed (on some systems) multiple times, at different scales and orientations, as if they were model geometry. This situation is probably a result of the "hand edited" nature of the test file, since a properly written preprocessor should not have created these duplicate references.


7. RECOMMENDATIONS

With the exception of Class I - Technical Publications, all of the existing application subset classes in MIL-D-28000 should be replaced by application protocol classes as soon as possible. The reason for this exception is that Class I defines a 2D "plotter" oriented model, totally devoid of "information" (e.g., there are no dimensions), and there are several high quality commercial products which can take a robust 3D product data model in IGES format and convert it to a conforming 2D IGES file.

The Associative Dimensioning entities should be added to both the Class II and Class IV subsets. If these entities are not added to Class IV, then all of the dimension entities should be removed from this class.

B-Rep solids entities should not be added to Class IV at this time, but when they are, the CSG entities should be added as well.

On page 39 (6.5), the following Recommended Practices should be added to the list:

RP 26: Arrowhead and Leader Line Data

RP 29: Spline Curves and Surfaces

RP 32: Arrow and Witness Pointers

RP 40: Scale in Matrix

RP 43: Closed Areas

RP 46: Drafting Symbols

RP 52: Drawing Entities That Contain No Views


APPENDIX A - JAPANESE AUTOMOTIVE MANUFACTURERS ASSOCIATION IGES SUBSET (JAMA-IS)

The Japanese Automotive Manufacturers Association issued Version 1.02 of their IGES Subset Specification (JAMA-IS) on 05 October 1993. This version was presented to the IPO IGES Project Committee in January 1994, and they received comments from American IGES implementors. On 17 June 1994, they responded to these comments.

The JAMA-IS subset is limited in scope to the geometry entities which are considered important to represent an "automobile". It is interesting to note that they cite the German VDA-IS and "CALS" (i.e., MIL-D-28000) as "suggestive activities" from which their fundamental concepts were borrowed. They have also ignored the solids entities (both B-Rep and CSG) due to the lack of commercially available implementations.

Since the JAMA-IS subset does not include dimensions (but does include subfigures), it appears to fulfill the information requirements for NC manufacturing and should be considered as an alternative to the current Class IV. The Japanese recognized that the IGES dimension entities, being text based, do not contain tolerance information in a machine-interpretable form. Even though Class IV requires the dimension text to match the geometry, this cannot be guaranteed in all cases.

Class IV of MIL-D-28000 should either require that dimensions be associative, or remove dimensions from the subset.


APPENDIX B - IGES B-REP SOLID GEOMETRY ENTITIES

The following is a list of the newly defined B-Rep Solid Entities.

123 Direction

186 Manifold Solid B-Rep Object

190 Plane Surface

192 Right Circular Cylindrical Surface

194 Right Circular Conical Surface

196 Spherical Surface

198 Toroidal Surface

502 Vertex

504 Edge

508 Loop

510 Face

514 Shell


APPENDIX C - IGES ASSOCIATIVE DIMENSIONING ENTITIES

The following is a list of the newly defined Associative Dimensioning Entities.

402:21 Dimensioned Geometry Associativity

406:28 Dimension Units Property

406:29 Dimension Tolerance Property

406:30 Dimension Display Data Property

406:31 Basic Dimension Property


APPENDIX D - REQUIRED CHANGES TO MIL-D-28000A TO SUPPORT IGES VERSION 5.2

MILITARY SPECIFICATION

DIGITAL REPRESENTATION FOR COMMUNICATION OF PRODUCT DATA: IGES APPLICATION SUBSETS AND IGES APPLICATION PROTOCOLS

TO ALL HOLDERS OF MIL-D-28000A WITH AMENDMENT 1

1. Make the following pen and ink changes

ALL PAGES

Change the string "ASME Y14.26M" to "US PRO/IPO-100".

PAGE 3

Section 2.1.2 Other government documents.

"IGES V5.1 Initial Graphics Exchange Specifiation, Version 5.1, September 1991"

change to:

"US PRO/IPO-100 Digital Representation for Communication of Product Definition Data, IGES 5.2, November 1993"

PAGE 6

TABLE I. ASME Y14.26M entity content of technical illustration subset.

"TABLE I. ASME Y14.26M entity content of technical illustration subset."

change to:

"TABLE I. US PRO/IPO-100 entity content of technical illustration subset."

"* 0 Null"

change to:

" 0 Null"

"* Denotes an ASME Y14.26M Appendix J, Untested Entities, capability"

change to

"* Denotes a US PRO/IPO-100 Appendix G, Untested Entities, capability"

PAGE 7

NOTES FOR TABLE I:

"2. PD Index Values for Z coordinates shall be 0.0."

change to:

"2. PD Index Values for Z coordinates shall be 0.0. Conic coefficient B (PD Index 4) shall be zero (0). An associated matrix shall be used to rotate/translate the conic to its position in space."

"* 11. PD Index 5, Font Characteristic shall be 1, 1001, 1002, or 1003.

If a pointer to a property entity (406, Form 18) is used to control intercharacter spacing, then any ASME Y14.26M font value may be used."

change to:

" 11. PD Index 5, Font Characteristic shall be 1, 1001, 1002, or 1003."

If a pointer to a property entity (406, Form 18) is used to control intercharacter spacing, then any US PRO/IPO-100 font value may be used."

delete:

"* Denotes an ASME Y14.26M Appendix J, Untested Entities, capability"

PAGE 8

Section 3.2.1.3.2 Global section.

"23 6-7 Y*

24 0-7 N Default to zero"

change to:

"23 10 Y

24 0-7 N Default to zero

25 N Default to Field 18"

PAGE 10

TABLE II. ASME Y14.26M entity content of engineering drawing subset.

"TABLE II. ASME Y14.26M entity content of engineering drawing subset."

change to:

"TABLE II. US PRO/IPO-100 entity content of engineering drawing subset."

"* 0 Null"

change to:

" 0 Null"

"* Denotes an ASME Y14.26M Appendix J, Untested Entities, capability"

change to

"* Denotes a US PRO/IPO-100 Appendix G, Untested Entities, capability"

PAGE 12

NOTES FOR TABLE II:

"* 3. Font Characteristic shall be 1, 1001, 1002, or 1003."

change to:

" 3. PD Index 5, Font Characteristic shall be 1, 1001, 1002, or 1003."

delete:

"* Denotes an ASME Y14.26M Appendix J, Untested Entities, capability"

PAGE 13

Section 3.2.2.3. Entity construction.

delete:

"406 Form 5 Line Widening. The only allowed use of the line widening property is the case when physical model space width is important. It shall not be used to indicate plotter width or line weight."

PAGE 15

Section 3.2.2.4.2 Global section.

"23 6-7 Y*

24 0-7 N Default to zero"

change to:

"23 10 Y

24 0-7 N Default to zero

25 N Default to Field 18"

PAGE 19

TABLE III. ASME Y14.26M entity content of electrical/electronic applications subset.

"TABLE III. ASME Y14.26M entity content of electrical/electronic applications subset."

change to:

"TABLE III. US PRO/IPO-100 entity content of electrical/electronic applications subset."

"104 Conic Arc 1

104 1 Conic Arc 1

104 2 Conic Arc 1

104 3 Conic Arc 1"

change to

"104 Conic Arc 1 6

104 1 Conic Arc 1 6

104 2 Conic Arc 1 6

104 3 Conic Arc 1 6"

"* Denotes an ASME Y14.26M Appendix J, Untested Entities, capability"

change to

"* Denotes a US PRO/IPO-100 Appendix G, Untested Entities, capability"

PAGE 21

NOTES FOR TABLE III:

"* 2. Font Characteristic shall be 1, 1001, 1002, or 1003."

change to:

" 2. PD Index 5, Font Characteristic shall be 1, 1001, 1002, or 1003."

add:

"6. Conic coefficient B (PD Index 4) shall be zero (0). An associated matrix shall be used to rotate/translate the conic to its position in space."

delete:

"* Denotes an ASME Y14.26M Appendix J, Untested Entities, capability"

PAGE 22

Section 3.2.3.4 Entity construction

"212 General Note Entity. A General Note is used to display constant text. Design notes would require a General Note, for example."

change to:

"212 General Note. General notes shall use a font code to minimize the number of text strings in the note. At least one string is required, but the number of different strings shall be minimized. Form numbers plus position information on each string shall be used. The Rotation Angle field shall contain the string angle. Transformation matrices shall not be used for string angles. Null strings are allowed and may be used to pattern a note into one of the standard forms."

PAGE 23

Section 3.2.3.4 Entity construction

add (as concluding paragraph):

"All 200 series entities shall be flagged as annotation and shall be parallel to the viewing plane, except for crosshatching. All dependent entities with parent 200 entities shall be flagged as annotation and shall be coplanar with their parent. The only exception is for geometry entities associated with the Sectioned Area (230 and 106 Forms 31-38). Any annotation entity which points to multiple leaders and multiple witness lines shall order those leaders and witness lines so that leader-1 corresponds logically to witness-1 and leader-2 to witness-2."

PAGE 24

Section 3.2.3.5.2 Global section.

"23 6-7 Y*

24 0-7 N Default to zero"

change to:

"23 10 Y

24 0-7 N Default to zero

25 N Default to Field 18"

Section 3.2.3.5.3 Directory Entry section.

"a. Level Number Field. All values shall be zero or positive except where necessary to maintain the meaning of the referenced entity.

b. Subordinate Entity Switch.

c. Entity Use Flag.

d. Hierarchy Status Flag.

e. Blank Status Flag."

change to

"a. Line font pattern.

b. The level number field shall be zero or positive except where necessary to maintain the meaning of the referenced entity.

c. View pointer.

d. Translation matrix.

e. Blank status flag.

f. Subordinate entity switch.

g. Entity use flag.

h. Hierarchy status flag.

i. Line weight number.

j. Color number.

k. Form number."

PAGE 27

TABLE IV. ASME Y14.26M entity content of geometry for NC manufacturing subset.

"TABLE IV. ASME Y14.26M entity content of geometry for NC manufacturing subset."

change to:

"TABLE IV. US PRO/IPO-100 entity content of geometry for NC manufacturing subset."

"* 0 Null"

change to:

" 0 Null"

"* Denotes an ASME Y14.26M Appendix J, Untested Entities, capability"

change to

"* Denotes a US PRO/IPO-100 Appendix G, Untested Entities, capability"

PAGE 28

NOTES FOR TABLE IV:

"2. The conic shall be defined in the standard position."

change to:

"2. Conic coefficient B (PD Index 4) shall be zero (0). An associated matrix shall be used to rotate/translate the conic to its position in space."

PAGE 29

NOTES FOR TABLE IV:

"* 8. PD Index 5, Font Characteristic, shall be 1, 1001, 1002, or 1003."

change to:

" 8. PD Index 5, Font Characteristic, shall be 1, 1001, 1002, or 1003."

delete:

"* Denotes an ASME Y14.26M Appendix J, Untested Entities, capability"

PAGE 31

Section 3.2.4.4.2 Global section.

"23 6-7 Y*

24 0-7 N Default to zero"

change to:

"23 10 Y

24 0-7 N Default to zero

25 N Default to Field 18"

Section 3.2.4.4.3 Directory Entry section.

"a. Line font pattern.

b. The level number field shall be zero or positive except where necessary to maintain the meaning of the referenced entity.

c. Translation matrix.

d. Blank status flag.

e. Subordinate entity switch.

f. Entity use flag.

g. Hierarchy status flag.

h. Line weight number.

i. Color number.

j. Form number."

change to

"a. Line font pattern.

b. The level number field shall be zero or positive except where necessary to maintain the meaning of the referenced entity.

c. View pointer.

d. Translation matrix.

e. Blank status flag.

f. Subordinate entity switch.

g. Entity use flag.

h. Hierarchy status flag.

i. Line weight number.

j. Color number.

k. Form number."

PAGE 36

Section 6.5. Additional processing conditions

add:

RP 26: Arrowhead and Leader Line Data

RP 29: Spline Curves and Surfaces

RP 32: Arrow and Witness Pointers

RP 40: Scale in Matrix

RP 43: Closed Areas

RP 46: Drafting Symbols

RP 52: Drawing Entities That Contain No Views


IGES 5.x HomePage Last update: 1997-08-05 by webmaster@iges5x.org