Computer Graphics Metafile (.cgm) format for Technical Illustrations

Rahul KULKARNI
Technical Illustration
8 min readMar 5, 2017
Airbus A380 .CGM Technical Illustration as per Technical Data Specifications

Most users of graphics applications will be concerned with viewing their output on a graphics screen. On being satisfied with the output, some form of hardcopy is required on a plotter or a printer. There are, however many occasions when output to physical devices is not appropriate and some form of graphical storage of the image is required. It may be necessary to:

  • Store a partly developed picture for later modification
  • Store a image for later viewing
  • Transfer the graphical data to another machine for display
  • Including graphical data in a document containing text and graphics

This necessitated the storage of the picture in some way. The method chosen for storage must allow for easy interpretation of data so that picture can be correctly displayed at a time in the future or on a different machine. The type of file in which the graphical data is saved is known as a metafile. This is how it came to be known as ‘Computer Graphics Metafile’ or CGM in the technical jargon. The beauty of the CGM format is that it only captures a snapshot of the graphical image. Elements implementing dynamic change to the image are not incorporated. CGM is concerned with storage of graphical data only. It does not store any product data like part numbers, PMI, dimensions etc. like the DXF or DWG formats.

Computer Graphics Metafile is a collection of elements. There are 2 basic elements –

  • Graphical Primitives consisting of polyline, polygon, ellipses or attributes line color, line weight, hatching style.
  • Information to the interpreter about how to interpret a particular metafile or picture. Also, which elements are allowed to occur in which position in a metafile.

A metafile is a list of commands that can be executed to draw geometric components, such as polylines, polygons or text elements. The metafile can also include commands to control the style of these objects such as line color. Metafile properties can also include non-graphical information, for example, to identify objects useful when creating hotspots for interactive graphics. The CGM standard specifies which elements are allowed to occur in which positions in a metafile; therefore, the file has the useful capability of being validated.

Ah!! That was a lot of technical stuff! Basically, we as illustrators do not need to know all this. My idea behind putting the above content is that some of our fellow technical writers might find it useful during the ‘Hotspot’ creation. Hotspot is nothing but a more fancy way to say hyperlinking the graphical elements in CGM illustration with correct text in the manual. For example, we can create hotspot to an item number in IPL graphic which links it to the IPL Partslist table. Also, we can click on Catalogue Sequence Number (03–040) which will take us to IPL 3 item 040. These are the interesting things possible with CGM format.

See this illustration for example, the Locators A, B, C and D are ‘hotspots’. If I hover over either of these locators, a red box appears around them as can be seen in the below example for locator D. This indicates that the hotspot is active.

CGM provides a means of graphics data interchange for computer representation of 2D graphical information independent from any particular application, system, platform, or device. As a metafile, i.e., a file containing information that describes or specifies another file, the CGM format has numerous elements to provide functions and to represent entities, so that a wide range of graphical information and geometric primitives can be accommodated. Rather than establish an explicit graphics file format, CGM contains the instructions and data for reconstructing graphical components to render an image using an object-oriented approach. CGM is an open standard, a high performance 2D graphics format. It can contain both vector and raster data, and the version 4.0 of the format has the capability to include metadata enabling intelligent graphics. CGM supports industry profiles providing the ability to validate for conformance, and additionally validate against illustration business rules.

CGM is a robust vector graphics format; it can also include raster images. A ‘geometric description language’ is an accurate definition of CGM. The CGM format defines pictures and graphical elements in high-level geometric terms, for example, lines, circles, arcs, ellipses, polygons, text strings, and cell arrays. Different CGM files can conform to different versions of the Standard as it was being developed. There are three main versions of CGM in common usage:

  • Version 1: CGM files that conform to the original, 1987, version of the published standard.
  • Version 3: CGM files that conform to the 1992 version of the standard which includes advanced graphical elements such as splines and polybezier curves. It also enriched the graphical attributes to allow for greater definition of engineering drawings and technical illustrations. Version 3 is mainly used in Technical Illustration systems.
  • Version 4: CGM files that conform to the 1999 version of the standard that added Application Structuring. This allows the CGM to contain non-graphical information in addition to graphical content. This allows CGM to be used for a wide range of application interactive graphics, hotspots and hyperlinking.

CGM also supports very efficient file sizes an important factor when managing a substantial archive. I have worked on CGM graphics for Airbus in Auto-Trol Tech-Illustrator, as per Airbus standards that the file size of CGM must be below 200 kB. The application won’t save graphic unless file size is less than 200 kB (194 kB)

CGM Profiles:

Profiles are a subset of the standard developed independently by standards groups within specific industries. The purpose of a profile is to improve the interoperability of CGM within a specific technical community.

  • WebCGM: A popular CGM profile, WebCGM is a profile of the CGM standard (ISO 8632:1999), and it describes how to use CGM vector, raster, and hybrid graphics on the web. It was developed jointly by the W3C and CGM Open Consortium. WebCGM represents a consensus of users and vendors on the way to exchange dynamic hyperlinked CGM files over the Web. WebCGM provides a vendor-neutral standard for 2D graphics, enabling creators and consumers to exchange, view, and browse intelligent, vector, raster, or hybrid graphics reliably. The creation of graphics can be performed in multiple applications without the loss or distortion of information.
  • S1000D specification has for many years used CGM as its preferred 2D graphics format. The baseline profile of S1000D is WebCGM; the community added further restrictions; described as a cascading profile. The result is a profile tailored to the S1000D specification, and therefore users and software developers need to account for this to produce valid and compliant CGM files.
  • ATA CGM profile is part of the Air Transport Association (ATA) specification 2100 that governs technical documentation for the manufacture and operation of commercial airplanes. The GREXCHANGE profile is based on CGM Version 3, suitable for the exchange of technical manuals, publishing applications, and visualization. A second profile, IGEXCHANGE provides for the transfer of intelligence associated with graphical data, based on application structuring defined in CGM Version 4.
  • The CALS CGM profile is a Department of Defense (DoD) standard (MIL_PRF-28003 Rev B) entitled “Digital Representation for Communication of Illustration Data: CGM Application Profile.” It is part of the CALS (Continuous Acquisition and Life-Cycle Support) family of standards.
  • CGM PIP is the petroleum industry profile. The petroleum exploration and production community developed the profile for the interchange of graphics between applications. The PIP profile basis is CGM Version 3 and CGM+, a format for the graphical representation of geophysical data.
  • J2008 is the automotive industry standard for the exchange of technical documentation it states that graphics should be in CGM format. It references the ATA 2100 CGM profiles.
  • RIF / EPECS is the Electronic Parts Catalog Exchange Standard of the Rail Industry Forum. It also references the ATA 2100 specification for the use of CGM as graphics exchange standard.

Graphics with long life cycles require the ability to retain the structure of graphical objects. Project costs can significantly increase if the data cannot be interchanged. CGM provides compliance with major international specifications, S1000D and ATA iSpec 2200. Graphical Hotspots provide user with enhanced experience. CGM’s are significantly important part of technical documentation for the storage and exchange of technical data in industries such as Aerospace, Defense, Automotive, Oil & Gas.

A Brief History behind CGM

When the CGM format first appeared in the 80’s it was common to find support for the format in many graphics and CAD applications. However, many of these applications did not update their capabilities as the CGM standard evolved. This began to change in the early 90’s as standards groups formed in various industries like the ATA (Air Transport Association) to work on digital standards. This resulted in CGM profiles that defined industry requirements and drove developers to update their software so their products would be compliant and used by those industries. In 1999, CGM Open 1, an alliance of major Aerospace and Defense companies and Developers was formed to create a single unified CGM profile, — the WebCGM profile along with conformance test data. This enabled developers to test their software effectively and resulted in better quality and reliable CGM products. CGM had found its place, where graphics reuse, interoperability and consistency is important.

Some questions to ponder on to decide whether the project will require CGM format or not!

  • Do we need to maintain our technical graphics for over 10–20 years?
  • Do we need to comply with industry standards?
  • Do we need to exchange graphics up and down the information supply chain?
  • Do we want to edit and manage one instance of our technical graphics?

If answer to above is affirmative, you should definitely implement CGM for your graphic content.

CGM’s are typically used for technical illustrations in SGML/XML documentation systems, and now, more and more, for Web-based systems like IETM (Illustrated Electronic Technical Manuals) and e-Catalogs. There are specific industry profiles (ATA, MIL, PIP) as discussed above and four different levels as well as WebCGM. As a result of this diversification, interoperability is often a problem: the target application is unable to reliably interpret the particular flavor of CGM generated by the source application. Content creation applications like CorelDRAW, IsoDRAW have started outputting Level 3 or 4 CGM. However, many applications on the receiving end have not yet implemented full support for these higher levels.

References:

  1. All three images are from ‘Airbus-AC_A320_May2014’ available in Public domain on Airbus website.
  2. FAQ’s on CGM Larson Website.
  3. S1000D_Issue_4.1 and ATA 2200.

--

--

Rahul KULKARNI
Technical Illustration

Writer, Educator & Content Creator on 3D, Game Dev, Technical Training & Scale Modeling