199
IPC-2511A Generic Requirements for Implementation of Product Manufacturing Description Data and Transfer Methodology ‘‘The data model of this standard shall be in effect until 2001-12.’’ At that time, the committee will consider changes, revision, other actions. ASSOCIATION CONNECTING ELECTRONICS INDUSTRIES 2215 Sanders Road, Northbrook, IL 60062-6135 Tel. 847.509.9700 Fax 847.509.9798 www.ipc.org IPC-2511A March 2000 A standard developed by IPC Supersedes IPC-2511

ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

Embed Size (px)

Citation preview

Page 1: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A

Generic Requirements for

Implementation of Product

Manufacturing Description

Data and Transfer

Methodology

‘‘The data model of this standard shall be ineffect until 2001-12.’’ At that time, the committeewill consider changes, revision, other actions.

ASSOCIATION CONNECTINGELECTRONICS INDUSTRIES

2215 Sanders Road, Northbrook, IL 60062-6135Tel. 847.509.9700 Fax 847.509.9798

www.ipc.org

IPC-2511AMarch 2000 A standard developed by IPC

Supersedes IPC-2511

Page 2: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

The Principles ofStandardization

In May 1995 the IPC’s Technical Activities Executive Committee adopted Principles ofStandardization as a guiding principle of IPC’s standardization efforts.

Standards Should:• Show relationship to Design for Manufacturability

(DFM) and Design for the Environment (DFE)• Minimize time to market• Contain simple (simplified) language• Just include spec information• Focus on end product performance• Include a feedback system on use and

problems for future improvement

Standards Should Not:• Inhibit innovation• Increase time-to-market• Keep people out• Increase cycle time• Tell you how to make something• Contain anything that cannot

be defended with data

Notice IPC Standards and Publications are designed to serve the public interest through eliminatingmisunderstandings between manufacturers and purchasers, facilitating interchangeability andimprovement of products, and assisting the purchaser in selecting and obtaining with minimumdelay the proper product for his particular need. Existence of such Standards and Publicationsshall not in any respect preclude any member or nonmember of IPC from manufacturing or sell-ing products not conforming to such Standards and Publication, nor shall the existence of suchStandards and Publications preclude their voluntary use by those other than IPC members,whether the standard is to be used either domestically or internationally.

Recommended Standards and Publications are adopted by IPC without regard to whether theiradoption may involve patents on articles, materials, or processes. By such action, IPC doesnot assume any liability to any patent owner, nor do they assume any obligation whatever toparties adopting the Recommended Standard or Publication. Users are also wholly responsiblefor protecting themselves against all claims of liabilities for patent infringement.

IPC PositionStatement onSpecificationRevision Change

It is the position of IPC’s Technical Activities Executive Committee (TAEC) that the use andimplementation of IPC publications is voluntary and is part of a relationship entered into bycustomer and supplier. When an IPC standard/guideline is updated and a new revision is pub-lished, it is the opinion of the TAEC that the use of the new revision as part of an existingrelationship is not automatic unless required by the contract. The TAEC recommends the useof the lastest revision. Adopted October 6. 1998

Why is therea charge forthis standard?

Your purchase of this document contributes to the ongoing development of new and updatedindustry standards. Standards allow manufacturers, customers, and suppliers to understand oneanother better. Standards allow manufacturers greater efficiencies when they can set up theirprocesses to meet industry standards, allowing them to offer their customers lower costs.

IPC spends hundreds of thousands of dollars annually to support IPC’s volunteers in thestandards development process. There are many rounds of drafts sent out for review andthe committees spend hundreds of hours in review and development. IPC’s staff attends andparticipates in committee activities, typesets and circulates document drafts, and follows allnecessary procedures to qualify for ANSI approval.

IPC’s membership dues have been kept low in order to allow as many companies as possibleto participate. Therefore, the standards revenue is necessary to complement dues revenue. Theprice schedule offers a 50% discount to IPC members. If your company buys IPC standards, whynot take advantage of this and the many other benefits of IPC membership as well? For moreinformation on membership in IPC, please visit www.ipc.org or call 847/790-5372. For moreinformation on GenCAM, please visit www.gencam.org or call 847/790-5342.

Thank you for your continued support.

©Copyright 2000. IPC, Northbrook, Illinois. All rights reserved under both international and Pan-American copyright conventions. Anycopying, scanning or other reproduction of these materials without the prior written consent of the copyright holder is strictly prohibited andconstitutes infringement under the Copyright Law of the United States.

Page 3: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A

GenCAM[MANGN]

Generic Requirements forImplementation of ProductManufacturing DescriptionData and TransferMethodologyA standard developed by the Computerized Data Format StandardizationSubcommittee (2-11) of the Data Generation and Transfer Committee(2-10) of the Institute for Interconnecting and Packaging Electronic Circuits.

The GenCAM format is intended to provide CAD-to-CAM, or CAM-to-CAMdata transfer rules and parameters related to manufacturing printed boardsand printed board assemblies.

‘‘The data model of this standard shall be in effect until2001-12.’’ At that time, the committee will consider changes,revision, other actions.

Users of this standard are encouraged to participate in thedevelopment of future revisions.

Contact:

IPC2215 Sanders RoadNorthbrook, Illinois60062-6135Tel 847 509.9700Fax 847 509.9798

ASSOCIATION CONNECTINGELECTRONICS INDUSTRIES

December 20, 2001

Page 4: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

AcknowledgmentAny Standard involving a complex technology draws material from a vast number of sources. While the principal membersof the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS Subcommitteeare shown below, it is not possible to include all of those who assisted in the evolution of this standard. To each of them,the members of the IPC extend their gratitude.

Computerized Data FormatStandardization Committee

Data Transfer Solution DTSSubcommittee

Technical Liaison of theIPC Board of Directors

ChairmanHarry ParkinsonDigital Equipment

ChairmanHarry ParkinsonDigital Equipment

Ron UnderwoodCircuit Center

Special Note of Thanks

Key Individuals —An executivegroup of personnel from differentcomputer disciplines helped tomake this document possible. Tothem and their dedication, the IPCextends appreciation and gratitude.These individuals are:

Randy Allen, Valor

Dieter Bergman, IPC

Jerry Brown, eSeeData

Yueh Chang, Northern Telecom

Anthony Cosentino, Lockheed Martin

Dino Ditta, Router Solutions

Chuck Feingold, Valor

Stephen Fortier, Intermetrics

Allan Fraser, GenRad

Barbara Goldstein, NIST

Doug Helbling, Intel

Michael McCaleb, NIST

Michael McLay, NIST

John Minchella, Celestica

Robert Neal, Agilent

Richard Nedbal, Advanced CAM

Harry Parkinson, Digital Equipment

Michael Purcell, Infinite Graphics

Stan Radzio, OrCAD

Taka Shioya, Solectron

Lee Shombert, Intermetrics

Eric Swenson, Mitron Corporation

Sasha Wait, Myrus Design

William Williams IV, GenRad

IPC-2511A March 2000

ii

Page 5: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

iii

1 SCOPE ................................................................................................................................................................ 1

1.1 GENCAM FOCUS ............................................................................................................................................. 1

2 APPLICABLE DOCUMENTS ......................................................................................................................... 1

3 REQUIREMENTS ............................................................................................................................................. 2

3.1 CATEGORY CLASSIFICATION............................................................................................................................. 23.1.1 Categories and Content........................................................................................................................... 3

3.2 CHARACTER SET DEFINITION ........................................................................................................................... 43.3 SECTION KEYWORD AND STATEMENT KEYWORD RULES ................................................................................. 43.4 BNF RULES ...................................................................................................................................................... 43.5 PARAMETER RULES .......................................................................................................................................... 5

3.5.1 Alpha-numeric Parameters ..................................................................................................................... 63.6 COORDINATE RULES......................................................................................................................................... 73.7 TRANSFORMATION CHARACTERISTICS ............................................................................................................. 8

3.7.1 The <xform> Transformation ................................................................................................................. 83.7.2 The <place> Transformation.................................................................................................................. 93.7.3 The <position> Transformation.............................................................................................................. 93.7.4 The <offset> Transformation................................................................................................................ 10

3.8 DATA ORGANIZATION AND IDENTIFICATION RULES....................................................................................... 103.8.1 GROUP and Top Level Objects ............................................................................................................ 103.8.2 Explicit Definition ................................................................................................................................. 103.8.3 File Readability..................................................................................................................................... 103.8.4 File Data Markers................................................................................................................................. 113.8.5 File Extension ....................................................................................................................................... 113.8.6 File Remarks ......................................................................................................................................... 11

4 GEOMETRIC PRIMITIVES AND ARTWORKS ....................................................................................... 11

4.1 DESCRIPTION OF PRIMITIVES .......................................................................................................................... 114.2 GENCAM PRIMITIVE ENHANCEMENT DESCRIPTORS...................................................................................... 12

4.2.1 Color (COLOR)..................................................................................................................................... 124.2.2 Line Enhancement Descriptor (LINEDESC)......................................................................................... 124.2.3 PAINT parameters (PAINTDESC)........................................................................................................ 164.2.4 Rules of Precedence .............................................................................................................................. 184.2.5 Rules for Shape Descriptions ................................................................................................................ 18

4.3 STANDARD GRAPHIC PRIMITIVES ................................................................................................................... 194.3.1 Straight line (LINE)............................................................................................................................... 194.3.2 Circular arc (CIRCARC) ...................................................................................................................... 194.3.3 Ellipse arc (ELLIPARC)........................................................................................................................ 20

4.4 GENCAM SIMPLE PRIMITIVES ....................................................................................................................... 214.4.1 Circle (CIRCLE) ................................................................................................................................... 214.4.2 Rectangle corner (RECTCORNER) ...................................................................................................... 224.4.3 Rectangle Center (RECTCENTER)....................................................................................................... 23

4.5 GENCAM COMPLEX PRIMITIVES ................................................................................................................... 244.5.1 Rectangle, Chamfered Corners (RECTCHAM)..................................................................................... 244.5.2 Rectangle, Round Corners (RECTROUND) ......................................................................................... 254.5.3 Rectangle, Rounded Ends (OVAL) ........................................................................................................ 264.5.4 Rectangle, One-Sided (DSHAPE) ......................................................................................................... 264.5.5 Rectangle, Rotated (DIAMOND) .......................................................................................................... 274.5.6 HEXAGON ............................................................................................................................................ 284.5.7 OCTAGON ............................................................................................................................................ 294.5.8 DONUTS ............................................................................................................................................... 294.5.9 THERMALS........................................................................................................................................... 31

4.6 GENCAM USER-DEFINED PRIMITIVES........................................................................................................... 344.6.1 POLYLINE ............................................................................................................................................ 344.6.2 POLYGON ............................................................................................................................................ 36

4.7 DESCRIPTION OF ARTWORKS (ARTWORKS) ................................................................................................ 384.7.1 Artworks collections (closed shapes and shape builders) ..................................................................... 38

Page 6: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

iv

4.7.2 TARGETS .............................................................................................................................................. 404.7.3 FEATURE ............................................................................................................................................. 434.7.4 Text parameters (TEXT)........................................................................................................................ 454.7.5 User-defined character sets (UFONT).................................................................................................. 474.7.6 LOGOS.................................................................................................................................................. 48

4.8 PATTERNS ................................................................................................................................................... 484.8.1 PATTERN (Component Mounting) ....................................................................................................... 494.8.2 SYMBOL (Schematic or Logic) ............................................................................................................. 514.8.3 Artwork Pattern Parameter Summary................................................................................................... 53

5 DEFINITION OF THE GENCAM FILE FORMAT.................................................................................... 55

5.1 GENERAL REQUIREMENTS .............................................................................................................................. 555.1.1 The ATTRIBUTE Statement .................................................................................................................. 555.1.2 The MODIFIED Statement.................................................................................................................... 565.1.3 The AUDIT Statement ........................................................................................................................... 56

5.2 HEADER ....................................................................................................................................................... 575.2.1 GENCAM .............................................................................................................................................. 595.2.2 GENERATEDBY ................................................................................................................................... 595.2.3 UNITS.................................................................................................................................................... 595.2.4 ANGLEUNITS....................................................................................................................................... 605.2.5 HISTORY............................................................................................................................................... 605.2.6 LANGUAGE.......................................................................................................................................... 605.2.7 BOARD.................................................................................................................................................. 605.2.8 PANEL .................................................................................................................................................. 605.2.9 ASSEMBLY............................................................................................................................................ 615.2.10 FIXTURE .......................................................................................................................................... 61

5.3 ADMINISTRATION..................................................................................................................................... 615.3.1 BOARD.................................................................................................................................................. 635.3.2 PANEL .................................................................................................................................................. 635.3.3 ASSEMBLY............................................................................................................................................ 635.3.4 FIXTURE .............................................................................................................................................. 635.3.5 TRANSACTION..................................................................................................................................... 645.3.6 PERSON................................................................................................................................................ 645.3.7 SENT ..................................................................................................................................................... 645.3.8 OWNER................................................................................................................................................. 645.3.9 RECEIVED............................................................................................................................................ 645.3.10 DESIGNER ....................................................................................................................................... 655.3.11 ENGINEER....................................................................................................................................... 655.3.12 BUYER.............................................................................................................................................. 655.3.13 CUSTOMERSERVICE...................................................................................................................... 655.3.14 ACCEPT ........................................................................................................................................... 655.3.15 BILLTO............................................................................................................................................. 655.3.16 SCHEDULE...................................................................................................................................... 655.3.17 COMMENT....................................................................................................................................... 665.3.18 ENTERPRISE ................................................................................................................................... 66

5.4 PRIMITIVES................................................................................................................................................. 665.4.1 GROUP ................................................................................................................................................. 705.4.2 COLOR.................................................................................................................................................. 715.4.3 LINEDESC ............................................................................................................................................ 715.4.4 PAINTDESC.......................................................................................................................................... 725.4.5 BARRELDESC ...................................................................................................................................... 725.4.6 BARREL ................................................................................................................................................ 735.4.7 PROFILEDESC..................................................................................................................................... 735.4.8 CIRCLEDEF ......................................................................................................................................... 735.4.9 RECTCENTERDEF .............................................................................................................................. 735.4.10 RECTCORNERDEF ......................................................................................................................... 745.4.11 RECTCHAMDEF.............................................................................................................................. 745.4.12 RECTROUNDDEF ........................................................................................................................... 74

Page 7: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

v

5.4.13 OVALDEF......................................................................................................................................... 745.4.14 DSHAPEDEF ................................................................................................................................... 755.4.15 DIAMONDDEF ................................................................................................................................ 755.4.16 HEXAGONDEF................................................................................................................................ 755.4.17 OCTAGONDEF................................................................................................................................ 755.4.18 DONUTDEF..................................................................................................................................... 765.4.19 THERMALDEF................................................................................................................................. 765.4.20 POLYLINEDEF ................................................................................................................................ 775.4.21 POLYGONDEF ................................................................................................................................ 775.4.22 STARTAT .......................................................................................................................................... 775.4.23 LINETO............................................................................................................................................. 785.4.24 CIRCARCTO..................................................................................................................................... 785.4.25 ELLIPARCTO ................................................................................................................................... 785.4.26 ENDLINE.......................................................................................................................................... 785.4.27 ENDCIRCARC.................................................................................................................................. 785.4.28 ENDELLIPARC ................................................................................................................................ 79

5.5 ARTWORKS................................................................................................................................................. 805.5.1 GROUP ................................................................................................................................................. 815.5.2 FEATUREDEF...................................................................................................................................... 825.5.3 TARGETDEF ........................................................................................................................................ 825.5.4 FONT .................................................................................................................................................... 825.5.5 UFONT.................................................................................................................................................. 825.5.6 GLYPH.................................................................................................................................................. 835.5.7 LOGODEF ............................................................................................................................................ 835.5.8 TEXT ..................................................................................................................................................... 835.5.9 ARTWORKDEF..................................................................................................................................... 845.5.10 LOGOREF ........................................................................................................................................ 845.5.11 ARTWORKREF................................................................................................................................. 845.5.12 TARGET............................................................................................................................................ 84

5.6 LAYERS........................................................................................................................................................ 855.6.1 GROUP ................................................................................................................................................. 875.6.2 LAYERSINGLE ..................................................................................................................................... 875.6.3 LAYERSET ............................................................................................................................................ 875.6.4 LAYER................................................................................................................................................... 885.6.5 LAYERSWAP......................................................................................................................................... 88

5.7 PADSTACKS ................................................................................................................................................ 895.7.1 GROUP ................................................................................................................................................. 905.7.2 HOLEDEF ............................................................................................................................................ 905.7.3 PADDEF ............................................................................................................................................... 915.7.4 PADSTACK........................................................................................................................................... 925.7.5 PAD....................................................................................................................................................... 925.7.6 PADREF................................................................................................................................................ 925.7.7 ARTWORKREF..................................................................................................................................... 925.7.8 HOLEREF............................................................................................................................................. 93

5.8 PATTERNS ................................................................................................................................................... 935.8.1 GROUP ................................................................................................................................................. 955.8.2 PATTERNDEF ...................................................................................................................................... 955.8.3 PADSTACKREF.................................................................................................................................... 955.8.4 TARGETREF......................................................................................................................................... 965.8.5 FEATUREREF ...................................................................................................................................... 965.8.6 ARTWORKREF..................................................................................................................................... 965.8.7 ARTWORK ............................................................................................................................................ 965.8.8 TEXT ..................................................................................................................................................... 965.8.9 HOLEREF............................................................................................................................................. 975.8.10 SYMBOLDEF ................................................................................................................................... 975.8.11 ARTWORKREF................................................................................................................................. 975.8.12 ARTWORK........................................................................................................................................ 975.8.13 TEXT................................................................................................................................................. 975.8.14 SYMPINDEF..................................................................................................................................... 97

Page 8: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

vi

5.9 PACKAGES .................................................................................................................................................. 985.9.1 GROUP ............................................................................................................................................... 1005.9.2 PACKAGE........................................................................................................................................... 1005.9.3 BODY .................................................................................................................................................. 1015.9.4 TARGETREF....................................................................................................................................... 1015.9.5 PIN ...................................................................................................................................................... 1015.9.6 PINONE .............................................................................................................................................. 102

5.10 FAMILIES................................................................................................................................................... 1025.10.1 GROUP........................................................................................................................................... 1035.10.2 FAMILY .......................................................................................................................................... 103

5.11 DEVICES..................................................................................................................................................... 1045.11.1 GROUP........................................................................................................................................... 1065.11.2 DEVICE .......................................................................................................................................... 1065.11.3 PART............................................................................................................................................... 1065.11.4 ALIAS.............................................................................................................................................. 1075.11.5 ALTERNATE................................................................................................................................... 1075.11.6 PINDESC........................................................................................................................................ 1075.11.7 PROGRAM ..................................................................................................................................... 1075.11.8 VALUE............................................................................................................................................ 108

5.12 MECHANICALS......................................................................................................................................... 1085.12.1 GROUP........................................................................................................................................... 1095.12.2 MECHANICAL ............................................................................................................................... 1095.12.3 PART............................................................................................................................................... 1105.12.4 ALIAS.............................................................................................................................................. 1105.12.5 ALTERNATE................................................................................................................................... 1105.12.6 ARTWORKREF............................................................................................................................... 1105.12.7 ARTWORK...................................................................................................................................... 1105.12.8 HOLEREF....................................................................................................................................... 110

5.13 COMPONENTS .......................................................................................................................................... 1105.13.1 GROUP........................................................................................................................................... 1125.13.2 COMPONENT ................................................................................................................................ 1125.13.3 DEVICEREF................................................................................................................................... 1145.13.4 MECHANICALREF........................................................................................................................ 1145.13.5 PATTERNREF ................................................................................................................................ 1155.13.6 ARTWORKREF............................................................................................................................... 1155.13.7 ARTWORK...................................................................................................................................... 1155.13.8 TEXT............................................................................................................................................... 1155.13.9 PROGRAM ..................................................................................................................................... 1155.13.10 PREPARATION .............................................................................................................................. 1155.13.11 PRESENTATION ............................................................................................................................ 1155.13.12 KEEPOUT ...................................................................................................................................... 1165.13.13 ONFAIL .......................................................................................................................................... 116

5.14 ROUTES...................................................................................................................................................... 1165.14.1 GROUP........................................................................................................................................... 1185.14.2 ROUTE ........................................................................................................................................... 1185.14.3 PATH .............................................................................................................................................. 1195.14.4 PLANE ............................................................................................................................................ 1195.14.5 VIA.................................................................................................................................................. 1195.14.6 TESTPAD........................................................................................................................................ 1205.14.7 COMPPIN....................................................................................................................................... 1205.14.8 CONNPIN....................................................................................................................................... 1205.14.9 HIGHPOTTEST.............................................................................................................................. 1215.14.10 REFERENCE.................................................................................................................................. 1215.14.11 IMPEDANCE.................................................................................................................................. 1215.14.12 INDUCTANCE ............................................................................................................................... 1215.14.13 CAPACITANCE.............................................................................................................................. 121

5.15 POWER ....................................................................................................................................................... 1225.15.1 GROUP........................................................................................................................................... 123

Page 9: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

vii

5.15.2 SUPPLY .......................................................................................................................................... 1235.16 TESTCONNECTS....................................................................................................................................... 123

5.16.1 GROUP........................................................................................................................................... 1255.16.2 TESTPIN......................................................................................................................................... 1255.16.3 LOCATION..................................................................................................................................... 1255.16.4 TESTPROBE................................................................................................................................... 1255.16.5 VIAREF........................................................................................................................................... 1265.16.6 TESTPADREF ................................................................................................................................ 1265.16.7 COMPPINREF ............................................................................................................................... 1265.16.8 FIXELEC ........................................................................................................................................ 1275.16.9 TESTCONNECT ............................................................................................................................. 1275.16.10 TESTPINREF.................................................................................................................................. 1285.16.11 FIXELECTREF............................................................................................................................... 1285.16.12 TESTPROBEREF ........................................................................................................................... 128

5.17 BOARDS ..................................................................................................................................................... 1295.17.1 BOARD ........................................................................................................................................... 1325.17.2 USING ............................................................................................................................................ 1325.17.3 OUTLINE........................................................................................................................................ 1325.17.4 THICKNESS ................................................................................................................................... 1325.17.5 HOLEREF....................................................................................................................................... 1335.17.6 CUTOUT......................................................................................................................................... 1335.17.7 WELL .............................................................................................................................................. 1335.17.8 SLOT............................................................................................................................................... 1345.17.9 KEEPOUT ...................................................................................................................................... 1345.17.10 GROOVE ........................................................................................................................................ 1355.17.11 TARGETREF .................................................................................................................................. 1355.17.12 LOGOREF ...................................................................................................................................... 1355.17.13 TEXT............................................................................................................................................... 1355.17.14 IMAGE............................................................................................................................................ 1365.17.15 BAREBOARDTEST......................................................................................................................... 1365.17.16 ASSEMBLY ..................................................................................................................................... 137

5.18 PANELS ...................................................................................................................................................... 1375.18.1 PANEL ............................................................................................................................................ 1405.18.2 USING ............................................................................................................................................ 1405.18.3 OUTLINE........................................................................................................................................ 1405.18.4 THICKNESS ................................................................................................................................... 1415.18.5 HOLEREF....................................................................................................................................... 1415.18.6 CUTOUT......................................................................................................................................... 1415.18.7 WELL .............................................................................................................................................. 1415.18.8 SLOT............................................................................................................................................... 1425.18.9 KEEPOUT ...................................................................................................................................... 1425.18.10 GROOVE ........................................................................................................................................ 1425.18.11 PLACEMENT ................................................................................................................................. 1435.18.12 TARGETREF .................................................................................................................................. 1435.18.13 LOGOREF ...................................................................................................................................... 1435.18.14 TEXT............................................................................................................................................... 1445.18.15 IMAGE............................................................................................................................................ 144

5.19 FIXTURES .................................................................................................................................................. 1455.19.1 FIXTURE ........................................................................................................................................ 1465.19.2 USING ............................................................................................................................................ 1475.19.3 OUTLINE........................................................................................................................................ 1475.19.4 THICKNESS ................................................................................................................................... 1485.19.5 HOLEREF....................................................................................................................................... 1485.19.6 CUTOUT......................................................................................................................................... 1485.19.7 WELL .............................................................................................................................................. 1485.19.8 SLOT............................................................................................................................................... 1495.19.9 KEEPOUT ...................................................................................................................................... 1495.19.10 PLACEMENT ................................................................................................................................. 149

5.20 DRAWINGS................................................................................................................................................ 150

Page 10: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

viii

5.20.1 DRAWING ...................................................................................................................................... 1525.20.2 SHEET ............................................................................................................................................ 1525.20.3 FRAME ........................................................................................................................................... 1525.20.4 INSERTLAYER ............................................................................................................................... 1535.20.5 SYMBOLREF.................................................................................................................................. 1535.20.6 SYMPINREF................................................................................................................................... 1535.20.7 TEXT............................................................................................................................................... 1545.20.8 NET................................................................................................................................................. 1545.20.9 ANNOTATION................................................................................................................................ 1545.20.10 ARTWORKREF............................................................................................................................... 1545.20.11 LOGOREF ...................................................................................................................................... 1545.20.12 DWGREF........................................................................................................................................ 154

5.21 CHANGES................................................................................................................................................... 1555.21.1 RENAME......................................................................................................................................... 1565.21.2 DELETE.......................................................................................................................................... 1565.21.3 ADD................................................................................................................................................ 1575.21.4 RENAMEPRODUCT ...................................................................................................................... 1575.21.5 DELETEPRODUCT ....................................................................................................................... 1575.21.6 ADDPRODUCT.............................................................................................................................. 157

6 MODELING ................................................................................................................................................... 158

6.1 ACTIVITY AND INFORMATION MODELS ........................................................................................................ 160

7 STANDARD SEMANTIC RULES............................................................................................................... 160

7.1 THE GENCAM FILE ...................................................................................................................................... 1607.2 ALPHA-NUMERIC PARAMETERS.................................................................................................................... 1637.3 GENCAM PARAMETER UNITS...................................................................................................................... 1637.4 DESCRIPTION OF GENCAM STANDARD MODIFIERS..................................................................................... 1647.5 DESCRIPTION OF GENCAM STANDARD SIMPLE PRIMITIVES ........................................................................ 1657.6 DESCRIPTION OF GENCAM COMPLEX PRIMITIVES....................................................................................... 1657.7 GENCAM DESCRIPTION OF USER PRIMITIVES.............................................................................................. 1667.8 GENCAM USER ENHANCED "IN-PROCESS" PRIMITIVES .............................................................................. 1677.9 DESCRIPTION OF GENCAM STANDARD PRIMITIVE ENHANCERS.................................................................. 170

8 REPORT GENERATORS ............................................................................................................................ 171

9 REFERENCE INFORMATION................................................................................................................... 171

9.1 IPC (1) ......................................................................................................................................................... 1719.2 AMERICAN NATIONAL STANDARDS INSTITUTE (2) ....................................................................................... 1729.3 DEPARTMENT OF DEFENSE (3)...................................................................................................................... 1729.4 ELECTRONIC INDUSTRIES ASSOCIATION (4) ................................................................................................. 1729.5 INTERNATIONAL ORGANIZATION FOR STANDARDS (ISO)............................................................................. 1729.6 INTERNET ENGINEERING TASK FORCE (IETF) STANDARDS ......................................................................... 172

APPENDICES

APPENDIX A .......................................................................................................................................................... 173APPENDIX B .......................................................................................................................................................... 174APPENDIX C .......................................................................................................................................................... 179APPENDIX D .......................................................................................................................................................... 184APPENDIX E .......................................................................................................................................................... 185APPENDIX F........................................................................................................................................................... 186APPENDIX G .......................................................................................................................................................... 188APPENDIX H .......................................................................................................................................................... 189

Page 11: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

1

Generic Requirements for Implementation of Product Manufacturing Description Data and Transfer Methodology (MANGN)

1 SCOPE

This standard specifies a data file format used to describe printed board and printed board assemblyproducts with details sufficient for tooling, manufacturing, assembly, inspection and testing requirements.These formats may be used for transmitting information between a printed board designer and amanufacturing or assembly facility. The files are also useful when the manufacturing cycle includescomputer-aided processes and numerical control machines.

The information can be used for both manual and for digital interpretations. The data is defined in eitherEnglish or International System of Units (SI)* units.

1.1 GenCAM Focus

The GenCAM format requirements are provided in a series of standards focused on printed boardmanufacturing, assembly, inspection, and testing. This standard series consists of a generic standard(IPC-2511) which contains all the general requirements. There are seven sectionals that are focused onthe details necessary to accumulate information in the single GenCAM file, that addresses the needs ofthe manufacturing disciplines producing a particular product. The sectional standards (IPC-2512 through2518) paraphrase the important detailed requirements and provide suggested usage and examples for thetopic covered by the sectional standard.

2 APPLICABLE DOCUMENTS

The following documents contain provisions which, through reference in this text, constitutes provisionsof the IPC-2510 series of standards. All documents are subject to revision and parties who makeagreements based on this generic standard are encouraged to investigate the possibility of applying themost recent editions of the documents indicated below.

IPC-T-50 Terms and Definitions for Interconnecting and Packaging Electronic CircuitsIPC-2512 (ADMIN) Sectional Requirements for Implementation of Administrative Methods for

Manufacturing Data DescriptionIPC-2513 (DRAWG) Sectional Requirements for Implementation of Drawing Methods for

Manufacturing Data DescriptionIPC-2514 (BDFAB) Sectional Requirements for Implementation of Printed Board Fabrication

Data DescriptionIPC-2515 (BDTST) Sectional Requirements for Implementation of Bare Board Product Electrical

Testing Data DescriptionIPC-2516 (BDASM) Sectional Requirements for Implementation of Assembled Board Product

Manufacturing Data DescriptionIPC-2517 (ASEMT) Sectional Requirements for Implementation of Assembly In-Circuit Testing

Data DescriptionIPC-2518 (PTLST) Sectional Requirements for Implementation of Part List Product Data

DescriptionIPC-2519 (MODEL) Sectional Requirements for Information Model Data Related to the Printed

Board and Printed Board Manufacturing DescriptionsIPC-2524 PWB Fabrication Data Quality Rating SystemIPC-2525 Bareboard Electrical Test Data Quality Rating System

* See Guide to the Use of the International System of Units (SI), NIST Special Publication 811, http://ts.nist.gov/ts/htdocs/210/217/217.htm;

Page 12: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

2

IPC-2526 Printed Board Assembly Data Quality Rating SystemIPC-2527 In-Circuit Test Data Quality Rating SystemIPC-4101 Specification for Base Materials for Rigid and Multilayer BoardsIPC-4103 Specification for Base Materials for High Speed/High Frequency

ApplicationsIPC-4104 Specification for high Density Interconnect (HDI) and Microvia Materials

3 REQUIREMENTS

The generic computer-aided manufacturing (GenCAM) format specifies data sections specifically forinformation interchange of data related to printed board manufacturing, assembly, inspection, and test.

GenCAM is comprised of twenty sections. These are shown in Table 3–1 and Table 3–2.

Each section has a specific function or task respectively. Accordingly, the information interchange for aspecific purpose is possible only if the sections required for such a purpose have been prepared.

3.1 Category classification

Table 3–1 provides the name, purpose, and order of the twenty sections of a GenCAM file.

Table 3–1 GenCAM Section Descriptions

Section Identifier Purpose and Content

HEADER Beginning of each file; includes name, company file type, number, revision, etc.

ADMINISTRATION Describes the ordering information necessary for identifying responsibility, quantity of ordered partsand delivery schedule.

PRIMITIVES Describes simple and complex primitive physical shapes; includes lands, holes, standard patterns.

ARTWORKS Functional and nonfunctional geometries developed by the user, i.e. user macros; includes shapes,logos, features not part of the circuit and other user-defined figures.

LAYERS Board manufacturing descriptions; includes conductive/nonconductive layer definition of silk screens,details of dielectric tolerances, separations and thickness.

PADSTACKS CAD system data; includes pads and drilling information through the board.

PATTERNS Description for users to build libraries of reusable pads and padstacks.

PACKAGES Describes a library of component packages; includes true package dimensions.

FAMILIES Is used to describe logic families of components.

DEVICES Component description; includes device part number.

MECHANICALS Mechanical information; includes handles, nuts, bolts, heat sinks, brackets, holes.

COMPONENTS Used to identify components; includes reference designators where appropriate.

ROUTES Conductor location information; includes the location of conductors on all layers.

POWER Power and ground; includes power injection parameters expected and permitted.

TESTCONNECTS Test point location; includes probe points, single name test point types and tester pin assignments.

BOARDS Description of board and coupons; includes outline of board/coupon, cutouts, tooling holes.

PANELS Panelization; includes description of manufacturing panels for printed boards and description ofassembly arrays.

FIXTURES Describes fixturing for bare board and assembled board testing.

DRAWINGS Describes engineering drawing and formatting requirements for complete printed board and printedboard assembly descriptions.

CHANGES Shows change data related to the existing design previously sent to the manufacturing site.

The start of a GenCAM section is indicated by a section keyword at the beginning of a line. The sectionkeyword is a dollar sign ($) followed by the name of the section. Each section ends with a section end

Page 13: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

3

keyword at the beginning of a line. The section end keyword consists of the section name preceded bythe $END (e.g. if $HEADER is the section keyword then the section end keyword would be$ENDHEADER).

Each GenCAM section only appears once in a GenCAM file. The sections must appear in the orderspecified in Table 3–1. For some tasks specified in the GenCAM data set standards, i.e., IPC-2512through IPC-2518, the standard may specify that a section is not required. See Appendix A for asummary of section heading and ending keywords.

3.1.1 Categories and Content

Table 3–2 provides the section identifiers, and the relationship of which sections are necessary to supporteach of the significant seven standards related to the GenCAM format. The significant seven data setsand standards are administration, drawings, printed board fabrication, printed board test, assembly,assembled board inspection/test, and parts list. (IPC-2512 through IPC-2518)

Table 3–2 Section Name Relationships

Section Identifier ADMIN DRAWG BDFAB BDTST BDASM ASEMT PTLST

HEADER X X X X X X X

ADMINISTRATION X X X X X X X

PRIMITIVES X X X X

ARTWORKS X X X X

LAYERS X X X X X

PADSTACKS X X X

PATTERNS X X X X X

PACKAGES X X X X X

FAMILIES X X X X X

DEVICES X X X X

MECHANICALS X X X X X X

COMPONENTS X X X X X X

ROUTES X X X X X

POWER X

TESTCONNECTS X X

BOARDS X X X X X X

PANELS X X X X X

FIXTURES X X X X

DRAWINGS X X X X X X X

CHANGES X* X* X* X* X* X* X** The CHANGES section is used independently to alter previously sent files. A HEADER section (for revision status and identification) and anADMINISTRATION section to show effectivity must be included with a CHANGES section in a changes file.

Note: The letter "X" indicates general usage requirements. Each sectional standard provides additional granularity, and indicates mandatory andoptional data ability requirements.

The twenty sections can be used in various combinations to provide information for manufacturingprocesses in printed board fabrication and printed board assembly characteristics. In each of thesignificant seven data sets, there may be subsets which make up details for a specific process orequipment. An example of this might be a stencil file that is used to deposit solder paste on a printedboard prior to assembly. Only specific information needed to produce the stencil would be necessary inorder to establish the details for stencil manufacturing. The details of these characteristics are describedwithin one of the significant seven standards in which that particular process applies.

It should be noted that in situations where a specific process is defined (e.g., stencil fabrication, glue dotpositioning), some sections would be mandatory in order to provide the appropriate information, whereas

Page 14: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

4

some sections might be optional depending on the conditions of the particular manufacturing discipline.

3.2 Character Set Definition

The character set for the GenCAM file is the UTF-8 encoding of ISO/IEC 10646-1. Adopting thischaracter set for GenCAM provides full internationalization support by GenCAM while also providingfull backward compatibility with file systems, parsers and other software that rely on US-ASCII values.Only a brief description of UTF-8 will be provided in this section. Additional information on UTF-8 canbe found in the Internet RFC-2279. The RFC is available at ftp://ftp.isi.edu/in-notes/rfc2279.txt.

The Universal Character Set (UCS), which encompasses most of the world's writing systems, is definedby the ISO/IEC 10646-1 multi-octet character set. Several UCS transformation formats (UTF) exist forencoding the ISO/IEC 10646-1 into different length bytes. The UTF-8 is the 8 bit encoding of UCS. Itsupports the full UCS character set while also preserving backward compatibility with the full US-ASCIIrange.

The rules governing the use of UTF-8 characters in a GenCAM file are as follows:- The characters with decimal codes 0-8, 11, 12, 14-31 and 127 are not permitted in a GenCAM file.- The remaining US-ASCII character subset of UTF-8 (decimal codes 9, 10, 13, and 32-126) are

allowed throughout the file.- The GenCAM strings and qualified_strings are allowed to include the UTF-8 characters with bit 8

set (decimal codes 128-255). All characters that are not US-ASCII are encoded using this range ofcharacters.

- The colon character (ASCII decimal 58) is not allowed in the group name portion of aqualified_string. (See 3.8.1 for the definition of group name.)

- A line feed character (ASCII decimal 10) must terminate each text line, including the last line in thefile.

- Carriage returns characters (ASCII decimal 13) are allowed, but are ignored.- The horizontal tab character (ASCII decimal 9) is not permitted on a line prior to the keyword at the

beginning of a keyword statement.- The GenCAM file is case sensitive. Under no circumstances are lowercase and uppercase characters

considered interchangeable.

3.3 Section Keyword and Statement Keyword Rules

All names of section keywords and keyword statements are defined using uppercase characters. Sectionkeywords start with a $ (ASCII decimal 36). Keyword statements start with a keyword that is followedby a colon (ASCII decimal 58). The keyword of a keyword statement must be the first non-space on aline. All section statements (except blank lines) start with a keyword and end with semicolon (ASCIIdecimal 59), but can span multiple text lines. See Appendix B for a listing of keywords used in keywordstatement.

Throughout this document, the word keyword refers to the capitalized reserved word that names thestatement. The phrase keyword statement refers to the entire statement, including the keyword, all of theparameters, and ending with the semi-colon character.

This document will also include references to instances of a keyword statement in which the keyword isnot capitalized. The keyword will be capitalized when defining how to use the keyword. For instance,the keyword BOARD will be used when defining an instance of a board.

3.4 BNF Rules

The following format key is provided to aid the reader in understanding the rules defined in this standard.Sections 4 through 6 provide details and examples in this format (BNF*) key. The text in Sections 4through 6 supplements the BNF descriptions. In the case of differences between the text and the BNF, the

Page 15: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

5

BNF takes precedence over the textual description. A complete summary of the BNF descriptions ofGenCAM is available on the web at http://www.gencam.org/document/standards/2511/bnf.htm.

< > - denotes a single parameter field.[< >] - denotes a single optional parameter field.A - denotes exactly one of A.0{< >}n - denotes zero or more occurrences of a parameter field.{A | B | C} - denotes exactly one of A or B or C.{A & B & C} - denotes exactly one set of A and B and C (no order is implied).1{A | B | C}2 - denotes no less than one, but no more than two of A, B or C.1{A & B & C}2 - denotes at least one set, but no more than two sets of A, B and C.1{A | B | C }n - denotes some non-zero number (n) of A, B or C.{A & 0{B}n & C} - denotes exactly one set consisting of a single A and a single C and

zero or more occurrences of B.*Format popularized by John Backus and Steve Nauer

The parent-child relationship of keyword statements in a GenCAM file are specified by the symbols ":>"and "<:" at the left hand side of a BNF statement. The ":>" indicates the beginning of statements that areinterpreted as the children of the last keyword statement definition. The "<:" symbol indicates the end ofthis level of children and returns the scope definition to one level higher.

3.5 Parameter Rules

A comma character (ASCII decimal 44) separates parameters from each other. The occurrence of omittedoptional parameters will be denoted by the appearance of a ",," (comma-comma) sequence except wherethe omitted parameter field(s) are at the end of the line. In this case trailing commas can be omitted. Theterminating ";" (semicolon) is sufficient to denote the end of the statement.

The mandatory parameters of a keyword statement are required if the information is available from theapplication that is generating the GenCAM file. However, since the absence of data is a lesser problemthan bad data under all circumstances, if the value of the parameter is not know by the tool then a nullvalue symbol, @NULL@, must be inserted for the mandatory parameter. A null value symbol mustnever be used in place of optional parameters. The following statement is an example of a statement witha null value for a madatory parameter:

When information is not available for a parameter from an application and the null value is inserted in theparameter's location the GenCAM file is classified as an incomplete, but GenCAM compliant, data set.All fixed-field parameters are upper case (capitals). All strings can be any text that contains the charactersas defined in the parameter description. All strings are contained in " (double-quote) character (ASCIIdecimal 34) pairs. When the string itself contains a double-quote character, the quote is escaped with adouble-quote character.

Example:

"BOARD""Synthesizer""Assembly" could be the title of an assembly. This format indicates that theword "synthesizer" is surrounded by quotes.

All free fields, such as component names, can use upper or lower case and are always case sensitive. Forexample the component names "C1" and "c1" represent two different components. All free fields fornamed items or objects must be unique within a GenCAM file section (See Table 3–1) or within a groupwithin a section if the section is divided into groups.

DEVICE: "SN4322", RES, @NULL@;

Page 16: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

6

Each fixed-field parameter used within a keyword statement has a list of valid values defined followingthe definition of the keyword statement in section 5. For example, in section 5.9 a <package_type> fixed-field parameter is defined to include a specific list of allowed package types. The list of valid values forsome of the fixed-field parameters will be updated periodically by the IPC. The IPC will not reissue theentire IPC-2511 document with each update of a fixed-field parameter definition. Instead, a list ofupdated fixed-field parameters will be maintained at http://www.gencam.org/registered.

3.5.1 Alpha-numeric Parameters

The following rules apply to the parameters identified as being a string of alphanumeric characters. Alsoidentified are the rules for numbers and the GenCAM date format.

string ::= characters from the UTF-8 character set as defined in 3.2.

qualified_string ::= string.string - the first string is a <group_ref> of the named item. Thesecond string is the item name within the referenced group.

number ::= 3.4x10-38 ≤ value ≤ 3.4x1038

where value can be positive, negative, integer or floating point, with 7 digitprecision. Numbers are assumed to be positive but can be explicitly designatedas positive by a preceding + (ASCII decimal 43) character. Negative numbersmust be explicitly designated as negative by a preceding - (ASCII decimal 45)character. An internal representation of an IEEE double precision floating pointnumber is assumed.Exponentiation format is the same as the format used in the computer languagesC, Perl, Python, or TCL. For example, all the following are legal numbers:

1.0050.01.01–2.334e-33.224e-2

The regular expression format is [+-]?[0-9]*.[0-9]*[eE]?[0-9]*

p_number ::= 0.0 ≤ value ≤ 3. 4x1038 - (the positive range of an IEEE double precision floating point number)

p_integer ::= 0 ≤ value ≤ 2147483647 - (the positive values that fit in a 32 bit signed integer)

<datetime> ::= string containing W3C datetime format of the current date and time. (Seehttp://www.w3.org/TR/NOTE-datetime-970915.html.) The following formatsfrom the W3C specification are allowed;

Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (e.g. 1997-07-16T19:20:30+01:00) Complete date plus hours, minutes, seconds and a decimal fraction of a Second: YYYY-MM-DDThh:mm:ss.sTZD (e.g. 1997-07-16T19:20:30.45+01:00)

where:

YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) (am/pm NOT allowed)

Page 17: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

7

mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) s = one or more digits representing a decimal fraction of a second TZD = time zone designator (Z or +hh:mm or -hh:mm)

3.6 Coordinate Rules

All geometries in the GenCAM file are defined in a Cartesian coordinate system. The x coordinatesbecomes more positive going from left to right (west to east). The y coordinates become more positivegoing from bottom to top (south to north). The primary side (TOP) of the board, coupon, or panel is in thexy plane of the coordinate system with the primary side facing up . The illustration in Figure 3–1 providesa perspective drawing of a board and a coordinate system. Each product in a GenCAM file is definedrelative to a local coordinate system for the product. The point of origin of the product is located at (0,0)in the local coordinate system.

Coordinates are identified by the parameter <xy_ref>. The coordinate format encloses the x coordinateand y coordinate in parentheses with a comma separating the coordinates. For example, (4937, 5178),(5937.0, 6492.34), (4326.06, 7893) define three xy coordinates.

Figure 3–1 Printed Board Viewing

Page 18: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

8

3.7 Transformation Characteristics

There are four types of transformations used in a GenCAM file. The most general, <xform>, will bedescribed first. The three additional types of transformations are constrained versions of the <xform>transform (see Table 3–3). The order of parameters does not define the execution order. The sequence ofexecution is to mirror, rotate, translate and then scale.

Table 3–3 Types of Constrained Transformations

Transformation <xy_ref> <rotation> <mirror> <scale><xform> M O O O<place> M O O<position> M O<offset> MNote: Mandatory (M), Optional (O)

3.7.1 The <xform> Transformation

The transformation parameter, <xform>, is used throughout this specification to define the location andorientation of physical features. Primitives in the GenCAM file are transformed in their local Cartesiancoordinate system by the values set in the transform. The transform includes placement, rotation, scaling,and mirror image changes. The definition of the <xform> is as follows:

<xform> ::= <xy_ref>, [<rotation>], [<mirror>], [<scale>]<xy_ref> ::= (<x_offset>, <y_offset>)<rotation> ::= <angular_measure><mirror> ::= MIRROR - indicates that all x-values go to minus x-values.<scale> ::= p_number - Scale multiplies all dimensions proportionally.<x_offset> ::= number<y_offset> ::= number<angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= 0.0 <= number <= 6.28318… (2π) when ANGLEUNITS = RADIANS<degree_value> ::= 0.0 <= number <= 360.0 when ANGLEUNITS = DEGREE

3.7.1.1 The <rotation> Attributes

The rotation is a value in either degrees, or radians units. The unit of measure is specified by theANGLEUNITS keyword statement in the HEADER section. Positive rotation is always counter-clockwise as viewed from the board TOP (primary side), even if the component being rotated is on theboard BOTTOM (secondary side). Rotation defaults to 0.0, and can be applied to text, or any physicalshape.

3.7.1.2 The <mirror> Attribute

Mirror is the fixed-field parameter MIRROR. MIRROR indicates that all "x" values go to a –x value.The mirror and rotate attributes are shown in Figure 3–2. The example shows a unique artwork (14-pinDIP device) placed on the top and bottom of a board at 90 degree rotations.

Page 19: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

9

Figure 3–2 Mirror and Rotation Diagram

3.7.1.3 The <scale> Attribute

The scale attribute is a positive number that must be greater than zero. All x and y dimensions of ageometry are multiplied by the scale attribute. The scale factor does not apply to angular values.

3.7.2 The <place> Transformation

The <place> transformation is identical to <xform> without a <scale> attribute. The intent of <place> isto prevent CAD or CAM systems from scaling those items where a change of scale is not appropriate.The rules for <place> are:

<place> ::= <xy_ref>, [<rotation>], [<mirror>]<xy_ref> ::= (<x_offset>, <y_offset>)<rotation> ::= <angular_measure><mirror> ::= MIRROR - indicates that all x-values go to minus x-values.<x_offset> ::= number<y_offset> ::= number<angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= 0.0 <= number <= 6.28318530718… (2π) <degree_value> ::= 0.0 <= number <= 360.0

3.7.3 The <position> Transformation

The <position> transformation is identical to <place> without a <mirror> . The intent of <position> is toprevent CAD or CAM systems from scaling and mirroring those items where a change of scale ororientation is not appropriate. The rules for <position> are:

Page 20: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

10

<position> ::= <xy_ref>, [<rotation>]<xy_ref> ::= (<x_offset>, <y_offset>)<rotation> ::= <angular_measure><x_offset> ::= number<y_offset> ::= number<angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= 0.0 <= number <= 6.28318530718… (2π) <degree_value> ::= 0.0 <= number <= 360.0

3.7.4 The <offset> Transformation

The <offset> transformation is removes the <rotation> parameter from <position>. Only the <xy_ref>parameter is permitted. The intent of <offset> is to prevent CAD or CAM systems from scaling, mirroringand rotating those items where a change of scale, rotation, or orientation is not appropriate. The rules for<offset> are:

<offset> ::= <xy_ref><xy_ref> ::= (<x_offset>, <y_offset>)<x_offset> ::= number<y_offset> ::= number

3.8 Data Organization and Identification Rules

The GenCAM file may contain information describing an arbitrary collection of products. (Boards,assemblies, panels, and fixtures are products allowed in a GenCAM file.) For example, a file couldcontain descriptions for building multiple electronic assemblies that are manufactured on separate panels.To prevent collisions between the names used by the different products within a single file, the GenCAMstandard defines rules to segment data within the file.

3.8.1 GROUP and Top Level Objects

The GROUP keyword statement permits grouping of data pertinent to one or more products, i.e., boards,assemblies, panels, or fixtures. The use of the GROUP keyword statement is mandatory in sections forwhich it is defined in the BNF. Each group name is a top-level object name within the GenCAM file. TheGROUP statement is a parent statement to all the named objects that follows until the occurrence of thenext GROUP statement, or until the end of the section is encountered. The immediate child of a GROUPstatement always has a name or reference designator. This named parameter (e.g., circle_name,polygon_name etc.) must be unique within the namespace of the parent GROUP statement. (See 3.4)

Within the GenCAM file all GROUP, ASSEMBLY, BOARD, PANEL, AND FIXTURE definitions arenamed top-level objects within the file. All top-level objects defined in a GenCAM file must have aunique name in the global namespace of the file.

3.8.2 Explicit Definition

All data is explicitly defined, there is no implied change of data. For example, placing a component onthe bottom of the board does not imply that its shape is mirrored. The shape is explicitly given a mirrorparameter if the shape needs mirroring.

3.8.3 File Readability

All keyword statements in a GenCAM file should be indented to reflect the level of nesting of thekeyword statement inside a parent keyword statement. The indenture must be incremented uniformly asthe nesting depth increases. A minimum of two (2) spaces should be used to indicate a level of indenture.

Page 21: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

11

Indenture should start with the first keyword statement following the section keyword. The horizontal tabcharacter (ASCII decimal 9) is not permitted when indenting a keyword.

White space may be placed between any parameters following the keyword and ":" at the beginning of akeyword statement. The spaces can be added as needed to aid in alignment of parameters for ease ofreadability. Thus, the rule applies throughout the GenCAM file, and is established by the number ofspaces that keywords are indented between the beginning and end of a section keyword. In addition toindenture, spaces are permitted between any parameters of a statement.

Spaces are significant if they occur within a string (between quotes). Spaces between parameters areignored.

3.8.4 File Data Markers

All lines before the $HEADER keyword section are ignored (not parsed). The token "$$" must appear ona line immediately following the last keyword section end token. The $$ indicates the end of a GenCAMdata. The $HEADER and $$ tokens are included in the calculation of the checksum. All charactersbeyond the line with the $$ token are ignored (not parsed).

When optionally adding a checksum to a GenCAM file the convention is to use a MD5 message digestalgorithm (see also Internet RFC 1321: ftp://NIS.NSF.NET/internet/documents/rfc). The signature shouldbe attached immediately following the $$ and prior to the end of line character. The digest provides a128-bit checksum of the GenCAM contents. The MD5 signature must be base64 encoded (see RFC 1421for the base64 algorithm) to convert the MD5 signature to an US-ASCII, base64 string. An end of linecharacter will indicate the end of the base64 encoded MD5 signature. The MD5 signature encodes datastarting at $HEADER and ending at $$.

3.8.5 File Extension

The file extension for a GenCAM file is ".gcm".

3.8.6 File Remarks

GenCAM permits file remarks. They are only to be used to support debugging software. A parser mayignore and discard remarks when reading a GenCAM file. A file remark is preceded by a "#" (ASCIIDecimal 35) character in the first non-white space position of the line. The remark is terminated by theline-feed character (ASCII Decimal 10) at the end of the line. File remarks are never to be used torepresent design or manufacturing information.

4 GEOMETRIC PRIMITIVES AND ARTWORKS

The following sections describes the keyword statements used to define the rules for geometric primitivesand artworks. GenCAM provides a mechanism for precisely defining shapes that are required in thedefinition of products. The basic building blocks for defining the complex shapes used in productdefinitions are defined in GenCAM as keyword statements. GenCAM supports the use of three distinctcategories of standard shape primitive descriptions: Graphic Primitives, Simple Primitives and ComplexPrimitives. These primitive shapes can be combined to create more complex artworks. The basic shapesas well as the artworks are referenced or nested inside of more abstract keyword statements.

4.1 Description of Primitives

A named definition of a primitive can be defined in the PRIMITIVES section of a GenCAM file. Thenamed form provides a mechanism for defining and dimensioning shapes that will be reused by referencelater in the GenCAM file. The un-named form of primitives can be nested inside of other keywordstatements, such as inside the definition of a pad in a padstack. The primitives of a GenCAM file include:

Page 22: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

12

GenCAM Graphic Primitives are single, line and arc segments.

LINE CIRCARC ELLIPARC

GenCAM Simple Primitives are common closed shapes.

CIRCLE RECTCENTER RECTCORNER

GenCAM Complex Primitives are special shapes that are commonly used throughout the electronicdesign and manufacturing industry.

RECTCHAM RECTROUND OVALDIAMOND HEXAGON OCTAGONDSHAPE THERMAL DONUT

4.2 GenCAM Primitive Enhancement Descriptors

The default condition of every primitive definition is as a "black", solid, but zero-width line, with allclosed regions being unfilled. Every primitive can be provided with texture to override the defaultcondition through the use of the GenCAM primitive enhancement descriptors COLOR, LINEDESC, andPAINTDESC. These descriptors can be coupled with a primitive to identify its line width, type and endtreatment, or the fill method of a closed region, respectively. The statements COLOR, LINEDESC, andPAINTDESC also reside in the PRIMITIVES section of the GenCAM file.

4.2.1 Color (COLOR)

The COLOR keyword statement defines a color. A color definition is referenced throughout theGenCAM file using a <color_ref> parameter. The color is defined by three values that represent the red,green and blue components of the composite color.

Format:

COLOR: <color_name>, <R>, <G>, <B>;

<color_name> the name of the COLOR. This name is referenced by <color_ref> parameters inmany keyword statements. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<R> defines the red color intensity as a value between 0 and 255.<G> defines the green color intensity as a value between 0 and 255.<B> defines the blue intensity as a value between 0 and 255.

If <R>, <G>, and <B> are all set to 0 then the color is black. If all values are 255 then the color is white.

4.2.2 Line Enhancement Descriptor (LINEDESC)

The LINEDESC keyword statement defines the characteristics of a line. The line description definitionsare referenced throughout the GenCAM file using a <linedesc_ref> parameter. The line descriptionincludes the line width, the line type, the end characteristics, end modifications, and color. The followingformat for LINEDESC includes all the options and all possible parameters.

Format:

LINEDESC: <linedesc_name>, <line_width>, [<line_end>], [<color_ref>], [<line_type>],[<line_space>], [<line_length>], [<line_mod>], [<mod_end>],[<dim_A>], [<dim_B>], [<dim_C>];

Page 23: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

13

Note: <line_type> defines the characteristics of the line that includes the line type designation and any dimensions associatedwith the line type (see Figure 4–1) The default for <line_type> is SOLID. The default for <line_end> is ROUND with an<mod_end> of NONE. If no color is referenced, the default color is 0, 0, 0 (black).

4.2.2.1 Line width parameter <line_width>

A <line_width> parameter is specified for all LINEDESC enhancements. The line width is relative to thecenterline of the line to which it is applied. When the parameter is specified for closed shapes, such ascircles, rectangles and polygons, then ½ the line width must be added to either side of the nominalgeometry dimension when determining the outer and inner perimeter of the geometry of these closedfigures. For a 10 mm circle diameter with a 3 mm line width the outer perimeter of the line is 13 mm andthe inner perimeter is 7 mm.

For DOTTED, CENTER and PHANTOM line type, the dot diameter is defined by the <line_width>parameter.

Example:

LINEDESC: "line1", 3.0;

The lines to which it is applied will be solid, black, 3.0 mm wide, and with round line ends.

4.2.2.2 Line end parameter <line_end>

The <line_end> parameter of a LINEDESC is a fixed-field. GenCAM supports the line ends of ROUND,SQUARE, AND NONE. If not specified, the <line_end> parameter defaults to ROUND. The options for<line_end> are illustrated in Figure 4–1.

Figure 4–1 Line End Parameters

4.2.2.3 Line type parameter <line_type>

The <line_type> parameter of a LINEDESC is a fixed-field parameter. GenCAM supports the line typesSOLID, DOTTED, DASHED, CENTER, PHANTOM, and (solid) ERASE. If not specified, the<line_type> parameter defaults to SOLID. Line type parameters, other than SOLID and ERASE, alsorequire parameters to define spacing characteristics for the line segments, dashes and dots of the lines.An example of each line type is shown in Figure 4–2.

Page 24: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

14

Figure 4–2 Line Type Parameter Descriptions

The required definitions for spaces, length of dashes, size of dots, etc. varies depending on the type of theline. The meaning of each parameter for each <line_type> is defined as follows.

[<line_space>] the spacing between dots and dashes. The meaning by <line_type> is:DOTTED - the spacing between the dot centers.DASHED - the spacing between the end of one dash and the start

of the next dash.CENTER - the spacing between the center of the dot and the line

ends of the line segments.PHANTOM - the spacing between the center of the dots and the line

ends of the line segments.ERASE - a value for <line_space> is an error for ERASE.SOLID - a value for <line_space> is an error for SOLID.

[<line_length>] the length of dashes. The meaning by <line_type> is:DOTTED - a value for <line_length> is an error for DOTTED.DASHED - the length of the dashes.CENTER - <line_length> is the length of the line segments

between the dots.PHANTOM - <line_length> is the length of the line segments

between the dots.ERASE - a value for <line_length> is an error for ERASE.SOLID - a value for <line_length> is an error for SOLID.

Example:

LINEDESC: "line2", 1.0, , , DOTTED, 2.5;

The lines to which it is applied will be a black dotted line, 1.0 mm diameter for the dot, 2.5 mm forthe space between dot centers.

LINEDESC: "line3", 1.0, , ,CENTER ,1.5, 2.8;

The lines to which it is applied will be a repeating black dash, dot, dash line, 1.0 mm wide (this isalso the diameter of the dots), 1.5 mm space between dot center and start or ending of dash, and 2.8mm for length of dash.

4.2.2.4 Line end modification parameters <line_mod>

The <line_mod> parameter of a LINEDESC is a fixed-field parameter. GenCAM supports the line endmodifications of TP (taper), TD (tear-drop), SL1 (Sub-land 1), SL2 (Sub-land 2) and NONE. If notspecified, the <line_mod> defaults to NONE. The <line_mod> parameter defines the shape of the

Page 25: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

15

transition between a land and a line. The required geometry attributes <dim_A>, <dim_B>, and <dim_C>are illustrated in Figure 4–3.

taper (fillet) TP,….tear-drop TD,….Sub-lands SL1,….Sub-lands SL2,….

Figure 4–3 Line End Modification Parameters

The parameter <mod_end>, defines which end of the line is modified. There are three fixed-fieldparameters, BOTH, START, and FINISH, that may be used. The <mod_end> designations are:

BOTH: fixed-field parameter for modifying both start and finish of line endsSTART: fixed-field parameter for describing the start point of a lineFINISH: fixed-field parameter for describing the last point of a line

Examples:

LINEDESC: "Line9", 1.0, SQUARE , , CENTER, 8.0, 40.0,TP, BOTH, 2.5, 1.3;

The lines to which it is applied will be a CENTER line, black by default, 1.0 wide, where the lengthof the dash is 40.0 and the clearance between the center of the dot and the beginning and end of thedash is 8.0. Since the line ends are SQUARE, the dot is also square - 1.0 x 1.0 ). Both ends of theline segment are tapered.

LINEDESC: "line10", 1.0, ROUND, "prim1"."Red", PHANTOM, 8.0, 25.0,TD, START, 2.0, 1.7, 1.6;

The lines to which it is applied will be a red PHANTOM line, 1.0 wide, where the dashes are 25.0long, and the distance from beginning and end of the dash to the center of the dots, or the distancebetween dot centers is 8.0. The starting end of the line is a teardrop, while the opposite end isround by default.

The definitions for <dim_A>, <dim_B>, and <dim_C> vary depending on the type of modification. Themeaning of each parameter for each modification is defined as follows. (see also Table 4–1)

Page 26: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

16

[<dim_A>] the meaning of <dim_A> is dependent on the <line_mod> parameter. Themeaning by <line_mod> is:

TP – length of the taper fillet as measured from the center of the pad along the x-axis.TD – length of the tear-drop as measured from the center of the pad along the x-axis.SL1 – radius of the sub-land circle.SL2 – radius of the sub-land circle.

[<dim_B>] the meaning of <dim_B> is dependent on the <line_mod> parameter. Themeaning by <line_mod> is:

TP – y-axis dimension of the taper fillet as measured at the center of the pad.TD – the radius of the pad.SL1 – distance measured along the x-axis from the center of the pad to the center of the sub-land.SL2 – distance measured along the x-axis from the center of the pad to the center of the sub-land.

[<dim_C>] the meaning of <dim_C> is dependent on the <line_mod> parameter. Themeaning by <line_mod> is:

TD – radius joining curvature of land to the x-axis.SL1 – a value for <dim_C> is an error for SL1.SL2 – a value for <dim_C> is an error for SL2.

Table 4–1 Line Modification Rules

<line_mod> <dim_A> <dim_B> <dim_C>TP required required prohibitedTD required required requiredSL1 required required prohibitedSL2 required required prohibited

<NONE> prohibited prohibited prohibited

4.2.3 PAINT parameters (PAINTDESC)

The PAINTDESC keyword statement defines the fill characteristics that can be applied to a closed shape.The paint description definitions are referenced throughout the GenCAM file using a <paintdesc_ref>parameter. GenCAM supports the paint types of HOLLOW, FILL, MESH, HATCH and VOID (seeFigure 4–4). The following format for PAINTDESC includes all the options and all possible parameters.

Format:

PAINTDESC: <paintdesc_name>, <paint_type>, [<color_ref>], [<line_width>], [<pitch1>], [<angle1>],[<pitch2>], [<angle2>];

Note: <paint_type> defines the fill characteristics of the shape. For HATCH, the default <angle1> is 45 degrees. For MESH, thedefault of <angle1> is 45 degrees and for <angle2> is 135 degrees. The default pitch between the hatch lines is 4 times the<line_width>. If no color is referenced, the default color is 0, 0, 0 (black).

Page 27: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

17

Figure 4–4 Paint Designation

When combined with other primitives, the result of a FILL, HATCH, MESH, and HATCH with a VOIDare shown in Figure 4–5. For the drawings in Figure 4–5, a LINEDESC description with a solid line typehas also been referenced to provide the outline of those shapes that are painted with MESH, HATCH, orVOID.

Figure 4–5 Paint Descriptions

VOID removes the immediately previous, positive instance. A VOID overlapping a VOID only extendsthe VOID and does not remove the second positive instance.

The remaining parameters apply only to the paint types HATCH and MESH.

[<line_width>] the width of the lines used in a HATCH or MESH.[<pitch1>] the distance between the first set of lines in a HATCH or MESH.[<angle1>] the angle of a set of lines in a HATCH or a MESH. The angle is measured

relative to the x-axis of the local coordinate system.[<pitch2>] the distance between the second set of lines in a MESH. It is undefined for

HATCH.[<angle2>] the angle of the second set of lines in a MESH. The <angle2> parameter is

undefined for HATCH. The angle is measured relative to the x-axis of the localcoordinate system.

Examples:

PAINTDESC: "compfill", HATCH, "prim1"."BLACK", 0.20,0.20,45;

(Default)

Page 28: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

18

The closed shape to which it is applied will be a hatched black fill with a line width of 0.20 mm anda pitch between lines of 0.20 mm and an angle of 45 degrees.

4.2.4 Rules of Precedence

Both the LINEDESC and PAINTDESC statements have an optional <color_ref> parameter. The additionof an optional <color_ref> parameter, directly on the instance statement has the possibility of causing aconflict with the <color_ref> on a definition statement. Should this happen, the <color_ref> specified forthe more local enhancement statement (LINEDESC, PAINTDESC) overrides not only GenCAM defaultvalue, but also the <color_ref> on the definition statement Figure 4–6 shows the rules of precedence andindicates how usage textures override referenced textures included in the definition of an artwork orpattern. The <color_ref> parameter is used as an example.

Black

Blue

Green

Red

Reusable Item Texture<color_ref> = Green

Instance Texture<color_ref> = Blue

Texture Definition LevelResultant TextureAt Time of Usage

GenCAM Default

<color_ref> = Black

Layer Texture<color_ref> = Red

LAYERSINGLE:"Silkscreen_1",TOP,LEGEND,,,,,"Prim1"."Red"

GenCAM Statement

RedPrimitive Definition(No Texture Allowed)

CIRCLEDEF:"circle_1",1.000

ARTWORKDEF:"circle_1_green"

C C G ( )

ARTWORKREF:"Art1"."circle_1_green","Prim1"."Blue",(2.5,1.)

Figure 4–6 Rules of Precedence

4.2.5 Rules for Shape Descriptions

Shapes are used in many sections of the GenCAM file. They are used in the definitions of things such asconductive traces, board outlines, hole, or drawings. A shape with the same dimension, such as the drillsize of a hole, may be reused many times in different places in the GenCAM file. In recognition of this,GenCAM supports the reuse of distinct shapes through definition and reference rules.

GenCAM Simple Primitive and GenCAM Complex Primitive statements can appear in three forms. Thefirst form, Named Form, is a definition form, and can appear only in the PRIMITIVES section of theGenCAM file. The syntax of the Named Form does not support enhancement or transformation

Page 29: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

19

parameters. The other two forms are instance forms. The first of these, the Reference Form, creates aprimitive instance by referencing a previously defined, Named Form primitive. The last form, the un-named Form, creates an in-line instance definition. Unlike the Named Form, the syntax for theseReference and un-named instance forms support enhancement through reference to a named LINEDESCand/or PAINTDESC. When used, both of these instance forms are owned by a higher order statementand are provided with a locating transformation.

Named definitions of un-enhanced primitives and the shape enhancements are defined in thePRIMITIVES section where they are grouped and analyzed for completeness. Thus, a robust GenCAMfile would have all enhancement descriptors (i.e. LINEDESC, PAINTDESC) and all named primitivedescriptions (e.g. CIRCLE, OVAL), including user primitives (POLYLINE, POLYLINE), located in thePRIMITIVES section. These would then be referenced, provided with enhancement, and positioned atthe correct location (xy coordinate) at the time they are required within the other sections.

4.3 Standard Graphic Primitives

The GenCAM Standard Graphic Primitives are line and arc segments, and are located, relative to a localpoint of origin, by the x-y points of their definitions. These statements are only allowed in an un-namedform. There is no Named Form and no Reference Form.

4.3.1 Straight line (LINE)

A straight line connects two points. The characteristics and attributes necessary to fully describe how theline is to be drawn is determined by the rules of precedence for the line description and color (see Figure4–7). The following BNF describes the keyword statement used for defining a line.

Form:

LINE: <start_xy>, <end_xy>, [<linedesc_ref>], [<color_ref>];

<start_xy> ::= <xy_ref> -the starting location of the line.<end_xy> ::= <xy_ref> -the ending location to be drawn from the previous point.<linedesc_ref> ::= qualified_string -must point to a PRIMITIVES.GROUP.LINEDESC<color_ref> ::= qualified_string - must point to a PRIMITIVES.GROUP.COLOR.

A <color_ref> used here will override the color reference in the LINEDESC definition if a <color_ref>was defined in LINEDESC.

Start xy

End xy

Figure 4–7 LineExample:

LINE: (4973, 2967),(4735, 6524),"prim1"."line3","prim1"."cyan";

4.3.2 Circular arc (CIRCARC)

Curved lines can be described as a segment of a circle or an ellipse in GenCAM. Parabolic or hyperboliccurves are not supported by GenCAM. The descriptions of the two arcs are slightly different. Thesimplest is that of the circular arc (Figure 4–8); the more complex is that of the elliptical arc (Figure 4–9).

Page 30: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

20

The default CIRCARC is drawn from the start coordinate counterclockwise about center point to the endcoordinate. If the direction parameter is defined as clockwise (CLKW) the drawing direction is reversed.CIRCARCs are limited to greater than 0 degrees and up to 360 degrees of arc. The following BNFdescribes the keyword statement used for defining a circular arc.

Form:

CIRCARC: <start_xy>, <end_xy>, <center>, [<direction>], [<linedesc_ref>], [<color_ref>];

<start_xy> ::= <xy_ref> -the starting location of the line.<end_xy> ::= <xy_ref> -the ending location to be drawn from the previous point.<center> ::= <xy_ref> -the center of the arc radius<direction> ::= {CLKW | CCLKW} -counter-clockwise is the default direction.<linedesc_ref> ::= qualified_string -must point to a PRIMITIVES.GROUP.LINEDESC<color_ref> ::= qualified_string - must point to a PRIMITIVES.GROUP.COLOR.

The parameter <direction> is equal to clockwise (CLKW) or counterclockwise (CCLKW). The default iscounterclockwise. CLKW and CCLKW are GenCAM reserved words.

Figure 4–8 Circular Arc

The first parameter is the start coordinate of the arc, the second parameter is the end coordinate of the arc,and the third parameter is the center of the arc’s circle.

Examples:

CIRCARC:(1000, 0),(0, 1000),(0,0),,"prim1"."line3","prim1"."gray";

The CIRCARC is drawn from the start <start_xy> counterclockwise about the <center> to the end<end_xy>, unless the direction parameter is defined as clockwise.

4.3.3 Ellipse arc (ELLIPARC)

The ELLIPARC is drawn from the start coordinate counterclockwise about the two foci to the endcoordinate, unless the direction parameter is defined as clockwise (CLKW). The range of the arc inELLIPARC is greater than 0, up to 360 degrees of arc. The following BNF describes the keywordstatement used for defining an ellipse arc.

Form:

ELLIPARC: <start_xy>, <end_xy>, <focus1>, <focus2>,[<direction>], [<linedesc_ref>], [<color_ref>];

Page 31: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

21

<start_xy> ::= <xy_ref> -the starting location of the line.<end_xy> ::= <xy_ref> -the ending location to be drawn from the previous point.<focus1> ::= <xy_ref> -the first focus of the ellipse<focus2> ::= <xy_ref> -the second focus of the ellipse<direction> ::= {CLKW | CCLKW} -counter-clockwise is the default direction.<linedesc_ref> ::= qualified_string -must point to a PRIMITIVES.GROUP.LINEDESC<color_ref> ::= qualified_string - must point to a PRIMITIVES.GROUP.COLOR.

The parameter <direction> is equal to clockwise (CLKW) or counterclockwise (CCLKW). The default iscounterclockwise. CLKW and CCLKW are GenCAM reserved words.

The first parameter is the start coordinate of the arc, the second parameter is the end coordinate. The thirdand fourth parameters are the two foci of the ellipse.

Figure 4–9 Ellipse Arc

Examples:

All Other Sections: ELLIPARC: (0, -400), (500, 400), (-400, 0), (400, 0), CLKW,

"prim1"."line3", "prim1"."Blue";

4.4 GenCAM Simple Primitives

GenCAM Simple Primitives define several commonly used closed shapes as keyword statements. Thedefinitions are relative to an implied local coordinate system. All details of the Simple Primitives arefully explained in Section 5.4. When a primitive is used it is placed by applying a transformationdefinition (see Section 3.6).

4.4.1 Circle (CIRCLE)

A circle is defined by its diameter. It is understood that the point of origin of a circle is its center. Lineend parameters are not applicable, since a circle has no beginning and no end. Circles can have PAINTcharacteristics of FILL, SOLID, MESH or HATCH. The following BNF describes the keywordstatements used for defining and referencing a circle. The circle is illustrated in Figure 4–10.

Named Form:

CIRCLEDEF: <circle_name>, <diameter>;

Reference Form:

CIRCLEREF: <circle_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Page 32: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

22

Un-named Form:

CIRCLE: <diameter>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Figure 4–10 A CIRCLE primitive

Examples:

CIRCLEDEF: "circ2", 2.0;CIRCLEDEF: "hole2", 2.0;CIRCLEREF:"hole2","prim1"."line2",,"prim1"."white",(16.3, 18.9);CIRCLEREF:"circ2",,,,(16.3, 18.9);CIRCLE: 2.0, "prim1"."line2", , "prim1"."white", (16.3, 18.9);

Note: In the example, the CIRCLEREF "circ2" defaults to a <line_width> of 0.0 and/or <paint_type> of HOLLOW.

4.4.2 Rectangle corner (RECTCORNER)

The following BNF describes the keyword statements used for defining and referencing a rectangle that isdefined by the lower left and upper right corners of the rectangle. The rectangle in Figure 4-11 illustratesthe relationship between the corner coordinates and the rectangle.

Named Form:

RECTCORNERDEF: <rectcorner_name>, <p1>, <p2>;

Reference Form:

RECTCORNERREF: <rectcorner_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>],<place>;

Un-named Form:

RECTCORNER: <p1>, <p2>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Note: The transform <place> is relative to the point of origin of the RECTCORNER.

Page 33: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

23

Figure 4–11 A RECTCORNER Rectangle

The point of origin of a RECTCORNER rectangle is (0, 0). This is can be coincident with <p1>, thelower left corner of the rectangle, but there is no requirement for <p1> to be at (0,0). The rectangle isdefined with edges parallel to the x-axis and y-axis relative to the local coordinate system. Rotation isabout the point of origin, not about <p1> or <p1>.

Examples:

RECTCORNERDEF: "rect6", (1240, 3370), (4535,2355);RECTCORNERREF: "rect6", "prim1"."line2",,,(0,0);RECTCORNER: (0, 0), (2240, 3350), "prim1"."line2",,,(0, 0), 30.0;

4.4.3 Rectangle Center (RECTCENTER)

All other rectangles are located by their center point; this is the point of origin. For the purpose ofrotation, rectangles are always described with their edges parallel to the x-axis and y-axis relative to thelocal coordinate system. There are four corner types. The corner types include rectangles with squarecorners (identified as simple primitives), rectangles with the chamfered corner, rectangles with a roundedcorner, and rectangles where the entire corner is a radius equal to half of the height of the rectangle(identified as complex primitives).

A RECTCENTER rectangle is a simple primitive rectangle that is defined by a width and a height withthe center of the rectangle being centered on both the height and width dimensions. The center of theRECTCENTER rectangle is its point of origin. The rectangle in Figure 4–12 illustrates the relationshipbetween the origin and the dimensions of the rectangle. The following BNF describes the keywordstatements used for defining and referencing a RECTCENTER rectangle:

Named Form:

RECTCENTERDEF: <rectcenter_name>, <x_dimension>, <y_dimension>;

Reference Form:

RECTCENTERREF: <rectcenter_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>],<place>;

Un-named Form:

RECTCENTER: <x_dimension>, <y_dimension>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

Page 34: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

24

Figure 4–12 A RECTCENTER Rectangle

Examples:

RECTCENTERDEF: "rect3", 1.6, 2.8;RECTCENTERREF: "3x4", , "prim1"."FillViolet", , (4.3550, 3.6550);RECTCENTER: 1.6, 2.8, "prim1"."line12", "prim1"."Hatch90",

"prim1"."Gray", (4.35, 3.65);

4.5 GenCAM Complex Primitives

GenCAM Complex Primitives define several commonly used closed shapes as keyword statements. Thepoint of origin of a complex primitive is the center. These closed shapes are not as universally recognizedshapes as simple primitives, but they are commonly used throughout the electronics design andmanufacturing industry. The definitions of complex shapes are relative to an implied local coordinatesystem. All details of the Complex Primitives are fully explained in section 5.4. When a shape is used it isplaced by applying a transformation definition (see Section 3.7).

4.5.1 Rectangle, Chamfered Corners (RECTCHAM)

A RECTCHAM rectangle has chamfered corners. An example is illustrated in Figure 4–13. Thefollowing BNF describes the keyword statements used for defining and referencing a RECTCHAMrectangle:

Named Form:

RECTCHAMDEF: <rectcham_name>, <width>, <height>, <chamfer>;

Reference Form:

RECTCHAMREF: <rectcham_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>],<place>;

Un-named Form:

RECTCHAM: <width>, <height>, <chamfer>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

Page 35: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

25

Figure 4–13 Chamfered Rectangular Primitive

The chamfer size is the length of one leg of the chamfer. The chamfer is 45°. The center of the rectangleis the point of origin.

4.5.2 Rectangle, Round Corners (RECTROUND)

A RECTROUND rectangle is a rectangle with a radius at each corner. An example is illustrated in Figure4–14. The following BNF describes the keyword statements used for defining and referencing aRECTROUND rectangle:

Named Form:

RECTROUNDDEF: <rectround_name>, <width>, <height>, <radius>;

Reference Form:

RECTROUNDREF: <rectround_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>],<place>;

Un-named Form:

RECTROUND: <width>, <height>, <radius>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

Figure 4–14 Rounded Rectangular Primitive

Page 36: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

26

The rounded rectangle is defined in the horizontal position. The center of the rounded rectangle is itspoint of origin.

4.5.3 Rectangle, Rounded Ends (OVAL)

OVAL is a rectangle that has a complete radius at each end. An example is illustrated in Figure 4–15.The following BNF describes the keyword statements used for defining and referencing a OVAL:

Named Form:

OVALDEF: <oval_name>, <width>, <height>;

Reference Form:

OVALREF: <oval_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Un-named Form:

OVAL: <width>, <height>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Figure 4–15 Oval Rectangular Primitive

For the OVAL, the radius is always equal to ½ the height. The OVAL is defined in its horizontalposition. The center of the OVAL is its point of origin

4.5.4 Rectangle, One-Sided (DSHAPE)

DSHAPE rectangles are similar to the other rectangle shapes except that the corner definition is only onone end. The <end_shape> attribute indicates the type of corner that is used for a DSHAPE. Examples ofDSHAPE rectangles are illustrated in Figure 4–16. The following BNF describes the keyword statementsused for defining and referencing a DSHAPE rectangle:

Named Form:

DSHAPEDEF: <dshape_name>, <end_shape>, <width>, <height>, [<corner>]};

Reference Form:

DSHAPEREF: <dshape_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Page 37: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

27

Un-named Form:

DSHAPE: <end_shape>, <width>, <height>, [<corner>],[<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

The <end_shape> parameter is one of "ROUND", "FILLET", or "CHAMFER". The fillet, round, orchamfer end apply to the rectangle end intersected by the positive y-axis. (The top, or north end of therectangle.) Other orientation are created by using the rotation parameter of a transform when placing theDSHAPE rectangle. The corner definition for a round DSHAPE rectangle is ½ W. The rules for the<end_shape> fixed-field parameters are:

<end_shape> ::= {ROUND | FILLET | CHAMFER}

<end_shape> defines which type of modification will be made to the top of the rectangle. Ifthe <end_shape> is:

ROUND: trim back the top of the rectangle to be a semicircle witha radius equal to ½ the width of the rectangle.

FILLET: a radius is cut on the top corners of the rectangle.CHAMFER: the top two corners are clipped at a 45 degree angle.

Figure 4–16 D-Shaped Rectangle Primitives – Round, Fillet, Chamfer

{<corner>} the meaning if the <end_shape> is:FILLET: the radius to be trimmed from the top corners of the

rectangle. If the radius is greater than ½ the heightor ½ the width then the definition is undefined

CHAMFER: the length along the width and height of each cornerbetween which the rectangle is to be clipped. If thevalue of chamfer is greater than ½ the height or ½ thewidth then the definition is undefined.

4.5.5 Rectangle, Rotated (DIAMOND)

The length of the sides of a diamond are always equal. An example of the diamond is illustrated in Figure4–17. The diamond is specified by a height and a width dimension. The first line defining the outline ofthe diamond is drawn between the point that is ½ the height dimension along the positive y-axis and thepoint that is ½ the width dimension along the x-axis. The same process is used to draw the other threelines of the diamond in each of the remaining quadrants. The following BNF describe the keywordstatements used for defining and referencing for the complex primitive diamond.

Named Form:

DIAMONDDEF: <diamond_name>, <width>, <height>;

Page 38: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

28

Reference Form:

DIAMONDREF: <diamond_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Un-named Form:

DIAMOND: <width>, <height>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Figure 4–17 Diamond Primitive

4.5.6 HEXAGON

A hexagons is a six-sided shape with each of the sides being equal in length and with all angles betweenadjacent sides also being equal. The only dimension specified is the distance between points on theopposite side of the hexagon. The hexagon is defined with two of the points positioned on the x-axis withthe origin at the center of the hexagon. The hexagon is illustrated in Figure 4–18. The following BNFdescribes the keyword statements used for defining and referencing a hexagon shape:

Named Form:

HEXAGONDEF: <hexagon_name>, <point_to_point>;

Reference Form:

HEXAGONREF: <hexagon_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Un-named Form:

HEXAGON: <point_to_point>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Figure 4–18 Hexagon Primitive

Page 39: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

29

4.5.7 OCTAGON

An octagon is an eight-sided shape with each of the sides being equal in length and with all anglesbetween adjacent sides also being equal. The only dimension specified is the distance between points onthe opposite side of the octagon. The octagon is defined with two of the points positioned on the x-axiswith the origin at the center of the octagon. The octagon is illustrated in Figure 4–19. The following BNFdescribes the keyword statements used for defining and referencing a octagon shape:

Named Form:

OCTAGONDEF: <octagon_name>, <point_to_point>;

Reference Form:

OCTAGONREF: <octagon_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Un-named Form:

OCTAGON: <point_to_point>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Figure 4–19 Octagon Primitive

4.5.8 DONUTS

Donuts are composed of two concentric shapes that are square, round, hexagonal, or octagonal. ThePAINTDESC that is applicable to the shape it is only applied to the region between the inner and outershapes. The center of a DONUT is the point of origin of the primitive. Examples of DONUT shapes areillustrated in Figures 4–20 through 4–23. The following BNF describes the keyword statements used fordefining and referencing a DONUT:

Named Form:

DONUTDEF: <donut_name>, <donut_shape>, <outer_diameter>, <inner_diameter>;

Reference Form:

DONUTREF: <donut_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Un-named Form:

DONUT: <donut_shape>, <outer_diameter>, <inner_diameter>, [<linedesc_ref>],[<paintdesc_ref>], [<color_ref>], <place>;

Page 40: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

30

The <donut_shape>, fixed-field parameters are:<donut_shape> ::= {ROUND | SQUARE | HEXAGON | OCTAGON}

A typical example of a donut would be:

Named Form:

DONUTDEF: "land12", ROUND, (12.5, 12.0);

Reference Form:

DONUTREF: "land12", (1200, 2400);

Un-named Form:

DONUT: ROUND, 12.5, 12.0, 0, , , , (1200, 2400);

Figure 4–20 Round DONUT Primitive

Figure 4–21 Square DONUT Primitive

Page 41: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

31

Figure 4–22 Hexagon DONUT Primitive

Figure 4–23 Octagonal DONUT Primitive

4.5.9 THERMALS

Thermals are negative image (VOID) shapes that may be square, round or octagonal and have varyingnumbers of spokes. Examples of thermal shapes are illustrated in Figures 4–24, 4–25, and 4–26. Seesection 5.4.19 for details on THERMAL definitions.

There are no LINEDESC or PAINTDESC for thermals. The default condition of thermals is to removematerial from a plane or conductive filled area representation. This is the same as a PAINTDESC ofVOID. For example, a ROUND thermal primitive with four spokes would have four separate areas ofmaterial removed in a plane.

The following BNF describe the keyword statements used for defining and referencing a thermal:

Named Form:

THERMALDEF: <thermal_name>, <therm_shape>, <outer_diameter>, <inner_diameter>,[<spoke_count>], [<spoke_width>], [<spoke_start_angle>],[<spoke_end_shape>];

The <therm_shape>, fixed-field parameters are:<therm_shape> ::= {ROUND | SQUARE | OCTAGON}

One of these is required for each thermal defined. In addition, the <spoke_end_shape> also has threefixed-field parameters. They are:<spoke_end_shape> ::= {ROUND | SQUARE | PARALLEL}

Page 42: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

32

The default conditions for the optional parameters of thermals are:<spoke_count> ::= 0<spoke_width> ::= the <inner_diameter> subtracted from the <outer_diameter><spoke_start_angle> ::= 45 Degrees counterclockwise from the x-axis<spoke_end_shape> ::= SQUARE

The parameters <spoke_width>, <spoke_start_angle> and<spoke_end_shape> are required unless the spoke count is zero.

If the <spoke_count> is not defined (zero), the other three optional parameters do not apply, and wouldrepresent a donut shaped thermal (see Figures 4–20 to 4–23).

Figure 4–24 Square THERMAL Primitive

Figure 4–25 Round THERMAL Primitive

Page 43: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

33

Figure 4–26 Octagonal THERMAL Primitive

The examples shown in Figures 4–24 through 4–26 illustrate standard thermal primitive definitions.Many thermal primitive configurations can be generated using different spoke numbers and end types.The center of a thermal is the point of origin of the primitive.

A spokeless thermal can be used for non-functional lands on an interlayer plane, where the land is notconnected to the plane. GenCAM defines these using the THERMAL statement with a spoke count ofzero. These thermals may be either round, square, or octagon shaped and is illustrated in Figures 4–27, 4–28, and 4–29.

Figure 4–27 Round Spokeless THERMAL

A typical example of a spokeless thermal would be:

$PRIMITIVES GROUP:"prim4"; THERMALDEF: "land12", ROUND, 12.5, 12.0;$ENDPRIMITIVES

Page 44: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

34

Figure 4–28 Square Spokeless THERMAL

Figure 4–29 Octagonal Spokeless THERMAL

4.6 GenCAM User-Defined Primitives

User primitives include keyword statements for defining or drawing polylines and polygons. All details ofthe User-Defined Primitives are fully explained in section 5.4.

4.6.1 POLYLINE

A polyline is defined by connecting a sequence of points using either straight or curved line segments. Allpoints are defined relative to a local point of origin. All of the enhancements for line segments areapplicable to this defined primitive. The following BNF describes the keyword statements used fordefining and referencing a polyline:

Named Form:

POLYLINEDEF: <polyline_name>;:> STARTAT: <start_xy>;

1{LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>, [<direction>];

<: }n

Page 45: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

35

Reference form:

POLYLINEREF: <polyline_ref>, [<linedesc_ref>], [<color_ref>], <place>;

Un-named Form:

POLYLINE: [<linedesc_ref>], [<color_ref>];:> STARTAT: <start_xy>;

1{LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>,

[<direction>];<: }n

The remainder of the document will use <polyline_builder> as a token to indicate that a polyline isexpected. The following BNF describes the keyword statements represented by a <polyline_builder>token:

<polyline_builder> ::= {POLYLINEREF: <polyline_ref>, [<linedesc_ref>] , [<color_ref>], <place>;| POLYLINE: [<linedesc_ref>], [<color_ref>];:> STARTAT: <start_xy>;

1{LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>,

[<direction>];<: }n

}

Parent textures have precedence over child texture parameters. For example, any <color_ref> parameteron a LINE, CIRCARC or ELLIPARC statement within the POLYLINE definition will be over-ridden byany <color_ref> parameter on the POLYLINE statement. This is also true of the parameters in<linedesc_ref> . For example, if the LINEDESC that is referenced in the POLYLINE statement describesa SOLID line, and a LINE statement in the POLYLINE definition references a LINEDESC that describesa DOTTED line, then that line segment of the POLYLINE will be SOLID. (See Figure 4–6).

Examples:

$PRIMITIVES GROUP:"prim4"; POLYLINEDEF:"aLineExample"; STARTAT:(15.0,12.0); LINETO: (22.0,12.0); LINETO: (22.0,2.0); LINETO: (30.0,2.0); LINEDESC: "lineDescExample", 3, , "prim1"."BLACK", SOLID;$ENDPRIMITIVES$ARTWORKS GROUP:"art2"; ARTWORKDEF:"artworkExample"; POLYLINE:"prim4"."lineDescExample"; STARTAT:(15.0,12.0); LINETO:(22.0,12.0);

Page 46: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

36

LINETO:(22.0,2.0); LINETO:(30.0,2.0); POLYLINEREF:"prim4"."aLineExample","prim4"."lineDescExample",,(2,2.0);$ENDARTWORKS

Figure 4–30 Three segment line description

4.6.2 POLYGON

A Polygon is a closed shape that is defined by continuous line segments that do not cross. The linesegments can be either straight or curved. All of the parameters for line segments and paint are applicableto this defined primitive. The final coordinate of the polygon is the starting coordinate. There is noautomatic closing performed. The ENDLINE, ENDCIRCARC, and ENDELLIPARC statements drawthe closing line segment to the <start_xy> parameter of the STARTAT statement. The points used in linesegments of a polygon are defined relative to a local point of origin.

Polygons may define the absence or presence of material. Figure 4-31 shows the characteristics for twopolygons that have different paintdesc characteristics.

The following BNF describe the keyword statements used for defining and referencing a polygon:

Named Form:

POLYGONDEF: <polygon_name>;:> STARTAT: <start_xy>;

1{LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>, [<direction>];

}n{ ENDLINE: ;

| ENDCIRCARC: <center>, [<direction>];| ENDELLIPARC: <focus1>, <focus2>, [<direction>];

<: }

Reference Form:

POLYGONREF: <polygon_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

Un-named Form:

POLYGON: [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>];:> STARTAT: <start_xy>;

1{LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>,

[<direction>]; }n

Page 47: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

37

{ ENDLINE: ;| ENDCIRCARC: <center>, [<direction>];| ENDELLIPARC: <focus1>, <focus2>, [<direction>];

<: }

The remainder of the document will use the <polygon_builder> as a token to indicate that a polygon isexpected. The following BNF describes the keyword statements represented by a <polygon_builder>token:

<polygon_builder> ::= {POLYGONREF: <polygon_ref>, [<linedesc_ref>], [<paintdesc_ref>],

[<color_ref>], <place>;| POLYGON: [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>];

:> STARTAT: <start_xy>;1{

LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>,

[<direction>]; }n{ ENDLINE:;

| ENDCIRCARC: <center>, [<direction>];| ENDELLIPARC: <focus1>, <focus2>, [<direction>];

<: } }

Examples:

$PRIMITIVES GROUP:"prim4"; POLYGONDEF: "heatsinkvoid"; STARTAT:(2, -3); LINETO:(4, -3); LINETO:(4, -5); CIRCARCTO:(2, -5), (3, -5), CLKW; ENDLINE:;$ENDPRIMITIVES

$ARTWORKS GROUP:"art2"; ARTWORKDEF:"artworkExample2"; POLYGON:"prim4"."lineDescExample"; STARTAT:(0,0); LINETO:(5,0); LINETO:(5,-1); LINETO:(8,-1); LINETO:(8,-6); LINETO:(1.5,-6); CIRCARCTO:(0,-4.5),(1.5,-4.5),CLKW; ENDLINE:; POLYGONREF: "prim4"."heatsinkvoid", "prim4"."lineDescExample",

"prim4"."voided",,(2,2);$ENDARTWORKS

Page 48: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

38

Figure 4–31 Example polygon used to define solder mask layer

In Figure 4-33 the void polygon must be defined immediately after the solid polygon. Polygon definitionsmay be invoked by identifying their characteristics including the location, coordinate, and a rotationangle. The primitive name is used as the reference.

4.7 Description of Artworks (ARTWORKS)

Reusable complex shapes can be defined in the ARTWORKS section. These enhanced shapes are namedand the names are used to reference the shapes for reuse. An artwork can be assembled from primitivesby referencing previously defined artworks. The primitives and referenced artworks are located in theartwork relative to a local point of origin. See section 5.5 for details of Artwork descriptions.

The ARTWORKS section includes definitions of special purpose shapes and collections of shapesthrough the statements FEATUREDEF, TARGETDEF, FONT, UFONT, LOGODEF, ARTWORKDEFand TARGET.

4.7.1 Artworks collections (closed shapes and shape builders)

There are some collections of keyword statements for defining shapes that are reused frequentlythroughout this document. A special token notation is used as a shorthand notation when any of thestatements from these collections of statements are allowed within the file. This section defines thespecial artwork collections for building these shapes.

4.7.1.1 Closed shape

The term <closed_shape> is a token to indicate that one of the closed shape keyword statements isexpected. The statement will be drawn relative to the point of origin of the parent keyword statement.This feature is used in the definition of keyword statements such as WELL, KEEPOUT, and OUTLINE.The following BNF describes the keyword statements represented by a <closed_shape> token:

<closed_shape> ::= {CIRCLE: <diameter>, [<linedesc_ref>], [<paintdesc_ref>],

[<color_ref>], <place>;

| CIRCLEREF: <circle_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| RECTCENTER: <x_dimension>, <y_dimension>, [<linedesc_ref>],[<paintdesc_ref>], [<color_ref>], <place>;

| RECTCENTERREF: <rectcenter_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

Page 49: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

39

| RECTCHAM: <width>, <height>, <chamfer>, [<linedesc_ref>],[<paintdesc_ref>], [<color_ref>], <place>;

| RECTCHAMREF: <rectcham_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| RECTROUND: <width>, <height>, <radius>, [<linedesc_ref>],[<paintdesc_ref>], [<color_ref>], <place>;

| RECTROUNDREF: <rectround_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| OVAL: <width>, <height>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>],<place>;

| OVALREF: <oval_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| DIAMOND: <width>, <height>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| DIAMONDREF: <diamond_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| HEXAGON: <point_to_point>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| HEXAGONREF: <hexagon_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| OCTAGON: <point_to_point>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| OCTAGONREF: <octagon_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| <polygon_builder>}

4.7.1.2 Shape builder

The term <shape_builder> is a token to indicate that one or more keyword statements are expected. Thesestatements will construct a shape that is to be drawn relative to the point of origin of the parent keywordstatement. This feature is used in the definition of keyword statements such as ARTWORK, LOGO, andTARGET. The following BNF describes the keyword statements used for defining a <shape_builder>:

<shape_builder> ::= {LINE: <start_xy>, <end_xy>, [<linedesc_ref>], [<color_ref>];

| CIRCARC: <start_xy>, <end_xy>, <center>, [<direction>],[<linedesc_ref>], [<color_ref>];

Page 50: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

40

| ELLIPARC: <start_xy>, <end_xy>, <focus1>, <focus2>, [<direction>],[<linedesc_ref>], [<color_ref>];

| RECTCORNER: <p1>, <p2>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| RECTCORNERREF: <rectcorner_ref>, [<linedesc_ref>],[<paintdesc_ref>], [<color_ref>], <place>;

| DSHAPE: <end_shape>, <width>, <height>, [<corner>],[<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

| DSHAPEREF: <dshape_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| DONUTREF: <donut_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| DONUT: <donut_shape>, <outer_diameter>, <inner_diameter>,[<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

| <closed_shape>| <polyline_builder>}n

4.7.2 TARGETS

Targets are used in printed board descriptions as different patterns to assist in registration of layers toeach other, alignment of boards/panels to tooling positions, and to mark significant information on thepart, drawing, board, panel or assembly. The following BNF describes the keyword statements used fordefining and referencing a target:

Named Forms:

TARGET: <target_name>, <target_function>, <artwork_ref>, [<color_ref>];

TARGETDEF: <target_name>, <target_function>, [<color_ref>];:> {

<shape_builder><: }

Reference Form:

TARGETREF: <target_ref>, [<layers_ref>], [<color_ref>], <place>;

TARGETREF: <target_ref>, [<layers_ref>], [<color_ref>], <position>;

The function of a target is one of:

<function> ::= {ALIGNMENT | REGISTRATION | MARKER}

Page 51: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

41

4.7.2.1 ALIGNMENT (Fiducials)

Fiducials are solid, typically round images defined by a diameter (see Figure 4–32). GenCAM uses theTARGET statement with the reserved word ALIGNMENT for these uses.

Figure 4–32 Fiducial Artwork

Note: The center of the fiducial is the point of origin.

Example:

$ARTWORKS GROUP:"art2"; TARGETDEF: "fiducial1", ALIGNMENT, "prim1"."BLACK"; CIRCLE: 2.0 ,,"prim4"."filled",,(0,0);$ENDARTWORKS

A butterfly target is useful as an alignment feature in phototool imaging. (See Figure 4–33) GenCAMuses the TARGET statement and the reserved word ALIGNMENT for this. The butterfly target is definedas:

$ARTWORKS GROUP:"art2"; TARGET: "butterfly3", ALIGNMENT, "art2"."artworkExample2",

"prim1"."BLACK";$ENDARTWORKS

Figure 4–33 Butterfly Artwork

Note: The point where the two equilateral triangles touch is the point of origin. The butterfly artwork is defined in the horizontalposition.

Page 52: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

42

4.7.2.2 REGISTRATION (Moiré)

Moiré patterns are used to register images related to phototools. These are therefore used as targets thatallow the registration of one layer to another. Figure 4–34 shows a typical Moiré. GenCAM uses theTARGET statement and the reserved word REGISTRATION for this use.

The Moiré pattern in Figure 4–34 would be coded as follows:

Example:

$ARTWORKS GROUP:"art2"; ARTWORKDEF: "moireart3"; CIRCLE: 4.5, "prim4"."lineDescExample",,, (0,0); CIRCLE: 4.0, "prim4"."lineDescExample",,, (0,0); CIRCLE: 3.5, "prim4"."lineDescExample",,, (0,0); CIRCLE: 3.0, "prim4"."lineDescExample",,, (0,0); CIRCLE: 2.5, "prim4"."lineDescExample",,, (0,0); CIRCLE: 2.0, "prim4"."lineDescExample",,, (0,0); TARGET: "moire1",REGISTRATION,"art2"."moireart3";$ENDARTWORKS

Figure 4-34 Moiré ARTWORK

Note: In this example all circles have a (0,0) transform, therefore, the center of the Moiré pattern is at the point of origin.

4.7.2.3 MARKER (Bullseye)

The bullseye may also be used as a marker in many applications. (See Figure 4–35) GenCAM uses theTARGET statement and the reserved word MARKER for this use.

Example:

$ARTWORKS GROUP:"art2"; TARGETDEF: "bullseye",REGISTRATION; CIRCLE: 4.5,,"prim4"."filled","prim1"."BLACK", (0,0); CIRCLE: 4.0,,"prim4"."voided",, (0,0); CIRCLE: 1.5,,"prim4"."filled","prim1"."BLACK", (0,0);$ENDARTWORKS

Page 53: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

43

Dotdiameter Inner

diameter

Outerdiameter

Figure 4–35 Bullseye ARTWORK

Note: The center of the bullseye is the point of origin. It is described as an ARTWORK with a center circle filled, and aDONUT around it.

4.7.3 FEATURE

A variety of features exist that are used in printed boards, printed board drawings, and printed boardassembly. Some of these relate to the characteristic for defining polarity of electronic components. Thefollowing BNF describe the keyword statements used for defining and referencing features:

Named Form:

FEATUREDEF: <feature_name>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>];:> {

<shape_builder><: }

Reference Form:

FEATUREREF: <feature_ref>, [<layers_ref>], [<color_ref>], <place>;

4.7.3.1 FEATURE (Plus-sign)

The following example defines a feature in the shape of a plus-sign by drawing a single polygon thattraces the perimeter of the plus-sign shape:

$ARTWORKS GROUP:"art2"; FEATUREDEF: "plus_sign1", , "prim4"."filled", "prim1"."BLACK"; POLYGON:; STARTAT:(-1, -4); LINETO:(-1, -1); LINETO:(-4, -1); LINETO:(-4, 1); LINETO:(-1, 1); LINETO:(-1, 4); LINETO:(1, 4);

Page 54: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

44

LINETO:(1, 1); LINETO:(4, 1); LINETO:(4, -1); LINETO:(1, -1); LINETO:(1, -4); ENDLINE:;$ENDARTWORKS

Figure 4-36 Crosshair Artwork Feature

Note: The center of the crosshair is defined at the point of origin.

The crosshair could also be defined in ARTWORKS as two rectangles sharing a common center. In thefollowing example for Figure 4-36, the FEATUREDEF name (plus_sign2) identifies the two rectangles(RECTCENTER) one in the horizontal plane, the other in the vertical plane.

$ARTWORKS GROUP:"art2"; FEATUREDEF: "plus_sign2", , "prim4"."filled", "prim1"."BLACK"; RECTCENTER: 2, 4, , , , (0,0); RECTCENTER: 4, 2, , , , (0,0);ENDARTWORKS$

4.7.3.2 FEATURE (Diode)

This example is a feature in the shape of a diode symbol. The shape is constructed by drawing a trianglewith the apex of the triangle touching the center of a vertical line as shown in Figure 4–37.

$ARTWORKS GROUP:"art2"; FEATUREDEF: "diode7", , "prim4"."filled", "prim1"."BLACK"; POLYGON:; STARTAT: (0, 0); LINETO: (4, 2); LINETO: (4, -2); ENDLINE:; RECTCENTER:1,4 , , , , (0, -0.5);$ENDARTWORKS

Page 55: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

45

Figure 4–37 Diode Artwork Feature

Figure 4–38 shows the shape constructions that are supported by GenCAM, and their relationships toeach other.

Figure 4–38 Shape Construction

4.7.4 Text parameters (TEXT)

All text is contained in a text box. The text box is defined by the lower x and y coordinate (<p1>) and theupper x and y (<p2>) coordinate. All portions of the text, including the line width of the strokes of thetext must completely fit within the text box. Any portion of a character exceeding the perimeter of the

Page 56: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

46

text box will be clipped at the boundaries of the text box. The default font for GenCAM is Helvetica. Thefollowing BNF describes the keyword statement used for defining text:

<text> ::= TEXT: <text_string>, <p1>, <p2>, [<font_ref>], [<color_ref>], <place>;

or when a layer must be specified for the text:

TEXT: <text_string>, <p1>, <p2>, [<font_ref>], <layers_ref>,[<color_ref>], <place>;

The parameters of TEXT are defined as follows:

<text_string> the text string to be rendered.<p1> the lower left-hand coordinate, <xy_ref>, of the text clipping rectangle.<p2> the upper right-hand coordinate, <xy_ref>, of the text clipping rectangle.[<font_ref>] reference to an ARTWORKS.GROUP.UFONT.<font_name> used to render the

text or to an ARTWORKS.GROUP.FONT.<font_name> used to render the text.The default is Helvetica. If the <font_ref> matches the name of a UFONT<font_name>, then the <text string> will be rendered using the GLYPHcharacters defined by that UFONT. The <font_ref> can also reference a Type1True-Type TM or Open-Type TM font specified by a FONT.

[<color_ref>] (See <color_ref> in 5.4.2.)<place> the transform applied to the text box before it is drawn. The transform is relative

to the origin of the parent statement. The transform is relative to the origin of thetext box, not relative to the <p1> location.

All text should be defined in such a manner as to be enclosed in the textbox. This includes upper andlower case letters, as well as all line widths, line descriptions, and line ends (see Figure 4-39). Fontclipping will be expected at the edge of the text box because a <font_ref> to a font name will notnecessarily reference identical fonts from system to system.

Figure 4–39 Text box to round end character relationships

4.7.4.1 Text transformations

Text character dimensions are constrained by the text box as illustrated in Figure 4–40. Character heightis expressed in incremental units of the dimensional characteristics of the file, through the limits (xycoordinates) of the text box. Both upper and lower case letters must be inside the text box. Included inthis requirement are the extensions of such descending letters as lower case "g", "q", "y", "j" and "p".

Page 57: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

47

Figure 4–40 Text transformation examples

$ARTWORKS GROUP:"art2"; ARTWORKDEF: "textExample"; TEXT: "ABC", (0, 0), (8, 4), , "prim1"."BLACK", (12.0, 6.3);$ENDARTWORKS

The text box is rotated 30° about the lower xy coordinate.

Figure 4–41 Rotation Angle

4.7.5 User-defined character sets (UFONT)

User defined text requires that each character is decided by the user. User defined character sets aredefined in the ARTWORKS section of the GenCAM file using the UFONT statement keyword. TheUFONT name identifies the collection of letters or symbols established by the user.

The same rules for user fonts apply that can be interpreted to fit within a text box. The major difference isthat since UFONT is one character at a time, the entire font is described using a character code for eachsymbol established as a GLYPH. The GLYPH character code, therefore, identifies the symbol or lettershape.

4.7.5.1 Character definition (GLYPH)

When a user defines a font, font style, or symbols, the font is defined one character at a time. Standardgraphic primitives are used to describe the information and are indented to show relationship with variousGLYPH characteristics. The following BNF describes the keyword statements used for defining characterset data:

Page 58: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

48

<user_font> ::= UFONT: <font_name>;:> 1{

GLYPH: <char_code>, <p1>, <p2>;:> {

<shape_builder><: }<: }n

<p1> ::= <xy_ref> - p1 and p2 define the bounding box of the glyph <p2> ::= <xy_ref> <char_code> ::= p_integer

The characteristics of all symbols continue with an indenture showing the type of lines, circular arcs, andellipses used to make these various characteristics.

4.7.6 LOGOS

Logos are user-defined artworks that are to be used when incorporating a company logo or certificationsymbol into a drawing or printed board design. Some examples are shown in Figure 4–42:

AInterconnection Technology Research Institute

Figure 4–42 Examples of Logos

The following BNF describes the keyword statements used for defining and referencing a logo:

Named Form:

LOGODEF: <logo_name>, [<color_ref>];:> 1{

<shape_builder>| TEXT: <text_string>, <p1>, <p2>, [<font_ref>], [<color_ref>],

<place>;<: }n

Reference Forms:

LOGOREF: <logo_ref>, [<color_ref>], <xform>; LOGOREF: <instance_name>, <logo_ref>, <layers_ref>, [<color_ref>], <xform>;

Note: All graphics in a logo definition are relative to a local point of origin for the logo

4.8 PATTERNS

GenCAM supports the definition of collections of pads and holes (padstacks) in a PATTERN. APATTERN is referenced by a components and associates the land pattern of the component with a devicethat is placed at the component location. The pin numbers are used to map the association of physical andlogical characteristics. The pattern padstacks can be used for through-hole or surface mount componentshapes. When developing a pattern, the pin identification of the device that will be placed on the pattern

Page 59: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

49

must match the pin assignment of the pad in a pattern. The definition of a component creates theassociation between the device and the pattern.

The patterns section also defines symbols. Symbols are used to create intelligent schematic diagrams.The electronic circuitry of a schematic is captured by placing symbols in a schematic drawing andassociating the symbol with the corresponding component of a board or panel. When more than oneinstance of a logic functional element is contained within an IC, the GenCAM file must maintaincorrelation between the symbol pin identification and the component device pin identification.

4.8.1 PATTERN (Component Mounting)

User-defined component mounting patterns can include multiple images, using multiple standardpadstacks. Other features taken from primitives or artworks (pin1 id, component orientation, etc.) mayalso be a part of the pattern although its primary purpose is to correlate component pins to mountingfeatures. All child statements of a pattern definition are placed relative to the point of origin of thepattern. The point of origin of the device and the pattern are coordinated at the time they are referencedin the component section. The following BNF describes the keyword statements used for defining andreferencing a pattern:

Named Form:

PATTERNDEF: <pattern_name>, [<color_ref>];:> 1{

PADSTACKREF: <padstack_ref>, <pattern_pin_name>, <place>;

| TARGETREF: <target_ref>, [<layers_ref>], [<color_ref>], <place>;

| FEATUREREF: <feature_ref>, [<layers_ref>], [<color_ref>], <place>;

| ARTWORKREF: <artwork_ref>, [<layers_ref>], [<color_ref>], <xform>;

| ARTWORK: [<layers_ref>], [<color_ref>], <position>;:> {

<shape_builder><: }

| TEXT: <text_string>, <p1>, <p2>, [<font_ref>], [<layers_ref>], [<color_ref>], <place>;

| HOLEREF: <hole_ref>, <position>;<: }n

Reference Form:

PATTERNREF: <pattern_ref,> [<position>];

PATTERNS are used instead of ARTWORKS to define those images that are associated with pins of thecomponent and the device placed on the board.

Land patterns are special user-defined patterns made up of land shapes mostly used for surface mounting.The PATTERN may be generic in that they reference an ARTWORK, however in most instances patternsused for component mounting should use a PADSTACK definition. When the PADSTACK isreferenced, a pin is also assigned. The <pattern_pin_ref> in the PACKAGE section of the GenCAM filemust match its associated <pattern_pin_name> in the PATTERN section. Some examples of user definedland patterns is shown in Figure 4-43 through 4-45.

Page 60: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

50

$PRIMITIVES GROUP:"prim1"; COLOR:"WHITE",255,255,255; COLOR:"BLACK", 0, 0, 0; LINEDESC:"CourtOutline",0.40,ROUND,"prim1"."WHITE",DASHED,0.75,1.0; PAINTDESC:"LandFill",FILL,"prim1"."WHITE"; PROFILEDESC:"LandTol",0.1,0.0; GROUP:"prim2"; RECTCORNERDEF:"200courtyard",(0,0),(6.00,3.00); RECTCENTERDEF:"200melf",1.40,1.80;$ENDPRIMITIVES

$ARTWORKS GROUP:"art1"; ARTWORKDEF:"melfmll34courtyard"; RECTCORNERREF:"prim2"."200courtyard", "prim1"."CourtOutline",,,(-3.0,-1.5);$ENDARTWORKS

$LAYERS GROUP:"lay1"; LAYERSINGLE:"PADLAYER_TOP",TOP,PIN ; LAYERSINGLE:"OUTLINE_TOP",TOP,LEGEND ; LAYERSINGLE:"COURTYARD_TOP",TOP,COURTYARD;$ENDLAYERS

$PADSTACKS GROUP:"pad1"; PADSTACK:"200melfstd"; PAD:"lay1"."PADLAYER_TOP","prim2"."200melf",,"prim1"."LandFill",

"prim1"."LandTol",,(0,0);$ENDPADSTACKS

$PATTERNS GROUP:"pat1"; PATTERNDEF:"mll34melfstd"; PADSTACKREF:"pad1"."200melfstd","Pin1",(-1.70,0.0); PADSTACKREF:"pad1"."200melfstd","Pin2",(1.70,0.0); ARTWORKREF:"art1"."melfmll34courtyard","lay1"."COURTYARD_TOP",, (0.0,0.0);$ENDPATTERNS

Figure 4–43 Example of MELF Pattern

Page 61: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

51

Figure 4–44 Example of SOIC Pattern

Figure 4–45 Example of Quad Flat pack

4.8.2 SYMBOL (Schematic or Logic)

Schematic or logic symbols are special user-defined patterns. They are used to describe the informationfor the characteristics of an electronic symbol intended to have a relationship to the package or the devicecontaining the electronic elements. These symbols are most useful in attempting to take the samemethodology used to draw the symbol in DRAWINGS, and correlate it to the manner in which the logicelements are contained within a package. The following BNF describes the keyword statements used fordefining and referencing a symbol:

Named Form:

SYMBOLDEF: <symbol_name>, [<color_ref>];:> 1{

<shape_builder> | ARTWORKREF: <artwork_ref>, [<color_ref>], <xform>; | ARTWORK: [<color_ref>], <position>;

:> {<shape_builder>

<: } | TEXT: <text_string>, <p1>, <p2>, [<font_ref>],

[<color_ref>], <place>; | SYMPINDEF: <sympin_name>, [<pin_graphics>], <offset>;

<: }n

Page 62: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

52

Reference Form:

SYMBOLREF: <symbol_ref>, <component_ref>, <circuit_ref>, [<color_ref>], <xform>;:> {

1{SYMPINREF:<sympin_ref>, <net_ref>;}n & 0 {TEXT: <text_string>, <p1>, <p2>, [<font_ref>],

[<color_ref>], <place>;}n<: }

Figure 4–46 shows an example of using the SYMBOL definition in the PATTERNS section andcorrelating that to the DRAWING section.

$PATTERNS GROUP: "pat2"; SYMBOLDEF: "NAND"; CIRCLE: 0.2, , , , (1.0, 1.0); LINE: (.3, .8), (.7, .8); LINE: (.3,1.2), (.7,1.2); LINE: (.3,.8), (.3,1.2); CIRCARC: (.7,.8), (.7,1.2),(.7,1.0); SYMPINDEF: "I1", ,(3.2, 3.6); SYMPINDEF: "I2", ,(4.3, 2.4); SYMPINDEF: "Out", ,(2.4, 1.6); SYMBOLDEF: "SWITCH"; CIRCLE: 2.5, , , ,(4.6, 5.0); CIRCLE: 3.7, , , ,(3.8, 4.8); LINE: (3.4, 2.4), (3.2, 4.5); LINE: (2.4, 4.6), (3.2, 3.2); SYMPINDEF: "p1", ,(2.4, 4.5); SYMPINDEF: "p2", ,(3.4, 4.5); SYMBOLDEF: "GROUND"; LINE: (6.7, 3.4), (6.7, 4.6); LINE: (6.8, 3.4), (6.8, 4.6); SYMPINDEF: "G", ,(6.4, 3.3); SYMBOLDEF: "CONN"; LINE: (4.3, 2.2), (4.3, 2.8); LINE: (4.0, 2.2), (4.0, 2.8); SYMPINDEF: "C", ,(4.3,2.0); SYMBOLDEF: "AFRAME"; RECTCENTER: 1.6, 2.8, , , , (3.5,2.4); RECTCENTER: 5.2, 3.6, , , , (2.1,2.5);$ENDPATTERNS

Page 63: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

53

S2

S1

U1-1

U1-2

Sample1

+Q

-Q

Figure 4–46 Logic Drawing Example

4.8.3 Artwork Pattern Parameter Summary

There are many parameters contained within GenCAM descriptions. The use of primitive informationand artwork information to create patterns is of use in many of the GenCAM sections. Figure 4-47 is anillustration that provides the relationship of four levels of data within GenCAM. These levels are:

! Graphic shape definition - use of primitives both standard and user! PCB and PCA symbol definition - symbols used on printed circuit boards and printed circuit board

assemblies as well as their panelization characteristics! PCB and PCA design definition - physical location of layers, conductors, parts, test parameters for

printed boards and printed board assemblies! Assembly fixture definition - panelization for both the bare board and the assembly and how these

might be contained within a fixture.

Page 64: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

54

Figure 4–47 GenCAM Graphic Data Model

Page 65: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

55

5 Definition of the GenCAM File Format

This part of the document defines the keyword statements of all the sections of a GenCAM file using aBNF grammar. The BNF is supplemented with a textual description of each keyword statement and theparameters of the keyword statement.

5.1 General Requirements

There are several keyword statements that are allowed in more than one section of a GenCAM file. TheATTRIBUTE, MODIFIED, and AUDIT keyword statements are allowed as children of any keywordstatement that is defined in a GenCAM file section grammar.

5.1.1 The ATTRIBUTE Statement

The ATTRIBUTE statement associates information defined outside of the GenCAM specification to theparent keyword statement.

<attribute_def> ::= ATTRIBUTE: <attribute_owner>, <attribute_name>, <attribute_value>, [<change_history>];

<attribute_owner> ::= string <attribute_name> ::= string <attribute_value> ::= string <change_history> ::= p_integer

The parameters of an ATTRIBUTE statement are defined as follows:

<attribute_owner> the registered owner of the GenCAM attribute name.<attribute_name> the name of the attribute registered by the owner.<attribute_value> the value of the attribute.[<change_history>] the GenCAM file history revision number to which the modification was made.

All attribute registrations must specify the GenCAM section and keyword statement or statements withwhich an <attribute_name> can be associated. It is the responsibility of the organization that registeredthe name to define the allowed set of values that may be associated with an attribute name. The GenCAMconformance test software will check that a parent statement is allowed to contain the attached<attribute_owner> and <attribute_name>. All attribute values are not processed by the GenCAMconformance test software.

The following example defines a LINE statement with two ATTRIBUTE statements attached:

LINE: (3.4, 4.0), (3.6, 4.0); ATTRIBUTE: "IPC-2511", "URL", "http://www.acme.com/standard/primitives"; ATTRIBUTE: "IPC-6012", "core_material", "copperXXX";

The IPC Data Transfer Solutions (DTS) committee manages the names with an <attribute_owner> valueof "IPC-2511". An up-to-date list of registered attribute names for <attribute_owner> "IPC-2511" ismaintained by the DTS committee at http://www.gencam.org/registered/attributes. The list of attributesdefined at the time of publication of IPC-2511 may be included in the document. Attributes definedbetween releases of the standard are considered valid registered attributes if they are listed at the Internetweb site.

Other IPC standards, e.g., the IPC-2524 or IPC-4101 are also allowed to define attributes for use in aGenCAM file. The <attribute_owner> parameter associated with a standard is the same as the name of thestandard, e.g. "IPC-4101" would be the <attribute_owner> for the IPC-4101 standard. All registeredattribute groups will be listed at http://www.gencam.org/registered/attributes.

Page 66: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

56

Only a registered attribute is allowed in a GenCAM file. Certified GenCAM applications are not allowedto remove attribute information when processing a GenCAM file.

The respective IPC committees is responsible for defining the GenCAM ATTRIBUTE names andallowed values for parametric manufacturing data for standards published by that committee. At the timeof publication of this document, the only defined attribute names for "IPC-2511" are "URL" and"ANNOTATION".

5.1.2 The MODIFIED Statement

The MODIFIED statement is used to attach a description of a change to a keyword statement.

<modified_def> ::= MODIFIED: <person_ref>, <mod_date>, <mod_description>; <person_ref> ::= string <mod_date> ::= <datetime> <datetime> ::= string <mod_description> ::= string

The parameters of a MODIFIED statement are defined as follows:

<person_ref> (See <person_ref> in 5.3.7)<mod_date> records the time the modification was made.<mod_description> annotates the change, e.g. it could be a description of the reason for the change.

The following example defines a TARGETREF statement with a MODIFIED statement attached:

$BOARDS BOARD: “brd1”;

USING: "cmp1"; TARGETREF:"corner1","art2"."moire1","lay1"."PADLAYER_TOP",,(0.00,0.00); MODIFIED: "Bob Neal", "1998-03-24T07:24:06+7:00", "moved target to more accessible spot."; $ENDBOARDS

5.1.3 The AUDIT Statement

The AUDIT statement attaches a conformance grade to an offending statement. This statement may beused to evaluate quality, completeness, design rule conformance, or design for manufacture (DFM)principles.

<audit_def> ::= AUDIT: <audit_type>, <person_ref>, <point_loss>, [<explanation>]; <audit_type> ::= {

BDFAB - audit using IPC-2524 Board Fabrication Data| BDTST - audit using IPC-2525 Bare Board Test Data| BDASM - audit using IPC-2526 Board Assembly Data| ASEMT - audit using IPC-2527 In-circuit Test Data}

<person_ref> ::= string <point_loss> ::= p_number – must be a value between 1 and 10. <explanation> ::= string

The parameters of an AUDIT statement are defined as follows:

<audit_type> refers to the type (category) of audit being performed.

Page 67: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

57

<person_ref> (See <person_ref> in 5.3.7)<point_loss> defines the points lost due to this error in using the GenCAM format.[<explanation>] describes the reason for the point loss.

Each category begins with a score of 10 points. The value of <point_loss> is subtracted from this score.A score of zero (0) indicates the job is unacceptable and cannot be started. The rules for assigning scoresare defined in IPC-2524 (BDFAB), IPC-2525 (BDTST), IPC-2526 (BDASM), and IPC-2527 (ASEMT).

The following example defines a HOLEREF statement with a AUDIT statement attached:

HOLEREF: "Bracket b2-rl", "bd1"."bracket holes", (0.2,0.5); AUDIT: BDFAB, "DWB", 3, "No tolerance provided for hole diameters";

5.2 HEADER

The HEADER section contains an inventory of the products defined in the GenCAM file. Globalparameters for the GenCAM file are also located in the HEADER. All GenCAM files must include aHEADER section. The $HEADER section keyword denotes the start of the GenCAM data in a file. Thekeyword statements allowed in the HEADER section, and the constraints on their use, are defined in thefollowing BNF definition:

HEADER ::= $HEADER:> {

GENCAM: <gencam_rev>; & GENERATEDBY: <software_package>, <software_rev>; & 1{CERTIFICATION: <certification_status>,

[<certification_category>];}n & UNITS: <dimension>, [<grid_value>]; & ANGLEUNITS: <angular_unit>; & HISTORY: <increment>, <origination>, <last_changed>; & 0{LANGUAGE: <language>;}1 & 0{BOARD: <board_id>, <board_name>,

<board_number>, [<board_revision>];}n & 0{PANEL: <panel_id>, <panel_name>, <panel_number>,

[<panel_revision>];}n & 0{ASSEMBLY: <assembly_id>, <assembly_name>,

<assembly_number>, [<assembly_revision>];}n & 0{FIXTURE: <fixture_id>, <fixture_name>,

<fixture_number>, [<fixture_revision>];}n<: }

$ENDHEADER

<gencam_rev> ::= string - represents GenCAM revision, e.g., "1.0", "1.1", "2.0".<software_package> ::= string<software_rev> ::= string<certification_status> ::= { ALPHA - this is an early release of software.

Do not ship products using this file. | BETA - it looks like GenCAM, but

may not be compliant. | SELFTEST - the file was passed through the IPC

GenCAM conformance test software. | CERTIFIED - the file was generated by a certified

version of the product.}

Page 68: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

58

<certification_category> ::= {GENERALASSEMBLY - IPC certification category as defined| ASSEMBLYPANEL in the certification process| ASSEMBLYPREPTOOLS| GLUEDOT| SOLDERSTENCILPASTE| COMPONENTPLACEMENT| MECHANICALHARDWARE| ASSEMBLYFIXTUREGENERATION| ASSEMBLYTESTGENERATION| ASSEMBLYTESTFIXTUREGENERATION| PHOTOTOOLS| BOARDFABRICATION| BOARDPANEL| BOARDFIXTUREGENERATION| BOARDTESTGENERATION| FABRICATIONDRAWINGS| ASSEMBLYDRAWINGS| SCHEMATICLOGICDRAWINGS| DETAILDRAWING| SPECSOURCECONTROLDRAWING| SINGLEBOARDPARTSLIST| MULTIPLEBOARDPARTSLIST

}

<dimension> ::= { MM - millimeter.| UM - micrometer.| MM100 - hundredths of millimeter.| INCH - inch.| THOU - inch/1,000.| THOU10 - inch/10,000.| USERCM - units to the centimeter.| USERMM - units to the millimeter.| USERUM - units to the micrometer.| USERINCH - units to the inch.}

<grid_value> ::= p_integer - the devisor used to define the grid system in user defined units.

<angular_unit> ::= {RADIANS | DEGREES}<increment> ::= p_integer - the value is set to 1 when the GenCAM file is first

generated.<origination> ::= <datetime><last_changed> ::= <datetime><datetime> ::= string<language> ::= { CHINESE | ENGLISH | FINNISH | FRENCH | GERMAN |

JAPANESE | PORTUGUESE | RUSSIAN | SPANISH SWEDISH }<board_id> ::= string - unique within the GenCAM file.<board_name> ::= string<board_number> ::= string<board_revision> ::= string<panel_id> ::= string - unique within the GenCAM file.

Page 69: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

59

<panel_name> ::= string<panel_number> ::= string<panel_revision> ::= string<assembly_id> ::= string - unique within the GenCAM file.<assembly_name> ::= string<assembly_number> ::= string<assembly_revision> ::= string<fixture_id> ::= string - unique within the GenCAM file.<fixture_name> ::= string<fixture_number> ::= string<fixture_revision> ::= string

The $HEADER and $ENDHEADER section keywords mark the beginning and end of the HEADERsection of a GenCAM file.

5.2.1 GENCAM

The GENCAM statement identifies the version of GenCAM to which the file conforms. The onlyparameter of a GENCAM statement is defined as follows:

<gencam_rev> the revision of the GenCAM file format written using a "1.2" notation. The "1"is the major revision number, the "2", is a minor revision number.

5.2.2 GENERATEDBY

The GENERATEDBY statement identifies how the GenCAM file was created. The parameters of aGENERATEDBY statement are defined as follows:

<software_package> the name for the software package that generated the GenCAM file. The name ofthe package must be registered to insure that unique identifiers are associatedwith the names of packages. Registration does not imply or require certificationof the application. Any program that may eventually read or write GenCAM canbe registered at http://www.gencam.org/register/software. The list of softwarethat has been registered is at http://www.gencam.org/registered/software.

<software_rev> the revision of the software package that generated the GenCAM file.<certification_status> indicates whether the tool has passed the IPC certification process.[<certification_category>] the applicable GenCAM certification category. A tool must pass the

GenCAM certification process to qualify for placing data in this field. The list ofapproval categories is available at http://www.gencam.org/registered/catagories.

5.2.3 UNITS

The UNITS statement defines the unit of measure for length used throughout the GenCAM file. Theparameters of a UNITS statement are defined as follows:

<dimension> the unit of measure for length in the GenCAM file. For the user-defined unitoptions; USERCM, USERMM, USERUM, or USERINCH; the units are definedas a length per grid unit calculation. For this calculation the parameter<grid_value> must be specified.

[<grid_value>] a divisor applied to the base user-defined unit. (see 7.3).

For example, if the USERMM dimension is used and if each grid unit is to be 0.025 millimeters then the<grid_value> would be 40 (1 millimeter/40 units = .025 millimeters). For this example of a <grid_value>the length of LINE: (0,0),(10,0); would be 0.25 millimeters.

Page 70: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

60

5.2.4 ANGLEUNITS

The ANGLEUNITS statement defines the angular unit of measure used throughout the GenCAM file.The only parameter of an ANGLEUNITS statement is defined as follows:

<angular_unit> the angle measure is declared as either DEGREES or RADIANS for the entirefile. If <angular_unit> is RADIANS then <angular_measure> is <radian_value>.If <angular_unit> is DEGREES then <angular_measure> is <degree_value>. Therange of values for <angular_measure> is defined as follows:<angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= 0.0 <= number <= 2π<degree_value> ::= 0.0 <= number <= 360.0

5.2.5 HISTORY

The HISTORY statement provides a sequential change number for the GenCAM file. The sequencenumber is incremented by one every time the GenCAM file is modified. Only the file owner is allowed toincrement the history numbers. The parameters of a HISTORY statement are defined as follows:

<increment> the revision sequence number of the GenCAM file. The value is set to one whenthe GenCAM file is first generated.

<origination> the timestamp recorded when the GenCAM file was first created.<last_change> the timestamp recorded when the HISTORY number was last incremented .

5.2.6 LANGUAGE

The LANGUAGE statement declares the written language used in the GenCAM file. The only parameterof a LANGUAGE statement is defined as follows:

<language> the written language used in the free form strings of the GenCAM file. Thedefault language is ENGLISH.

5.2.7 BOARD

A BOARD statement identifies a board that is described in the GenCAM file. The parameters of aBOARD statement are defined as follows:

<board_id> a string that uniquely identifies the board throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "brd1", "brd2"…)

<board_name> a descriptive name or title for the board.<board_number> the part number of the board.[<board_revision>] the revision level of the board.

5.2.8 PANEL

The PANEL statement identifies a panel or subpanel that is described in the GenCAM file. Theparameters of a PANEL statement are defined as follows:

<panel_id> a string that uniquely identifies the panel or subpanel throughout the GenCAMfile. The identifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "panel1", "panel2"…)

<panel_name> a descriptive name or title for the panel or subpanel.<panel_number> the part number of the panel or subpanel.[<panel_revision>] the revision level of the panel or subpanel.

Page 71: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

61

5.2.9 ASSEMBLY

The ASSEMBLY statement identifies an assembly that is described in the GenCAM file. The parametersof an ASSEMBLY statement are defined as follows:

<assembly_id> a string that uniquely identifies the assembly throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "asmby1", "asmby2"…)

<assembly_name> the descriptive name or title for the assembly.<assembly_number> the part number of the assembly.[<assembly_revision>] the revision level of the assembly.

5.2.10 FIXTURE

The FIXTURE statement identifies a fixture that is described in the GenCAM file. The parameters of aFIXTURE statement are defined as follows:

<fixture_id> a string that uniquely identifies the fixture throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "fix1", "fix2"…)

<fixture_name> a descriptive name or title for the fixture.<fixture_number> the part number of the fixture.

[<fixture_revision>] the revision level of the fixture.

HEADER Section Example

$HEADER GENCAM:"1.1"; GENERATEDBY:"IPC Manual methods for IPC-782 Land Pattern Calculator", "rev 0.0"; CERTIFICATION: ALPHA, ASSEMBLYFIXTUREGENERATION;UNITS:MM; ANGLEUNITS:DEGREES; HISTORY:1,"1999-06-27T13:36:04+05:00","1999-06-27T13:39:04+05:00"; BOARD:"brd1","Land Pattern Evaluations","100","0 rev";p PANEL:"panel1","4 up panel; land pattern boards","100","0 rev"; FIXTURE:"fix2","4 up fixture; land pattern panel","100","0 rev"; FIXTURE:"fix3","fixture for land pattern board","100","0 rev"; ASSEMBLY:"asmby1","Assembly Testing","200","0 rev";$ENDHEADER

5.3 ADMINISTRATION

The ADMINISTRATION section identifies and describes the customer requirements to the manufacturer,and vice versa. All GenCAM files must include an ADMINISTRATION section. The keyword statementsallowed in the ADMINISTRATION section, and the constraints on their use, are defined in the followingBNF definition:

ADMINISTRATION ::= $ADMINISTRATION:> {

0{BOARD: <board_ref>, [<quantity>];}n& 0{PANEL: <panel_ref>, [<quantity>];}n& 0{ASSEMBLY: <assembly_ref>, [<quantity>];}n& 0{FIXTURE: <fixture_ref>, [<quantity>];}n& TRANSACTION: <trans_type>, <trans_number>, <trans_date>;& 1{ PERSON: <person_id>, <name>, <enterprise>,

Page 72: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

62

<street_addr>, <city>, <state_prov>, <country>, <postal_code>,[<phone>], [<fax>], [<email>], [<url>], [<title>];

}n& SENT: <person_ref>;& OWNER: <person_ref>;& RECEIVED: <person_ref>;& 0{DESIGNER: <person_ref>;}1& 0{ENGINEER: <person_ref>;}1& 0{BUYER: <person_ref>;}1& 0{CUSTOMERSERVICE: <person_ref>;}1& 0{ACCEPT: <person_ref>;}1& 0{BILLTO: <person_ref>;}1& 0{SCHEDULE: <product_ref>, <delivery_date>, <count>;}n& 0{COMMENT: <comment>;}n& 0{ENTERPRISE: <enterprise_id>, <name>,

<street_addr>, <city>, <state_prov>, <country>, <postal_code>,[<phone>], [<fax>], [<email>], [<url>], [<cage_code>];

}n<: }

$ENDADMINISTRATION

<board_ref> ::= string<quantity> ::= p_integer<panel_ref> ::= string<assembly_ref> ::= string<fixture_ref> ::= string<trans_type> ::= {

PO - type of transaction is a purchase order| RFQ - type of transaction is a request for quote| RFP - type of transaction is a request for proposal| RFA - type of transaction is a request for audit| CO - type of transaction is a change order}

<trans_number> ::= string<trans_date> ::= <datetime><datetime> ::= string<person_id> ::= string - unique identifier for an individual who may have multiple

responsibilities i.e. send, receive, design, or buy.<name> ::= string - the name of an individual (first, middle, last)<enterprise> ::= string - company name or " SELF" if there is no company.<street_addr> ::= string<city> ::= string<state_prov> ::= string<country> ::= string - use the ISO two letter country code<postal_code> ::= string<phone> ::= string<fax> ::= string -fax machine phone number<email> ::= string<url> ::= string<title> ::= string<person_ref> ::= string<product_ref> ::= { <board_ref> | <panel_ref> | <assembly_ref> | <fixture_ref>}<delivery_date> ::= <datetime>

Page 73: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

63

<count> ::= p_integer<comment> ::= string<enterprise_id> ::= string - unique identifier for an enterprise that will be referenced in the GenCAM file.<cage_code> ::= string - see http://www.dscc.dla.mil/offices/sourcedev/cage.html

The $ADMINISTRATION and $ENDADMINISTRATION section keywords mark the beginning andend of the ADMINISTRATION section of a GenCAM file.

5.3.1 BOARD

The BOARD statement references a board as described in the HEADER section. The parameters of aBOARD statement are defined as follows:

<board_ref> reference to a HEADER.BOARD.<board_id>.[<quantity>] the total quantity of the item being ordered using this GenCAM file.

The total of all ADMINISTRATION.SCHEDULE.<count> parameters for this product must equal theADMINISTRATION.BOARD.<quantity> parameter.

5.3.2 PANEL

The PANEL statement references a panel as described in the HEADER section. The parameters of aPANEL statement are defined as follows:

<panel_ref> reference to a HEADER.PANEL.<panel_id>.[<quantity>] the total quantity of the item being ordered using this GenCAM file.

The total of all ADMINISTRATION.SCHEDULE.<count> parameters for this product must equal theADMINISTRATION.PANEL.<quantity> parameter.

5.3.3 ASSEMBLY

The ASSEMBLY statement references an assembly as described in the HEADER section. The parametersof an ASSEMBLY statement are defined as follows:

<assembly_ref> reference to a HEADER.ASSEMBLY.<assembly_id>.[<quantity>] the total quantity of the item being ordered using this GenCAM file.

The total of all ADMINISTRATION.SCHEDULE.<count> parameters for this product must equal theADMINISTRATION.ASSEMBLY.<quantity> parameter.

5.3.4 FIXTURE

The FIXTURE statement references a fixture as described in the HEADER section. The parameters of aFIXTURE statement are defined as follows:

<fixture_ref> reference to a HEADER.FIXTURE.<fixture_id>.[<quantity>] the total quantity of the item being ordered using this GenCAM file.

The total of all ADMINISTRATION.SCHEDULE.<count> parameters for this product must equal theADMINISTRATION.FIXTURE.<quantity> parameter.

Page 74: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

64

5.3.5 TRANSACTION

The TRANSACTION statement identifies the type of transaction of the GenCAM file. The parameters ofa TRANSACTION statement are defined as follows:

<trans_type> the type of transaction. A transaction may be a purchase order (PO), a requestfor quote (RFQ), a request for proposal or information (RFP), a request for audit(RFA), or a change order (CO).

<trans_number> an externally generated identifier for the transaction. This identifier is notinterpreted by GenCAM. The <trans_number> can be used to link the GenCAMtransaction with an external system, such as a factory information system.

<trans_date> the date on which the transaction was initiated.

5.3.6 PERSON

The PERSON statement provides information about a person who will be referenced within the GenCAMfile. The parameters of a PERSON statement are defined as follows:

<person_id> a string that uniquely identifies the person throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "sally", "bob"…)

<name> the person's full name.<enterprise> the person's company or enterprise; if no enterprise exists, the term "SELF"

should be used.<street_addr> the street address of the enterprise.<city> the city.<state_prov> the state or province.<country> the two letter ISO country code from the ISO 3166 standard.

(See ftp://info.ripe.net/iso3166-countrycodes.)<postal_code> the postal code.[<phone>] the phone number.[<fax>] the phone number of the fax machine.[<email>] the email address.[<url>] the Internet HTTP Web address of the individual.[<title>] the title of the person.

5.3.7 SENT

The SENT statement identifies the person sending out the GenCAM file. The only parameter of a SENTstatement is defined as follows:

<person_ref> reference to an ADMINISTRATION.PERSON.<person_id>.

5.3.8 OWNER

The OWNER statement identifies the person who maintains the configuration management of theGenCAM file and has the right to increment the file history number of the GenCAM file. The onlyparameter of a OWNER statement is defined as follows:

<person_ref> (See <person_ref> in 5.3.7)

5.3.9 RECEIVED

The RECEIVED statement identifies the person receiving the GenCAM file. The only parameter of aRECEIVED statement is defined as follows:

Page 75: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

65

<person_ref> (See <person_ref> in 5.3.7)

5.3.10 DESIGNER

The DESIGNER statement identifies the designer of the product described in the GenCAM file. The onlyparameter of a DESIGNER statement is defined as follows:

<person_ref> (See <person_ref> in 5.3.7)

5.3.11 ENGINEER

The ENGINEER statement identifies the engineer who is responsible for the product described in theGenCAM file. The only parameter of an ENGINEER statement is defined as follows:

<person_ref> (See <person_ref> in 5.3.7)

5.3.12 BUYER

The BUYER statement identifies the person who is responsible for payment. The only parameter of aBUYER statement is defined as follows:

<person_ref> (See <person_ref> in 5.3.7)

5.3.13 CUSTOMERSERVICE

The CUSTOMERSERVICE statement identifies the customer service representative who is responsiblefor the account. The only parameter of a CUSTOMERSERVICE statement is defined as follows:

<person_ref> (See <person_ref> in 5.3.7)

5.3.14 ACCEPT

The ACCEPT statement identifies the person in the receiving department who takes possession of theshipment in the name of the enterprise. The only parameter of a ACCEPT statement is defined as follows

<person_ref> (See <person_ref> in 5.3.7)

5.3.15 BILLTO

The BILLTO statement identifies the person in the billing or purchasing department to whom the billingshould be addressed. The only parameter of a BILLTO statement is defined as follows:

<person_ref> (See <person_ref> in 5.3.7)

5.3.16 SCHEDULE

The SCHEDULE statement defines the delivery schedule for a product. The parameters of a SCHEDULEstatement are defined as follows:

<product_ref> a reference to one of:HEADER.BOARD.<board_id>.HEADER.ASSEMBLY.<assembly_id>.HEADER.PANEL.<panel_id>.HEADER.FIXTURE.<fixture_id>.

<delivery_date> the date by which the item is to be received.<count> the quantity of the referenced product that are to be received on the date

specified.

Page 76: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

66

5.3.17 COMMENT

The COMMENT statement adds relevant information to the ADMINISTRATION section. The onlyparameter of a COMMENT statement is defined as follows:

<comment> the text of the comment.

5.3.18 ENTERPRISE

The ENTERPRISE statement provides information about an enterprise that will be referenced within theGenCAM file. The parameters of a ENTERPRISE statement are defined as follows:

<enterprise_id> a string that uniquely identifies an enterprise throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "XYZ", "ACME"…)

<name> the organization's full name.<street_addr> the street address of the enterprise.<city> the city.<state_prov> the state or province.<country> the two letter ISO country code from the ISO 3166 standard.

(See ftp://info.ripe.net/iso3166-countrycodes.)<postal_code> the postal code.[<phone>] the phone number.[<fax>] the phone number of the fax machine.[<email>] the email address.[<url>] the Internet HTTP Web address of the individual.[<cage_code>] the CAGE code of the enterprise.

(see http://www.dscc.dla.mil/offices/sourcedev/cage.html)

ADMINISTRATION Section Example

$ADMINISTRATION BOARD:"brd1",16; PANEL:"panel1",4; TRANSACTION: RFQ, "RFQ 1999-06-05.34", "1999-06-05T13:34:23+5:00"; PERSON:"Dieter","Dieter Bergman","IPC inc.","2215 Sanders Road", "Northbrook","IL","USA","60062-6135","847-790-5339", "847-509-7978"; PERSON:"John P.","John Perry","IPC inc.","2215 Sanders Road", "Northbrook","IL","USA","60062-6135","847-790-5359","847-509-7978"; PERSON:"Dino","Dino Ditta","Router Solutions Inc.", "180 Newport Center Drive,Suite 240","Newport Beach","CA","USA","92660", "949-721-1017","949-721-1019", "[email protected]"; ENTERPRISE:"acme", "Acme Mechanical Parts","105 Main St.", "Poplar Grove","IL","USA","61065","815-765-2311"; SENT:"Dieter"; OWNER:"Dieter"; ENGINEER:"John P."; RECEIVED:"Dino"; SCHEDULE:"bd1","1999-03-08",1;$ENDADMINISTRATION

5.4 PRIMITIVES

The PRIMITIVES section defines collections of reusable shape definitions and texture definitions. Ashape in the PRIMITIVES section is constructed using GenCAM Primitives. A texture is a set ofcharacteristics for drawing a line in any graphic context or a set of characteristics for filling a<closed_shape>. A shape definition in PRIMITIVES section only specifies the dimensions of the shape.

Page 77: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

67

No textures are applied to a shape definition within the PRIMITIVES section. The following BNF definesthe keyword statements allowed in the PRIMITIVES section, and the constraints on their use:

PRIMITIVES ::= $PRIMITIVES:> 0{

GROUP: <primitive_group_id>;:> {

0{COLOR: <color_name>, <R>, <G>, <B>;}n & 0{

LINEDESC: <linedesc_name>, <line_width>, [<line_end>], [<color_ref>], [<line_type>], [<line_space>], [<line_length>], [<line_mod>], [<mod_end>], [<dim_A>], [<dim_B>], [<dim_C>];

}n & 0{

PAINTDESC: <paintdesc_name>, <paint_type>, [<color_ref>],[<line_width>], [<pitch1>], [<angle1>], [<pitch2>], [<angle2>];

}n & 0{

BARRELDESC: <barreldesc_name>, [<fill_material>];:> 0{

BARREL: <barrel_type>, <material>,<min_thickness>, <max_thickness>;

<: }n }n & 0{

PROFILEDESC: <profiledesc_name>, <finished_LMC>,<finished_MMC>, [<start_LMC>], [<start_MMC>];

}n & 0{CIRCLEDEF: <circle_name>, <diameter>;}n & 0{RECTCENTERDEF: <rectcenter_name>, <x_dimension>,

<y_dimension>;}n & 0{RECTCORNERDEF: <rectcorner_name>, <p1>, <p2>;}n & 0{RECTCHAMDEF: <rectcham_name>, <width>, <height>,

<chamfer>;}n & 0{RECTROUNDDEF: <rectround_name>, <width>, <height>,

<radius>;}n & 0{OVALDEF: <oval_name>, <width>, <height>;}n & 0{DSHAPEDEF: <dshape_name>, <end_shape>, <width>,

<height>, [<corner>];}n & 0{DIAMONDDEF: <diamond_name>, <width>, <height>;}n & 0{HEXAGONDEF: <hexagon_name>, <point_to_point>;}n & 0{OCTAGONDEF: <octagon_name>, <point_to_point>;}n & 0{ DONUTDEF: <donut_name>, <donut_shape>, <outer_diameter>,

<inner_diameter>; }n & 0{THERMALDEF: <thermal_name>, <thermal_shape>,

<outer_diameter>, <inner_diameter>, [<spoke_count>], [<spoke_width>], [<spoke_start_angle>], [<spoke_end_shape>];}n

& 0{POLYLINEDEF: <polyline_name>;:> STARTAT: <start_xy>;

1{ LINETO: <end_xy>;

Page 78: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

68

| CIRCARCTO: <end_xy>, <center>, [<direction>]; | ELLIPARCTO: <end_xy>, <focus1>, <focus2>,

[<direction>];<: }n

}n & 0{POLYGONDEF: <polygon_name>;

:> STARTAT: <start_xy>; 1{

LINETO: <end_xy>; | CIRCARCTO: <end_xy>, <center>, [<direction>]; | ELLIPARCTO: <end_xy>, <focus1>, <focus2>,

[<direction>]; }n {

ENDLINE: ; | ENDCIRCARC: <center>, [<direction>]; | ENDELLIPARC: <focus1>, <focus2>, [<direction>];

<: }}n

<: }<: }n

$ENDPRIMITIVES

The $PRIMITIVES and $ENDPRIMITIVES section keywords mark the beginning and end of thePRIMITIVES section of a GenCAM file.

<primitive_group_id> ::= string<color_name> ::= string<R> ::= p_integer - (0 - 255) - a zero value represents the absence

of intensity. i.e.,"black" = 0, 0, 0, and"white" = 255, 255, 255

<G> ::= p_integer - (0 - 255)<B> ::= p_integer - (0 - 255)<linedesc_name> ::= string<line_width> ::= p_number<line_end> ::= {NONE | ROUND | SQUARE} - the default is ROUND<color_ref> ::= qualified_string <line_type> ::= {SOLID | DOTTED | DASHED | CENTER | PHANTOM | ERASE}

- the default is SOLID.<line_space> ::= p_number - distance between center line of dots and/or start

and end of lines.<line_length> ::= p_number - distance between start and end of dashes or lines.

The diameter of a dot is equal to the line width.<line_mod> ::= {TP | TD | SL1 | SL2 | NONE} - the default is NONE.<mod_end> ::= {START | FINISH | BOTH}<dim_A> ::= p_number - distance from end of line to finish of modification,

or radius of secondary round feature. (See 4.2.2.4)<dim_B> ::= p_number - distance from end of line to extension of

modification.<dim_C> ::= p_number - radius joining curvature of land to line center.

(See Figure 4-3)<paintdesc_name> ::= string

Page 79: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

69

<paint_type> ::= {HOLLOW | HATCH | MESH | FILL | VOID}- the default is HOLLOW. VOID designates an opaque absence of FILL within or intersecting a FILL, HATCH, or MESH enclosure.

<pitch1> ::= p_number - distance between line centers of HATCH or first set of MESH lines.

<angle1> ::= <angular_measure><angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= p_number<degree_value> ::= p_number

<pitch2> ::= p_number - distance between line center of HATCH or second set of MESH lines.

<angle2> ::= <angular_measure><barreldesc_name> ::= string<fill_material> ::= string - identification of metallic and non-metallic

materials for filling a cavity.<barrel_type> ::= {

COAT - the cavity is coated with the material. | PLATE - the cavity is plated with the material.}

<material> ::= string - material type for the cavity walls.<min_thickness> ::= p_number - minimum dimension controlled using

LMC of PROFILEDESC.<max_thickness> ::= p_number - maximum dimension controlled using

MMC of PROFILEDESC.<profiledesc_name> ::= string<finished_LMC> ::= p_number - variation from nominal to least material

condition.<finished_MMC> ::= p_number - variation from nominal to maximum

material condition.<start_LMC> ::= p_number - variation from nominal to least material condition

prior to the addition of plating or coating (see BARRELDESC).

<start_MMC> ::= p_number - variation from nominal to maximum material condition prior to the addition of plating or coating (see BARRELDESC).

<circle_name> ::= string - (See description in 4.4.1).<diameter> ::= p_number - dimension values for all primitives can be any

convenient value. The actual size of a feature will be determined by applying the scale value of its transform to the defined dimension.

<rectcenter_name> ::= string - (See description in 4.4.3).<x_dimension> ::= p_number - the <x_dimension> is the length of the

two parallel horizontal lines of the rectangle.<y_dimension> ::= p_number - the <y_dimension> are the two parallel sides of the

rectangle where the sides are perpendicular to the horizontal lines.

<rectcorner_name> ::= string - (See description in 4.4.2).<p1> ::= <xy_ref> - the coordinates p1 and p2 define the corners of the

rectangle where p1 is the lower left hand corner and p2 is the upper right hand corner.

<p2> ::= <xy_ref>

Page 80: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

70

<rectcham_name> ::= string - (See description in 4.5.1).<width> ::= p_number<height> ::= p_number<chamfer> ::= p_number - the chamfer size is the length of one leg of the

chamfer. The chamfer is 45 degrees.<rectround_name> ::= string - (See description in 4.5.2).<radius> ::= p_number<oval_name> ::= string - (See description in 4.5.3).<corner> ::= p_number<dshape_name> ::= string - (See description in 4.5.4).<end_shape> ::= {ROUND | CHAMFER | FILLET}<diamond_name> ::= string - (See description in 4.5.5).<hexagon_name> ::= string - (See description in 4.5.6).<point_to_point> ::= p_number - The dimensions represent the distance across the points

of the hexagon or octagon<octagon_name> ::= string - (See description in 4.5.7).<donut_name> ::= string - (See description in 4.5.8).<donut_shape> ::= {ROUND | SQUARE | HEXAGON | OCTAGON}<outer_diameter> ::= p_number<inner_diameter> ::= p_number<thermal_name> ::= string - (See description in 4.5.9. )<thermal_shape> ::= {ROUND | SQUARE | OCTAGON}<spoke_count> ::= p_integer - default is 0.<spoke_width> ::= p_number - default is <outer_diameter> minus <inner_diameter>.<spoke_start_angle> ::= <angular_measure> - default is 45 degrees.<spoke_end_shape> ::= {ROUND | SQUARE | PARALLEL} - default is SQUARE.<polyline_name> ::= string - (See description in 4.6.1).<start_xy> ::= <xy_ref><end_xy> ::= <xy_ref><center> ::= <xy_ref><focus1> ::= <xy_ref><focus2> ::= <xy_ref><direction> ::= {CLKW | CCLKW} - Default is CCLKW, counterclockwise<polygon_name> ::= string - (See description in 4.6.2).

5.4.1 GROUP

The GROUP statement starts the definition of a collection of reusable shape definitions and texturedefinitions. All the shape and texture definitions up to the next GROUP statement or up to the end of thePRIMITIVES section are members of the collection. The only parameter of a GROUP statement isdefined as follows:

<primitive_group_id> a string that uniquely identifies the collection throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "prim1", "prim2"…)

A collection is named by the PRIMITIVES.GROUP.<primitive_group_id> parameter. Each shape ortexture within a collection must have a name that is unique within the collection. A qualified_string isused to reference a shape or texture definition from other keyword statements in the GenCAM file. Thename of the collection is used as the first part of a qualified_string and the name of the shape or texture isused as the second part of the qualified_string.

Page 81: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

71

5.4.2 COLOR

The COLOR statement defines a color that is referenced throughout the GenCAM file. The color isdefined by three values that represent the red, green and blue components of the composite color. Theparameters of a COLOR statement are defined as follows:

<color_name> the name of the COLOR. This name is referenced by <color_ref> parameters inmany keyword statements. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<R> defines the red color intensity as a value between 0 and 255.<G> defines the green color intensity as a value between 0 and 255.<B> defines the blue intensity as a value between 0 and 255.

If <R>, <G>, and <B> are all set to 0 then the color is black. If all values are 255 then the color is white.The GenCAM specification calls out "black" as a default color in several places. The definition of thedefault color "black" sets the values for R>, <G>, and <B> to 0.

5.4.3 LINEDESC

The LINEDESC statement defines the characteristics of a line. The characteristics are applied to akeyword statement when a PRIMITIVES.GROUP.LINEDESC.<linedesc_name> is referenced by a<linedesc_ref> in the keyword statement. The rules of precedence for LINEDESC are defined in section4.2.4. The parameters of a LINEDESC statement are defined as follows:

<linedesc_name> the name of the LINEDESC. This name is referenced by <linedesc_ref>parameters in many keyword statements. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined

<line_width> the line width in length dimension units.[<line_end>] the line end is one of SQUARE, ROUND or NONE. The default is ROUND.[<color_ref>] reference to a PRIMITIVES.GROUP.COLOR.<color_name> parameter.[<line_type>] the line type is one of SOLID, DOTTED, DASHED, CENTER, PHANTOM or

(solid) ERASE. The default is SOLID.[<line_space>] the spacing between dots and dashes. The meaning by <line_type> is:

DOTTED - the spacing between the dot centers.DASHED - the spacing between the end of one dash and the start

of the next dash.CENTER - the spacing between the center of the dot and the line

ends of the line segments.PHANTOM - the spacing between the center of the dots and the line

ends of the line segments. [<line_length>] the length of dashes. The meaning by <line_type> is:

DASHED - the length of the dashes.CENTER - <line_length> is the length of the line segments

between the dots.PHANTOM - <line_length> is the length of the line segments

between the dots.<line_mod>] the line end modification is one of tear-drop (TD), tapered (TP), or one of two

sub-land patterns (SL1, SL2). See Figure 4-3. The default is NONE.[<mod_end>] the ends of the line that are to have <line_mod> applied. The application can be

to the START end, the FINISH end, or BOTH. The default is BOTH.[<dim_A>] the meaning of <dim_A> is dependent on the <line_mod> parameter. The

meaning by <line_mod> is:TP – length of the taper fillet as measured from the center of the pad along the x-axis.

Page 82: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

72

TD – length of the tear-drop as measured from the center of the pad along the x-axis.SL1 – radius of the sub-land circle.SL2 – radius of the sub-land circle.

[<dim_B>] the meaning of <dim_B> is dependent on the <line_mod> parameter. Themeaning by <line_mod> is:

TP – z-axis dimension of the taper fillet as measured at the center of thepad.

TD – the radius of the pad.SL1 – distance measured along the x-axis from the center of the pad to the center of the sub-land.SL2 – distance measured along the x-axis from the center of the pad to the center of the sub-land.

[<dim_C>] the meaning of <dim_C> is dependent on the <line_mod> parameter. Themeaning by <line_mod> is:

TD – radius joining curvature of land to the x-axis.

5.4.4 PAINTDESC

The PAINTDESC statement defines the fill characteristics that can be applied to a <closed_shape>. Thecharacteristics are applied to a keyword statement when a PRIMITIVES.PAINTDESC.<paintdesc_name>is referenced by a <paintdesc_ref> in the keyword statement. The rules of precedence for PAINTDESCare defined in section 4.2.4. All dimensions of PAINTDESC are relative to the local coordinate system ofthe closed shape to which they are being applied. The parameters of a PAINTDESC statement are definedas follows:

<paintdesc_name> the name of the PAINTDESC. This name is referenced by <paintdesc_ref>parameters in many keyword statements. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<paint_type> the texture of the fill is one of HOLLOW, HATCH, MESH, FILL or VOID. Thedefault is HOLLOW.

[<color_ref>] (See <color_ref> in 5.4.3)

The remaining parameters apply only to the paint types HATCH and MESH.

[<line_width>] the width of the lines used in a HATCH or MESH.[<pitch1>] the distance between the first set of lines in a HATCH or MESH.[<angle1>] the angle of a set of lines in a HATCH or a MESH. The angle is measured

relative to the x-axis of the local coordinate system. For HATCH the range ofvalues is limited to between 0 and 180 degrees. For MESH the value is limited tobetween 0 and 90 degrees. It is an error to define <angle1> for any paint typeother then HATCH or MESH.

[<pitch2>] the distance between the second set of lines in a MESH.[<angle2>] the angle of the second set of lines in a MESH. The angle is measured relative to

the x-axis of the local coordinate system. The angle must be between 0 and 90degrees.

5.4.5 BARRELDESC

The BARRELDESC statement defines the characteristics used when plating, coating, and filling a cavity.The parameters of a BARRELDESC statement are defined as follows:

Page 83: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

73

<barreldesc_name> the name of the BARRELDESC. This name is referenced by <barreldesc_ref>parameters in many keyword statements. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

[<fill_material>] identifies the material that is used to fill cavity of a HOLE, CUTOUT, SLOT, orWELL. If <fill_material> is omitted the cavity is not filled.

5.4.6 BARREL

The BARREL statement describes the characteristics of one layer of plating or coating that is applied to abarrel or to a wall. The parameters of a BARREL statement are defined as follows:

<barrel_type> the type of barrel is either COAT or PLATE.<material> the coating or plating material for the BARREL<min_thickness> the minimum thickness of material that would be within the limits of the

<finished_LMC> of PROFILEDESC of the item being plated.<max_thickness> the maximum thickness is controlled by <finished_MMC> of

PROFILEDESC of the item being plated.

For walls that require multiple plates, or coatings, the order of BARREL definitions is significant. TheBARREL must be applied in the order in which they are defined in the BARRELDESC.

5.4.7 PROFILEDESC

The PROFILEDESC statement defines the manufacturing tolerance range of any geometry. Theparameters of a PROFILEDESC statement are defined as follows:

<profiledesc_name> the name of the PROFILEDESC. This name is referenced by <profiledesc_ref>parameters in many keyword statements. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<finished_LMC> the permitted variation from nominal to the least material condition (LMC) of afeature of the product.

<finished_MMC> the permitted variation from nominal to the maximum material condition (MMC)of a feature of the product.

[<start_LMC>] the permitted variation from nominal to the least material condition (LMC) of afeature or the product prior to plating, coating or additional material removal.

[<start_MMC>] the permitted variation from nominal to the maximum material condition (MMC)of a feature or the product prior to plating, coating or additional materialremoval.

5.4.8 CIRCLEDEF

The CIRCLEDEF statement defines the geometry of a circle. The origin of the circle is located at thecenter of the circle. The LINEDESC.<line_end> parameter does not apply to a circle. Circles can be anoutline, or can be filled, solid, mesh, or hatched (See Figure 4-10). The parameters of a CIRCLEDEFstatement are defined as follows:

<circle_name> the name of the CIRCLEDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<diameter> the diameter of the circle.

5.4.9 RECTCENTERDEF

The RECTCENTERDEF statement defines the geometry of a rectangle. The origin is located at thecenter of the rectangle. The parameters of a RECTCENTERDEF statement are defined as follows:

Page 84: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

74

<rectcenter_name> the name of the RECTCENTERDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<x_dimension> the length of the RECTCENTERDEF about the x-axis.<y_dimension> the length of the RECTCENTERDEF about the y-axis.

5.4.10 RECTCORNERDEF

The RECTCORNERDEF statement defines the geometry of a rectangle where the lower left corner andupper right corner of the rectangle are defined relative to the origin. It is an error if the x coordinate of<p2> is less than or equal to the x coordinate of <p1> or if the y coordinate of <p2> is less than or equalto the y coordinate of <p1>. The parameters of a RECTCORNERDEF statement are defined as follows:

<rectcorner_name> the name of the RECTCORNERDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<p1> the <xy_ref> that defines the lower left corner of the RECTCORNERDEF.<p2> the <xy_ref> that defines the upper right corner of the RECTCORNERDEF.

5.4.11 RECTCHAMDEF

The RECTCHAMDEF statement defines the geometry of a rectangle with all four corners of therectangles clipped off at a 45 degree angle. The origin is located at the center of the rectangle. Theparameters of a RECTCHAMDEF statement are defined as follows:

<rectcham_name> the name of the RECTCHAMDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<width> the length of the RECTCHAMDEF about the x-axis.<height> the length of the RECTCHAMDEF about the y-axis.<chamfer> the length from the corner along the width and height of each corner between

which the rectangle is to be clipped. If the value of chamfer is greater than ½ theheight or ½ the width then it is an error.

5.4.12 RECTROUNDDEF

The RECTROUNDDEF statement defines the geometry of a rectangle with all four corners of therectangles rounded by a specified radius. The origin is located at the center of the rectangle. Theparameters of a RECTROUND statement are defined as follows:

<rectround_name> the name of the RECTROUNDDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<width> the length of the RECTROUNDDEF about the x-axis.<height> the length of the RECTROUNDDEF about the y-axis.<radius> the radius to be trimmed from the four corners of the rectangle. If the radius is

greater than ½ the height value or ½ the width value then it is an error

5.4.13 OVALDEF

The OVALDEF statement defines the geometry of a rectangle with a semicircle at each end along the x-axis. The radius of the circle at the end is equal to ½ the height of the rectangle. The origin is located atthe center of the rectangle. The parameters of an OVALDEF statement are defined as follows:

<oval_name> the name of the OVALDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<width> the length of the OVALDEF about the x-axis. If <height> is greater than <width>then the definition is undefined.

<height> the length of the OVALDEF about the y-axis.

Page 85: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

75

5.4.14 DSHAPEDEF

The DSHAPEDEF statement defines the geometry of a rectangle in which the top edge is modified inone of three ways. The origin is located at the center of the rectangle. The parameters of a DSHAPEDEFstatement are defined as follows:

<dshape_name> the name of the DSHAPEDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<end_shape> defines which type of modification will be made to the top of the rectangle. Ifthe <end_shape> is:

ROUND: trim back the top of the rectangle to be a semicircle witha radius equal to ½ the width of the rectangle.

FILLET: a radius is cut on the top corners of the rectangle.CHAMFER: the top two corners are clipped at a 45 degree angle.

<width> the length of the DSHAPEDEF about the x-axis.<height> the length of the DSHAPEDEF about the y-axis.[<corner>] the meaning if the <end_shape> is:

FILLET: the radius to be trimmed from the top corners of therectangle. If the radius is greater than ½ the heightor ½ the width then the definition is undefined

CHAMFER: the length along the width and height of each cornerbetween which the rectangle is to be clipped. If thevalue of chamfer is greater than ½ the height or ½ thewidth then the definition is undefined.

5.4.15 DIAMONDDEF

The DIAMONDDEF statement defines a geometry that is a four sided equilateral plane figure where thetop and bottom corners of the figure are located on the y-axis and the left and right corners of the figureare on the x-axis. The origin is equidistant from corners on the x-axis and equidistant from corners on they-axis. The parameters of a DIAMONDDEF statement are defined as follows:

<diamond_name> the name of the DIAMONDDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<width> the length of the DIAMONDDEF at the x-axis.<height> the length of the DIAMONDDEF at the y-axis.

5.4.16 HEXAGONDEF

The HEXAGONDEF statement defines a six sided plane figure with the origin at the center. All six sidesof the hexagon are of equal length. The origin is equidistant from the corners of the hexagon. Twocorners of the hexagon are on the x-axis. The parameters of a HEXAGONDEF statement are defined asfollows:

<hexagon_name> the name of the HEXAGONDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<point_to_point> the distance between the two corner points of the hexagon on the x-axis.

5.4.17 OCTAGONDEF

The OCTAGONDEF statement defines an eight sided plane figure with the origin at the center. All eightsides of the octagon are of equal length. The origin is equidistant from the corners of the octagon. Twocorners of the octagon are on the x-axis. The parameters of an OCTAGONDEF statement are defined asfollows:

Page 86: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

76

<octagon_name> the name of the OCTAGONDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<point_to_point> the distance between the two corner points of the octagon on the x-axis.

5.4.18 DONUTDEF

The DONUTDEF statement defines the geometry composed of two concentric shapes. The PAINTDESCthat is applicable to the shape it is only applied to the region between the inner and outer shapes. Thecenters of the shapes are at the origin. The parameters of a DONUTDEF statement are defined asfollows:

<donut_name> the name of the DONUTDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<donut_shape> the inner and outer shapes are one of ROUND, SQUARE , HEXAGON orOCTAGON:

ROUND - the inner and outer shapes are like CIRCLEDEF.SQUARE - the inner and outer shapes are like RECTCENTERDEF

with height and width of each shape being equal.HEXAGON - the inner and outer shapes are like HEXAGONDEF.OCTAGON - the inner and outer shapes are like OCTAGONDEF.

<outer_diameter> the outer boundary of the filled region. The meaning based on <donut_shape>:ROUND - the diameter of the circle is the outer boundary of the

donut. The center of the circle is at the origin of the donut.

SQUARE the width along the x-axis and the height along they-axis of a square at the inner boundary of the donut.The center of the square is at the origin.

HEXAGON the point-to-point measurement on the x-axis of thehexagon that forms the outer boundary of the donut.

OCTAGON the point-to-point measurement on the x-axis of theoctagon that forms the outer boundary of the donut.

<inner_diameter> the inner boundary of the filled region. The meaning based on <donut_shape>:ROUND the diameter of the circle is the inner boundary of the

donut. The center of the circle is at the origin of thedonut.

SQUARE the width along the x-axis and height along the y-axis ofa square at the inner boundary of the donut. The centerof the square is at the origin.

HEXAGON the point-to-point measurement on the x-axis of thehexagon that forms the inner boundary of the donut.

OCTAGON the point-to-point measurement on the x-axis of theoctagon that forms the inner boundary of the donut.

5.4.19 THERMALDEF

The THERMALDEF statement defines the geometry composed of two concentric shapes. ThePAINTDESC that is applicable to the shape it is only applied to the region between the inner and outershapes. The centers of the shapes are at the origin. The parameters of a THERMALDEF statement aredefined as follows:

<thermal_name> the name of the THERMALDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

<thermal_shape> the inner and outer shapes are one of ROUND, SQUARE , or OCTAGON:ROUND - the inner and outer shapes are like CIRCLEDEF.

Page 87: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

77

SQUARE - the inner and outer shapes are like RECTCENTERDEF with height and width of each shape being equal.

OCTAGON - the inner and outer shapes are like OCTAGONDEF.<outer_diameter> the outer boundary of the filled region. The meaning based on <thermal_shape>:

ROUND the diameter of the circle is the outer boundary of thethermal. The center of the circle is at the origin of thethermal.

SQUARE the width along the x-axis and the height along they-axis of a square at the inner boundary of thethermal. The center of the square is at the origin.

OCTAGON the point-to-point measurement on the x-axis of theoctagon that forms the outer boundary of the thermal.

<inner_diameter> the inner boundary of the filled region. The meaning based on <thermal_shape>:ROUND the diameter of the circle is the inner boundary of the

thermal. The center of the circle is at the origin of thethermal.

SQUARE the width along the x-axis and the height along they-axis of a square at the inner boundary of the thermal.The center of the square is at the origin.

OCTAGON the point-to-point measurement on the x-axis of theoctagon that forms the inner boundary of the thermal.

[<spoke_count>] number of cutouts allowed in the inner and outer shapes.ROUND must be 2, 3, or 4SQUARE must be 2 or 4OCTAGON must be 2 or 4

[<spoke_width>] minimum distance between the sides of a spoke cut.[<spoke_start_angle>] angle in counterclockwise direction from the x-axis at which the first

spoke is cut[<spoke_end_shape>] shape applied to the end of each spoke. One of ROUND, SQUARE, or

PARALLEL

5.4.20 POLYLINEDEF

The POLYLINEDEF statement defines a sequence of connected edges that define a polyline. An edgecan be straight, elliptical, or circular. The coordinates of the polyline are definedrelative to the local coordinate system of the polyline. The only parameter of aPOLYLINEDEF statement is defined as follows:

<polyline_name> the name of the POLYLINEDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

5.4.21 POLYGONDEF

The POLYGONDEF statement defines a sequence of connected edges that form a polygon. An edge canbe straight, elliptical, or circular. The coordinates of the polygon are defined relative to the localcoordinate system of the polygon. The polygon is a two-dimensional, closed shape whose edges do notcross. The parameters of a POLYGONDEF statement are defined as follows:

<polygon_name> the name of the POLYGONDEF. The name must be unique within thePRIMITIVES.GROUP.<primitive_group_id> collection in which it is defined.

5.4.22 STARTAT

The STARTAT statement defines the starting point for drawing a polygon or a polyline. The onlyparameter of a STARTAT statement is defined as follows:

Page 88: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

78

<start_xy> the starting location of the polyline or polygon.

5.4.23 LINETO

The LINETO statement defines an edge to be drawn in a polygon or a polyline. The only parameter of aLINETO statement is defined as follows:

<end_xy> the ending point of a straight line to be drawn from the previous point in thepolygon or polyline.

5.4.24 CIRCARCTO

The CIRCARCTO statement defines an edge to be drawn in a polygon or a polyline. The parameters of aCIRCARCTO statement are defined as follows:

<end_xy> the end point of the circular arc to be drawn from the previous point in thepolygon or polyline.

<center> the center point for the circular arc to be drawn between the previous point andthe <end_xy>.

[<direction>] the direction to draw the circular arc between the previous point and the<end_xy> about the <center>.

5.4.25 ELLIPARCTO

The ELLIPARCTO statement defines an edge to be drawn in a polygon or a polyline. The parameters ofan ELLIPARCTO statement are defined as follows:

<end_xy> the end point of the elliptical arc to be drawn from the previous point in thepolygon or polyline.

<focus1> the first foci for the elliptical arc to be drawn between the previous point and the<end_xy>.

<focus2> the second foci for the elliptical arc to be drawn between the previous point andthe <end_xy>.

[<direction>] the direction to draw the elliptical arc between the previous point and the<end_xy> about <focus1> and <focus2>.

5.4.26 ENDLINE

The ENDLINE statement defines the final edge to be drawn in a polygon. The edge is to be drawn fromthe previous point in the polygon as a straight line to the STARTAT.<start_xy> parameter for thepolygon. There are no parameters for an ENDLINE statement.

5.4.27 ENDCIRCARC

The ENDCIRCARC statement defines the final edge to be drawn in a polygon. The edge is to be drawnfrom the previous point in the polygon as a circular arc to the STARTAT.<start_xy> parameter for thepolygon. The parameters of a ENDCIRCARC statement are defined as follows:

<center> the center point for the circular arc to be drawn between the previous point andthe STARTAT.<start_xy>.

[<direction>] the direction to draw the circular arc between the previous point and theSTARTAT.<start_xy> about the <center>.

Page 89: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

79

5.4.28 ENDELLIPARC

The ENDELLIPARC statement defines the final edge to be drawn in a polygon. The edge is to be drawnfrom the previous point in the polygon as a elliptical arc to the STARTAT.<start_xy> parameter for thepolygon. The parameters of a ENDELLIPARC statement are defined as follows:

<focus1> the first foci for the elliptical arc to be drawn between the previous point and theSTARTAT.<start_xy>.

<focus2> the second foci for the elliptical arc to be drawn between the previous point andthe STARTAT.<start_xy>.

[<direction>] the direction to draw the elliptical arc between the previous point and theSTARTAT.<start_xy> about the <center>.

A PRIMITIVES Section Example

$PRIMITIVES GROUP:"prim1"; COLOR:"BLACK",0,0,0; COLOR:"WHITE",255,255,255; RECTCENTERDEF:"100ChipRes",0.90,0.70; RECTCENTERDEF:"101ChipRes",1.10,1.00; RECTCORNERDEF:"100courtyard",(0,0),(3.00,1.00); RECTCORNERDEF:"101courtyard",(0,0),(3.00,2.00); LINEDESC:"CourtOutline",0.40,ROUND,"prim1"."BLACK",DASHED,0.75,1.0; LINEDESC:"Outline",0.40,ROUND,"prim1"."BLACK",SOLID; PAINTDESC:"LandFill",FILL,"prim1"."BLACK"; PAINTDESC:"compfill",HATCH,"prim1"."BLACK",0.10,0.30,45; PROFILEDESC:"LandTol",0.1,0.0; PROFILEDESC:"LandTol2",0.2,0.0; CIRCLEDEF:"12mmcircle", 12.0; GROUP:"prim2"; RECTCENTERDEF:"210SOT23",1.0,1.40; RECTCENTERDEF:"215SOT89",0.80,1.40; POLYGONDEF:"215poly"; STARTAT:(-0.5,-2.7); LINETO:(-0.5,-0.7); LINETO:(-1.0,-0.3); LINETO:(-1.0,1.9); LINETO:(-0.5,2.7); LINETO:(0.5,2.7); LINETO:(1.0,1.9); LINETO:(1.0,-0.3); LINETO:(0.5,-0.7); LINETO:(0.5,-2.7); ENDLINE:; RECTCENTERDEF:"SOIC",2.20,0.60; RECTCORNERDEF:"300courtyard",(0,0),(6.00,8.00); GROUP:"prim3"; OVALDEF:"SSOICoval",2.20,0.40; OVALDEF:"SSOICoval2",2.00,0.50; GROUP:"prim4"; THERMALDEF: "land12", ROUND, 12.5, 12.0 ,3 ,1 ,, SQUARE; CIRCLEDEF:"Circle12", 12.0; PROFILEDESC:"laminate4",2.5 ,0.0;$ENDPRIMITIVES

Page 90: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

80

5.5 ARTWORKS

The ARTWORKS section defines collections of reusable artwork definitions. All shapes and text used inan artwork definition share a common origin. An artwork is constructed by referencing user-definedprimitives from the PRIMITIVES section, GenCAM standard primitive shapes, or previously definedARTWORKS. The following BNF defines the keyword statements allowed in the ARTWORK section,and the constraints on their use:

ARTWORKS ::= $ARTWORKS:> 0{

GROUP:<artwork_group_id>;:> {

0{ FEATUREDEF: <feature_name>, [<linedesc_ref>],

[<paintdesc_ref>], [<color_ref>];:> {

<shape_builder><: }

}n & 0{

TARGETDEF: <target_name>, <target_function>, [<color_ref>];:> {

<shape_builder><: }

}n & 0{

FONT: <font_name>, [<url>];}n

& 0{

UFONT: <font_name>;:> 1{

GLYPH: <char_code>, <p1>, <p2>;:> {

<shape_builder><: }<: }n

}n & 0{

LOGODEF: <logo_name>, [<color_ref>];:> 1{

<shape_builder>| TEXT: <text_string>, <p1>, <p2>, [<font_ref>], [<color_ref>],

<place>;<: }n

}n & 0{

ARTWORKDEF: <artwork_name>;:> 1{

<shape_builder>| TEXT: <text_string>, <p1>, <p2>, [<font_ref>], [<color_ref>],

<place>;| LOGOREF: <logo_ref>, [<color_ref>], <xform>;| ARTWORKREF: <artwork_ref>, [<color_ref>], <xform>;

Page 91: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

81

<: }n }n & 0{TARGET: <target_name>, <target_function>, <artwork_ref>,

[<color_ref>];}n<: }<: }n

$ENDARTWORKS

<artwork_group_id> ::= string<feature_name> ::= string<linedesc_ref> ::= qualified_string<paintdesc_ref> ::= qualified_string<color_ref> ::= qualified_string<target_name> ::= string<target_function> ::= {

REGISTRATION | ALIGNMENT | MARKER}

<font_name> ::= string<url> ::= string<char_code> ::= p_integer<p1> ::= <xy_ref> - lower-left corner of a bounding box.<p2> ::= <xy_ref> - upper-right corner of a bounding box.<logo_name> ::= string<text_string> ::= string<font_ref> ::= qualified_string<place> ::= <xy_ref>, [<rotation>], [<mirror>]<artwork_name> ::= string<logo_ref> ::= qualified_string<xform> ::= <xy_ref>, [<rotation>], [<mirror>], [<scale>]<artwork_ref> ::= qualified_stringThe $ARTWORKS and $ENDARTWORKS section keywords mark the beginning and end of theARTWORKS section of the GenCAM file.

5.5.1 GROUP

The GROUP statement starts the definition of a collection of reusable artwork definitions. An artwork isdefined using one of the FEATUREDEF, TARGETDEF, UFONT, LOGODEF, ARTWORKDEF, orTARGET statements. All the artwork definitions up to the next GROUP statement or up to the end of theARTWORKS section are members of the collection. The only parameter of a GROUP statement isdefined as follows:

<artwork_group_id> a string that uniquely identifies the collection throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "art1", "art2"…)

An artwork collection is named by the ARTWORKS.GROUP.<artwork_group_id> parameter. Eachartwork within a collection must have a name that is unique within the collection. A qualified_string isused to reference an artwork definition from other keyword statements in the GenCAM file. The name ofthe collection is used as the first part of a qualified_string and the name of the artwork is used as thesecond part of the qualified_string.

Page 92: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

82

5.5.2 FEATUREDEF

The FEATUREDEF statement defines a feature artwork. The feature provide a visual reference, e.g., adiode symbol to indicate the polarity of the diode when placed on the board. A feature is a collection of<shape_builder> statements that are drawn relative to a common origin. The parameters of aFEATUREDEF statement are defined as follows:

<feature_name> the name of the FEATUREDEF. The name must be unique within theARTWORKS.GROUP.<artwork_group_id> collection in which it is defined. Ifthe CAD system does not define feature names then the GenCAM writer mustsupply names such as "feature1", "feature2".

[<linedesc_ref>] references to a PRIMITIVES.GROUP.LINEDESC.<linedesc_name>.[<paintdesc_ref>] references to a PRIMITIVES.GROUP.PAINTDESC.<paintdesc_name>. [<color_ref>] (See <color_ref> in 5.4.2)

5.5.3 TARGETDEF

The TARGETDEF statement defines a target artwork. A target is used for registration and alignmentduring the manufacturing process. A target is a collection of <shape_builder> statements that are drawnrelative to a common origin. The parameters of a TARGETDEF statement are defined as follows:

<target_name> the name of the TARGETDEF. The name must be unique within theARTWORKS.GROUP.<artwork_group_id> collection in which it is defined. Ifthe CAD system does not define target names then the GenCAM writer mustsupply names such as "target1", "target2".

<target_function> the function of the target is one of: REGISTRATIONALIGNMENTMARKER.

[<color_ref>] (See <color_ref> in 5.4.2)

When an ARTWORKS.GROUP.TARGETDEF.<target_name> is referenced the <shape_builder>statements are drawn as the artwork for the target. The referencing statement defines the origin at whichthe target is to be drawn.

5.5.4 FONT

The FONT statement defines a reference to an industry standard font. The characters of the font arerendered in the text box of the TEXT statement that references the font. The first character is drawnrelative to <p1> of the text box. The position of the subsequent characters in the box is set by adding thex-axis size of the previous character to the position at which the previous glyph had been drawn.

<font _name> the name of the FONT. The name must be unique within theARTWORKS.GROUP.<artwork_group_id> collection in which it is defined.

[<url>] the Internet address of documentation that defines the font to be used to renderin the text box.

5.5.5 UFONT

The UFONT statement defines a collection of GLYPH statements that can be referenced as a special userdefined font. When a UFONT character set is referenced by a TEXT.<font_ref> parameter the GLYPHcharacters of the UFONT are selected by using the <char_code> value. The artwork defined in theindexed GLYPH is rendered in the text box of the TEXT statement that references the font. The firstcharacter is drawn relative to <p1> of the text box. The position of the subsequent characters in the box is

Page 93: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

83

set by adding the x-axis size of the previous character to the position at which the previous glyph hadbeen drawn.

<font _name> the name of the UFONT. The name must be unique within theARTWORKS.GROUP.<artwork_group_id> collection in which it is defined.

The UFONT statement is a parent to up to 256 GLYPH statements. Each GLYPH character in a UFONTmust have a unique <char_code>.

5.5.6 GLYPH

A GLYPH statement defines the artwork that is render as a character (glyph) in a UFONT character set. Aglyph is a collection of <shape_builder> statements that are drawn relative to a common origin. Theparameters of a GLYPH statement are defined as follows:

<char_code> is an integer in the range of 0-255 that is used to select the GLYPH from theUFONT character set. It is the character code of this user defined font.

<p1> is the xy coordinate of the lower left hand corner of the character cell.<p2> is the xy coordinate of the upper right hand corner of the character cell.

The bounding rectangle of the character cell is defined by <p1> and <p2>. The position of the next glyphin a text box is defined by subtracting the x value of <p1> from the x value of <p2> and adding it to the<p2> location of the current glyph. All shapes in a glyph are clipped at the boundaries of the charactercell.

5.5.7 LOGODEF

The LOGODEF statement defines a logo artwork. The logo is used for non-functional artwork, such ascompany logos or organizational stamps. A logo is a collection of TEXT statements and <shape_builder>statements that are drawn relative to a common origin. The parameters of a LOGODEF statement aredefined as follows:

<logo_name> the name of the LOGODEF. The name must be unique within theARTWORKS.GROUP.<artwork_group_id> collection in which it is defined. Ifthe CAD system does not define logo names then the GenCAM writer mustsupply names such as "logo1", "logo2".

[<color_ref>] (See <color_ref> in 5.4.2)

When an ARTWORKS.GROUP.LOGODEF.<logo_name> is referenced the TEXT and <shape_builder>statements are drawn as the artwork for the logo. The referencing statement defines the origin at whichthe logo is to be drawn.

5.5.8 TEXT

The TEXT statement defines text that is to be rendered inside a text box at a specified location. Theparameters of a TEXT statement are defined as follows:

<text_string> the text string to be rendered.<p1> the lower left-hand coordinate, <xy_ref>, of the text clipping rectangle.<p2> the upper right-hand coordinate, <xy_ref>, of the text clipping rectangle.[<font_ref>] reference to an ARTWORKS.GROUP.UFONT.<font_name> used to render the

text or to an ARTWORKS.GROUP.FONT.<font_name> used to render the text.The default is Helvetica. If the <font_ref> matches the name of a UFONT<font_name>, then the <text string> will be rendered using the GLYPH

Page 94: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

84

characters defined by that UFONT. The <font_ref> can also reference a Type1True-Type TM or Open-Type TM font specified by a FONT.

[<color_ref>] (See <color_ref> in 5.4.2)<place> the transform applied to the text box before it is drawn. The transform is relative

to the origin of the parent statement. The transform is relative to the origin of thetext box, not relative to the <p1> location.

All portions of the text, including the line width of the strokes of the text must completely fit within thetext box defined by <p1>, and <p2> parameters. Any portion of the text outside of the text box will beclipped at the text box boundaries.

5.5.9 ARTWORKDEF

The ARTWORKDEF statement defines an general purpose artwork. The artwork definition is referencedby keyword statements as a reusable collection of graphics. An artwork is a collection TEXT statements,<shape_builder> statements, references to previously defined ARTWORKDEF statements or previouslydefined LOGODEF statements. The collection of drawable items are drawn relative to a common origin.The only parameter of an ARTWORK statement is defined as follows:

<artwork_name> the name of the ARTWORKDEF. The name must be unique within theARTWORKS.GROUP.<artwork_group_id> collection in which it is defined. Ifthe CAD system does not define artwork names then the GenCAM writer mustsupply names such as "art1", "art2".

5.5.10 LOGOREF

The LOGOREF statement references a ARTWORKS.GROUP.LOGODEF.<logo_name> parameter toadd the contents of the referenced logo to the current drawing context. The parameters of a LOGOREFstatement are defined as follows:

<logo_ref> reference to an ARTWORKS.GROUP.LOGODEF.<logo_name> parameter.[<color_ref>] (See <color_ref> in 5.4.3.)<xform> the transform applied to the logo definition before it is drawn. The transform

places and scales the logo artwork relative to the origin of the parent statement.

5.5.11 ARTWORKREF

The ARTWORKREF statement references a ARTWORKS.GROUP.ARTWORKDEF.<artwork_name>parameter to add the contents of the referenced artwork to the current drawing context. The parameters ofa ARTWORKREF statement are defined as follows:

<artwork_ref> reference to an ARTWORKS.GROUP.ARTWORKDEF.<artwork_name>parameter.

[<color_ref>] (See <color_ref> in 5.4.2)<xform> the transform applied to the artwork definition before it is drawn. The transform

places and scales the artwork relative to the origin of the parent statement.

5.5.12 TARGET

The TARGET statement references a ARTWORKS.GROUP.ARTWORKDEF.<artwork_name>parameter to reuse the artwork definition in the referenced artwork as a target. A target is used forregistration and alignment during the manufacturing process. The parameters of a TARGET statement aredefined as follows:

Page 95: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

85

<target_name> the name of the TARGET. The name must be unique within theARTWORKS.GROUP.<artwork_group_id> collection in which it is defined. Ifthe CAD system does not define target names then the GenCAM writer mustsupply names such as "target1", "target2".

<target_function> the function of the target is one of REGISTRATION, ALIGNMENT, orMARKER.

<artwork_ref> (See <artwork_ref> in 5.5.11.)[<color_ref>] (See <color_ref> in 5.4.2)

AN ARTWORKS Section Example

$ARTWORKS GROUP:"art1"; TARGETDEF:"fiducial",ALIGNMENT,"prim1"."BLACK"; CIRCLE:1.50,,"prim1"."LandFill",,(0.0,0.0); ARTWORKDEF:"SOIClead1"; RECTCENTER:0.50,1.10,"prim1"."Outline",,,(0.0,0.55); RECTCENTER:0.50,0.60,"prim1"."Outline","prim1"."compfill",,(0.0,0.80); ARTWORKDEF:"0402courtyard"; RECTCORNERREF:"prim1"."100courtyard", "prim1"."CourtOutline",,,(-1.5,-0.5); ARTWORKDEF:"sot89body"; RECTCENTER:4.60,2.60,"prim1"."Outline",,,(0.0,0.20); RECTCENTER:0.56,1.00,"prim1"."Outline","prim1"."compfill",,(0.0,-1.60); DSHAPE:FILLET,1.80,0.60,0.50,"prim1"."Outline","prim1"."compfill",,

(0.0,1.80); RECTCENTER:0.48,1.00,"prim1"."Outline","prim1"."compfill",,

(-1.50,-1.60); RECTCENTER:0.48,1.00,"prim1"."Outline","prim1"."compfill",,

(1.50,-1.60); FEATUREDEF: "diode7", , "prim4"."filled", "prim1"."BLACK"; POLYGON:; STARTAT: (0, 0); LINETO: (4, 2); LINETO: (4, -2); ENDLINE:; RECTCENTER:1,4 , , , , (0, -0.5);$ENDARTWORKS

5.6 LAYERS

The LAYERS section defines collections of layers, layer sets, and layer swap statements. A layer can beused to manage or collect information about a physical layer (e.g. an bottom conductor layer) or anabstract layer (e.g. a layer containing package outlines) of the product. The following BNF defines thekeyword statements allowed in the LAYERS section, and the constraints on their use:

LAYERS ::= $LAYERS:> 0{

GROUP:<layer_group_id>;:> {

1{ LAYERSINGLE:<layer_name>, <surface>, <GenCAM_layer_type>,

[<material>], [<material_code>], [<thickness>], [<profiledesc_ref>],[<color_ref>];

}n & 0{

Page 96: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

86

LAYERSET: <layerset_name>, [<thickness>],[<profiledesc_ref>];

:> 1{LAYER: <layers_ref>;

<: }n }n & 0 { LAYERSWAP: <swap_name>, <original_layer>,

<swap_with_layer>;}n<: }<: }n $ENDLAYERS

<layer_group_id> ::= string<layer_name> ::= string<surface> ::= {TOP | BOTTOM | BOTH | INTERNAL | ALL | NOTAPPLICABLE}<GenCAM_layer_type>::= {LEGEND - (the silkscreen layer)

| GLUE | SOLDERMASK | BOARDOUTLINE | COATINGCOND | COATINGNONCOND | CONDUCTOR | COURTYARD | DIELBASE | DIELCORE | DIELPREG | DIELADHV | SOLDERBUMP | PASTEMASK | HOLEFILL | PIN | COMPONENT | RESISTIVE | CAPACITIVE | PROBE | REWORK | FIXTURE | GRAPHIC}

<material> ::= string<material_code> ::= string<thickness> ::= p_number<profiledesc_ref> ::= qualified_string - for LMC and MMC<color_ref> ::= qualified_string<layerset_name> ::= string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<swap_name> ::= string<original_layer> ::= <layersingle_ref><swap_with_layer> ::= <layersingle_ref>

Page 97: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

87

The $LAYERS and $ENDLAYERS section keywords mark the beginning and end of the LAYERSsection of the GenCAM file.

5.6.1 GROUP

A GROUP statement starts the definition of a collection of layer, layerset, and layerswap definitions. Alldefinitions up to the next GROUP statement or up to the end of the LAYERS section are members of thecollection. The only parameter of a GROUP statement is defined as follows:

<layer_group_id> a string that uniquely identifies the group throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "lay1", "lay2"…)

A layers collection is named by the LAYERS.GROUP.<layers_group_id> parameter. Each layer andlayer set within a collection must have a name that is unique within the collection. A qualified_string isused to reference a layer or layer set definition from other keyword statements in the GenCAM file. Thename of the collection is used as the first part of a qualified_string and the name of the layer or layer set isused as the second part of the qualified_string.

5.6.2 LAYERSINGLE

A LAYERSINGLE statement defines the physical characteristics of a layer and assigns a GenCAM layertype to a layer. The parameters of a LAYERSINGLE statement are defined as follows:

<layer_name> the name of the LAYERSINGLE. The name must be unique within theLAYERS.GROUP.<layers_group_id> collection in which it is defined. If theCAD system does not define layer names then the GenCAM writer must supplynames such as "layer1", "layer2".

<surface> a fixed field parameter that defines the surface of the layer.<GenCAM_layer_type> the function of the layer is characterized by the GenCAM layer type.[<material>] the descriptive name for the type of material of the layer. The materials are

defined in IPC-4101, IPC-4102, IPC-4103, IPC-4104.[<material_code>] the material code of the layer defined in IPC-4101, IPC-4102, IPC-4103, IPC-

4104 nomenclature.E.g. "L21 1500 C1/C1 BA"

L –material designator.21 – specification sheet number.1500 – nominal laminate thickness.C1/C1 – metal cladding (type and thickness).B – thickness tolerance class.A – surface quality class.

[<thickness>] the physical dimension of the layer.[<profiledesc_ref>] references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

Defines the tolerance (<finished_LMC> and <finished_MMC>) of the materialthickness. If no thickness is specified then this parameter is undefined.

[<color_ref>] (See <color_ref> in 5.4.2)

5.6.3 LAYERSET

The LAYERSET statement defines a collection (set) of layers that are referenced as a sequence orotherwise related grouping of LAYERSINGLE and LAYERSET statements. A layerset can be used fordefining sequential lamination, cutouts, padstacks, vias, etc. The order of the layer references issignificant, and must sequentially reflect the layer stack, as viewed from the primary component side ofthe board, inward. The parameters of a LAYERSET statement are defined as follows:

Page 98: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

88

<layerset_name> the name of the LAYERSET. The name must be unique within theLAYERS.GROUP.<layers_group_id> collection in which it is defined. If theCAD system does not define layerset names then the GenCAM writer mustsupply names such as "layerset1", "layerset2".

[<thickness>] the physical dimension of the layer set thickness.[<profiledesc_ref>] references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

Defines the tolerance (<finished_LMC> and <finished_MMC>) of the materialthickness.

5.6.4 LAYER

The LAYER statement is used as a child of a LAYERSET statement to add a layer or set of layers to aLAYERSET. The only parameter of a LAYER statement is defined as follows:

<layers_ref> reference to a LAYERS.GROUP.LAYERSINGLE.<layer_name> or to aLAYERS.GROUP.LAYERSET.<layerset_name> parameter.

5.6.5 LAYERSWAP

A LAYERSWAP statement defines a pair of layers that are to be swapped when a component is placed onthe bottom of the board. The parameters of a LAYERSWAP statement are defined as follows:

<swap_name> the name of the LAYERSWAP. The name must be unique within theLAYERS.GROUP.<layers_group_id> collection in which it is defined. If theCAD system does not define layerswap names then the GenCAM writer mustsupply names such as "layerset1", "layerset2".

<original_layer> reference to a LAYERS.GROUP.LAYERSINGLE.<layer_name> that waspreviously defined in the LAYERS section.

<swap_with_layer> reference to a LAYERS.GROUP.LAYERSINGLE.<layer_name> that waspreviously defined in the LAYERS section.

A LAYERS Section Example

$LAYERS GROUP:"lay1"; LAYERSINGLE:"OUTLINE_TOP",TOP,LEGEND ; LAYERSINGLE:"OUTLINE_BOT",BOTTOM,LEGEND ; LAYERSINGLE:"DECAL_26",TOP,LEGEND ; LAYERSINGLE:"DECAL_29",BOTTOM,LEGEND ; LAYERSINGLE:"DECAL_27",TOP,CONDUCTOR ; LAYERSINGLE:"DECAL_30",BOTTOM,CONDUCTOR ; LAYERSINGLE:"PADLAYER_TOP",TOP,PIN ; LAYERSINGLE:"PADLAYER_BOT",BOTTOM,PIN ; LAYERSINGLE:"DRILLHOLE",ALL,GRAPHIC ; LAYERSINGLE:"1",TOP,CONDUCTOR ; LAYERSINGLE:"2",BOTTOM,CONDUCTOR ; LAYERSINGLE:"BOARD_OUTLINE",ALL,BOARDOUTLINE ; LAYERSINGLE:"REFNAME_TOP",TOP,CONDUCTOR ; LAYERSINGLE:"REFNAME_BOT",BOTTOM,CONDUCTOR ; LAYERSINGLE:"COMPTOP",TOP,COMPONENT ; LAYERSINGLE:"COMPBOT",BOTTOM,COMPONENT ; LAYERSET: "CONDUCTORS"; LAYER: "lay1"."1"; LAYER: "lay1"."2";

Page 99: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

89

LAYERSWAP: "swap1", "lay1"."1", "lay1"."2"; GROUP: "lay2"; LAYERSET: "ALL"; LAYER: "lay1"."1"; LAYER: "lay1"."2"; LAYERSINGLE:"fixture_top",TOP, COMPONENT; LAYERSINGLE:"fixture_bottom",BOTTOM, COMPONENT;$ENDLAYERS

5.7 PADSTACKS

The PADSTACKS section defines collections of padstack definitions, hole definitions, and paddefinitions. A padstack is a grouping of holes and pads that are referenced to a common origin. Thepadstack is assembled to support easy reuse of pin related geometry data. Hole and pad definitions helpgroup features that might be manufactured by a common process. The following BNF defines thekeyword statements allowed in the PADSTACKS section, and the constraints on their use:

PADSTACKS ::= $PADSTACKS:> 0{

GROUP:<padstack_group_id>;:> 1{

HOLEDEF: <hole_name>, <hole_type>, <primitive_ref>,[<barreldesc_ref>], [<profiledesc_ref>], [<layers_ref>],[<display_graphics>];

| PADDEF: <pad_name>, <layers_ref>, <pad_primitive_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<profiledesc_ref>], [<color_ref>];

| PADSTACK:<padstack_name>;:> 1{

PAD: <layers_ref>, <pad_primitive_ref>, [<linedesc_ref>], [<paintdesc_ref>], [<profiledesc_ref>], [<color_ref>], <position>;

| PADREF: <pad_ref>, <position>; | ARTWORKREF: <artwork_ref>, [<layers_ref>],

[<color_ref>], <position>; | HOLEREF: <hole_ref>, <position>;

<: }n<: }n<: }n

$ENDPADSTACKS

<padstack_group_id> ::= string<hole_name> ::= string<hole_type> ::= {MECHANICAL | ELECTRICAL | TOOLING}<primitive_ref> ::= {<circle_ref> | <rectcenter_ref> |<rectcham_ref> | <rectround_ref>

|<oval_ref> | <diamond_ref> | <hexagon_ref> | <octagon_ref>}<circle_ref> ::= qualified_string<rectcenter_ref> ::= qualified_string<rectcham_ref> ::= qualified_string<rectround_ref> ::= qualified_string<oval_ref> ::= qualified_string<diamond_ref> ::= qualified_string<hexagon_ref> ::= qualified_string<octagon_ref> ::= qualified_string<barreldesc_ref> ::= qualified_string

Page 100: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

90

<profiledesc_ref> ::= qualified_string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<display_graphics> ::= <artwork_ref><artwork_ref> ::= qualified_string<pad_name> ::= string<pad_primitive_ref> ::= {<circle_ref> | <rectcenter_ref> | <rectcham_ref> | <rectround_ref> | <oval_ref> | <diamond_ref> | <hexagon_ref> | <octagon_ref> |

<donut_ref> | <thermal_ref> | <polygon_ref> | <dshape_ref> | <rectcorner_ref>}

<rectcorner_ref> ::= qualified_string<dshape_ref> ::= qualified_string<donut_ref> ::= qualified_string<thermal_ref> ::= qualified_string<polygon_ref> ::= qualified_string<linedesc_ref> ::= qualified_string<paintdesc_ref> ::= qualified_string<color_ref> ::= qualified_string<padstack_name> ::= string<position> ::= <xy_ref>, [<rotation>]<pad_ref> ::= qualified_string<hole_ref> ::= qualified_string

The $PADSTACKS and $ENDPADSTACKS section keywords mark the beginning and end of thePADSTACKS section of the GenCAM file.

5.7.1 GROUP

A GROUP statement starts the definition of a collection of hole, pad, and padstack definitions All thehole, pad, and padstack definitions up to the next GROUP statement or up to the end of the PADSTACKSsection are members of the collection. The only parameter of a GROUP statement is defined as follows:

<padstack_group_id> a string that uniquely identifies the collection throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "pad1", "pad2"…)

A padstacks collection is named by the PADSTACKS.GROUP.<padstack_group_id> parameter. Eachhole, pad, or padstack within a collection must have a name that is unique within the collection. Aqualified_string is used to reference a hole definition, a pad definition, or a padstack definition from otherkeyword statements in the GenCAM file. The name of the collection is used as the first part of aqualified_string and the name of the hole, pad, or padstack is used as the second part of thequalified_string.

5.7.2 HOLEDEF

The HOLEDEF statement names and defines a definition of a drilled or punched feature for a padstack.The parameters of a HOLEDEF statement are defined as follows:

<hole_name> the name of the HOLEDEF. The name must be unique within thePADSTACKS.GROUP.<padstack_group_id> collection in which it is defined. Ifthe CAD system does not define hole names then the GenCAM writer mustsupply names such as "hole1", "hole2".

<hole_type> the type of hole is one of ELECTRICAL, MECHANICAL or TOOLING.

Page 101: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

91

<primitive_ref> reference to one of:PRIMITIVES.GROUP.CIRCLEDEF.<circle_name>PRIMITIVES.GROUP.RECTCENTERDEF.<rectcenter_name>

PRIMITIVES.GROUP.RECTCHAMDEF.<rectcham_name> PRIMITIVES.GROUP.RECTROUNDDEF.<rectround_name> PRIMITIVES.GROUP.OVALDEF.<oval_name>

PRIMITIVES.GROUP.DIAMONDDEF.<diamond_name> PRIMITIVES.GROUP.HEXAGONDEF.<hexagon_name> PRIMITIVES.GROUP.OCTAGONDEF.<octagon_name>[<barreldesc_ref>] references to a PRIMITIVES.GROUP.BARRELDESC.<barreldesc_name>.[<profiledesc_ref>] references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

Defines the tolerances on the hole size and plating.[<layers_ref>] (See <layers_ref> in 5.6.4.) the layers through which the hole is drilled or

punched. The default value is all layers.[<display_graphics>] an <artwork_ref>. (See <artwork_ref> in 5.5.11.) A <display_graphics> artwork

is displayed by a CAD or CAM system instead of the real physical dimension ofthe hole. The purpose is to improve the distinction between holes that aredifficult to differentiate in size by visual inspection.

5.7.3 PADDEF

The PADDEF statement defines a pad shape for use in a padstack. The parameters of a PADDEFstatement are defined as follows:

<pad_name> the name of the PADDEF. The name must be unique within thePADSTACKS.GROUP.<padstack_group_id> collection in which it is defined. Ifthe CAD system does not define pad names then the GenCAM writer mustsupply names such as "pad1", "pad2".

<layers_ref> (See <layers_ref> in 5.6.4.)<pad_primitive_ref> reference to one of:

PRIMITIVES.GROUP.CIRCLEDEF.<circle_name>PRIMITIVES.GROUP.RECTCENTERDEF.<rectcenter_name>

PRIMITIVES.GROUP.RECTCHAMDEF.<rectcham_name> PRIMITIVES.GROUP.RECTROUNDDEF.<rectround_name> PRIMITIVES.GROUP.OVALDEF.<oval_name>

PRIMITIVES.GROUP.DIAMONDDEF.<diamond_name> PRIMITIVES.GROUP.HEXAGONDEF.<hexagon_name>

PRIMITIVES.GROUP.OCTAGONDEF.<octagon_name>PRIMITIVES.GROUP.DONUTDEF.<donut_name>PRIMITIVES.GROUP.THERMALDEF.<thermal_name>PRIMITIVES.GROUP.POLYGONDEF.<polygon_name>PRIMITIVES.GROUP.DSHAPEDEF.<dshape_name>PRIMITIVES.GROUP.RECTCORNERDEF.<rectcorner_name>

[<linedesc_ref>] (See <linedesc_ref> in 5.5.2.)[<paintdesc_ref>] (See <paintdesc_ref> in 5.5.2.)[<profiledesc_ref>] references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

Defines the LMC and MMC of the finished pad.[<color_ref>] (See <color_ref> in 5.4.2)

A padstack includes not only conductive pads, but also the opening for the solder-mask of the appropriatelayers (these may be the same size as the conductive pad, or be smaller or larger as required).

Page 102: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

92

5.7.4 PADSTACK

The PADSTACK statement defines a name for each pad stack. The only parameter of a PADSTACKstatement is defined as follows:

<padstack_name> name of the PADSTACK. The name must be unique within thePADSTACKS.GROUP.<padstack_group_id> collection in which it is defined. Ifthe CAD system does not define padstack names then the GenCAM writer mustsupply names such as "padstack1", "padstack2".

If the CAD system only defines the pad type by the layer type (plane, signal, power etc.) then aconversion to named layers has to be done before the GenCAM file is produced.

5.7.5 PAD

The PAD statement defines and positions a pad in a padstack. The parameters of a PAD statement aredefined as follows:

<layers_ref> (See <layers_ref> in 5.6.4.)<pad_primitive_ref> (See <pad_primitive_ref> in 5.7.3.)[<linedesc_ref>] (See <linedesc_ref> in 5.5.2.)[<paintdesc_ref>] (See <paintdesc_ref> in 5.5.2.)[<profiledesc_ref>] references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

Defines the LMC and MMC of the finished pad.[<color_ref>] (See <color_ref> in 5.4.2)<position> the transform applied to the pad before it is instanced. The transform positions

the pad relative to the origin of the parent padstack statement.

A padstack includes not only conductive pads, but also the opening for the solder-mask of the appropriatelayers (these may be the same size as the conductive pad, or be smaller or larger as required).

5.7.6 PADREF

The PADREF statement positions a pad in a padstack. The PADREF statement references aPADSTACK.GROUP.PADDEF.<pad_name> parameter to add the contents of the referenced paddefinition to the current drawing context. The parameters of a PADREF statement are defined as follows:

<pad_ref> reference to a PADSTACK.GROUP.PADDEF.<pad_name> parameter.<position> the transform applied to the pad definition before it is instanced. The transform

positions the pad relative to the origin of the parent padstack statement.

5.7.7 ARTWORKREF

The ARTWORKREF statement references an ARTWORKS.GROUP.ARTWORKDEF.<artwork_name>parameter to add the contents of the referenced artwork to the current drawing context. Use the PADkeyword statement if the shape of the pad is simple and can be expressed using a <pad_primitive_ref>.The parameters of an ARTWORKREF statement are defined as follows:

<artwork_ref> reference to an ARTWORKS.GROUP.ARTWORKDEF.<artwork_name>parameter.

[<layers_ref>] (See <layers_ref> in 5.6.4.) Defines the layers on which the artwork is to bedrawn.

[<color_ref>] (See <color_ref> in 5.4.2)

Page 103: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

93

<position> the transform applied to the artwork definition before it is instanced. Thetransform positions the artwork relative to the origin of the parent padstackstatement.

5.7.8 HOLEREF

The HOLEREF statement positions a drilled or punched feature. The HOLEREF statement references aPADSTACK.GROUP.HOLEDEF.<hole_name> parameter to add an instance of the hole definition to theparent. The parameters of a HOLEREF statement are defined as follows:

<hole_ref> reference to a PADSTACK.GROUP.HOLEDEF.<hole_name> parameter.<position> the transform applied to the hole definition before it is instanced. The transform

positions the hole relative to the origin of the parent padstack statement.

A PADSTACKS Section Example

$PADSTACKS GROUP:"pad1"; PADSTACK:"100Chips"; PAD:"lay1"."PADLAYER_TOP","prim1"."100ChipRes",,"prim1"."LandFill",

"prim1"."LandTol",,(0,0); PADSTACK:"101Chips"; PAD:"lay1"."PADLAYER_TOP","prim1"."101ChipRes",,"prim1"."LandFill",

"prim1"."LandTol",,(0,0); PADSTACK:"102Chips"; PAD:"lay1"."PADLAYER_TOP","prim1"."102ChipRes",,"prim1"."LandFill",

"prim1"."LandTol",,(0,0); PADSTACK:"SSOIC2rounded"; PAD:"lay1"."PADLAYER_TOP","prim3"."SSOICoval2",,"prim1"."LandFill",

"prim1"."LandTol",,(0,0); PADSTACK:"210Trans"; PAD:"lay1"."PADLAYER_TOP","prim2"."210SOT23",,"prim1"."LandFill",

"prim1"."LandTol2",,(0,0); PADSTACK:"SOICreg"; PAD:"lay1"."PADLAYER_TOP","prim3"."SOIC",,"prim1"."LandFill",

"prim1"."LandTol",,(0,0); GROUP:"pad2"; HOLEDEF: "hole12mm", MECHANICAL, "prim1"."12mmcircle";$ENDPADSTACKS

5.8 PATTERNS

The PATTERNS section defines collections of reusable patterns and symbols which are composed ofreusable items, such as padstacks, artworks, targets, holes, and text. All items used in a pattern definitionshare a common origin. A pattern is constructed by referencing items previously defined in theARTWORKS section and the PADSTACKS section. The following BNF defines the keyword statementsallowed in the PATTERNS section, and the constraints on their use:

PATTERNS ::= $PATTERNS:> 0{

GROUP: <pattern_group_id>;:> 1{

PATTERNDEF: <pattern_name>, [<color_ref>];:> 1{

PADSTACKREF: <padstack_ref>, <pattern_pin_name>, <place>;

| TARGETREF: <target_ref>, [<layers_ref>], [<color_ref>],

Page 104: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

94

<place>; | FEATUREREF: <feature_ref>, [<layers_ref>], [<color_ref>],

<place>; | ARTWORKREF: <artwork_ref>, [<layers_ref>],

[<color_ref>], <xform>; | ARTWORK: [<layers_ref>], [<color_ref>], <position>;

:> {<shape_builder>

<: } | TEXT: <text_string>, <p1>, <p2>, [<font_ref>],

[<layers_ref>], [<color_ref>], <place>; | HOLEREF: <hole_ref>, <position>;

<: }n | SYMBOLDEF: <symbol_name>, [<color_ref>];

:> 1{ <shape_builder> | ARTWORKREF: <artwork_ref>, [<color_ref>], <xform>; | ARTWORK: [<color_ref>], <position>;

:> {<shape_builder>

<: } | TEXT: <text_string>, <p1>, <p2>, [<font_ref>],

[<color_ref>], <place>; | SYMPINDEF: <sympin_name>, [<pin_graphics>], <offset>;

<: }n<: }n<: }n

$ENDPATTERNS

<pattern_group_id> ::= string<pattern_name> ::= string<color_ref> ::= qualified_string<padstack_ref> ::= qualified_string<pattern_pin_name> ::= string - defines the pin name associated with this padstack for this pattern<place> ::= <xy_ref>, [<rotation>],[<mirror>]<artwork_ref> ::= qualified_string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>} - The default is all layers<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<xform> ::= <xy_ref>, [<rotation>], [<mirror>], [<scale>]<target_ref> ::= qualified_string<feature_ref> ::= qualified_string<text_string> ::= string<p1> ::= <xy_ref> - p1 and p2 define the bounding box of the text string<p2> ::= <xy_ref><font_ref> ::= qualified_string<hole_ref> ::= qualified_string<symbol_name> ::= string<sympin_name> ::= string<pin_graphics> ::= <artwork_ref><offset> ::= <xy_ref>

Page 105: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

95

The $PATTERNS and $ENDPATTERNS section keywords mark the beginning and end of thePATTERNS section of the GenCAM file.

5.8.1 GROUP

The GROUP statement starts the definition of a collection of reusable pattern and symbol definitions. Allof the pattern and symbol definitions up to the next GROUP statement or up to the end of thePATTERNS section are members of the collection. The only parameter of a GROUP statement is definedas follows:

<pattern_group_id> a string that uniquely identifies the collection throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "pat1", "pat2"…)

A pattern collection is named by the PATTERNS.GROUP.<pattern_group_id> parameter. Each patternor symbol within a collection must have a name that is unique within the collection. A qualified_string isused to reference a pattern definition or a symbol definition from other keyword statements in theGenCAM file. The name of the collection is used as the first part of a qualified_string and the name ofthe pattern or symbol is used as the second part of the qualified_string.

5.8.2 PATTERNDEF

The PATTERNDEF statement defines a collection of items, such as pads, holes, and artworks, that aregrouped together for reuse. All items included in the pattern definition share a common point of origin.The information in a pattern defines the features associated with a component that are fabricated on aboard or a panel. The location of a pattern on a panel or a board is determined when a pattern isreferenced by a component. The parameters of a PATTERNDEF statement are defined as follows:

<pattern_name> the name of the PATTERNDEF. The name must be unique within thePATTERNS.GROUP.<pattern_group_id> collection in which it is defined. If theCAD system does not define pattern names then the GenCAM writer must supplynames such as "pattern1", "pattern2".

[<color_ref>] (See <color_ref> in 5.4.2)

5.8.3 PADSTACKREF

The PADSTACKREF statement references a PADSTACKS.GROUP.PADSTACK.<padstack_name>parameter. The statement adds an instance of the padstack to the pattern and places it relative to theorigin of the pattern. The statement also associates a pin name with the instance of the padstack. Theparameters of a PADSTACKREF statement are defined as follows:

<padstack_ref> reference to a PADSTACKS.GROUP.PADSTACK.<padstack_name>parameter.

<pattern_pin_name> the pin name of this pattern that is associated with the padstack referenced in thisstatement.

<place> the transform applied to the padstack relative to the origin of the parent (padstackdefinition) statement.

Page 106: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

96

5.8.4 TARGETREF

The TARGETREF statement references an ARTWORKS.GROUP.TARGETDEF.<target_name>parameter or an ARTWORKS.GROUP.TARGET.<target_name> parameter. The statement places aninstance of the target in the parent relative to the origin of the parent. The target is used for alignment orx-y registration (e.g. fiducial) , or as a bad-board indicator. The parameters of a TARGETREF statementare defined as follows:

<target_ref> reference to an ARTWORKS.GROUP.TARGETDEF.<target_name> parameteror a ARTWORKS.GROUP.TARGET.<target_name> parameter.

[<layers_ref>] (See <layers_ref> in 5.6.4.) Defines the layers on which the target is to bedrawn.

[<color_ref>] (See <color_ref> in 5.4.2)<place> the transform applied to the target before it is drawn. The transform is relative to

the origin of the parent statement.

5.8.5 FEATUREREF

The FEATUREREF statement references an ARTWORK.GROUP.FEATUREDEF.<feature_name>parameter. The statement places an instance of the feature in the pattern relative to the origin of thepattern. The parameters of a FEATUREREF statement are defined as follows:

<feature_ref> reference to an ARTWORKS.GROUP.FEATUREDEF.<feature_name>parameter.

[<layers_ref>] (See <layers_ref> in 5.6.4.) [<color_ref>] (See <color_ref> in 5.4.2)<place> the transform applied to the feature before it is drawn. The transform is relative

to the origin of the parent (pattern) statement.

5.8.6 ARTWORKREF

(See section 5.5.11.)[<layers_ref>] (See <layers_ref> in 5.6.4.) Defines the layers on which the artwork is to be

drawn.

5.8.7 ARTWORK

The ARTWORK statement defines an unnamed general-purpose artwork within a parent keywordstatement. The unnamed form of the ARTWORK statement is to be used when a predefined artwork fromthe artwork section is not available to represent the artwork needed in the parent statement. The collectionof drawable items are drawn relative to a common origin of the parent statement. The parameters of aARTWORK statement are defined as follows:

[<layers_ref>] (See <layers_ref> in 5.6.4.) Defines the layers on which the artwork is to bedrawn.

[<color_ref>] (See <color_ref> in 5.4.2)<position> the transform applied to the <shape_builder> instances of the ARTWORK before

they are drawn. The transform is relative to the origin of the parent (pattern)statement.

5.8.8 TEXT

(See section 5.5.8.)[<layers_ref>] (See <layers_ref> in 5.6.4.) Defines the layers on which the text is to be drawn.

Page 107: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

97

5.8.9 HOLEREF

(See section 5.7.7.)

The HOLEREF in patterns provides a pattern with a hole that isn't associated with a padstack. Thiswould be used for mounting bolts or other non-electrical holes used in conjunction with a package. Donot use this HOLEREF for holes that are associated with pads or pins.

5.8.10 SYMBOLDEF

A SYMBOLDEF statement defines a collection of items, such as shapes, artworks, text, and sympins, thatare grouped together for reuse. All items defined in the symbol share a common origin. The informationin a symbol associates a sympin with artwork that is to appear on a drawing. The parameters of aSYMBOLDEF statement are defined as follows:

<symbol_name> the name of the SYMBOLDEF. The name must be unique within thePATTERNS.GROUP.<pattern_group_id> collection in which it is defined. If theCAD system does not define symbol names then the GenCAM writer mustsupply names such as "sym1", "sym2".

[<color_ref>] (See <color_ref> in 5.4.3.)

The reference from a symbol to a pin is provided to add intelligence to schematic drawings or logicdrawings by linking the symbol’s pin to a pin on a component in the circuit.

5.8.11 ARTWORKREF

(See section 5.5.11.)

5.8.12 ARTWORK

The ARTWORK statement defines an unnamed general-purpose artwork within a parent keywordstatement. The unnamed form of the ARTWORK statement is to be used when a predefined artwork fromthe artwork section is not available to represent the artwork needed in the parent statement. The collectionof drawable items are drawn relative to a common origin of the parent statement. The parameters of aARTWORK statement are defined as follows:

[<color_ref>] (See <color_ref> in 5.4.2)<position> the transform applied to the <shape_builder> instances of the ARTWORK before

they are drawn. The transform is relative to the origin of the parent (symbol)statement.

5.8.13 TEXT

(See section 5.5.8.)

5.8.14 SYMPINDEF

The SYMPINDEF statement defines a pin and the location of a pin on the parent symbol. The parametersof a SYMPINDEF statement are defined as follows:

<sympin_name> the pin name of this pin on the symbol. The pin name is associated with a pin ona device through the reference to DRAWINGS.DRAWING.SHEET.FRAME.SYMBOLREF.SYMPINREF.<sympin_ref>

Page 108: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

98

<pin_graphics> the graphics on a symbol that are associated with a specific sympin on thesymbol. The graphic is associated with a device pin when the symbol is placedon a drawing.

<offset> the transform applied to the draw-able contents of the statement prior to beingdrawn. The transform is relative to the origin of the parent statement.

A PATTERNS Section Example

$PATTERNS GROUP:"pat1"; PATTERNDEF:"0402ChipResistor"; PADSTACKREF:"pad1"."100Chips","Pin1",(-0.65,0.0); PADSTACKREF:"pad1"."100Chips","Pin2",(0.65,0.0); ARTWORKREF:"art1"."0402courtyard","lay1"."OUTLINE_TOP",,(0.0,0.0); PATTERNDEF:"SOT23pattern"; PADSTACKREF:"pad1"."210Trans","base",(-0.95,-1.10); PADSTACKREF:"pad1"."210Trans","emitter",(0.95,-1.10); PADSTACKREF:"pad1"."210Trans","collector",(0.0,1.10); ARTWORKREF:"art1"."SOT23courtyard","lay1"."OUTLINE_TOP",,(0.0,0.0); PATTERNDEF:"SO8W_SOIC"; PADSTACKREF:"pad1"."SOICreg","Pin1",(-1.905,4.60); PADSTACKREF:"pad1"."SOICreg","Pin2",(-0.635,4.60); PADSTACKREF:"pad1"."SOICreg","Pin3",(0.635,4.60); PADSTACKREF:"pad1"."SOICreg","Pin4",(1.905,4.60); PADSTACKREF:"pad1"."SOICreg","Pin8",(-1.905,-4.60); PADSTACKREF:"pad1"."SOICreg","Pin7",(-0.635,-4.60); PADSTACKREF:"pad1"."SOICreg","Pin6",(0.635,-4.60); PADSTACKREF:"pad1"."SOICreg","Pin5",(1.905,-4.60); ARTWORKREF:"art1"."SO8Wcourtyard","lay1"."OUTLINE_TOP",,(0.0,0.0);$ENDPATTERNS

5.9 PACKAGES

The PACKAGES section defines collections of package definitions. The physical dimensions of thepackage required to support manufacturing are described by a package definition. The following BNFdefines the keyword statements allowed in the PACKAGES section, and the constraints on their use:

PACKAGES ::= $PACKAGES:> 0{

GROUP:<package_group_id>;:> 1{

PACKAGE: <package_name>, [<package_type>], [<package_height>], [<package_standoff>], [<package_centroid>];

:> { 0{BODY: <artwork_ref>, <layers_ref>;}n& 0{TARGETREF: <target_ref>, [<layers_ref>], [<color_ref>],

<position>;}1& 1{PIN: <pattern_pin_ref>, [<pin_type>], [<pin_exit>],

[<pin_shadow>], <position>;}n& 0{PINONE: <pattern_pin_ref>;}1

<: }<: }n<: }n

Page 109: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

99

$ENDPACKAGES

<package_group_id> ::= string<package_name> ::= string<package_type> ::= { CHIP

| TANTALUM | MELF | EMBEDDED | SOT23 | SOT52 | SOT89 | SOT143 | SOD123 | SOIC | SOPIC | SSOIC | TSOP | CERAMIC_FLATPACK | CERAMIC_QUAD_FLATPACK | PGA | PLASTIC_CHIP_CARRIER | LEADLESS_CERAMIC_CHIP_CARRIER | CERAMIC_DIP | PLASTIC_DIP | CERAMIC_SIP | PLASTIC_SIP | SQUARE_QUAD_FLATPACK | RECTANGULAR_QUAD_FLATPACK | SOJ | PLASTIC_BGA | CERAMIC_BGA | MINI_BGA | CHIP_SCALE | BARE_DIE | FLIPCHIP | AXIAL_LEADED | RADIAL_LEADED | TO_TYPE | MOLDED | POWER_TRANSISTOR | RELAY_SM | RELAY_TH | TRIMPOT_TH | TRIMPOT_SM | TRANSFORMER | CONNECTOR_SM | CONNECTOR_TH | COIL | CHOKE_SWITCH_SM | SWITCH_TH | HERMETIC_HYBRID | MCM | NETWORK

Page 110: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

100

}<package_height> ::= p_number<package_standoff> ::= p_number<package_centroid> ::= <xy_ref><artwork_ref> ::= qualified_string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<target_ref> ::= qualified_string<color_ref> ::= qualified_string<position> ::= <xy_ref>, [<rotation>]<pattern_pin_ref> ::= string<pin_type> ::= {

TH_ROUND | TH_RIBBON | TH_V | TERMINATION | GULLWING | BUTTLEAD | JLEAD | SLEAD | WRAPAROUND | CASTELLATION | BALL | COLUMN | LAND }

<pin_exit> ::= {EDGE | BOTTOM | TOP }<pin_shadow> ::= <artwork_ref>

The $PACKAGES and $ENDPACKAGES section keywords mark the beginning and end of thePACKAGES section of the GenCAM file.

5.9.1 GROUP

The GROUP statement starts the definition of a collection of package definitions. All the packagedefinitions up to the next GROUP statement or up to the end of the PACKAGES section are members ofthe collection. The only parameter of a GROUP statement is defined as follows:

<package_group_id> a string that uniquely identifies the collection throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "pkg1", "pkg2"…)

A packages collection is named by the PACKAGES.GROUP.<package_group_id> parameter. Eachpackage within a collection must have a name that is unique within the collection. A qualified_string isused to reference a package definition from other keyword statements in the GenCAM file. The name ofthe collection is used as the first part of a qualified_string and the name of the package is used as thesecond part of the qualified_string.

5.9.2 PACKAGE

The PACKAGE statement defines the physical dimensions of a device package. All items included in thepackage definition share a common point of origin. The information in a package defines the featuresassociated with a package that are needed to support the placement and test of a component placed on a

Page 111: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

101

board or a panel. The location of a package on a panel or a board is determined when a device referencinga package is referenced by a component. The parameters of a PACKAGE statement are defined asfollows:

<package_name> the name of the PACKAGE. The name must be unique within thePACKAGES.GROUP.<package_group_id> collection in which it is defined. Ifthe CAD system does not define package names then the GenCAM writer mustsupply names such as "package1", "package2".

[<package_type>] one of the defined GenCAM package types. The list of package types listed inthis section were valid at the time of publication of the standard. A current list ofpackage types is maintained at http://www.gencam.org/registered/package_types.The package type is a general classification of physical shape and attachment.

[<package_height>] the maximum height of the package as measured from the finished surface of theboard or panel on which it is mounted.

[<package_standoff>] the clearance height to the bottom of the package body as measured from thefinished surface of the board or panel on which it is mounted.

[<package_centroid>] the centroid of the package as used by manufacturing equipment duringassembly, inspection, and test. The package centroid is measured from the originof the package.

5.9.3 BODY

The BODY statement defines physical shapes to be associated with the package. The body shape is apackage outline that would be drawn on a display screen by a CAD or CAM tool or on a GenCAMdrawing. Another shape might provide a color coded image to be displayed by a repair station. The layerassociated with the shape can be used to classify the function of a body artwork. The parameters of aBODY statement are defined as follows:

<artwork_ref> (See <artwork_ref> in 5.5.11.) All artwork is defined relative to the origin of thepackage definition.

<layers_ref> (See <layers_ref> in 5.6.4.)

5.9.4 TARGETREF

(See section 5.8.4.)

This TARGET definition is referring to a target on the package and is defined relative to the packageorigin.

5.9.5 PIN

The PIN statement defines the characteristics of each package lead. The parameters of a PIN statementare defined as follows:

<pattern_pin_ref> the physical pin identifier for the package that correlates to theDEVICES.GROUP.DEVICE.PINDESC.<pattern_pin_ref> parameter of thepackage that is referencing this package definition.

<pin_type> the pin type is one of the GenCAM standard package pin types identified inJEDEC-1(IEC-30).

<pin_exit> the means by which a pin exits package.EDGE - the pin exits the package body at its edge.BOTTOM - the pin exits the package body from its bottom side.TOP - the pin exits the package body from its top side.

<pin_shadow> (See <artwork_ref> in 5.5.11.) Reference to an artwork that defines the twodimensional shape of the portion of the lead that extends beyond the package

Page 112: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

102

edge, looking down from the top of the package. This artwork is used torepresent the shape of a part when displaying the part on a drawing or on thedisplay screen of a CAD or CAM application.

<position> define the position of the <pin_shadow>, or the position of the lead (if no portionof the pin extends beyond the body of the package) with respect to the origin ofthe package.

5.9.6 PINONE

The PINONE statement defines one of the pins in a package as the reference pin for the package. Theonly parameter of a PINONE statement is defined as follows:

<pattern_pin_ref> reference to a PIN.<pattern_pin_name> of this package. This is the pin definedon the package that is considered by manufacturing equipment to be pin 1, or thereference pin of the package.

A PACKAGES Section Example

$PACKAGES GROUP:"pkg1"; PACKAGE:"0402res",CHIP,,,(0.0,0.0); BODY:"art1"."0402body","lay1"."COMPTOP"; PIN:"Pin1",WRAPAROUND,EDGE,,(-0.65,0.0); PIN:"Pin2",WRAPAROUND,EDGE,,(0.65,0.0); PACKAGE:"SOT23trans",SOT23,,,(0.0,0.0); BODY:"art1"."sot23body","lay1"."COMPTOP"; PIN:"base",GULLWING,EDGE,,(-0.95,-1.10); PIN:"emitter",GULLWING,EDGE,,(0.95,-1.10); PIN:"collector",GULLWING,EDGE,,(0.0,1.10);$ENDPACKAGES

5.10 FAMILIES

The FAMILIES section defines collections of logic family characteristics referenced by devices. Thefollowing BNF defines the keyword statements allowed in the FAMILIES section, and the constraints ontheir use:

FAMILIES ::= $FAMILIES:> 0{

GROUP:<family_group_id>;:> 1{

FAMILY: <family_name>,<drive_high>, <drive_low>, <receive_high>, <receive_low>, <open_input_logic>, <edge_speed>, <load>;

<: }n<: }n

$ENDFAMILIES

<family_group_id> ::= string<family_name> ::= string<drive_high> ::= number<drive_low> ::= number<receive_high> ::= number<receive_low> ::= number<open_input_logic> ::= {ONE | ZERO | X}

Page 113: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

103

<edge_speed> ::= p_number <load> ::= {UP | DOWN | NONE}

The $FAMILIES and $ENDFAMILIES section keywords mark the beginning and end of the FAMILIESsection of the GenCAM file.

5.10.1 GROUP

The GROUP statement starts the definition of a collection of logic family definitions. All the familydefinitions up to the next GROUP statement or up to the end of the FAMILIES section are members ofthe collection. The only parameter of a GROUP statement is defined as follows:

<family_group_id> a string that uniquely identifies the collection throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "family1", "family2"…)

A families collection is named by the FAMILIES.GROUP.<family_group_id> parameter. Each familywithin a collection must have a name that is unique within the collection. A qualified_string is used toreference a family definition from other keyword statements in the GenCAM file. The name of thecollection is used as the first part of a qualified_string and the name of the family is used as the secondpart of the qualified_string.

5.10.2 FAMILY

The FAMILY statement defines operational characteristics for a family of devices. This includes theexpected logical voltage characteristics of the family, the edge speed characteristics of the family, and thepin load characteristics of the family. The parameters of a FAMILY statement are defined as follows:

<family_name> the name of the FAMILY. The name must be unique within theFAMILIES.GROUP.<family_group_id> collection in which it is defined. If theCAD system does not define family names then the GenCAM writer must supplynames such as "family1", "family2".

<drive_high> the minimum voltage level, which a device of the family will source from anoutput when the expected state is a logical 1.

<drive_low> the maximum voltage level that a device of the family will source from an outputwhen the expected state is a logical 0.

<receive_high> the minimum voltage level, which must be driven for a device of the family to beexpected to recognize a logical 1.

<receive_low> the maximum voltage level for which a device of the family can be expected torecognize a logical 0.

<open_input_logic> the default logic-state exhibited by unconnected (floating) input pins. It is afixed-field parameter of either ONE, ZERO, or X.

<edge_speed> the risetime in volts per nanosecond.<load> the expected characteristics of the output pins by the surrounding circuitry is one

of pulled up (UP), pulled down (DOWN), or left floating (NONE).

A FAMILIES Section Example

$FAMILIES GROUP: "11357-66540"; FAMILY: "CMOS", 4.0, 0.8, 3.6, 1.3, X, 50, NONE; FAMILY: "TTL", 3.5, 0.2, 2.0, 0.8, ONE, 100, UP;$ENDFAMILIES

Page 114: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

104

5.11 DEVICES

The DEVICES section defines collections of device statements that associate part numbers from anenterprise (a manufacturer or a distributors) with a set of device specific pin definitions and with apackage definition. The geometry attributes of a device, including the location of the origin, are those ofthe package. The following BNF defines the keyword statements allowed in the DEVICES section, andthe constraints on their use:

DEVICES ::= $DEVICES:> 0{

GROUP:<device_group_id>;:> 1{

DEVICE: <part_name>, <device_type>, <package_ref>, [<family_ref>];

:> { 0{PART: <enterprise_ref>, <enterprise_part_id>,

[<part_revision>];}1 & 0{ALIAS: <enterprise_ref>, <enterprise_part_id>,

[<part_revision>];}n & 0{ALTERNATE: <enterprise_ref>, <enterprise_part_id>,

[<part_revision>];}n & 0{PINDESC: <pattern_pin_ref>, [<pin_funct>],

[<circuit_number>], [<symbol_ref>], [<sympin_ref>],[<family_ref>];}n

& 0{PROGRAM: <program_name>, <enterprise_ref>,<program_rev>, [<program_date>];}1

& 0{VALUE: <measured_value>, <value_type>, [<ntol>], [<ptol>];}n

<: }<: }n<: }n

$ENDDEVICES

<device_group_id> ::= string<part_name> ::= string<device_type> ::= {RES - Used for two terminal resistors

| VRES - Used for variable resistors| FABRES - Used for embedded resistors| RPCK - Used for resistor pack| DPCK - Used for diode pack| LEDPCK - Used for LED pack| HYBRID - Used for AtoD, DtoA| CAP - Used for two terminal non-polarized capacitors| VCAP - Used for variable capacitors| PCAP - Used for two terminal polarized capacitors| TCAP - Used for tantalum capacitors| FABCAP - Used for embedded capacitors| CPCK - Used for capacitor packs| IND - Used for inductors| VIND - Used for variable inductor| XFMR - Used for transformer| DIODE - Used for diodes, including Schottky| DIAC - Used for diacs| ZENER - Used for zener diodes

Page 115: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

105

| BRIDGE - Used for silicon bridge rectifier| PNP - Used for transistors, unijunctions and darlingtons.| NPN - Used for transistors, unijunctions and darlingtons.| NFET - Used for FET families| PFET - Used for FET families| NJFET - Used for FET families| PJFET - Used for FET families| TRIAC - Used for Triacs| SCR - Used for Thyristors| VR - Used for voltage regulators| OPTO - Used for opto-isolators| LED - Light Emitting Diode| OPAMP - Used for operational amplifier ICs| XTAL - Used for crystals| RELAY - Used for relays| SWITCH - Used for switches| FUSE - Used for fuses| JUMPER - Used for jumpers| CONN - Used for connectors| SOCKET - Used for sockets| LOGIC - Used for all logic devices| ANALOG - Used for analog ICs| OTHER - Used when none of the standard types are sufficient}

<package_ref> ::= qualified_string<family_ref> ::= qualified_string<enterprise_ref> ::= string<enterprise_part_id> ::= string<part_revision> ::= string<pattern_pin_ref> ::= string - Correlates the package pin identifier for the device with device

functionality<pin_funct> ::= {DRIVER - Used for outputs that drive a net.

| RECEIVER - Used for inputs| BIDIRECTIONAL - Used for bi-directional logic| ANALOGIN - Used for analog ICs| ANALOGOUT - Used for analog ICs| NCLOSED - Used for relays and switches| NOPEN - Used for relays and switches| POWER - Used for power supply pins| GROUND - Used for ground pins| ANALOG - Used for analog pins| DIGITAL - Used for any family of logic pins| INACTIVE - Used for resistors, capacitors, etc. pins| ANODE - Used for diodes, zeners, unijunctions, thyristors etc.| CATHODE - Used for diodes, zeners, unijunctions, thyristors etc.| BASE - Used for transistors| COLLECTOR - Used for transistors (including IGBTs)| EMITTER - Used for transistors (including IGBTs)| SOURCE - Used for FETs| DRAIN | GATE - Used for FETs| WIPER - Used for variable components| CASE - Used for connection to device screen or can| CLOCK - Used for clock

Page 116: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

106

| ENABLE | DISABLE - Used for device enable/disable| TDI | TDO | TMS | TCK | TRST – Used for Boundary Scan| INTNC - Used for pins that are internally disconnected}

<circuit_number> ::= string<symbol_ref> ::= qualified_string<sympin_ref> ::= string<measured_value> ::= number<value_type> ::= {OHM | FARAD | HENRY | VOLT | AMP | WATT | HERTZ | JOULE |

LUMEN}<ntol> ::= p_number - percentage error tolerance on positive side<ptol> ::= p_number - percentage error tolerance on negative side

The $DEVICES and $ENDDEVICES section keywords mark the beginning and ending of the DEVICESsection of the GenCAM file.

5.11.1 GROUP

The GROUP statement starts the definition of a collection of device definitions. All the devicedefinitions up to the next GROUP statement or up to the end of the DEVICES section are members of thecollection. The only parameter of a GROUP statement is defined as follows:

<device_group_id> a string that uniquely identifies the collection throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "dev1", "dev2"…)

A device collection is named by the DEVICES.GROUP.<device_group_id> parameter. Each devicewithin a collection must have a name that is unique within the collection. A qualified_string is used toreference a device definition from other keyword statements in the GenCAM file. The name of thecollection is used as the first part of a qualified_string and the name of the device is used as the secondpart of the qualified_string.

5.11.2 DEVICE

The DEVICE statement associates pin, package, and functional information with enterprise part numberinformation. The parameters of a DEVICE statement are defined as follows:

<part_name> the name of the DEVICE. The name must be unique within theDEVICES.GROUP.<device_group_id> collection in which it is defined. If theCAD system does not define device names then the GenCAM writer must supplynames such as "dev1", "dev2".

<device_type> one of the GenCAM device types.<package_ref> reference to a PACKAGES.GROUP.PACKAGE.<package_name>.[<family_ref>] reference to a FAMILIES.GROUP.FAMILY.<family_name>. Defines the logic

family of the device. If an individual pin also references another logic familythen the family referenced by a pin overrides the device level family.

5.11.3 PART

The PART statement defines the enterprise supplying the part and the part identification information ofthe preferred part for this device. The parameters of a PART statement are defined as follows:

<enterprise_ref> reference to an ADMINISTRATION. ENTERPRISE.<enterprise_id>.<enterprise_part_id> the enterprise's part identification number.

Page 117: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

107

[<part_revision>] the revision level of the enterprise's part.

5.11.4 ALIAS

The ALIAS statement defines an alternative part number for a physically identical PART. An alias isused when the part is purchased from a different supplier, or if the supplier has alternative part numbersfor the same part. (This might occur if the supplier uses different part numbers for different quantitypurchases.) The parameters of an ALIAS statement are defined as follows:

<enterprise_ref> (See <enterprise_ref> in 5.11.3)<enterprise_part_id (See <enterprise_part_id> in 5.11.3) [<part_revision>] (See <part_revision> in 5.11.3)

5.11.5 ALTERNATE

The ALTERNATE statement defines an alternative part number for a functionally equivalent part thatmeets the manufacturing and design requirements. The alternate part may or may not be from a differententerprise. (The part may even be physically identical, but tested to different qualification specifications.)The parameters of an ALTERNATE statement are defined as follows:

<enterprise_ref> (See <enterprise_ref> in 5.11.3)<enterprise_part_id (See <part_revision> in 5.11.3) [<part_revision>] (See <part_revision> in5.11.3)

5.11.6 PINDESC

The PINDESC statement defines the functionality of a pin on the device. This statement associates testerinput data and schematic symbol information with a pin. For example, the naming of the anode andcathode on diodes and zeners; collector, base and emitters on transistors; and gate, source, and drain onfets are done using parameters in PINDESC.<pin_funct> parameter. The parameters of a PINDESCstatement are defined as follows:

<pattern_pin_ref> this parameter must match a DEVICE.<package_ref>.PIN.<pattern_pin_ref>parameter for this device.

[<pin_funct>] one of the defined GenCAM pin functions. (The list of functions defined in thisdocument are the functions that were defined at the publication date.) Additional<pin_funct> values defined between releases of this document will be publishedat http://www.gencam.org/registered/pin_funct.

[<circuit_number>] the circuit number used to describe the circuit number in the IC package. [<symbol_ref>] reference to a PATTERNS.GROUP.SYMBOLDEF.<symbol_name> that is

associated with this PINDESC statement.[<sympin_ref>] this parameter correlates to the SYMPINDEF.<sympin_name> string that is

defined in the SYMBOLDEF statement which is a child of the statementreferenced by the <symbol_ref> parameter of this PINDESC statement.

[<family_ref>] reference to a FAMILIES.GROUP.FAMILY.<family_name>. Defines the logicfamily of the pin. If a family is assigned at the device level and to a specific pinthen the local pin definition takes precedence over the device level assignment.

5.11.7 PROGRAM

The PROGRAM statement defines the software content of the device. Use this PROGRAM statement ifthe device is programmed prior to placement of the DEVICE on the board. The parameters of aPROGRAM statement are defined as follows:

<program_name> the name of the program.

Page 118: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

108

<enterprise_ref> the enterprise that originated the program.<program_rev> the program revision.[<program_date>] the program release date.

5.11.8 VALUE

The VALUE statement defines a nominal characterization value for a device. The type of value entered isalways the same for all the same type of devices. For example, if the value used for a resistor isresistance, then all resistors have values that are resistance. The parameters of a VALUE statement aredefined as follows:

<measured_value> a number that expresses the value.<value_type> one of OHM, FARAD, HENRY, VOLT, AMP, WATT, HERTZ, JOULE, or

LUMEN. Each <value_type> parameter can only be used once for each device(i.e., only one OHM <value_type> for a resistor).

<ntol> the negative (minimum) tolerance for the device. The value is a positivefloating-point percentage.

<ptol> the positive (maximum) tolerance for the device. The value is a positive, floating-point percentage.

A DEVICES Section Example

$DEVICES GROUP:"dev1"; DEVICE:"0402",RES,"pkg1"."0402res"; DEVICE:"0603",RES,"pkg1"."0603res"; DEVICE:"SOT143",PNP,"pkg1"."SOT143trans"; DEVICE:"mll34",DIODE,"pkg1"."mll34melf"; DEVICE:"SO8WIC",LOGIC,"pkg1"."SO8W";$ENDDEVICES

5.12 MECHANICALS

The MECHANICALS section defines collections of mechanical parts definitions that associate partnumbers from an enterprise (a manufacturer or a distributor) with non-electrical features of a fixture,board, panel, or assembly; e.g. mechanical components, heat sinks, bolts, or alignment pins. Thegeometry attributes are defined relative to a local origin for the part definition. The following BNFdefines the keyword statements allowed in the MECHANICALS section, and the constraints on their use:

MECHANICALS ::= $MECHANICALS:> 0{

GROUP: <mechanical_group_id>;:> 1{

MECHANICAL: <part_name>,[<part_height>],[<part_standoff>];:> {

0{PART: <enterprise_ref>, <enterprise_part_id>,[<part_revision>];}1

& 0{ALIAS: <enterprise_ref>, <enterprise_part_id>,[<part_revision>];}n

& 0{ALTERNATE: <enterprise_ref>, <enterprise_part_id>, [<part_revision>];}n

& 0{ARTWORKREF: <artwork_ref>, <layers_ref>, [<color_ref>], <position>;}n

& 0{ ARTWORK: [<layers_ref>], [<color_ref>], <position>;:> {

Page 119: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

109

<shape_builder><: }

}n& 0{ HOLEREF: <hole_ref>, <position>;}n

<: }<: }n<: }n$ENDMECHANICALS

<mechanical_group_id> ::= string<part_name> ::= string<part_height> ::= p_number<part_standoff> ::= p_number<enterprise_ref> ::= string<enterprise_part_id> ::= string<part_revision> ::= string<artwork_ref> ::= qualified_string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<color_ref> ::= qualified_string<position> ::= <xy_ref>, [<rotation>]<hole_ref> ::= qualified_string

The $MECHANICALS and $ENDMECHANICALS section keywords mark the beginning and ending ofthe MECHANICALS section of the GenCAM file.

5.12.1 GROUP

The GROUP statement starts the definition of a collection of mechanical definitions. All the mechanicaldefinitions up to the next GROUP statement or up to the end of the MECHANICALS section aremembers of the collection. The only parameter of a GROUP statement is defined as follows:

<mechanical_group_id> a string that uniquely identifies the collection throughout the GenCAM file.The identifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "mech1", "mech2"…)

A mechanical collection is named by the MECHANICALS.GROUP.<mechanicals_group_id> parameter.Each mechanical within a collection must have a name that is unique within the collection. Aqualified_string is used to reference a device definition from other keyword statements in the GenCAMfile. The name of the collection is used as the first part of a qualified_string and the name of themechanical is used as the second part of the qualified_string.

5.12.2 MECHANICAL

The MECHANICAL statement defines mechanical components that have not been defined elsewhere inthe GenCAM file (e.g., items that are usually not assigned an electrical function in the COMPONENTSsection and are not pads, vias or test pins). A common example of these mechanical components wouldbe mounting hardware for power transistors or card extractor mechanisms.

<part_name> the name of the MECHANICAL. The name must be unique within theMECHANICALS.GROUP.<mechanical_group_id> collection in which it isdefined. If the CAD system does not define mechanical names then the GenCAMwriter must supply names such as "mech1", "mech2".

Page 120: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

110

[<part_height>] the mechanical component's maximum height from the finished mountingsurface.

[<part_standoff>] the mechanical component's clearance from the finished mounting surface.

5.12.3 PART

(See section 5.11.3.)

5.12.4 ALIAS

(See section 5.11.4.)

5.12.5 ALTERNATE

(See section 5.11.5.)

5.12.6 ARTWORKREF

(See section 5.8.6.)

The ARTWORKREF statement in a MECHANICAL is used for representing the mechanical part in aGenCAM drawing or for representing the mechanical part on a display screen of a CAD or CAM tool.

5.12.7 ARTWORK

(See section 5.8.7.)

The ARTWORK statement in a MECHANICAL is used for representing the mechanical part in aGenCAM drawing or for representing the mechanical part on a display screen of a CAD or CAM tool.

5.12.8 HOLEREF

(See section 5.7.7) This is the size of the hole in the mechanical device. This hole is not to be drilled inthe board or assembly.

A MECHANICALS Section Example

$MECHANICALS GROUP: "34435"; MECHANICAL: "Abracket", 0.60, 0.25; PART: "acme", "B47-34", "2b"; HOLEREF: "pad2"."hole12mm",(1000, 1000); HOLEREF: "pad2"."hole12mm",(1000, 3125); ARTWORKREF: "art2"."artworkExample", "lay1"."DECAL_29", , (0, 0); MECHANICAL: "Terminal3", 0.5; PART: "acme", "T7.635", "1a"; ALIAS: "acme", "T14.635", "RevB"; ARTWORKREF: "art2"."textExample", "lay1"."DECAL_29", , (4, 4);$ENDMECHANICALS

5.13 COMPONENTS

The COMPONENTS section defines collections of component statements used by boards and panels. ACOMPONENT statement defines a component position relative to the origin of a board or a panel. ACOMPONENT statement can also references a device statement, a pattern statement, and mechanicalstatement to define the makeup of the component at that location. Additional statements provide artworkand manufacturing instructions for the device or mechanical associated with the component. The

Page 121: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

111

following BNF defines the keyword statements allowed in the COMPONENTS section, and theconstraints on their use:

COMPONENTS ::= $COMPONENTS:> 0{

GROUP: <component_group_id>;:> 1{

COMPONENT: <ref_desig>, <layersingle_ref>, <place>;:> {

0{DEVICEREF: <part_ref>,[<fab_or_assemble>], [<position>];}1

& 0{MECHANICALREF: <mechpart_ref>,[<position>];}n

& 0{PATTERNREF: <pattern_ref>, [<position>];}1 & 0{ARTWORKREF: <artwork_ref>, <layers_ref>, [<color_ref>],

[<position>];}n & 0{ARTWORK: [<layers_ref>], [<color_ref>], <position>;

:> {<shape_builder>

<: } }n

& 0{TEXT: <text_string>, <p1>, <p2>, [<font_ref>],<layers_ref>, [<color_ref>], <place>; }n

& 0{PROGRAM: <program_name>, <enterprise_ref>,<program_rev>, [<program_date>];}1

& 0{PREPARATION: <comp_prep_name>, <comp_prep_type>;:> {

<shape_builder><: }

}n & 0{PRESENTATION: <delivery_system>, [<configuration>],

[<other>];}1 & 0{ KEEPOUT: <keepout_name>, <keepout_type>,

[<layers_ref>];:>

<closed_shape><:

}n & 0{ONFAIL: <text>;}1

<: }<: }n<: }n

$ENDCOMPONENTS

<component_group_id> ::= string<ref_desig> ::= string<layersingle_ref> ::= qualified_string<place> ::= <xy_ref>, [<rotation>],[<mirror>]<part_ref> ::= qualified_string<fab_or_assemble> ::= {

ASSEMBLED - device is manufactured separately from the board. (ASSEMBLED is the default value.)

Page 122: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

112

| FABRICATED - device is manufactured as part of the board.}

<position> ::= <xy_ref>, [<rotation>]<mechpart_ref> ::= qualified_string<pattern_ref> ::= qualified_string<artwork_ref> ::= qualified_string<color_ref> ::= qualified_string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layerset_ref> ::= qualified_string<text_string> ::= string<p1> ::= <xy_ref> - p1 and p2 define the bounding box of the text string<p2> ::= <xy_ref><font_ref> ::= qualified_string<program_name> ::= string<program_rev> ::= string<program_date> ::= <datetime><datetime> ::= string<comp_prep_name> ::= string<comp_prep_type> ::= {LEADLENGTH | LEADBEND | CLINCH | CLINCHLENGTH |

PREPCODE | OTHER}<delivery_system> ::= {REEL | PACK | BULK | TRAY | TUBE | CARTRIDGE}<configuration> ::= string - i.e. "size", "matrix", "width"<other> ::= string<keepout_name> ::= string<keepout_type> ::= {COMPONENT | VIA | ROUTE | TESTPIN | TESTPROBE |

BOARD}<sheet_ref> ::= qualified_string<text> ::= string

The $COMPONENTS and $ENDCOMPONENTS section keywords mark the beginning and end of theCOMPONENTS section of the GenCAM file..

5.13.1 GROUP

The GROUP statement defines a collection of component definitions. All the component definitions up tothe next GROUP statement or up to the end of the DEVICES section are members of the collection. Theonly parameter of a GROUP statement is defined as follows:

<component_group_id> a string that uniquely identifies the collection throughout the GenCAM file.The identifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "cmp1", "cmp2"…)

A component collection is named by the COMPONENTS.GROUP.<component_group_id> parameter.Each component within a collection must have a name that is unique within the collection. Aqualified_string is used to reference a component definition from other keyword statements in theGenCAM file. The name of the collection is used as the first part of a qualified_string and the name ofthe component is used as the second part of the qualified_string.

5.13.2 COMPONENT

The COMPONENT statement associates device, mechanical, pattern, and manufacturing informationwith a component location and component reference designator. The origins of the package in a device,the pattern, or the mechanical that are referenced by a component coincide with the point of origin of thecomponent. The parameters of a COMPONENT statement are defined as follows:

Page 123: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

113

<ref_desig> the name of the COMPONENT. The name must be unique within theCOMPONENTS.GROUP.<component_group_id> collection in which it isdefined. If the CAD system does not define component names then the GenCAMwriter must supply names such as "cmp1", "cmp2". The reference designator istypically the CAD component reference designator. Examples of componentname are "U32", "C202", "R51" or "PLA132".

[<layersingle_ref>] reference to a LAYERS.GROUP.LAYERSINGLE.<layer_name> parameter. Fora fabricated component the <layersingle_ref> defines the layer of the board orpanel on which the part is manufactured. (Fabricated components, such as thickfilm resistors, are manufactured as part of the board. They are not attachedduring the process of building a board assembly.) The <surface> parameter of thereferenced layer determines the orientation of the part when it is placed on theboard or panel. The part is placed on the top of the board unless the <surface>parameter has a value of BOTTOM.

<place> the transform applied to the component before the pattern of the component ismanufactured on the board or panel. The transform is also applied to anymechanical, device or artwork, or keepout before being attached or applied to theboard or panel. The COMPONENT statement <place> parameter is appliedrelative to the origin of the parent (board or panel) statement.

If the MIRROR flag is set in a <place> transform then the geometry of acomponent is mirrored about the y-axis, following the rules of section 3.6.1.2.This has the effect of negating all x dimension values in the component. If thecomponent includes a device then the transform also flips the package, bychanging the z-axis values to a –z for the package geometry. The z-axistransform also applies to mechanicals referenced by the component.

The images in Figure 5-1 illustrate the relationship between the orientation of a component on a board orpanel and the <surface> parameter of the <layersingle_ref> parameter of the component and the <mirror>parameter of the <place> parameter of the component. If component is placed on a BOTTOM layer andone or more LAYERSWAP statements are defined in the layers section then for any layer referenced inthe component definition, such as a layer inside a referenced pattern, for which a swap layer is definedwill be swapped.

Note that four of the six boxes in Figure 5-1 are labeled with "abnormal state". The normal definition of acomponent is unlikely to use these parameter settings when placing parts on a board. These states are notillegal because under certain circumstances these states may be acceptable settings. Software that readsGenCAM data, such as the conformance test software, should flag the abnormal states as possible errorsunless the abnormal state is recognized and accepted as correct. If an abnormal state is detected andflagged then it is up to the user to inspect the configuration of parts and patterns to determine if a realerror has occurred.

Page 124: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

114

Effect of <place>.<mirror>, <layersingle_ref>.<surface>, and LAYERS.LAYERSWAPon COMPONENT and all child statements

SurfaceLayerSwap

Not Mirrored Mirrored

TOP N/A

(abnormal state)

BOTTOM No

(abnormal state) (abnormal state)

BOTTOM Yes

(abnormal state)

Figure 5-1 Mirror and swap effects on components

5.13.3 DEVICEREF

The DEVICEREF statement references a DEVICES.GROUP.DEVICE.<part_name> parameter. Thestatement adds an instance of the device to the component and places it relative to the origin of thecomponent. The statement also indicates whether the device is manufactured as part of the board or panelor is assembled by placing a package containing the device on the board or panel. The parameters of aDEVICEREF statement are defined as follows:

<part_ref> reference to a DEVICES.GROUP.DEVICE.<part_name> parameter.[<fab_or_assemble>] specify if the part is manufactured when the board is manufactured, or if it is

delivered separately and placed at assembly time. The default is ASSEMBLED.[<position>] the transform applied to the device relative to the origin of the parent

(component) statement.

5.13.4 MECHANICALREF

The MECHANICALREF statement references a MECHANICALS.GROUP.MECHANICAL.<part_name> parameter. The statement adds an instance of the mechanical to the component and places

Page 125: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

115

it relative to the origin of the component. The parameters of a MECHANICALREF statement are definedas follows:

<mechpart_ref> reference to a MECHANICALS.GROUP.MECHANICAL.<part_name>parameter.

[<position>] the transform applied to the mechanical relative to the origin of the parent(component) statement.

5.13.5 PATTERNREF

The PATTERNREF statement references a PATTERNS.GROUP.PATTERN.<pattern_name> parameter.The statement adds an instance of the pattern to the component and places it relative to the origin of thecomponent. The parameters of a PATTERNREF statement are defined as follows:

<pattern_ref> reference to a PATTERNS.GROUP.PATTERN.<pattern_name> parameter. [<position>] the transform applied to the pattern relative to the origin of the parent

(component) statement.

5.13.6 ARTWORKREF

(See section 5.5.11.)

5.13.7 ARTWORK

(See section 5.8.12.)

5.13.8 TEXT

(See section 5.5.8.)[<layers_ref>] (See <layers_ref> in 5.6.4.) Defines the layers on which the text is to be drawn.

5.13.9 PROGRAM

The PROGRAM statement defines the software content of the component. Use this PROGRAMstatement if the device is programmed after placement on the board or panel. The parameters of aPROGRAM statement are defined as follows:

<program_name> the name of the program.<enterprise_ref> the enterprise that originated the program.<program_rev> the program revision.[<program_date>] the program release date.

5.13.10 PREPARATION

The PREPARATION statement defines the component lead conditions, both before and after insertion.The component lead condition is illustrated in the <shape_builder> statements that follow thePREPARATION statement. The parameters of a PREPARATION statement are defined as follows:

<comp_prep_name> the name of the lead preparation.<comp_prep_type> one of the reserved fixed-field parameters: LEADLENGTH, LEADBEND,

CLINCH, CLINCHLENGTH, PREPCODE, or OTHER.

5.13.11 PRESENTATION

The PRESENTATION statement defines the delivery system packaging media for the component. Theparameters of a PRESENTATION statement are defined as follows:

Page 126: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

116

<delivery_system> the part delivery presentation is one of REEL, PACK, BULK, TRAY, TUBE, orCARTRIDGE.

[<configuration>] the characteristics of the media used[<other>] provides additional information regarding presentation.

5.13.12 KEEPOUT

The KEEPOUT statement defines an area associated with the component that are not accessible to test orinsertion machines. The keepout statement is the parent statement to a <closed_shape> that defines thekeepout area. The origins of the keepout coincide with the origin of the component. The parameters of aKEEPOUT are defined as follows:

<keepout_name> the name of the keepout area. If the CAD system does not define keepout namesthen the GenCAM writer must supply names such as "keepout1", "keepout2".

<keepout_type> one of COMPONENT, VIA, ROUTE, TESTPIN, TESTPROBE, or BOARD.[<layers_ref>] (See <layers_ref> in 5.6.4.) The default is all layers.

5.13.13 ONFAIL

The ONFAIL defines the failure message to send when the in-circuit test fails. The parameters of anONFAIL statement are defined as follows:

<text> the failure reporting message to send when an in-circuit test for the componentfails.

A COMPONENTS Section Example

$COMPONENTS GROUP:"cmp1"; COMPONENT:"R1","lay1"."COMPTOP",(10.00,150.00); PATTERNREF:"pat1"."0402ChipResistor"; DEVICEREF:"dev1"."0402"; COMPONENT:"R2","lay1"."COMPTOP",(20.00,150.00); PATTERNREF:"pat1"."0402ChipResistor"; DEVICEREF:"dev1"."0402"; COMPONENT:"U5","lay1"."COMPTOP",(180.00,160.00); PATTERNREF:"pat1"."SO8oval_SOIC"; DEVICEREF:"dev1"."SO8IC";$ENDCOMPONENTS

5.14 ROUTES

The ROUTES section defines collections of route statements used by boards and panels. A route definesthe net of a circuit and the geometry of the traces and planes that make up the net. The routes included ina board or panel define all electrically significant features of the product. The following BNF defines thekeyword statements allowed in the ROUTES section, and the constraints on their use:

ROUTES ::= $ROUTES:> 0{

GROUP: <route_group_id>;:> 1{

ROUTE: <net_name>, <net_class>;:> {

0{PATH: <layers_ref>, <linedesc_ref>, [<profiledesc_ref>];:> 1{

Page 127: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

117

<polyline_builder><: }n

}n & 0{PLANE: <layers_ref>, <paintdesc_ref>;

:> <polygon_builder>

<:}n

& 0{VIA: <via_name>, <padstack_ref>, [<testpoint_xy>],[<access_desc>], <position>;}n

& 0{TESTPAD: <testpad_name>, <padstack_ref>, [<testpoint_xy>],[<access_desc>], <position>;}n

& 0{COMPPIN: <component_ref>, <pattern_pin_ref>,[<testpoint_xy>], [<access_desc>];}n

& 0{CONNPIN: <connector_ref>, <pattern_pin_ref>,[<testpoint_xy>], [<access_desc>];}n

& 0{HIGHPOTTEST: <refnet_ref>, <bias_voltage>,<leakage_current>, <dwell_time>, [<rise_time>],[<fall_time>];}1

& 0{REFERENCE: <refnet_ref>,[<refnet2_ref>],[<refnet3_ref>];

:> { 0{IMPEDANCE: <measurement_type>, <ohm_value>, <ntol>,

<ptol>;}1& 0{INDUCTANCE: <henry_value>, <ntol>, <ptol>;}1& 0{CAPACITANCE: <farad_value>, <ntol>, <ptol>;}1

<: } }n

<: }<: }n<: }n

$ENDROUTES

<route_group_id> ::= string<net_name> ::= string<net_class> ::= {SIGNAL | CLK | FIXED | GROUND | UNUSED}<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<linedesc_ref> ::= qualified_string<profiledesc_ref> ::= qualified_string<paintdesc_ref> ::= qualified_string<via_name> ::= string<padstack_ref> ::= qualified_string<testpoint_xy> ::= <xy_ref><access_desc> ::= {

NOACCESS - can't get to this location. | NOPROBE - don't probe here. | PREFERRED - please probe here. | MANDATORY - must probe here.} - the default is accessible

<position> ::= <xy_ref>, [<rotation>]<testpad_name> ::= string

Page 128: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

118

<component_ref> ::= qualified_string<pattern_pin_ref> ::= string - Correlates the <pattern_pin_name> of the COMPONENT

identified by <ref_desig> of the component with the ROUTE

<connector_ref> ::= qualified_string<refnet_ref> ::= qualified_string<bias_voltage> ::= number - expressed in volts<leakage_current> ::= p_number - expressed in amps<dwell_time> ::= p_number - expressed in seconds<rise_time> ::= p_number - expressed in seconds<fall_time> ::= p_number - expressed in seconds<refnet2_ref> ::= qualified_string<refnet3_ref> ::= qualified_string<measurement_type> ::= {BALANCED | UNBALANCED}<ohm_value> ::= p_number - expressed in Ohms<ntol> ::= p_number - expressed as a percentage<ptol> ::= p_number - expressed as a percentage<henry_value> ::= p_number - expressed in Farads<farad_value> ::= p_number - expressed in Henrys

The $ROUTES and $ENDROUTES section keywords mark the beginning and end of the ROUTESsection of the GenCAM file.

5.14.1 GROUP

The GROUP statement defines a collection of route definitions. All the route definitions up to the nextGROUP statement or up to the end of the DEVICES section are members of the collection. The onlyparameter of a GROUP statement is defined as follows:

<route_group_id> a string that uniquely identifies the collection throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "route1", "route2"…)

A route collection is named by the ROUTES.GROUP.<route_group_id> parameter. Each route within acollection must have a name that is unique within the collection. A qualified_string is used to reference aroute definition from other keyword statements in the GenCAM file. The name of the collection is usedas the first part of a qualified_string and the name of the route is used as the second part of thequalified_string.

5.14.2 ROUTE

The ROUTE statement defines a net and the physical configuration of the net. All geometry informationdefined in the route is defined relative to the origin of the route. The route origin coincides with the originof the board or panel that is referencing the route statement. (This is done with a USING statement in theboard or panel section.) All elements of a net must be conductively connected. No part of a routegeometry is allowed to touch the geometry of another route, or any other conducting geometry drawn on aboard or a panel. For example, text drawn on a conductive layer would be a conducting geometry. Theparameters of a ROUTE statement are defined as follows:

<net_name> the name of the ROUTE. The name must be unique within theROUTES.GROUP.<route_group_id> collection in which it is defined. If theCAD system does not define route names then the GenCAM writer must supplynames such as "net1", "net2".

Page 129: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

119

<net_class> the type of signal or function of this net. Some types of nets may require specialconsideration at in-circuit test.

SIGNAL - a standard net.CLK - a fast edge-speed net.FIXED - non-driven nets with either injected power, or fixed

voltage levels which are derived from the circuit.GROUND - the ground net for the board.UNUSED - the type to use when labeling route elements that are

not intended to be connected to each other or as part of an active circuit.

5.14.3 PATH

The PATH statement defines the conductor (track) width, width tolerance limit, and layout of a trace. Thepath is part of a parent route (net) definition. The polyline (child of the path) that defines the path (trace)geometry specifies the centerline of the trace. The parameters of a PATH statement are defined asfollows:

<layers_ref> (See <layers_ref> in 5.6.4.) the layer of this segment of the route.<linedesc_ref> (See <linedesc_ref> in 5.5.2.)[<profiledesc_ref>] the tolerances on the trace width.

5.14.4 PLANE

The PLANE statement defines a polygon that is part of a parent route. The parameters of a PLANEstatement are defined as follows:

<layers_ref> (See <layers_ref> in 5.6.4.) the layer on which the PLANE is to be drawn.<paintdesc_ref> (See <paintdesc_ref> in 5.5.2.) - a void can be made in a plane by placing a

second plane definition in the same route with the PAINTDESC.<paint_type> setto VOID. The second plane defines a polygon in the shape of the voided area. Itmust also use the same <layers_ref>.

5.14.5 VIA

The VIA statement defines a via in a parent route. The parameters of a VIA statement are defined asfollows:

<via_name> the name of the VIA. The name must be unique within theROUTES.GROUP.<route_group_id> collection in which the via is defined. Ifthe CAD system does not define via names then the GenCAM writer must supplynames such as "via1", "via2". The via name cannot be the same as a route ortestpad name within the ROUTES.GROUP.<route_group_id> collection.

<padstack_ref> reference to a PADSTACKS.GROUP.PADSTACK.<padstack_name>parameter.

[<testpoint_xy>] the offset at which the test probe would be targeted. The offset is relative to theorigin of the via. The default is (0,0). This places the test probe at the origin ofthe via.

[<access_desc>] the accessibility of a via for test probing. The default value is NOACCESS. Tobe test-probe accessible the via must be on the top or bottom surfaces and shouldnot be covered by the solder mask.

<position> the transform applied to the via before it is inserted into the route. The transformpositions the via relative to the origin of the parent route statement.

Page 130: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

120

5.14.6 TESTPAD

The TESTPAD statement defines a testpad in a parent route. The parameters of a TESTPAD statementare defined as follows:

<testpad_name> the name of the TESTPAD. The name must be unique within theROUTES.GROUP.<route_group_id> collection in which the testpad is defined.If the CAD system does not define testpad names then the GenCAM writer mustsupply names such as "tp1", "tp2". The testpad name cannot be the same as aroute or via name within the ROUTES.GROUP.<route_group_id> collection.

<padstack_ref> reference to a PADSTACKS.GROUP.PADSTACK.<padstack_name>parameter.

[<testpoint_xy>] the offset relative to the origin of the testpad at which test probe is to bepositioned.

[<access_desc>] the accessibility of a testpad for test probing. The default is accessible. To betest-probe accessible the testprobe must be on the top or bottom surfaces andshould not be covered by the solder mask.

<position> the transform applied to the testpad before it is inserted into the route. Thetransform positions the testpad relative to the origin of the parent route statement.

5.14.7 COMPPIN

The COMPPIN statement defines a component pin that is conductively associated with the parent route.A COMPPIN statement must be included for each component pin that is associated with the net. Theparameters of a COMPPIN statement are defined as follows:

<component_ref> reference to a COMPONENTS.GROUP.COMPONENT.<ref_desig>parameter.

<pattern_pin_ref> reference to a PATTERNS.GROUP.PATTERNDEF.PADSTACKREF.<pattern-_pin_name> of the pattern referenced in the component referenced by the<component_ref> of this COMPPIN statement.

[<testpoint_xy>] the offset relative to the origin of the component pin at which the test probe is tobe positioned.

[<access_desc>] the accessibility of a component pin for test probing. To be test-probe accessiblethe component pin must be on the top or bottom surfaces and should not becovered by the solder mask.

5.14.8 CONNPIN

The COMPPIN statement defines a fabricated connector pin (e.g. board edge connector pin) that is part ofthe parent route. A CONNPIN statement must be included for each component pin that is associated withthe net. The parameters of a CONNPIN statement are defined as follows:

<connector_ref> reference to a COMPONENTS.GROUP.COMPONENT.<ref_desig>parameter.

<pattern_pin_ref> reference to a PATTERNS.GROUP.PATTERNDEF.PADSTACKREF.<pattern-_pin_name> of the pattern referenced in the component referenced by the<component_ref> of this CONNPIN statement.

[<testpoint_xy>] the offset relative to the origin of the connector pin at which the test probe is tobe positioned.

[<access_desc>] the accessibility of a connector pin for test probing. To be test-probe accessiblethe connector pin must be on the top or bottom surfaces and should not becovered by the solder mask.

Page 131: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

121

5.14.9 HIGHPOTTEST

The HIGHPOTTEST statement defines the testing parameters for a route that must be tested using highvoltage and current to test board performance capability. The parameters of a HIGHPOTTEST statementare defined as follows:

<refnet_ref> reference to a ROUTES.GROUP.ROUTE.<net_name>. This is the "ground" netfor the test.

<bias_voltage> the maximum voltage to be used for the highpot test.<leakage_current> the maximum current used in the highpot test.<dwell_time> the duration of the test.[<rise_time>] the rise time for the voltage/current exposure.[<fall_time>] the fall time conditions.

5.14.10 REFERENCE

The reference circuit to which this route circuit will be tested. The parameters of a REFERENCEstatement are defined as follows:

<refnet_ref> reference to a ROUTES.GROUP.ROUTE.<net_name>. The reference net foruse in impedance, inductance, and capacitance tests.

<refnet2_ref> reference to a second ROUTES.GROUP.ROUTE.<net_name>. Use a secondreference net for impedance tests that require two reference nets.

<refnet3_ref> reference to a third ROUTES.GROUP.ROUTE.<net_name>. Use a thirdreference net for impedance tests that require three reference nets.

5.14.11 IMPEDANCE

The expected impedance to be measured between the route and the reference(s) nets(REFERENCE.<refnet>). The parameters of an IMPEDANCE statement are defined as follows:

<measurement_type> the type of test configuration to use to take the measurement.<ohm_value> the value in Ohms expected for this circuit.

<ntol> (See <ntol> in section 5.11.7.)<ptol> (See <ptol> in section 5.11.7.)

5.14.12 INDUCTANCE

The expected inductance to be measured between the route and the reference net(REFERENCE.<refnet>). The parameters of an INDUCTANCE statement are defined as follows:

<henry_value> the value in Henrys expected for this circuit.<ntol> (See <ntol> in section 5.11.7.)<ptol> (See <ptol> in section 5.11.7.)

5.14.13 CAPACITANCE

The expected capacitance to be measured between the route and the reference net(REFERENCE.<refnet>). The parameters of an CAPACITANCE statement are defined as follows:

<farad_value> the value in Farads expected for this circuit.<ntol> (See <ntol> in section 5.11.7.)<ptol> (See <ptol> in section 5.11.7.)

Page 132: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

122

A ROUTES Section Example

$ROUTES GROUP: "route1"; ROUTE: "C3",CLK; PATH: "lay1"."1", "prim4"."signalwidth"; POLYLINE:; STARTAT: (1300, 1400); LINETO: (1200, 2200); TESTPAD: "p106_2", "pad1"."100Chips", , NOPROBE, (1200, 2200); VIA: "TV1", "pad1"."100Chips", , MANDATORY , (1200,1200); ROUTE: "Ground", GROUND; PATH: "lay1"."2", "prim4"."signalwidth"; POLYLINE:; STARTAT: (1300, 1400); LINETO: (1200, 2200); PLANE: "lay1"."2","prim4"."filled"; POLYGON:; STARTAT: (0,0); LINETO: (1200,0); LINETO: (1200,2400); LINETO: (0,2400); ENDLINE:; COMPPIN: "cmp1"."R1", "Pin1"; GROUP: "route2"; ROUTE: "-RESET", SIGNAL; PATH: "lay1"."1", "prim4"."signalwidth"; POLYLINE:; STARTAT: (1200, 1420); LINETO:(1200, 1600); ROUTE: "-Q", SIGNAL; PATH: "lay1"."1", "prim4"."signalwidth"; POLYLINE:; STARTAT: (1200, 1420); LINETO:(1200, 1600);$ENDROUTES

5.15 POWER

The POWER section defines power supplies used to power the board or panel during test. The followingBNF defines the keyword statements allowed in the POWER section, and the constraints on their use:

POWER ::= $POWER:> 0{

GROUP: <power_group_id>;:> 1{

SUPPLY: <supply_name>, <voltage>,<current_limit>,<net_ref>,<refnet_ref>;

<: }n<: }n

$ENDPOWER

<power_group_id> ::= string<supply_name> ::= string<voltage> ::= number - in volts<current_limit> ::= p_number - in amps<net_ref> ::= qualified_string

Page 133: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

123

<refnet_ref> ::= qualified_string

The $POWER and $ENDPOWER keyword statements mark the beginning and end of the POWERsection of the GenCAM file.

5.15.1 GROUP

The GROUP statement defines a collection of power sources. All the power supply definitions up to thenext GROUP statement or up to the end of the POWER section are members of the collection. The onlyparameter of a GROUP statement is defined as follows:

<power_group_id> a string that uniquely identifies the group throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "pwr1", "pwr2"…)

5.15.2 SUPPLY

The SUPPLY statement defines test system power supply parameters, and associates the parameters witha net for the power signal and the reference return path net. The parameters of a SUPPLY statement aredefined as follows:

<supply_name> the name of the SUPPLY. The name must be unique within thePOWER.GROUP.<power_group_id> collection in which it is defined. If theCAD system does not define supply names then the GenCAM writer must supplynames such as "ps1", "ps2".

<voltage> the voltage level in volts from the supply.<current_limit> the maximum current limit in amps.<net_ref> reference to a ROUTES.GROUP.ROUTE.<net_name>. The net connected to the

power signal.<refnet_ref> reference to a ROUTES.GROUP.ROUTE.<net_name>. This is the reference net

for the power signal on route <net_ref> (typically <refnet_ref> is the boardground).

A POWER Section Example

$POWER GROUP: "ASSY11357"; SUPPLY: "5voltsupply", 5.0, 2.0, "route1"."C3", "route1"."Ground"; SUPPLY: "3.3voltsupply", 3.3, 0.5, "route1"."CPU_PAGE_12_U23_3",

"route1"."Ground";$ENDPOWER

5.16 TESTCONNECTS

The TESTCONNECTS section defines the tester resource connections between the board or panel,optional fixture-electronics, and the test system. The placement of the test probes can be done manually orautomatically. Test connections can be on component pins, connector pins, test pads, or vias. Thefollowing BNF defines the keyword statements allowed in the TESTCONNECTS section, and theconstraints on their use:

TESTCONNECTS ::= $TESTCONNECTS:> 0{ GROUP: <testconnect_group_id>;:> 1{

Page 134: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

124

0{ TESTPIN: <testpin_name>;:> 0{

LOCATION: <layers_ref>, [<offset>];<: }n

}n & 0{

TESTPROBE: <testprobe_name>, <probe_type>, <probe_size>, <spring>, <recept_depth>, <layersingle_ref>, [<tip_type>], [<probe_attach>], [<offset>];

:> { 0{VIAREF:<via_ref>;}n

& 0{TESTPADREF: <testpad_ref>;}n & 0{COMPPINREF: <component_ref>, [<pattern_pin_ref>];}n

& 0{CONNPINREF: <connector_ref>, [<pattern_pin_ref>];}n<: }

}n & 0{FIXELEC: <fixelec_signal_name>, [<offset>]; }n

& 0{ TESTCONNECT: <testconnect_name>, [<bunch_label>],

[<bunch_type>];:> 2{

TESTPINREF: <testpin_ref>; | FIXELECTREF: <fixelec_signal_ref>;

| TESTPROBEREF: <testprobe_ref>;<: }2

}n <: }

<: }n $ENDTESTCONNECTS

<testconnect_group_id> ::= string<testpin_name> ::= string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<offset> ::= <xy_ref><testprobe_name> ::= string<probe_type> ::= {ICT | DUALSTAGE | TRANSFER}<probe_size> ::= p_number<spring> ::= p_number<recept_depth> ::= number<tip_type> ::= {SPEAR | CHISEL | CROWN | TULIP4 | TULIP3 | CASTLE |

RADIUS | OTHER}<probe_attach> ::= {CAPACITIVE | INDUCTIVE | MATING | OTHER}<via_ref> ::= qualified_string<testpad_ref> ::= qualified_string<component_ref> ::= qualified_string<pattern_pin_ref> ::= string<connector_ref> ::= qualified_string<fixelec_signal_name> ::= string<testconnect_name> ::= string<testpin_ref> ::= qualified_string

Page 135: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

125

<net_ref> ::= qualified_string<fixelec_signal_ref> ::= qualified_string<testprobe_ref> ::= qualified_string <bunch_label> ::= string<bunch_type> ::= {TWISTED | CABLED | BUSSED}

The $TESTCONNECTS and $ENDTESTCONNECTS section keywords are used to mark the beginningand end of the TESTCONNECTS section in the GenCAM file.

5.16.1 GROUP

The GROUP statement starts the definition of a collection of testpin, testprobe, testconnects, and fixelecdefinitions. All these definitions up to the next GROUP statement or up to the end of theTESTCONNECTS section are members of the collection. The only parameter of a GROUP statement isdefined as follows:

<testconnect_group_id> a string that uniquely identifies the collection throughout the GenCAM file.The identifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "test1", "test2"…)

A testconnect collection is named by the TESTCONNECTIONS.GROUP.<testconnect_group_id>parameter. Each testpin, testprobe, testconnects, and fixelec within a collection must have a name that isunique within the collection. A qualified_string is used to reference a testpin, testprobe, testconnects, andfixelec definition from other keyword statements in the GenCAM file. The name of the collection is usedas the first part of a qualified_string and the name of the testpin, testprobe, testconnects, and fixelec isused as the second part of the qualified_string.

5.16.2 TESTPIN

The TESTPIN statement names a pin in the test fixture. The only parameter of a TESTPIN statement isdefined as follows:

<testpin_name> the name of the TESTPIN. The name must be unique within theTESTCONNECTS.GROUP.<testconnect_group_id> collection in which it isdefined. If the CAD system does not define testpin names then the GenCAMwriter must supply names such as "tpin1", "tpin2".

5.16.3 LOCATION

The LOCATION statement defines a layer of a fixture starting with the layer closest to the tester andending with the layer closest to the board, panel, or assembly under test. Multiple locations for a testpinare used so that pins that pass through layers at an angle can have different locations defined on eachlayer. The parameters of a LOCATION statement are defined as follows:

<layers_ref> (See <layers_ref> in 5.6.4.) A reference to the layer of the fixture.[<offset>] the location of the HOLE in the fixture through which the testpin will pass. The

location is defined relative to the tooling origin of the fixture.

5.16.4 TESTPROBE

The TESTPROBE statement defines the characteristics for the test probe. The parameters of aTESTPROBE statement are defined as follows:

<testprobe_name> the name of the TESTPROBE. The name must be unique within theTESTCONNECTS.GROUP.<testconnect_group_id> collection in which it is

Page 136: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

126

defined. If the CAD system does not define testprobe names then the GenCAMwriter must supply names such as "tprb1", "tprb2".

<probe_type> the type of the probe. One of:ICT - in-circuit testDUALSTAGETRANSFER

<probe_size> the probe recepticle diameter.<spring> the receptacle spring force in units consistent with system of units defined in

HEADER.UNITS.<dimension>. For instance, if the <dimension> is MM or UMthe force is in units of Newtons. If the <dimension is INCH or THOU then theforce is in units of ounces.

<recept_depth> the recess (negative value) or raise (positive value) to be applied to the receptacleinsertion.

<layersingle_ref> (See <layers_ref> in 5.6.4.) the fixture probe plate into which the probe isinserted. The <surface> must be defined as TOP or BOTTOM.

[<tip_type>] the probe type for ICT or DUALSTAGE probes. One of:SPEAR CHISELCROWNTULIP4TULIP3CASTLE RADIUSOTHER - an unknown or nonstandard probe type.

[<probe_attach>] the manner in which the probe is connected to the tester. One of:CAPACITIVEINDUCTIVEMATINGOTHER - an unknown or nonstandard means of connection.

[<offset>] the location of the testprobe in the fixture. The location is defined relative to thetooling origin of the fixture.

5.16.5 VIAREF

The VIAREF statement refers to a via on a board, panel, or assembly to be accessed for test. The onlyparameter of a VIAREF statement is defined as follows:

<via_ref> reference to a ROUTES.GROUP.ROUTE.VIA.<via_name>.

5.16.6 TESTPADREF

The TESTPADREF statement refers to a testpad on a board, panel, or assembly to be accessed for test.The only parameter of a TESTPADREF statement is defined as follows:

<testpad_ref> reference to a ROUTES.GROUP.ROUTE.TESTPAD.<testpad_name>.

5.16.7 COMPPINREF

The COMPPINREF statement refers to a component pin on a board, panel, or assembly to be accessed fortest. The parameters of a COMPPINREF statement are defined as follows:

<component_ref> (See <component_ref> in section 5.14.7.)[<pattern_pin_ref>] (See <pattern_pin_ref> in section 5.14.7.) The <pattern_pin_ref> is only

optional for non-contact probes, such as inductive probes.

Page 137: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

127

5.16.7.1 CONNPINREF

The CONNPINREF statement refers to a connector pin on a board, panel, or assembly intended to beaccessed for test. The parameters of a CONNPINREF statement are defined as follows:

<connector_ref> (See <connector_ref> in section 5.14.8.)[<pattern_pin_ref>] (See <pattern_pin_ref> in section 5.14.8.) The <pattern_pin_ref> is only

optional for non-contact probes, such as inductive probes.

5.16.8 FIXELEC

The FIXELEC statement defines a fixture-electronics terminal. The parameters of a FIXELEC statementare defined as follows:

<fixelec_signal_name> the name of the FIXELEC. The name must be unique within theROUTES.GROUP.<route_group_id> collection in which the fixture electronicsare defined. If the CAD system does not define fixture electronics names then theGenCAM writer must supply names such as "fe1", "fe2".

[<offset>] the location of the fixture electronics. The location is defined relative to thetooling origin of the fixture.

5.16.9 TESTCONNECT

The TESTCONNECT statement defines a connection between locations within the tester. Theconnections are generally made using wire-wraps or crimped wires between some combination of a testprobe, a tester resource pin, and a fixture-electronics signal Fixture-electronics is used here to describeany electronic circuitry which is neither part of the test system nor part of the board under test, but whichis connected to one or the other of these. The BNF indicates that zero to two of TESTPINREF,FIXELECTREF, and FIXELECTREF are allowed after a TESTCONNECT statement. The requirementis to have exactly two statements after TESTCONNECT. The TESTCONNECT is defining a connectionbetween any combination of two of these connection points. An alternative BNF to describe therelationship is:

& 0{ TESTCONNECT: <testconnect_name>, [<bunch_label>],

[<bunch_type>];:> {

TESTPINREF: <testpin_ref>; | FIXELECTREF: <fixelec_signal_ref>;

| TESTPROBEREF: <testprobe_ref>; } {

TESTPINREF: <testpin_ref>; | FIXELECTREF: <fixelec_signal_ref>;

| TESTPROBEREF: <testprobe_ref>;

<: } }n

This alternative notation show that only two statements are allowed after the TESTCONNECT. Theparameters of a TESTCONNECT statement are defined as follows:

<testconnect_name> the name of the TESTCONNECT. The name must be unique within theROUTES.GROUP.<route_group_id> collection in which the testconnect is

Page 138: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

128

defined. If the CAD system does not define testconnect names then the GenCAMwriter must supply names such as "tconn1", "tconn2".

[<bunch_name>] the name used to associate several connections with each other for testingpurposes (typically a cable name). All TESTCONNECTS referencing the same<bunch_name> will be associated in the manner prescribed by the<bunch_type>.

[<bunch_type>] a connection <bunch_type> is either TWISTED, CABLED or BUSSED. ATWISTED type bunch must be referenced in exactly two (2) TESTCONNECTstatements, each referencing a different signal name. CABLED and BUSSEDtype bunches must be referenced in at least two (2) TESTCONNECT statements,each referencing a different signal name.

5.16.10 TESTPINREF

The TESTPINREF statement defines one end of a test connection within the tester. The other end couldbe a testprobe, a fixture electronic signal, or another testpin. The only parameters of a TESTPINREFstatement is defined as follows:

<testpin_ref> reference to a TESTCONNECTS.GROUP.TESTPIN.<testpin_name>.

5.16.11 FIXELECTREF

The FIXELECTREF statement defines one end of a test connection within the tester. The other end couldbe a testprobe, a testpin, or another fixture electronic signal. The only parameters of a FIXELECTREFstatement is defined as follows:

<fixelec_signal_ref> reference to a TESTCONNECTS.GROUP.FIXELEC.<fixelec_name>.

5.16.12 TESTPROBEREF

The TESTPROBEREF statement defines one end of a test connection within the tester. The other endcould be a testpin, a fixture electronic signal, or another testprobe. The only parameters of aTESTPROBEREF statement is defined as follows:

<testprobe_ref> reference to a TESTCONNECTS.GROUP.TESTPROBE.<testprobe_name>.

A TESTCONNECTS Section Example

$TESTCONNECTS GROUP: "ICTFX-66540"; TESTPIN: "C2R1"; LOCATION: "lay2"."fixture_top", (2.3, 16.4); LOCATION: "lay2"."fixture_bottom", (2.5, 16.1); TESTPIN: "C4R6"; LOCATION: "lay2"."fixture_top", (2.8, 17.3); LOCATION: "lay2"."fixture_bottom", (2.6, 17.1); TESTPIN: "C02R06"; LOCATION: "lay2"."fixture_top", (6.3, 14.4); LOCATION: "lay2"."fixture_bottom", (6.5, 14.1); TESTPIN:"C78R23"; TESTPROBE: "P1", ICT, 100, 8.0, 0.250, "lay1"."2", SPEAR, ,(3.0, 4.6); COMPPINREF: "cmp1"."R1", "Pin1"; TESTPROBE:"P2", ICT, 75, 8.0, 0.25, "lay1"."2", CROWN, ,(4.9, 6.3); VIAREF: "route1"."TV1"; TESTPROBE: "TJ1", ICT, 100, 8.0, 0.00, "lay1"."1", , CAPACITIVE; FIXELEC: "FN02"; FIXELEC: "FN01";

Page 139: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

129

TESTPROBE: "J3-1", ICT, 100, 8.0, 0.00, "lay1"."2", CROWN; TESTCONNECT: "ENABLE_BAR"; TESTPINREF: "ICTFX-66540"."C2R1"; FIXELECTREF: "ICTFX-66540"."FN02"; TESTCONNECT: "ENABLE_BAR_PROBE"; TESTPINREF: "ICTFX-66540"."C2R1"; TESTPROBEREF: "ICTFX-66540"."P1"; TESTCONNECT: "HS_RECEIVE"; TESTPINREF: "ICTFX-66540"."C4R6"; TESTPROBEREF: "ICTFX-66540"."P2"; TESTCONNECT: "HS_RECEIVE_PROBE"; TESTPINREF: "ICTFX-66540"."C4R6";

FIXELECTREF: "ICTFX-66540"."FN01"; TESTCONNECT: "RN_COMP"; TESTPINREF: "ICTFX-66540"."C2R1"; FIXELECTREF: "ICTFX-66540"."FN02"; TESTCONNECT: "RN_COMP_PROBE"; TESTPINREF: "ICTFX-66540"."C2R1"; FIXELECTREF: "ICTFX-66540"."FN01"; TESTCONNECT: "CLK_DIV"; TESTPINREF: "ICTFX-66540"."C02R06"; FIXELECTREF: "ICTFX-66540"."FN01"; TESTCONNECT: "U3TJ1"; TESTPINREF: "ICTFX-66540"."C78R23"; FIXELECTREF: "ICTFX-66540"."FN01";$ENDTESTCONNECTS

5.17 BOARDS

The BOARDS section defines collections of board and assembly definitions. The definitions includefeatures such as the outer shape of the board, routes, component definitions, padstacks, and any internalcutouts. The keyword statements allowed in the BOARDS section, and the constraints on their use, aredefined in the following BNF definition :

BOARDS ::= $BOARDS:> 0{

BOARD: <board_ref>;:> {

1{ USING:<group_ref>;}n & 1{

OUTLINE: <instance_name>, <layers_ref>, [<profiledesc_ref>];:> {

<closed_shape> & 0{THICKNESS: <thickness>, <profiledesc_ref>;}1

<: } }n & 0{

HOLEREF: <instance_name>, <hole_ref>, <position>;}n

& 0{ CUTOUT: <cutout_name>, [<barreldesc_ref>], [<profiledesc_ref>],

[<layers_ref>];:> {

<closed_shape><: }

}n

Page 140: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

130

& 0{ WELL: <well_name>, <nominal_angle>, <surface>, <cut_mode>,

<rem_value>, [<barreldesc_ref>], [<profiledesc_ref>];:> {

<closed_shape><: }

}n & 0{

SLOT: <slot_name>, <slot_width>, [<barreldesc_ref>],[<profiledesc_ref>], [<layers_ref>];

:> {<polyline_builder>

<: }}n

& 0{ KEEPOUT:<keepout_name>, <keepout_type>, [<layers_ref>];

:> {<closed_shape>

<: }}n

& 0{ GROOVE: <groove_name>, <nominal_angle>, <surface>,

<cut_mode>, <rem_value>, [<groove_width>],[<profiledesc_ref>];

:> {<polyline_builder>

<: }}n

& 0{ TARGETREF: <instance_name>, <target_ref>, [<layers_ref>],

[<color_ref>], <place>;}n

& 0 {LOGOREF: <instance_name>, <logo_ref>, <layers_ref>,

[<color_ref>], <xform>;}n

& 0{ TEXT: <instance_name>, <text_string>, <p1>, <p2>, [<font_ref>],

<layers_ref>, [<color_ref>], <place>;}n

& 0{ IMAGE: <instance_name>, <image_ref>,<layers_ref>,

<consistency_level>, [<color_ref>], <place>;}n

& 0{ BAREBOARDTEST: <instance_name>,<continuity_voltage>,

<continuity_current>, <isolation_voltage>;}n

<: } | ASSEMBLY: <assembly_ref>, <board_ref>;

:> 1{ USING:<group_ref>;

Page 141: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

131

<: }n<: }n

$ENDBOARDS

<board_ref> ::= string<group_ref> ::= {<route_group_ref> | <component_group_ref> | <power_group_ref> | <testconnect_group_ref> | <drawing_ref> }<route_group_ref> ::= string<component_group_ref> ::= string<power_group_ref> ::= string<testconnect_group_ref> ::= string<drawing_ref> ::= string<instance_name> ::= string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<profiledesc_ref> ::= qualified_string<thickness> ::= p_number<continuity_voltage> ::= p_number - Units expressed in volts<continuity_current> ::= p_number - Units expressed in amps<isolation_voltage> ::= p_number - Units expressed in volts<hole_ref> ::= qualified_string<cutout_name> ::= string<barreldesc_ref> ::= qualified_string<well_name> ::= string<nominal_angle> ::= <angular_measure><angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= p_number<degree_value> ::= p_number<surface> ::= {TOP | BOTTOM | BOTH}<cut_mode> ::= {REMOVE | REMAIN}<rem_value> ::= p_number<slot_name> ::= string<slot_width> ::= p_number<keepout_name> ::= string<keepout_type> ::= {COMPONENT | VIA | ROUTE | TESTPIN | TESTPROBE | BOARD}<groove_name> ::= string<groove_width> ::= p_number<target_ref> ::= qualified_string<color_ref> ::= qualified_string<place> ::= <xy_ref>, [<rotation>], [<mirror>]<logo_ref> ::= qualified_string<xform> ::= <xy_ref>, [<rotation>], [<mirror>], [<scale>]<text_string> ::= string<p1> ::= <xy_ref> - p1 and p2 define the corners of the rectangle<p2> ::= <xy_ref><font_ref> ::= qualified_string<image_ref> ::= {<artwork_ref> | <feature_ref> | <pattern_ref> | <symbol_ref> }<artwork_ref> ::= qualified_string<feature_ref> ::= qualified_string<pattern_ref> ::= qualified_string<symbol_ref> ::= qualified_string<consistency_level> ::= { IMAGE_ONLY | IMAGE_NO_MATCH | IMAGE_MATCHES |

Page 142: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

132

IMAGE_NO_NETS }<assembly_ref> ::= string – must reference a HEADER.ASSEMBLY.<assembly_id><board_ref> ::= string – must reference a HEADER.BOARD.<board_id>

5.17.1 BOARD

The BOARD statement defines a printed board or printed board coupon. The only parameter of aBOARD statement is defined as follows:

<board_ref> reference to a HEADER.BOARD.<board_id>.

5.17.2 USING

The USING statement references all the named items of a GROUP. This results in the inclusion of all thenamed items from the referenced group into the board definition. A board can include named informationfrom groups defined in the ROUTES, COMPONENTS, POWER, TESTCONNNECTS ANDDRAWINGS sections. The only parameter of a USING statement is defined as follows:

<group_ref> a reference to one of:ROUTES.GROUP.<route_group_id>COMPONENTS.GROUP.<component_group_id>POWER.GROUP.<power_group_id>TESTCONNECTS.GROUP.<testconnect_group_id>DRAWINGS.DRAWING.<drawing_id>

All items referenced in the groups are placed in the board relative to the point oforigin of the board.

The names from a group namespace that are included into the board definition by a USING statementmust be unique. For example. If the POWER section includes a group named "power1" and a groupnamed "power2" and both "power1" and "power2" contain a SUPPLY statement with the <supply_name>parameter of "ps1" it would be an error. If the POWER section included a group "power1" and aROUTES section group that was named "route1" and the "power1" group included a SUPPLY statementnamed "R1" and the "route1" group included a ROUTE named "R1" then it would not be an error. Thedistinction is that no reference to the name "R1" would be ambiguous.

5.17.3 OUTLINE

The OUTLINE statement defines the outer periphery of the board. All OUTLINE statements share acommon point of origin with the point of origin of the board. The parameters of an OUTLINE statementare defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<layers_ref> (See <layers_ref> in 5.6.4.) The layers to which the outline applies.[<profiledesc_ref>] references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

Defines the tolerances on the outer periphery dimensions.

The <closed_shape> that follows the outline statement defines the outline of the board. The<closed_shape> is defined relative to the origins of the board.

5.17.4 THICKNESS

The THICKNESS statement specifies the thickness of the material in the area of the parent (outline)statement. The parameters of a THICKNESS statement are defined as follows:

Page 143: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

133

<thickness> the required thickness of the board in the area of the outline.<profiledesc_ref> references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

The tolerances applied to the thickness of the material.

The thickness specified in an outline statement takes precedence over the cumulative thickness values thatcan be calculated by totaling the thickness defined in each of the layers of the outline.

5.17.5 HOLEREF

The HOLEREF statement positions a drilled or punched feature. The HOLEREF statement references aPADSTACK.GROUP.HOLEDEF.<hole_name> parameter to add an instance of the hole definition to theparent. The parameters of a HOLEREF statement are defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<hole_ref> reference to a PADSTACK.GROUP.HOLEDEF.<hole_name> parameter.<position> the transform applied to the hole definition before it is instanced. The transform

positions the hole relative to the origin of the parent statement.

A HOLEREF statement in a board defines a hole that isn't associated with a padstack or other electricalfeature that may contain holes. A hole that is defined as a child of a board statement would be used formounting bolts or other non-electrical holes used in conjunction with a board. This type of hole is not tobe used in place of a hole that should be part of a padstack.

5.17.6 CUTOUT

The CUTOUT statement defines an internal area of the board that is to have one or more layers cut away.The cutout is defined relative to the origins of the parent (board) statement. The parameters of aCUTOUT statement are defined as follows:

<cutout_name> the name of the CUTOUT. The name must be unique within theHEADER.BOARD.<board_id> collection of names in which it is defined. If theCAD system does not define cutout names then the GenCAM writer must supplynames such as "cutout1", "cutout2".

[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters applyto both the walls and the bottom of a cutout.

[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of thefinished cutout after plating or coating.

[<layers_ref>] (See <layers_ref> in section 5.6.4.) The default is to cutout all layers.

The closed shape that follows the cutout statement defines the outline of the cut away area of the board.The closed shape is defined relative to the origins of the board.

5.17.7 WELL

The WELL statement defines an internal area of a board in which material of a specific depth is removed.The well is defined relative to the origins of the parent (board) statement. The parameters of a WELLstatement are defined as follows:

<well_name> the name of the WELL. The name must be unique within theHEADER.BOARD.<board_id> collection of names in which it is defined. If theCAD system does not define well names then the GenCAM writer must supplynames such as "well1", "well2".

Page 144: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

134

<nominal_angle> the nominal angle between the sidewalls of the well. An angle of zero definesvertical, parallel walls.

<surface> the side from which the well is milled. One of TOP, BOTTOM or BOTH.<cut_mode> one of:

REMOVE - the <rem_value> specifies the material to be removed.REMAIN - the <rem_value> specifies the remaining material.

<rem_value> the depth of the material to be removed or the depth of the material that remains.[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters apply

to both the walls and the bottom of a well.[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of the

finished well after plating or coating.

The closed shape that follows the well statement defines the outline of the cut away area of the board. Theclosed shape is defined relative to the origins of the board.

5.17.8 SLOT

The SLOT statement defines a slot that is cut through one or more layers of the board. The slot is definedrelative to the origins of the parent (board) statement. The parameters of a SLOT statement are defined asfollows:

<slot_name> the name of the SLOT. The name must be unique within theHEADER.BOARD.<board_id> collection of names in which it is defined. If theCAD system does not define slot names then the GenCAM writer must supplynames such as "slot1", "slot2".

<slot_width> the width of the slot.[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters apply

to both the walls and the bottom of a slot.[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of the

finished slot after plating or coating.[<layers_ref>] (See <layers_ref> in section 5.6.4.) The default is all layers.

The polyline that follows the slot statement defines the centerline along which the slot is cut. All cornersof the slot and the ends extending past the ends of the polyline of the slot will have a radius equal to ½ the<slot_width>. The polyline is defined relative to the origins of the board.

5.17.9 KEEPOUT

The KEEPOUT statement defines an inaccessible area of the board. The keepout is defined relative to theorigins of the parent (board) statement. The parameters of a KEEPOUT statement are defined as follows:

<keepout_name> the name of the KEEPOUT. The name must be unique within theHEADER.BOARD.<board_id> collection of names in which it is defined. If theCAD system does not define keepout names then the GenCAM writer mustsupply names such as "keepout1", "keepout2".

<keepout_type> one of COMPONENT, VIA, ROUTE, TESTPIN, TESTPROBE, or BOARD. [<layers_ref>] (See <layers_ref> in section 5.6.4.) the surface to which the keepout region is

applied. When omitted, both TOP and BOTTOM are assumed.

The closed shape definition that follows the keepout statement defines the outline of the keepout area.The closed shape is defined relative to the origins of the board.

Page 145: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

135

5.17.10 GROOVE

The GROOVE statement defines a groove cut in the board for segmentation or other purposes. Theparameters of a GROOVE statement are defined as follows:

<groove_name> the name of the GROOVE. The name must be unique within theHEADER.BOARD.<board_id> collection of names in which it is defined. If theCAD system does not define groove names then the GenCAM writer must supplynames such as "groove1", "groove2".

<nominal_angle> the nominal angle between the sidewalls of the groove. An angle of zero definesvertical, parallel walls.

<surface> the side on which the groove is to be ground TOP, BOTTOM or BOTH.<cut_mode> one of:

REMOVE - the <rem_value> specifies the material to be removed.REMAIN - the <rem_value> specifies the remaining material.

<rem_value> the depth of the material to be removed or the depth of the material that remains. [<groove_width>] the width of the groove at the surface of the board.[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of thefinished

groove after plating or coating.

The polyline that follows the groove statement defines the centerline along which the groove is cut. Allcorners of the groove and the ends extending past the ends of the polyline of the groove will have a radiusequal to ½ the <groove_width>. The polyline is defined relative to the origins of the board.

5.17.11 TARGETREF

(See section 5.8.4.)

The TARGETREF statement includes an additional parameter in BOARD:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

5.17.12 LOGOREF

The LOGOREF statement references an ARTWORKS.GROUP.LOGODEF.<logo_name> parameter.The statement places an instance of the logo in the parent relative to the origin of the parent. Theparameters of a LOGOREF statement are defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<logo_ref> reference to an ARTWORKS.GROUP.LOGODEF.<logo_name> parameter.<layers_ref> (See <layers_ref> in 5.6.4.) Defines the layers on which the logo is to be drawn.[<color_ref>] (See <color_ref> in 5.4.3.)<xform> the transform applied to the logo before it is drawn. The transform is relative to

the origin of the parent statement.

5.17.13 TEXT

(See section 5.5.8.)

The TEXT statement includes an additional parameter in BOARD:

Page 146: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

136

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

[<layers_ref>] (See <layers_ref> in 5.6.4.) Defines the layers on which the text is to be drawn.

5.17.14 IMAGE

The IMAGE statement draws images on the board. The electrical properties of image drawn on the boardare undefined. An external mechanism is expected to manage the association of an image with the nets onthe board. If an image is drawn on the board the consistency level must be set to one of IMAGE_ONLY,IMAGE_NO_MATCH, IMAGE_MATCHES, or IMAGE_NO_NETS. Images can potentially touch andshort routes. The consistency flags should reflect when this is a possibility. The parameters of an IMAGEstatement are defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<image_ref> a reference to one of:ARTWORKS.GROUP.ARTWORKDEF.<artwork_name>ARTWORKS.GROUP.FEATUREDEF.<feature_name>PATTERNS.GROUP.PATTERNDEF.<pattern_name> (draw the pattern as it would be drawn in a component. Ignore the holes in the pattern and the padstacks.)PATTERNS.GROUP.SYMBOLDEF.<symbol_name>

<layers_ref> (See <layers_ref> in 5.6.4.) The layers on which the image is to be drawn.<consistency_level> The <consistency_level> indicates whether the IMAGE data in the BOARD

section is derived directly from, and is geometrically identical, to the geometryand netlist data that is represented in ROUTES, PATTERNS, and PADSTACKSsections of the file. The value of <consistency_level> is defined as one of:

IMAGE_ONLY - then the BOARD contains no drawing information for the layers other than as IMAGE statements.

IMAGE_NO_MATCH - the geometry information drawn may not match the geometry information that is contained in ROUTES, PATTERNS, and PADSTACKS. Routes could be shorted.

IMAGE_MATCHES - then the IMAGE data duplicates the layer geometry information that is contained in ROUTES, PATTERNS, and PADSTACKS.

IMAGE_NO_NETS - the images on the board do not touch any of the routes.

[<color_ref>] (See <color_ref> in 5.4.3.)<xform> the transform applied to the image before it is drawn. The transform is relative to

the origin of the parent statement.

5.17.15 BAREBOARDTEST

The BAREBOARDTEST statement defines the test voltage and current to be used for board continuitytesting. The parameters of an BAREBOARDTEST statement are defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<continuity_voltage> the continuity voltage in volts.

Page 147: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

137

<continuity_current> the continuity current in amps.<isolation_voltage> the isolation voltage in volts.

5.17.16 ASSEMBLY

The ASSEMBLY statement defines all the items included in an ASSEMBLY. The parameters of anASSEMBLY statement are defined as follows:

<assembly_ref> reference to a HEADER.ASSEMBLY.<assembly_id> parameter of the assemblybeing defined by this assembly statement.

<board_ref> reference to the HEADER.BOARD.<board_id> parameter used in theconstruction of this assembly

The ASSEMBLY statement is a parent statement to USING statements. The rules for the USINGstatement for a board also apply for USING statements in an assembly.

A BOARDS Section Example:

$BOARDS BOARD:"brd1"; USING:"cmp1"; OUTLINE: "outline1", "lay1"."BOARD_OUTLINE"; POLYGON:; STARTAT:(-10.00,-10.00); LINETO:(-10.00,180.00); LINETO:(360.00,180.00); LINETO:(360.00,-10.00); ENDLINE:; TARGETREF: "cnr1", "art1"."fiducial","lay1"."PADLAYER_TOP",,(0.00,0.00); TARGETREF:"cnr2", "art1"."fiducial","lay1"."PADLAYER_TOP",,(0.00,160.00); TARGETREF:"cnr3", "art1"."fiducial","lay1"."PADLAYER_TOP",,(340.00,0.00); TARGETREF: "cnr4","art2"."moire1","lay1"."PADLAYER_TOP",,(0.00,0.00); MODIFIED: "Bob Neal", "1998-03-24T07:24:06+7:00", "moved target to more accessible spot."; ASSEMBLY:"asmby1", "brd1"; USING: "cmp1"; USING: "cmp2";$ENDBOARDS

5.18 PANELS

The PANELS section defines collections of assembly definitions and panels (or subpanels) definitions.The definitions of panels include features such as the outer shape of the panel, the boards and subpanels,and internal cutouts. The keyword statements allowed in the PANELS section, and the constraints on theiruse, are defined in the following BNF definition :

PANELS ::= $PANELS:> 0{

PANEL: <panel_ref>;:> {

1{ USING:<group_ref>;}n & 1{

OUTLINE:<instance_name>, <layers_ref>,[<profiledesc_ref>];:> {

<closed_shape>& 0{THICKNESS: <thickness>, <profiledesc_ref>;}1

Page 148: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

138

<: } }n & 0{

HOLEREF: <instance_name>, <hole_ref>, <position>;}n

& 0{ CUTOUT: <cutout_name>, [<barreldesc_ref>], [<profiledesc_ref>],

[<layers_ref>];:> {

<closed_shape><: }

}n & 0{

WELL: <well_name>, <nominal_angle>, <surface>, <cut_mode>,<rem_value>, [<barreldesc_ref>], [<profiledesc_ref>];

:> {<closed_shape>

<: }}n

& 0{ SLOT: <slot_name>, <slot_width>, [<barreldesc_ref>],

[<profiledesc_ref>], [<layers_ref>];:> <polyline_builder><: }n

& 0{ KEEPOUT:<keepout_name>, <keepout_type>, [<layers_ref>];

:> <closed_shape><: }n

& 0{ GROOVE: <groove_name>, <nominal_angle>, <surface>,

<cut_mode>, <rem_value>, [<groove_width>],[<profiledesc_ref>];

:> <polyline_builder><: }n

& 1{PLACEMENT: <instance_name>, <product_ref>, <place>;}n

& 0{ TARGETREF: <instance_name>, <target_ref>, <layers_ref>,

[<color_ref>], <place>;}n

& 0{ LOGOREF: <instance_name>, <logo_ref>, <layers_ref>,

[<color_ref>], <xform>;}n

& 0{ TEXT: <instance_name>, <text_string>, <p1>, <p2>, [<font_ref>],

<layers_ref>, [<color_ref>], <place>;}n

& 0{ IMAGE: <instance_name>, <image_ref>,<layers_ref>,

<consistency_level>, [<color_ref>], <place>;}n

Page 149: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

139

<: }<: }n

$ENDPANELS

<panel_ref> ::= string<group_ref> ::= {<route_group_ref> | <component_group_ref> | <power_group_ref> |

<testconnect_group_ref> | <drawing_ref> }<route_group_ref> ::= string - reference a ROUTES.GROUP.<route_group_id><component_group_ref> ::= string - reference a COMPONENTS.GROUP.<component_group_id><power_group_ref> ::= string - reference a POWER.GROUP.<power_group_id><testconnect_group_ref> ::= string - reference a TESTCONNECTS.GROUP.<testconnect_group_id><drawing_ref> ::= string - reference a DRAWINGS.DRAWING.<drawing _id><instance_name> ::= string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<profiledesc_ref> ::= qualified_string<thickness> ::= p_number<position> ::= <xy_ref>, [<rotation>]<hole_ref> ::= qualified_string<cutout_name> ::= string<barreldesc_ref> ::= qualified_string<well_name> ::= string<nominal_angle> ::= <angular_measure><angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= p_number<degree_value> ::= p_number

<surface> ::= {TOP | BOTTOM | BOTH}<cut_mode> ::= {REMOVE | REMAIN}<rem_value> ::= p_number<slot_name> ::= string<slot_width> ::= p_number<keepout_name> ::= string<keepout_type> ::= {COMPONENT | VIA | ROUTE | TESTPIN | TESTPROBE | BOARD}<groove_name> ::= string<groove_width> ::= p_number<product_ref> ::= {<board_ref> | <panel_ref> | <assembly_ref>}<board_ref> ::= string – reference to a HEADER.BOARD.<board_id><panel_ref> ::= string – reference to a HEADER.PANEL.<panel_id><assembly_ref> ::= string – reference to a HEADER.ASSEMBLY.<assembly_id><place> ::= <xy_ref>, [<rotation>],[<mirror>]<target_ref> ::= qualified_string<color_ref> ::= qualified_string<logo_ref> ::= qualified_string<xform> ::= <xy_ref>, [<rotation>], [<mirror>], [<scale>]<text_string> ::= string<p1> ::= <xy_ref> - p1 and p2 define the corners of the rectangle<p2> ::= <xy_ref><font_ref> ::= qualified_string<image_ref> ::= {<artwork_ref> | <feature_ref> | <pattern_ref> | <symbol_ref> }<artwork_ref> ::= qualified_string<feature_ref> ::= qualified_string

Page 150: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

140

<pattern_ref> ::= qualified_string<symbol_ref> ::= qualified_string<consistency_level> ::= { IMAGE_ONLY | IMAGE_NO_MATCH | IMAGE_MATCHES |

IMAGE_NO_NETS}

5.18.1 PANEL

The PANEL statement defines a printed board panel or assembly subpanel. The only parameter of aPANEL statement is defined as follows:

<panel_ref> reference to a HEADER.PANEL.<panel_id>.

5.18.2 USING

The USING statement references all the named items of a GROUP. This results in the inclusion of all thenamed items from the referenced group into the panel definition. A panel can include named informationfrom groups defined in the ROUTES, COMPONENTS, POWER, TESTCONNNECTS ANDDRAWINGS sections. The only parameter of a USING statement is defined as follows:

<group_ref> a reference to one of:ROUTES.GROUP.<route_group_id>COMPONENTS.GROUP.<component_group_id>POWER.GROUP.<power_group_id>TESTCONNECTS.GROUP.<testconnect_group_id>DRAWINGS.DRAWING.<drawing_id>

All items referenced in the groups are placed in the panel relative to the point oforigin of the board.

The names from a group namespace that are included into the panel definition by a USING statementmust be unique. For example. If the POWER section includes a group named "power1" and a groupnamed "power2" and both "power1" and "power2" contain a SUPPLY statement with the <supply_name>parameter of "ps1" it would be an error. If the POWER section included a group "power1" and aROUTES section group that was named "route1" and the "power1" group included a SUPPLY statementnamed "R1" and the "route1" group included a ROUTE named "R1" then it would not be an error. Thedistinction is that no reference to the name "R1" would be ambiguous.

5.18.3 OUTLINE

The OUTLINE statement defines the outer periphery of the panel. All OUTLINE statements share acommon point of origin with the point of origin of the panel. The parameters of an OUTLINE statementare defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<layers_ref> (See <layers_ref> in 5.6.4.) The layers to which the outline applies.[<profiledesc_ref>] references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

Defines the tolerances on the outer periphery dimensions.

The <closed_shape> that follows the outline statement defines the outline of the panel. The<closed_shape> is defined relative to the origins of the board.

Page 151: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

141

5.18.4 THICKNESS

The THICKNESS statement specifies the thickness of the material in the area of the parent (outline)statement. The parameters of a THICKNESS statement are defined as follows:

<thickness> the required thickness of the panel in the area of the outline.<profiledesc_ref> references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

The tolerances applied to the thickness of the material.

The thickness specified in an outline statement takes precedence over the cumulative thickness values thatcan be calculated by totaling the thickness defined in each of the layers of the outline.

5.18.5 HOLEREF

(See section 5.17.5.)

A HOLE statement in a panel defines a hole that isn't associated with a padstack or other electrical featurethat may contain holes. A hole that is defined as a child of a panel statement would be used for mountingbolts or other non-electrical holes used in conjunction with a panel. This type of hole is not to be used inplace of a hole that should be part of a padstack.

5.18.6 CUTOUT

The CUTOUT statement defines an internal area of the panel that is to have one or more layers cut away.The cutout is defined relative to the origins of the parent (panel) statement. The parameters of a CUTOUTstatement are defined as follows:

<cutout_name> the name of the CUTOUT. The name must be unique within theHEADER.PANEL.<panel_id> collection of names in which it is defined. If theCAD system does not define cutout names then the GenCAM writer must supplynames such as "cutout1", "cutout2".

[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters applyto both the walls and the bottom of a cutout.

[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of thefinished cutout after plating or coating.

[<layers_ref>] (See <layers_ref> in section 5.6.4.) The default is to cutout all layers.

The closed shape that follows the cutout statement defines the outline of the cut away area of the panel.The closed shape is defined relative to the origins of the panel.

5.18.7 WELL

The WELL statement defines an internal area of a panel in which material of a specific depth is removed.The well is defined relative to the origins of the parent (panel) statement. The parameters of a WELLstatement are defined as follows:

<well_name> the name of the WELL. The name must be unique within theHEADER.PANEL.<panel_id> collection of names in which it is defined. If theCAD system does not define well names then the GenCAM writer must supplynames such as "well1", "well2".

<nominal_angle> the nominal angle between the sidewalls of the well. An angle of zero definesvertical, parallel walls.

<surface> the side from which the well is milled. One of TOP, BOTTOM or BOTH.<cut_mode> one of:

Page 152: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

142

REMOVE - the <rem_value> specifies the material to be removed.REMAIN - the <rem_value> specifies the remaining material.

<rem_value> the depth of the material to be removed or the depth of the material that remains.[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters apply

to both the walls and the bottom of a well.[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of the

finished well after plating or coating.

The closed shape that follows the well statement defines the outline of the cut away area of the panel. Theclosed shape is defined relative to the origins of the panel.

5.18.8 SLOT

The SLOT statement defines a slot that is cut through one or more layers of the panel. The slot is definedrelative to the origins of the parent (panel) statement. The parameters of a SLOT statement are defined asfollows:

<slot_name> the name of the SLOT. The name must be unique within theHEADER.PANEL.<panel_id> collection of names in which it is defined. If theCAD system does not define slot names then the GenCAM writer must supplynames such as "slot1", "slot2".

<slot_width> the width of the slot.[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters apply

to both the walls and the bottom of a slot.[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of the

finished slot after plating or coating.[<layers_ref>] (See <layers_ref> in section 5.6.4.) The default is to cut the slot through all

layers.

The polyline that follows the slot statement defines the centerline along which the slot is cut. All cornersof the slot and the ends extending past the ends of the polyline of the slot will have a radius equal to ½ the<slot_width>. The polyline is defined relative to the origins of the panel.

5.18.9 KEEPOUT

The KEEPOUT statement defines an inaccessible area of the panel. The keepout is defined relative to theorigins of the parent (panel) statement. The parameters of a KEEPOUT statement are defined as follows:

<keepout_name> the name of the KEEPOUT. The name must be unique within theHEADER.PANEL.<panel_id> collection of names in which it is defined. If theCAD system does not define keepout names then the GenCAM writer mustsupply names such as "keepout1", "keepout2".

<keepout_type> one of COMPONENT, VIA, ROUTE, TESTPIN, TESTPROBE, or BOARD.[<layers_ref>] (See <layers_ref> in section 5.6.4.) The keepout region applies to the surfaces

defined by the <surface> parameter of the layers referenced in the <layers_ref>.When omitted the keepout applies to all layers.

The closed shape definition that follows the keepout statement defines the outline of the keepout area.The closed shape is defined relative to the origins of the panel.

5.18.10 GROOVE

The GROOVE statement defines a groove cut in the panel for segmentation or other purposes. Theparameters of a GROOVE statement are defined as follows:

Page 153: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

143

<groove_name> the name of the GROOVE. The name must be unique within theHEADER.PANEL.<panel_id> collection of names in which it is defined. If theCAD system does not define groove names then the GenCAM writer must supplynames such as "groove1", "groove2".

<nominal_angle> the nominal angle between the sidewalls of the groove. An angle of zero definesvertical, parallel walls.

<surface> the side on which the groove is to be ground TOP, BOTTOM or BOTH.<cut_mode> one of:

REMOVE - the <rem_value> specifies the material to be removed.REMAIN - the <rem_value> specifies the remaining material.

<rem_value> the depth of the material to be removed or the depth of the material that remains. [<groove_width>] the width of the groove at the surface of the panel.[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of thefinished

groove after plating or coating.

The polyline that follows the groove statement defines the centerline along which the groove is cut. Allcorners of the groove and the ends extending past the ends of the polyline of the groove will have a radiusequal to ½ the <groove_width>. The polyline is defined relative to the origins of the panel.

5.18.11 PLACEMENT

The PLACEMENT statement identifies a board, panel, or assembly that is to be included in the panel, anddefines the location at which the board, panel, or assembly is to be placed in the panel.

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<product_ref> a reference to one of:HEADER.BOARD.<board_id>.HEADER.PANEL.<panel_id>.HEADER.ASSEMBLY.<assembly_id>.

<place> the transform applied to the board, panel, or assembly relative to the origin of theparent (panel) statement. If an assembly is to be built on a panel it is requiredthat the board or panel that is associated with the assembly in the ASSEMBLYstatement be specified at the same location on the panel in a separatePLACEMENT statement.

5.18.12 TARGETREF

(See section 5.17.11.) The <layers_ref> parameter is mandatory.

5.18.13 LOGOREF

The LOGOREF statement references an ARTWORKS.GROUP.LOGODEF.<logo_name> parameter.The statement places an instance of the logo in the parent relative to the origin of the parent. Theparameters of a LOGOREF statement are defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<logo_ref> reference to an ARTWORKS.GROUP.LOGODEF.<logo_name> parameter.<layers_ref> (See <layers_ref> in 5.6.4.) Defines the layers on which the logo is to be drawn.[<color_ref>] (See <color_ref> in 5.4.2.)<xform> the transform applied to the logo before it is drawn. The transform is relative to

the origin of the parent statement.

Page 154: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

144

5.18.14 TEXT

(See section 5.17.13.)

5.18.15 IMAGE

The IMAGE statement draws images on the panel. The electrical properties of image drawn on the panelare undefined. An external mechanism is expected to manage the association of an image with the nets onthe panel. If an image is drawn on the panel the consistency level must be set to one of IMAGE_ONLY,IMAGE_NO_MATCH, IMAGE_MATCHES, or IMAGE_NO_NETS. Images can potentially touch andshort routes. The consistency flags should reflect when this is a possibility. The parameters of an IMAGEstatement are defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<image_ref> a reference to one of:ARTWORKS.GROUP.ARTWORKDEF.<artwork_name>ARTWORKS.GROUP.FEATUREDEF.<feature_name>PATTERNS.GROUP.PATTERNDEF.<pattern_name> (draw the pattern as it would be drawn in a component. Ignore the holes in the pattern and the padstacks.)PATTERNS.GROUP.SYMBOLDEF.<symbol_name>

<layers_ref> (See <layers_ref> in 5.6.4.) The layers on which the image is to be drawn<consistency_level> The <consistency_level> indicates whether the IMAGE data in the PANEL

section is derived directly from, and is geometrically identical, to the geometryand netlist data that is represented in ROUTES, PATTERNS, and PADSTACKSsections of the file. The value of <consistency_level> is defined as one of:

IMAGE_ONLY - then the BOARD contains no drawing information for the layers other than as IMAGE statements.

IMAGE_NO_MATCH - the geometry information drawn may not match the geometry information that is contained in ROUTES, PATTERNS, and PADSTACKS. Routes could be shorted.

IMAGE_MATCHES - then the IMAGE data duplicates the layer geometry information that is contained in ROUTES, PATTERNS, and PADSTACKS.

IMAGE_NO_NETS - the images on the board do not touch any of the routes.

[<color_ref>] (See <color_ref> in 5.4.2.)<xform> the transform applied to the image before it is drawn. The transform is relative to

the origin of the parent statement.

A PANELS Section Example

$PANELS PANEL: "panel1"; USING: "route1"; OUTLINE: "outline2", "lay2"."ALL"; POLYGON:; STARTAT: (0, 0); LINETO: (0, 175000); LINETO: (140000, 175000);

Page 155: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

145

LINETO: (140000, 0); ENDLINE:; THICKNESS: 150, "prim4"."laminate4"; PLACEMENT: "p12", "bd1", (0, 0), 0.0; PLACEMENT: "p13", "bd1", (8484, 1031), 180.0; PLACEMENT: "p14", "bd1", (0, 86017), 0.0; PLACEMENT: "p15", "bd1", (58484,87033), 180.0; HOLEREF: "mthole1", "pad2"."hole12mm", (41550, 59550); HOLEREF: "mthole2", "pad2"."hole12mm", (3550, 3550);$ENDPANELS

5.19 FIXTURES

The FIXTURES section defines collections of fixtures definitions. The fixtures are used in conjunctionwith a boards, panels, and assemblies for applications such as bare-board test, in-circuit test, and theapplication of glue-dots. The keyword statements allowed in the FIXTURES section, and the constraintson their use, are defined in the following BNF definition :

FIXTURES ::= $FIXTURES:> 0{

FIXTURE: <fixture_ref>, <fixture_app>, [<fixture_function>];:> {

1{USING:<group_ref>;}n & 1{

OUTLINE: <instance_name>, <layers_ref>, [<profiledesc_ref>];:> {

<closed_shape> & 0{ THICKNESS: <thickness>, <profiledesc_ref>;}1

<: } }n & 0{

HOLEREF: <instance_name>, <hole_ref>, <position>;}n

& 0{ CUTOUT: <cutout_name>, [<barreldesc_ref>], [<profiledesc_ref>],

[<layers_ref>];:> {

<closed_shape><: }

}n & 0{

WELL: <well_name>, <nominal_angle>, <surface>, <cut_mode>,<rem_value>, [<barreldesc_ref>], [<profiledesc_ref>];

:> {<closed_shape>

<: }}n

& 0{ SLOT: <slot_name>, <slot_width>, [<barreldesc_ref>],

[<profiledesc_ref>], [<layers_ref>];:> <polyline_builder><: }n

& 0{ KEEPOUT: <keepout_name>, <keepout_type>, [<layers_ref>];

:> <closed_shape>

Page 156: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

146

<: }n & 1{

PLACEMENT: <instance_name>, <product_ref> , <place>;}n

<: }<: }n

$ENDFIXTURES

<fixture_ref> ::= string<fixture_app> ::= {BDFAB | BDTST | BDASM | ASEMT}<fixture_function> ::= {

ICT - in-circuit test | BAREBOARDTEST | SOLDERSTENCIL | GLUEDOT | ASSEMBLY | OTHER}

<group_ref> ::= { <power_group_ref> | <testconnect_group_ref> | <drawing_ref> }<power_group_ref> ::= string – reference to a POWERS.GROUP.<power_name><testconnect_group_ref> ::= string – reference to a TESTCONNECTS.GROUP.<testconnect_name><drawing_ref> ::= string – reference to a DRAWINGS.DRAWING.<drawing_id><instance_name> ::= string<layers_ref> ::= {<layersingle_ref> | <layerset_ref>}<layersingle_ref> ::= qualified_string<layerset_ref> ::= qualified_string<profiledesc_ref> ::= qualified_string<thickness> ::= p_number<hole_ref> ::= qualified_string<position> ::= <xy_ref>, [<rotation>]<cutout_name> ::= string<barreldesc_ref> ::= qualified_string<well_name> ::= string<nominal_angle> ::= <angular_measure><angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= p_number<degree_value> ::= p_number<surface> ::= {TOP | BOTTOM | BOTH}<cut_mode> ::= {REMOVE | REMAIN}<rem_value> ::= p_number<slot_name> ::= string<slot_width> ::= p_number<keepout_name> ::= string<keepout_type> ::= {COMPONENT | VIA | ROUTE | TESTPIN | TESTPROBE | BOARD}<product_ref> ::= {<board_ref> | <panel_ref> | <assembly_ref>}<board_ref> ::= string – must reference a BOARD name in BOARDS<panel_ref> ::= string – must reference a HEADER.PANEL.<panel_id><assembly_ref> ::= string – must reference a HEADER.ASSEMBLY.<assembly_id><place> ::= <xy_ref>, [<rotation>],[<mirror>]

5.19.1 FIXTURE

A FIXTURE statement defines a fixture assembly. The parameters of a FIXTURE statement are definedas follows:

Page 157: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

147

<fixture_ref> reference to a HEADER.FIXTURE.<fixture_id>.<fixture_app> the fixture application. One of:

BDFAB - IPC-2514 (board fabrication)BDTST - IPC-2515 (board test)BDASM - IPC-2516 (board assembly)ASEMT - IPC-2517 (assembly test)

[<fixture_function>] the fixture function. One of:ICT - in-circuit testBAREBOARDTESTSOLDERSTENCILGLUEDOTASSEMBLYOTHER - not one of the standard fixture types. The

fixture name may provide a hint.

5.19.2 USING

The USING statement references all the named items of a GROUP. This results in the inclusion of all thenamed items from the referenced group into the fixture definition. A fixture can include namedinformation from groups defined in the POWER, TESTCONNNECTS AND DRAWINGS sections. Theonly parameter of a USING statement is defined as follows:

<group_ref> a reference to one of:POWER.GROUP.<power_group_id>TESTCONNECTS.GROUP.<testconnect_group_id>DRAWINGS.DRAWING.<drawing_id>

All items referenced in the TESTCONNECTS section are placed in the fixturerelative to the point of origin of the fixture.

The names included into the fixture by a USING statement must be unique. For example. If the POWERsection includes a group named "power1" and a group named "power2" and both "power1" and "power2"contain a SUPPLY statement with the <supply_name> parameter of "ps1" it would be an error. If thePOWER section included a group "power1" and a TESTCONNECTS section group that was named "ts1"and the "power1" group included a SUPPLY statement named "R1" and the "ts1" group included aTESTCONNECT named "R1" then it would not be an error. The distinction is that no reference to thename "R1" would be ambiguous.

5.19.3 OUTLINE

The OUTLINE statement defines the outer periphery of the fixture. All OUTLINE statements share acommon point of origin with the point of origin of the fixture. The parameters of an OUTLINE statementare defined as follows:

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<layers_ref> (See <layers_ref> in 5.6.4.) The layers to which the outline applies.[<profiledesc_ref>] references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

Defines the tolerances on the outer periphery dimensions.

The <closed_shape> that follows the outline statement defines the outline of the fixture. The<closed_shape> is defined relative to the origins of the fixture.

Page 158: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

148

5.19.4 THICKNESS

The THICKNESS statement specifies the thickness of the material in the area of the parent (outline)statement. The parameters of a THICKNESS statement are defined as follows:

<thickness> the required thickness of the fixture in the area of the outline.<profiledesc_ref> references to a PRIMITIVES.GROUP.PROFILEDESC.<profiledesc_name>.

The tolerances applied to the thickness of the material.

The thickness specified in an outline statement takes precedence over the cumulative thickness values thatcan be calculated by totaling the thickness defined in each of the layers of the outline.

5.19.5 HOLEREF

(See section 5.17.5.)A HOLEREF statement in a fixture defines a hole that isn't associated with a testpad or other features thatmay contain holes. A hole defined directly in a fixture would be used for mounting bolts or other non-electrical holes used in conjunction with a fixture. This type of hole is not to be used in place of a holethat should be part of a padstack.

5.19.6 CUTOUT

The CUTOUT statement defines an internal area of the fixture that is to have one or more layers cutaway. The cutout is defined relative to the origins of the parent (fixture) statement. The parameters of aCUTOUT statement are defined as follows:

<cutout_name> the name of the CUTOUT. The name must be unique within theHEADER.FIXTURE.<fixture_id> collection of names in which it is defined. Ifthe CAD system does not define cutout names then the GenCAM writer mustsupply names such as "cutout1", "cutout2".

[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters applyto both the walls and the bottom of a cutout.

[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of thefinished cutout after plating or coating.

[<layers_ref>] (See <layers_ref> in section 5.6.4.) The default is to cutout all layers.

The closed shape that follows the cutout statement defines the outline of the cut away area of the fixture.The closed shape is defined relative to the origins of the fixture.

5.19.7 WELL

The WELL statement defines an internal area of a fixture in which material of a specific depth isremoved. The well is defined relative to the origins of the parent (fixture) statement. The parameters of aWELL statement are defined as follows:

<well_name> the name of the WELL. The name must be unique within theHEADER.FIXTURE.<fixture_id> collection of names in which it is defined. Ifthe CAD system does not define well names then the GenCAM writer mustsupply names such as "well1", "well2".

<nominal_angle> the nominal angle between the sidewalls of the well. An angle of zero definesvertical, parallel walls.

<surface> the side from which the well is milled. One of TOP, BOTTOM or BOTH.<cut_mode> one of:

REMOVE - the <rem_value> specifies the material to be removed.REMAIN - the <rem_value> specifies the remaining material.

Page 159: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

149

<rem_value> the depth of the material to be removed or the depth of the material that remains.[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters apply

to both the walls and the bottom of a well.[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of the

finished well after plating or coating.

The closed shape that follows the well statement defines the outline of the cut away area of the fixture.The closed shape is defined relative to the origins of the fixture.

5.19.8 SLOT

The SLOT statement defines a slot that is cut through one or more layers of the fixture. The slot is definedrelative to the origins of the parent (fixture) statement. The parameters of a SLOT statement are definedas follows:

<slot_name> the name of the SLOT. The name must be unique within theHEADER.FIXTURE.<fixture_id> collection of names in which it is defined. Ifthe CAD system does not define slot names then the GenCAM writer mustsupply names such as "slot1", "slot2".

<slot_width> the width of the slot.[<barreldesc_ref>] (See <barreldesc_ref> in section 5.7.2.) The plating and coating parameters apply

to both the walls and the bottom of a slot.[<profiledesc_ref>] (See <profiledesc_ref> in section 5.7.2.) The tolerances on the size of the

finished slot after plating or coating.[<layers_ref>] (See <layers_ref> in section 5.6.4.) The default is to cut the slot through all

layers.

The polyline that follows the slot statement defines the centerline along which the slot is cut. All cornersof the slot and the ends extending past the ends of the polyline of the slot will have a radius equal to ½ the<slot_width>. The polyline is defined relative to the origins of the fixture.

5.19.9 KEEPOUT

The KEEPOUT statement defines an inaccessible area of the fixture. The keepout is defined relative tothe origins of the parent (fixture) statement. The parameters of a KEEPOUT statement are defined asfollows:

<keepout_name> the name of the KEEPOUT. The name must be unique within theHEADER.FIXTURE.<fixture_id> collection of names in which it is defined. Ifthe CAD system does not define keepout names then the GenCAM writer mustsupply names such as "keepout1", "keepout2".

<keepout_type> one of COMPONENT, VIA, ROUTE, TESTPIN, TESTPROBE, or BOARD.[<layers_ref>] (See <layers_ref> in section 5.6.4.) the surface to which the keepout region is

applied. When omitted BOTTOM is assumed.

The closed shape definition that follows the keepout statement defines the outline of the keepout area.The closed shape is defined relative to the origins of the fixture.

5.19.10 PLACEMENT

The PLACEMENT statement identifies a board, panel, or assembly that is to be placed on the fixture, anddefines the location at which the board, panel, or assembly is to be placed on the fixture.

Page 160: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

150

<instance_name> a string that names the instance. This name is used by the keyword statements inthe CHANGES section to select an instance that otherwise would have no uniqueidentifier.

<product_ref> a reference to one of:HEADER.BOARD.<board_id>.HEADER.PANEL.<panel_id>.HEADER.ASSEMBLY.<assembly_id>.

<place> the transform applied to the board, panel, or assembly relative to the origin of theparent (fixture) statement.

A FIXTURES Section Example

$FIXTURES FIXTURE: "fix2", BDTST, BAREBOARDTEST; USING: "ASSY11357"; OUTLINE: "outline3","lay2"."ALL"; POLYGON:; STARTAT: (0, 0); LINETO: (0, 175000); LINETO: (140000, 175000); LINETO: (140000, 0); ENDLINE:; HOLEREF: "mthole1", "pad2"."hole12mm", (41550, 59550); HOLEREF: "mthole2", "pad2"."hole12mm", (3550, 3550); PLACEMENT: "p16", "4UP_MODUS", (30198, -77677), 0.0; PLACEMENT: "p17", "4UP_MODUS", (18198, 62323), 180.0; FIXTURE: "fix3", BDTST, BAREBOARDTEST; OUTLINE: "outline4", "lay2"."ALL"; POLYGON:; STARTAT: (0, 0); LINETO: (0, 175000); LINETO: (140000, 175000); LINETO: (140000, 0); ENDLINE:; PLACEMENT: "p18","4UP_MODUS", (30198, -57677);$ENDFIXTURES

5.20 DRAWINGS

The DRAWINGS section defines a set of drawings associated with a product (board, panel, assembly, orfixture). The keyword statements allowed in the DRAWINGS section, and the constraints on their use, aredefined in the following BNF definition :

DRAWINGS ::= $DRAWINGS:> 0{

DRAWING: <drawing_id>, <drawing_name>, <drawing_number>, <drawing_revision>, <drawing_type>, <drawing_date>, [<drawing_size>];

:> { 1{

SHEET: <sheet_number>, [<sheet_rev>];:> {

FRAME: <artwork_ref>, <offset>; &0{ INSERTLAYER: <product_ref>, <layersingle_ref>, [<p1>],

[<p2>], [<alpha>], [<color_ref>], <xform>;

Page 161: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

151

}n &0{ SYMBOLREF: <symbol_ref>, <component_ref>,

<circuit_ref>, [<color_ref>], <xform>;:> {

1{SYMPINREF:<sympin_ref>, <net_ref>;}n & 0 {TEXT: <text_string>, <p1>, <p2>, [<font_ref>],

[<color_ref>], <place>;}n<: }

}n & 0{ NET:<net_ref>;

:> 0{ 1{<polyline_builder>}n | TEXT: <text_string>, <p1>, <p2>, [<font_ref>],

[<color_ref>], <place>;<: }n

}n& 0{ANNOTATION: <annotation_name>;

:> { 0{<shape_builder>}1 & 0{ARTWORKREF: <artwork_ref>, [<color_ref>],

<xform>;}n & 0{LOGOREF: <logo_ref>, [<color_ref>], <xform>;}n & 0{TEXT: <text_string>, <p1>, <p2>, [<font_ref>],

[<color_ref>], <place>;}n<: }

}n<: }

}n | DWGREF: <url>, <drawing_format>;

<: }<: }n

$ENDDRAWINGS

<drawing_id> ::= string – Must be unique in the top-level namespace of product names<drawing_name> ::= string<drawing_number> ::= string<drawing_revision> ::= string<drawing_type> ::= {FABRICATION | ASSEMBLY | SCHEMATIC | DETAIL |

SPECIFICATION | BOARDTEST | ASSEMBLYTEST | MACHINE |PHOTOTOOL | COMBINATION | PARTSLIST}

<drawing_date> ::= <datetime><datetime> ::= string<drawing_size> ::= { A | B | C | D | E | A0 | A1 | A2 | A3 | A4 }<sheet_number> ::= p_integer<sheet_rev> ::= string<artwork_ref> ::= qualified_string<offset> ::= <xy_ref><product_ref> ::= { <board_ref> | <panel_ref> | <assembly_ref> | <fixture_ref>}<board_ref> ::= string – reference to a HEADER.BOARD.<board_id><panel_ref> ::= string – reference to a HEADER.PANEL.<panel_id><assembly_ref> ::= string – reference to a HEADER.ASSEMBLY.<assembly_id>

Page 162: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

152

<fixture_ref> ::= string – reference to a HEADER.FIXTURE.<fixture_id><layersingle_ref> ::= qualified_string<p1> ::= <xy_ref> - p1 and p2 define the corners of the rectangle<p2> ::= <xy_ref><alpha> ::= p_number<color_ref> ::= qualified_string<xform> ::= <xy_ref>, [<rotation>], [<mirror>], [<scale>]

<symbol_ref> ::= qualified_string<component_ref> ::= qualified_string<circuit_ref> ::= string<sympin_ref> ::= string<net_ref> ::= qualified_string<text_string> ::= string<font_ref> ::= qualified_string<place> ::= <xy_ref>, [<rotation>], [<mirror>]<annotation_name> ::= string<logo_ref> ::= qualified_string<url> ::= string - According to the IETF Standard RFC-1738<drawing_format> ::= string - MIME type according to IETF Standards RFC-2045 – RFC-2049

I.e., "text/IPCGenCAM", or "text/html", or "application/postscript"

The $DRAWINGS and $ENDDRAWINGS section keywords mark the beginning and end of theDRAWINGS section of the GenCAM file.

5.20.1 DRAWING

The DRAWING statement is used to identify a single sheet or multiple sheet drawing. The parameters ofa DRAWING statement are defined as follows:

<drawing_id> a string that uniquely identifies the drawing throughout the GenCAM file. Theidentifier must be unique within the global (top-level) namespace of theGenCAM file. (Suggest "drawing1", "drawing2"…)

<drawing_name> a descriptive name or title for the drawing.<drawing_number> the drawing number, associated with the drawing.<drawing_revision> the revision level of the drawing.<drawing_type> the type of the drawing as one of FABRICATION, ASSEMBLY, SCHEMATIC,

DETAIL, SPECIFICATION BOARDTEST, ASSEMBLYTEST, MACHINE,PHOTOTOOL, COMBINATION or PARTSLIST.

<drawing_date> the date code in the standard GenCAM date format.[<drawing_size>] the paper size of the drawing as one of A, B, C, D, E, A0, A1, A2, A3 or A4.

5.20.2 SHEET

The SHEET statement defines drawing sheets in the drawing set. The parameters of a SHEET statementare defined as follows:

<sheet_number> the sheet number of a single or a multi-sheet drawing.[<sheet_rev>] the revision number for the sheet.

5.20.3 FRAME

The FRAME statement defines a graphic border template for a drawing sheet. The parameters of aFRAME statement are defined as follows:

Page 163: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

153

<artwork_ref> reference to an ARTWORKS.GROUP.ARTWORKDEF.<artwork_name>parameter. The artwork contains the outline for the drawing border, zoneidentifiers, and the drawing title block.

<offset> the transform applied to the frame definition before it is drawn. The transformlocates the frame relative to the origin of the parent (sheet) statement.

5.20.4 INSERTLAYER

The INSERTLAYER statement selects a layer of a product that is to be drawn on a sheet of the drawing.The parameters of the INSERTLAYER statement are defined as follows:

<product_ref> a reference to one of:HEADER.BOARD.<board_id>.HEADER.ASSEMBLY.<assembly_id>.HEADER.PANEL.<panel_id>.HEADER.FIXTURE.<fixture_id>.

<layersingle_ref> the layer of the product that is to be drawn on the sheet.[<p1>] the lower left-hand coordinate, <xy_ref>, of the layer clipping rectangle.[<p2>] the upper right-hand coordinate, <xy_ref>, of the layer clipping rectangle.[<alpha>] the alpha transparency value to use when rendering the layer on the. This

parameter allows different colors to be used to display multiple layers on a singledrawing.

[<color_ref>] (See <color_ref> in 5.4.3.)<xform> the transform applied to the clip box of the layer before the layer is drawn. The

transform is relative to the origin of the parent (sheet) statement.

5.20.5 SYMBOLREF

The SYMBOLREF statement creates an instance of a symbol on the drawing. The statement associatesthe symbol with a component reference designator defined in the COMPONENTS section of theGenCAM file. The parameters of a SYMBOLREF statement are defined as follows:

<symbol_ref> reference to a PATTERNS.GROUP.SYMBOLDEF.<symbol_name>.<component_ref> reference to a COMPONENTS.GROUP.COMPONENT.<ref_desig>.<circuit_ref> reference to a COMPONENTS.GROUP.COMPONENT.<ref_desig>.<part_ref>-

<pattern_pin_ref>.<circuit_number>. This reference searchesthrough the PINDESC definitions in the device referenced by <component_ref>and finds a matching <circuit_ref> number. Those pins that match the<circuit_ref> name are the pins associated with the symbol. The <sympin_ref>value from PINDESC can then be mapped to the SYMPINDEF <sympin_name>in the symbol definition.

[<color_ref>] (See <color_ref> in 5.4.3.)<xform> the location of the symbol within the frame of the schematic drawing.

5.20.6 SYMPINREF

The SYMPINREF statement associates a net with a symbol pin. The parameters of a SYMPINREFstatement are defined as follows:

<sympin_ref> references to a PATTERNS.GROUP.SYMBOLDEF.<symbol_name>.<sympin-_name>

<net_ref> reference to a ROUTES.GROUP.ROUTE.<net_name>.

Page 164: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

154

5.20.7 TEXT

(See section 5.8.6.)

5.20.8 NET

The NET statement associates a net with a graphic representation of the net on the drawing. Theparameters of a NET statement are defined as follows:

<net_ref> reference to a ROUTES.GROUP.ROUTE.<net_name>.

The polyline statements and text statements that follows this net statement define the graphic on thedrawing that are associated with the net name. These statements would be located within the FRAME ofthe drawing and they should connect SYMPIN images that correspond to the same <net_ref>.

5.20.9 ANNOTATION

The ANNOTATION statement is a container for related freehand graphics and text that are to be drawnon the sheet

<annotation_name> the name of the ANNOTATION. The name must be unique within theHEADER.DRAWING.<drawing_id> collection of names in which it is defined.If the CAD system does not define annotation names then the GenCAM writermust supply names such as "annot1", annot2".

5.20.10 ARTWORKREF

(See section 5.5.11.)

5.20.11 LOGOREF

The LOGOREF statement references an ARTWORKS.GROUP.LOGODEF.<logo_name> parameter.The statement places an instance of the logo in the parent (drawing) relative to the origin of the parent.The parameters of a LOGOREF statement are defined as follows:

<logo_ref> reference to an ARTWORKS.GROUP.LOGODEF.<logo_name> parameter.[<color_ref>] (See <color_ref> in 5.4.3.)<xform> the transform applied to the logo before it is drawn. The transform is relative to

the origin of the parent statement.

5.20.12 DWGREF

The DWGREF statement references a drawing that is external to the GenCAM file. The parameters of aDWGREF statement are defined as follows:

<url> the Internet World Wide Web identifier (Uniform Resource Locator) of thedrawing.

<drawing_format> the format for the drawing information in accordance with IETF standards RFC-2045 through RFC-2049. For example, application/IPC.GenCAM,application/postscript, or text/html. The default format isapplication/IPC.GenCAM.

A DRAWING Section Example

$DRAWINGS DRAWING: "S23","Put this in the title box", "1.2","refA", SPECIFICATION,

"1997-08-07", A;

Page 165: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

155

SHEET: 2, "revA"; DWGREF: "http://www.ipc.org/format/Asize", "text/postscript"; DRAWING: "d23", "The schematic", "1.2","refA",SCHEMATIC, "1997-08-07", D; SHEET: 1,"revA"; FRAME: "art2"."D-Size-Format", (0,0); LOGOREF: "art2"."DEC-24", "prim1"."BLACK",(2.30, 0.50); ARTWORKREF: "art2"."2InputNAND", "prim1"."BLACK", (12.6, 13.8); ARTWORKREF: "art2"."2InputNAND", "prim1"."BLACK", (11.2, 16.3); SYMBOLREF: "pat2"."NAND", "cmp2"."U1", "1", ,(3.4, 4.5); TEXT: "U1-1", (0,0), (1.4, 3.4), , ,(4.5, 3.6); SYMPINREF: "I1", "route2"."-RESET"; SYMPINREF: "I2", "route2"."-Q"; SYMPINREF: "OUT", "route2"."+Q"; SYMBOLREF: "pat2"."NAND", "cmp2"."U1", "2", ,(2.3, 4.4); TEXT: "U1-2", (0,0), (1.4, 3.4), , , (3.4, 4.2); SYMPINREF: "I1", "route2"."+Q"; SYMPINREF: "I2", "route2"."-SET"; SYMPINREF: "OUT", "route2"."-Q"; SYMBOLREF: "pat2"."SWITCH", "cmp2"."S1", "1", , (1.0, 2.5); TEXT: "U1-3", (0,0), (1.4, 3.4), , , (4.6, 3.4); SYMPINREF: "p1", "route2"."-RESET"; SYMPINREF: "p2", "route2"."GND"; SYMBOLREF: "pat2"."SWITCH", "cmp2"."S2", "1", , (3.5, 6.5); TEXT: "S2", (0,0), (1.4, 3.4), , , (2.4,3.5); SYMPINREF: "p1", "route2"."-SET"; SYMPINREF: "p2", "route2"."GND"; SYMBOLREF: "pat2"."GROUND","cmp2"."U1" ,"?" , , (3.4, 2.3); SYMPINREF: "G", "route2"."GND"; SYMBOLREF: "pat2"."GROUND","cmp2"."U1" ,"?" , , (4.2, 3.5); SYMPINREF: "G", "route2"."GND"; SYMBOLREF: "pat2"."CONN","cmp2"."U1" ,"?" , ,(5.2,4.6); TEXT: "+Q", (0,0), (1.4,3.4), , , (2.7, 3.8); SYMPINREF: "C", "route2"."+Q"; SYMBOLREF: "pat2"."CONN","cmp2"."U1" ,"?" , ,(1.1, 2.3); TEXT: "-Q", (0,0), (1.4, 3.4), , , (0.4, 2.5); SYMPINREF: "C", "route2"."-Q"; NET: "route1"."-RESET"; POLYLINEREF:"prim4"."route1polyline","prim4"."lineDescExample",, (2,2.0); NET: "route2"."-SET"; POLYLINEREF:"prim4"."route2polyline","prim4"."lineDescExample",, (2,2.0); NET: "route3"."-Q"; POLYLINEREF:"prim4"."route3polyline","prim4"."lineDescExample",, (2,2.0); NET: "route2"."+Q"; POLYLINEREF:"prim4"."route4polyline","prim4"."lineDescExample",, (2,2.0); NET: "route2"."GND"; POLYLINEREF:"prim4"."route5polyline","prim4"."lineDescExample",, (2,2.0);$ENDDRAWINGS

5.21 CHANGES

The CHANGES section defines changes to a GenCAM file. A changes file requires a HEADER,ADMINISTRATION, and CHANGES section. The HEADER AND ADMINISTRATION sectionsrepeat all the information of the original HEADER and ADMINISTRATION sections with any changes

Page 166: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

156

to those sections included in the text of repeated sections. The CHANGES section includes statementsthat rename, delete, or add objects for the new release of the GenCAM file. If an object is to be added tothe GenCAM file then the object definition is defined in a section of a GenCAM file that follows theCHANGES section. For instance, if a ROUTE is to be added to a board then a ROUTES section with aGROUP statement for the route must be included following the CHANGES section. The name of thedefined route definition must match the <new_name> defined in the ADD statement of the CHANGESsection.

The order of the statement in the CHANGES section are significant.

CHANGES ::= $CHANGES:> 0{

RENAME: <old_name>, <new_name>, [<history_increment>]; | DELETE: <old_name>, [<history_increment>]; | ADD: <new_name>; | RENAMEPRODUCT: <old_product_name>, <new_product_name>,

[<history_increment>]; | DELETEPRODUCT: <old_product_name>, [<history_increment>]; | ADDPRODUCT: <new_product_name>;

<: }n$ENDCHANGES

<old_name> ::= qualified_string - an identifier for the change i.e. "prim1"."mnt1"<new_name> ::= qualified_string - an identifier for the change i.e. "prim1"."mnt1"<old_product_name> ::= string - an identifier for the change of a product, e.g., "board1"<new_product_name> ::= string - an identifier for the change of a product e.g., "assmb1"<history_increment> ::= p_integer<comment> ::= string

The $CHANGES and $ENDCHANGES section keywords mark the CHANGES section of the GenCAMfile. Each change description starts with the CHANGE keyword.

5.21.1 RENAME

The RENAME statement changes the name of an object in the GenCAM file. For instance, a componentnamed "U1" can be renamed to "U6". The content of the component definition does not change with arenaming. Only the name is altered.

<old_name> a qualified_string, e.g. "prim1"."mnt1", that references the object defined in theGenCAM file that is to be renamed.

<new_name> a qualified_string, e.g. "prim1"."mnt3", that is the new name for the object. Ifthe group name portion of the qualified string is changed then the object ismoved into the new group. The group name must already exist and the objectmust be a legal object type for the section type of the new group. The<new_object> cannot overwrite an existing object in a group. If an object withthe <new_name> value already exists it is an error. A preexisting object must bedeleted prior to changing the name of an object to a preexisting name.

5.21.2 DELETE

The DELETE statement removes an object from a GenCAM file.

<old_name> a qualified_string, e.g. "prim1"."mnt1", that references the object defined in theGenCAM file that is to be deleted.

Page 167: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

157

5.21.3 ADD

The ADD statement adds a new object to a GenCAM file. The definition of the item being added isincluded in a section following the CHANGES section within a CHANGES files.

<new_name> a qualified_string, e.g. "prim1"."mnt3", that is the name for the object beingadded. The <new_object> cannot overwrite an existing object in a group. If anobject with the <new_name> value already exists it is an error. A preexistingobject must be deleted prior to adding an object with a preexisting name.

5.21.4 RENAMEPRODUCT

The RENAMEPRODUCT statement changes the name of a product in the GenCAM file. For instance, aboard named "board1" can be renamed to "board2". The content of the board definition does not changewith a renaming. Only the name is altered.

<old_product_name> a string, e.g. "board1", that references the product defined in the GenCAM filethat is to be renamed.

<new_product_name> a string, e.g. "board2", that is the new name for the product. The<new_product_object> cannot overwrite an existing product definition. If anproduct with the <new_product_name> value already exists it is an error. Apreexisting product must be deleted prior to changing the name of an product to apreexisting name.

5.21.5 DELETEPRODUCT

The DELETEPRODUCT statement removes an product from a GenCAM file.

<old_product_name> a string, e.g. "assembly2", that references the product defined in the GenCAMfile that is to be deleted.

5.21.6 ADDPRODUCT

The ADDPRODUCT statement adds a new product to a GenCAM file. The definition of the item beingadded is included in a section following the CHANGES section within a CHANGES files.

<new_product_name> a string, e.g. "assembly3", that is the name for the product being added. The<new_product_object> cannot overwrite an existing product definition. If anproduct with the <new_product_name> value already exists it is an error. Apreexisting product must be deleted prior to adding a product with a preexistingname.

A CHANGES Section Example

$HEADER GENCAM:"1.1"; GENERATEDBY:"IPC Manual methods for IPC-782 Land Pattern Calculator", "rev 0.0", ALPHA; UNITS:MM; ANGLEUNITS:DEGREES; HISTORY:2,"1999-06-30T12:06:03+05:00"; BOARD:"brd1","Land Pattern Evaluations","100","0 rev"; PANEL:"panel1","4 up panel; land pattern boards","100","0 rev"; FIXTURE:"fix2","4 up fixture; land pattern panel","100","0 rev"; FIXTURE:"fix3","fixture for land pattern board","100","0 rev"; ASSEMBLY:"asmby1","Assembly Testing","200","0 rev";

Page 168: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

158

$ENDHEADER

$ADMINISTRATION BOARD:"bd1",16; PANEL:"panel1",4 TRANSACTION: CO, "CO 1999-06-30.22", "1999-06-30T12:06:03+05:00"; PERSON:"bob","Bob Neal","Bill and Dave's MEC","301 Great View Dr.", "Boulder","CO","USA","55512","333-790-1212", "333-555-1212"; PERSON:"John P.","John Perry","IPC inc.","2215 Sanders Road", "Northbrook","IL","USA","60062-6135","847-790-5359","847-509-7978"; PERSON:"Dino","Dino Ditta","Router Solutions Inc.", "180 Newport Center Drive,Suite 240","Newport Beach","CA","USA","92660", "949-721-1017","949-721-1019", "[email protected]"; ENTERPRISE:"acme", "Acme Mechanical Parts","105 Main St.", "Poplar Grove","IL","USA","61065","815-765-2311"; SENT:"bob"; OWNER:"Dieter"; ENGINEER:"John P."; RECEIVED:"Dino"; SCHEDULE:"bd1","1999-07-12",30;$ENDADMINISTRATION

$CHANGESRENAME:"prim1"."Outline","prim1"."OutlineOld";DELETE:"route1"."C3";ADD: "route1"."C3";$ENDCHANGES

$ROUTES GROUP: "route1"; ROUTE: "C3",CLK; PATH: "lay1"."1", "prim4"."signalwidth"; POLYLINE:; STARTAT: (1300, 1400); LINETO: (1210, 2400); TESTPAD: "p106_2", "pad1"."100Chips", , NOPROBE, (1200, 2200);$ENDROUTES

6 MODELING

The data sections of GenCAM may be mapped to the information models. Information models are indevelopment to ensure that complete mapping is capable between the information provided withinGenCAM characteristics. The correlation is provided in the activity models shown in IPC-2519.

All data of GenCAM activities are based on activity models. The activity models covered by CAD andCAM include the engineering, design, administrative, and fabrication and assembly characteristics. Eachof these sections are intended to be detailed into various levels of activity much like layers of informationneeded to perform a particular manufacturing process.

Figure 5-1 shows the activity needed to develop an electronic assembly. There are five major sections ofactivity. These include: Activity models start with the desire to develop an electronic assembly. That isthe highest level of activity modeling and has, as it’s input, the system requirements and the assemblypartitioning and has as it’s output, the activities involved for engineering, design, administration,fabrication, and assembly.

Figure 5-1 shows a preliminary relationship of the five activities necessary to develop the electronicassembly, provides some insight into the inputs, and the type of outputs that are necessary to clearlycommunicate the needs of the design to manufacturing disciplines. These instances of activities are

Page 169: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

159

further explored into different layers. Details are provided on each of the characteristics. These are thenused to perform interface relationships with the source of the information and the destination clearlydefined in a fully documented activity model.

Develop ElectronicAssembly

A0

A1 EngineeringA2 Design

A5 Assembly

A3 AdministrationA4 Fabrication

SystemRequirements

AssemblyPartitioning

Electronic Assembly Development Activities

InitiateEngineering

ConsiderationsA1

Electrical Requirements

Mechanical Requirements

Reliability Requirements

A12 Analog/Digital Circuitry

A14 Electromagnetic Protection A13 High Speed/High Frequency Circuits

A15 Mechanical ConstructionA16 Thermal Management

Thermal Requirements

A11 Basic Electronics

A17 Environmental Stresses

Design Electronic

Assembly Product

A2

Land Patterns

Bill of Material

Electronic Diagram

A23 Component Placement

A25 Board Construction A24 Conductive Interconnecting Pattern

A26 Electrical Test Requirements

A27 Tooling Concepts

Design Rules

A21 Basic Board CharacteristicsA22 Materials

A34 Maintenance Handbooks A33 DocumentationDevelop

AdministrativeInformation

A3

Build Requirements

Documentation Specification

Product Maintenance

A32 Contractual Requirements

A35 Electronic Bill of Materials A36 Purchasing AgreementsSupplier Selection

A37 Engineering Change Control

A31 Responsibility/Accountability

A47 Panelization/Tooling

FabricateInterconnectingStructure

A4

Material Definition

Product Construction

Surface Finishes

A42 Material Preparation

A45 Chemical Processes

A43 Mechanical Processes

A46 Bareboard TestingPerformance Requirements

A41 Process Definition (Traveler)

A44 Dry Processes

AssembleElectronicProducts

A5

Printed Board Subpanel

Bill of Material

Electrical Test Data

A52Material Resource Planning

A54 Component Mounting A53 Board Preparation

A55 Attachment TechnologyA56 Assembly TestingPerformance Requirements

A51 Assembly Processes (Traveler)

A57 Performance Conditioning

Figure 6-1 Relationship to GenCAM

The data files of GenCAM are mapped to information models. The effort ensures that complete mappingis capable between information models provided with the same characteristic as the flat ASCII file.

Page 170: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

160

Design deals with design issues, manufacturing deals with manufacturing activities, nevertheless, theformat is in ASCII text and includes total data necessary for product characterization.

6.1 Activity and Information Models

Activity and information models are contained in IPC-2519. Information is correlated to the attributes ofGenCAM as well as to the activity models used to design, order and manufacture printed boards andprinted board assemblies.

7 STANDARD SEMANTIC RULES

The following data format represent syntax rules, parameters or descriptions. These may be populatedfrom information models or from CAM workstations. The data contained in a GenCAM file can bechecked for syntax and semantics errors using a Compliance Test Module (CTM).

7.1 The GenCAM file

The GenCAM data is contained within a single file. The GenCAM file can have any file name that theuser chooses provided that it is acceptable to the operating system(s) being used. A GenCAM file hasexactly one of each section as defined in the GenCAM standard. If a section is not necessary, the sectionindicators are not allowed. Every GenCAM file must have as a minimum, a HEADER section and anADMINISTRATION section.

It is understood that GenCAM files are a product of the data that they intend to support. The sectionalstandards of the IPC-2510 series (IPC-2512 through 2518) identify those sections of the GenCAM filethat must be included at the creation of the file as well as the GenCAM sections that are to be includedwhen the file has gone through its manufacturing sequences. In each of the sectional standards, the letter"M" defines a mandatory requirement, the "O" is an optional requirement, and a dash signifies that thesection is not necessary.

Figure 6-1 shows the GenCAM file structure. The simplest example is a file that includes only changes,thus must only have a HEADER, ADMINISTRATION, and CHANGES section. Multiple fixtures,boards, panels, can be defined within a single GenCAM file. Each product is defined as a top level objectwithin the file with a unique name defined for each product. These top-level objects will reference itemsfrom other sections, such as ROUTES or COMPONENTS, by using a qualified_string. The first stringsegment selects a group from within the GenCAM file and the second string segment picks an item out ofthe group.

To simplify processing of the GenCAM file items are to be defined before they are referenced. Therequired order of sections in a well formed GenCAM file is:

HEADER - always requiredADMINISTRATION - always requiredPRIMITIVESARTWORKSLAYERSPADSTACKSPATTERNSPACKAGESFAMILIESDEVICESMECHANICALSCOMPONENTSROUTES

Page 171: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

161

POWERTESTCONNECTSBOARDSPANELSFIXTURESDRAWINGSCHANGES

Page 172: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

162

$ADMINISTRATION

$HEADER

$CHANGES

Changes toGenCAM File

$POWER

$TESTCONNECTS

$BOARDS

$PANELS

$FIXTURES

$DRAWINGS

$HEADER

$ADMINISTRATION

$PRIMITIVES

$ARTWORKS

$LAYERS

$PADSTACKS

$PATTERNS

$PACKAGES

$DEVICES

$MECHANICALS

$COMPONENTS

$ROUTES

$FAMILIES

CompleteGenCAM File

$HEADER

$ADMINISTRATION

$PRIMITIVES

$ARTWORKS

$LAYERS

$PADSTACKS

$PATTERNS

$PACKAGES

$ MECHANICALS

$ COMPONENTS

$BOARDS

$DRAWINGS

$ DEVICES

Initial AssemblyGenCAM File

Figure 7-1 The GenCAM Files [Change File, Complete File, Initial Assembly File]

Page 173: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

163

7.2 Alpha-numeric Parameters

string ::= characters from the UTF-8 character set as defined in 3.2.qualified_string ::= string.string - the first string is a <group_ref> of the named item. The

second string is the item name within the referenced group.number ::= 3.4x10-38 ≤ value ≤ 3.4x1038

where value can be positive, negative, integer or floating point, with 7 digitprecision. Numbers are assumed to be positive but can be explicitly designatedas positive by a preceding + (ASCII decimal 43) character. Negative numbersmust be explicitly designated as negative by a preceding - (ASCII decimal 45)character. An internal representation of an IEEE double precision floating pointnumber is assumed.Exponentiation format is the same as the format used in the computer languagesC, Perl, Python, or TCL. For example, all the following are legal numbers:

1.0050.01.01–2.334e-33.224e-2

The regular expression format is [+-]?[0-9]*.[0-9]*[eE]?[0-9]*

p_number ::= 0.0 ≤ value ≤ 3. 4x1038 - (the positive range of an IEEE double precision floating point number)

p_integer ::= 0 ≤ value ≤ 2147483647 - (the positive values that fit in a 32 bit signed integer)

<datetime> ::= string containing W3C datetime format of the current date and time. (Seehttp://www.w3.org/TR/NOTE-datetime-970915.html.) The following formatsfrom the W3C specification are allowed;

Complete date: YYYY-MM-DD (eg 1997-07-16) Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00) Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (e.g. 1997-07-16T19:20:30+01:00) Complete date plus hours, minutes, seconds and a decimal fraction of a Second: YYYY-MM-DDThh:mm:ss.sTZD (e.g. 1997-07-16T19:20:30.45+01:00)

where:

YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) (am/pm NOT allowed) mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) s = one or more digits representing a decimal fraction of a second TZD = time zone designator (Z or +hh:mm or -hh:mm)

7.3 GenCAM Parameter Units

<angular_unit> ::= {RADIANS | DEGREES}<angular_measure> ::= { <radian_value> | <degree_value> }

Page 174: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

164

<radian_value> ::= 0.0 <= p_number <= 2π<degree_value> ::= 0.0 <= p_number <= 360.0

<dimension> ::= { MM - millimeter.| UM - micrometer.| MM100 - hundredths of millimeter.| INCH - inch.| THOU - inch/1,000.| THOU10 - inch/10,000.| USERCM - units to the centimeter.| USERMM - units to the millimeter.| USERUM - units to the micrometer.| USERINCH - units to the inch.}

<grid_value> ::= p_integer - the devisor used to define the grid system in user defined units.

7.4 Description of GenCAM Standard Modifiers

<xform> ::= <xy_ref>, [<rotation>], [<mirror>], [<scale>]<xy_ref> ::= (<x_offset>, <y_offset>)<rotation> ::= <angular_measure><angular_measure> ::= { <radian_value> | <degree_value> }<radian_value> ::= p_number<degree_value> ::= p_number<mirror> ::= MIRROR - indicates that all x-values go to minus x-values.<scale> ::= p_number - Scale multiplies all dimensions proportionally.<x_offset> ::= number<y_offset> ::= number

<place> ::= <xy_ref>, [<rotation>], [<mirror>]<position> ::= <xy_ref>, [<rotation>]<offset> ::= <xy_ref>

<attribute_def> ::= ATTRIBUTE: <attribute_owner>, <attribute_name>, <attribute_value>, [<change_history>];

may be used to provide additional information or reference to externaldata attached to the most immediate prior key word.

<attribute_owner> ::= string <attribute_name> ::= string <attribute_value> ::= string <change_history> ::= p_integer

<modified_def> ::= MODIFIED: <person_ref>, <mod_date>, <mod_description>;may be used to attach a description of a changemade to data contained in the previous key word.

<person_ref> ::= string - person identified in the ADMINISTRATION section <mod_date> ::= <datetime> <datetime> ::= string <mod_description> ::= string

<audit_def> ::= AUDIT: <audit_type>, <person_ref>, <point_loss>, [<explanation>];

Page 175: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

165

may be used to evaluate quality, completeness, design rule adherence,or DFM principles.

<audit_type> ::= { BDFAB - audit using IPC-2524 Board Fabrication Data| BDTST - audit using IPC-2525 Bare Board Test Data| BDASM - audit using IPC-2526 Board Assembly Data| ASEMT - audit using IPC-2527 In-circuit Test Data}

<person_ref> ::= string <point_loss> ::= p_number – must be a value between 1 and 10. <explanation> ::= string

7.5 Description of GenCAM Standard Simple Primitives

GenCAM Simple Primitives are common, closed shapes. Unlike the GenCAM Standard GraphicPrimitives, their definitions do not explicitly define their location.

<circle_def> ::= CIRCLEDEF: <circle_name>, <diameter>; <circle_name> ::= string <diameter> ::= p_number – dimension values for all primitives can be any convenient

value. The actual size of a feature will be determined byapplying the scale value of its transform to the defineddimension.

<rectcorner_def> ::= RECTCORNERDEF: <rectcorner_name>, <p1>, <p2>; <rectcorner_name> ::= string <p1> ::= <xy_ref> - The coordinates p1 and p2 define the corners of the

rectangle where p1 is the lower left hand corner and p2 is the upper right hand corner.

<p2> ::= <xy_ref>

<rectcenter_def> ::= RECTCENTERDEF: <rectcenter_name>, <x_dimension>, <y_dimension>;

<rectcenter_name> ::= string <x_dimension> ::= p_number - The <x_dimension> is the length of the

two parallel horizontal planes of the rectangle. <y_dimension> ::= p_number - The <y_dimension> are the two parallel sides of the

rectangle where the sides are perpendicular to the horizontal planes (the instance may then be rotated to any angle).

7.6 Description of GenCAM Complex Primitives

GenCAM defines a set of complex primitives that includes predefined shapes used for holes, lands, orthermal relief features.

<rectcham_def> ::= RECTCHAMDEF:<rectcham_name>, <width>, <height>, <chamfer>;The chamfer size is the length of one leg of the chamfer.The chamfer is 45 degrees.

<rectcham_name> ::= string <width> ::= p_number <height> ::= p_number <chamfer> ::= p_number

Page 176: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

166

<rectround_def> ::= RECTROUNDDEF: <rectround_name>, <width>, <height>, <radius>;

<rectround_name> ::= string <width> ::= p_number <height> ::= p_number <radius> ::= p_number

<oval_def> ::= OVALDEF: <oval_name>, <width>, <height>; <oval_name> ::= string <width> ::= p_number <height> ::= p_number

<dshape_def> ::= DSHAPEDEF: <dshape_name>, <end_shape>, <width>, <height>,[<corner>];

<dshape_name> ::= string <end_shape> ::= {ROUND | CHAMFER | FILLET} <width> ::= p_number <corner> ::= p_number

<diamond_def> ::= DIAMONDDEF: <diamond_name>, <width>, <height>; <diamond_name> ::= string <width> ::= p_number <height> ::= p_number

<hexagon_def> ::= HEXAGONDEF: <hexagon_name>, <point_to_point>; <hexagon_name> ::= string <point_to_point> ::= p_number - The dimensions represent the distance across the points

of the hexagon

<octagon_def> ::= OCTAGONDEF: <octagon_name>, <point_to_point>; <octagon_name> ::= string <point_to_point> ::= p_number - The dimensions represent the distance across the points

of the octagon

7.7 GenCAM Description of User Primitives

GenCAM permits the user to describe unique primitives that are reused in various sections of theGenCAM file. These include polygon (closed shapes), and polyline (non-closed shapes). User primitivesmay be constructed using any of the standard graphic primitives.

<polyline_def> ::= POLYLINEDEF: <polyline_name>;:> STARTAT: <start_xy>;

1{LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>, [<direction>];

<: }n

<polyline_name> ::= string

<polygon_def> ::= POLYGONDEF: <polygon_name>;:> STARTAT: <start_xy>;

1{LINETO: <end_xy>;

Page 177: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

167

| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>, [<direction>];

}n{ ENDLINE: ;

| ENDCIRCARC: <center>, [<direction>];| ENDELLIPARC: <focus1>, <focus2>, [<direction>];

<: }

<polygon_name> ::= string

7.8 GenCAM User Enhanced "In-Process" Primitives

GenCAM permits the user to define polylines and polygons that are part of a specific GenCAM section.The polyline and polygons are defined using the transform of the specific section. They may be named ifthey belong to another keyword, i.e. artwork, slot, path, keepout. The rules for "in-process" primitivesare:

<polyline_builder> ::= {POLYLINEREF: <polyline_ref>, [<linedesc_ref>] , [<color_ref>], <place>;| POLYLINE: [<linedesc_ref>], [<color_ref>];:> STARTAT: <start_xy>;

1{LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>,

[<direction>];<: }n

}

<polygon_builder> ::= {POLYGONREF: <polygon_ref>, [<linedesc_ref>], [<paintdesc_ref>],

[<color_ref>], <place>;| POLYGON: [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>];

:> STARTAT: <start_xy>;1{

LINETO: <end_xy>;| CIRCARCTO: <end_xy>, <center>, [<direction>];| ELLIPARCTO: <end_xy>, <focus1>, <focus2>,

[<direction>]; }n{ ENDLINE:;

| ENDCIRCARC: <center>, [<direction>];| ENDELLIPARC: <focus1>, <focus2>, [<direction>];

<: } }

<closed_shape> ::= {CIRCLE: <diameter>, [<linedesc_ref>], [<paintdesc_ref>],

[<color_ref>], <place>;

| CIRCLEREF: <circle_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| RECTCENTER: <x_dimension>, <y_dimension>, [<linedesc_ref>],

Page 178: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

168

[<paintdesc_ref>], [<color_ref>], <place>;

| RECTCENTERREF: <rectcenter_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| RECTCHAM: <width>, <height>, <chamfer>, [<linedesc_ref>],[<paintdesc_ref>], [<color_ref>], <place>;

| RECTCHAMREF: <rectcham_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| RECTROUND: <width>, <height>, <radius>, [<linedesc_ref>],[<paintdesc_ref>], [<color_ref>], <place>;

| RECTROUNDREF: <rectround_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| OVAL: <width>, <height>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>],<place>;

| OVALREF: <oval_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| DIAMOND: <width>, <height>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| DIAMONDREF: <diamond_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| HEXAGON: <point_to_point>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| HEXAGONREF: <hexagon_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| OCTAGON: <point_to_point>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| OCTAGONREF: <octagon_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| <polygon_builder>}

<shape_builder> ::= {LINE: <start_xy>, <end_xy>, [<linedesc_ref>], [<color_ref>];

| CIRCARC: <start_xy>, <end_xy>, <center>, [<direction>],[<linedesc_ref>], [<color_ref>];

| ELLIPARC: <start_xy>, <end_xy>, <focus1>, <focus2>, [<direction>],[<linedesc_ref>], [<color_ref>];

Page 179: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

169

| RECTCORNER: <p1>, <p2>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| RECTCORNERREF: <rectcorner_ref>, [<linedesc_ref>],[<paintdesc_ref>], [<color_ref>], <place>;

| DSHAPE: <end_shape>, <width>, <height>,[<corner>],[<linedesc_ref>], [<paintdesc_ref>], [<color_ref>], <place>;

| DSHAPEREF: <dshape_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| DONUTREF: <donut_ref>, [<linedesc_ref>], [<paintdesc_ref>],[<color_ref>], <place>;

| DONUT: <donut_shape>, <outer_diameter>, <inner_diameter>, [<linedesc_ref>], [<paintdesc_ref>], [<color_ref>],

<place>;

| <closed_shape>| <polyline_builder>}n

<polyline_ref> ::= qualified_string<polygon_ref> ::= qualified_string<linedesc_ref> ::= qualified_string<color_ref> ::= qualified_string<direction> ::= {CLKW | CCLKW}<paintdesc_ref> ::= qualified_string<diameter> ::= p_number<circle_ref> ::= qualified_string<x_dimension> ::= p_number<y_dimension> ::= p_number<rectcenter_ref> ::= qualified_string<width> ::= p_number<height> ::= p_number<chamfer> ::= p_number<rectcham_ref> ::= qualified_string<radius> ::= p_number<rectround_ref> ::= qualified_string<oval_ref> ::= qualified_string<diamond_ref> ::= qualified_string<point_to_point> ::= p_number<hexagon_ref> ::= qualified_string<octagon_ref> ::= qualified_string<rectcorner_ref> ::= qualified_string<end_shape> ::= {ROUND | CHAMFER | FILLET}<corner> ::= p_number<dshape_ref> ::= qualified_string<donut_ref> ::= qualified_string<donut_shape> ::= {ROUND | SQUARE | HEXAGON | OCTAGON }<outer_diameter> ::= p_number<inner_diameter> ::= p_number

Page 180: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

170

7.9 Description of GenCAM Standard Primitive Enhancers

Several types of primitive enhancements have been identified for usage with primitives. Thesedescriptors provide texture and substance to primitive features. Each one is assigned a unique namewhich is coupled with the use of the primitive as needed in the various sections of the GenCAM file.Primitive enhancement descriptors include line descriptions, paint descriptions, barrel descriptions, andprofile descriptions.

<color_def> ::= COLOR: <color_name>, <R>, <G>, <B>; <color_name> ::= string <R> ::= p_integer – R, G, B values must be in the range 0-255 <G> ::= p_integer <B> ::= p_integer

<linedesc_def> ::= LINEDESC: <linedesc_name>, <line_width>, [<line_end>], [<color_ref>], [<line_type>], [<line_space>], [<line_length>], [<line_mod>], [<mod_end>], [<dim_A>], [<dim_B>],

[<dim_C>]; <linedesc_name> ::= string <line_width> ::= p_number <line_end> ::= {NONE | ROUND | SQUARE} - The default is ROUND <color_ref> ::= qualified_string <line_type> ::= {SOLID | DOTTED | DASHED | CENTER | PHANTOM | ERASE}

- The default is SOLID <line_space> ::= p_number - Distance between center line of dots and/or start

and end of lines, <line_length> ::= p_number - Distance between start and end of dashes or lines.

The diameter of a dot is equal to the line width. <line_mod> ::= {TP | TD | SL1 | SL2 | NONE} - The default is NONE. <mod_end> ::= {START | FINISH | BOTH} <dim_A> ::= p_number - Distance from end of line to finish of modification,

or radius of secondary round feature. (see 4.1.2.4) <dim_B> ::= p_number - Distance from end of line to extension of

modification. <dim_C> ::= p_number - Radius joining curvature of land to line center.

(see Figure 4-3)

<paintdesc_def> ::= PAINTDESC: <paintdesc_name>, <paint_type>, [<color_ref>],[<line_width>], [<pitch1>], [<angle1>], [<pitch2>], [<angle2>];

Optional attributes not required for paint description; definitions areignored even though a value may appear.

<paintdesc_name> ::= string <paint_type> ::= {HOLLOW | HATCH | MESH | FILL | VOID}

-The default is HOLLOW. VOID designates an opaque absence of FILL within or intersecting a FILL, HATCH, or MESH enclosure.

<color_ref> ::= qualified_string <line_width> ::= p_number - refers to line width for MESH or HATCH lines. <pitch1> ::= p_number - Distance between line centers of HATCH or first

set of MESH lines. <angle1> ::= <angular_measure> <angular_measure> ::= { <radian_value> | <degree_value> } <radian_value> ::= p_number

Page 181: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

171

<degree_value> ::= p_number <pitch2> ::= p_number - Distance between line center of HATCH or second

set of MESH lines. <angle2> ::= <angular_measure>

<barreldesc_def> ::= BARRELDESC: <barreldesc_name>, [<fill_material>];:> 0{

BARREL: <barrel_type>, <material>,<min_thickness>,<max_thickness>;

<: }n <barreldesc_name> ::= string <fill_material> ::= string - identification of metallic and non-metallic

materials for filling the hole. <barrel_type> ::= {

COAT - the cavity is coated with the material. | PLATE - the cavity is plated with the material.}

<material> ::= string - material type for the cavity walls. <min_thickness> ::= p_number - minimum dimension controlled using

LMC of PROFILEDESC. <max_thickness> ::= p_number - maximum dimension controlled using

MMC of PROFILEDESC.

<profiledesc_ref> ::= PROFILEDESC: <profiledesc_name>, <finished_LMC>,<finished_MMC>, [<start_LMC>], [<start_MMC>];

<profiledesc_name> ::= string <finished_LMC> ::= p_number - variation from nominal to least material

condition. <finished_MMC> ::= p_number - variation from nominal to maximum

material condition. <start_LMC> ::= p_number - variation from nominal to least material condition

prior to the addition of plating or coating (see BARRELDESC).

<start_MMC> ::= p_number - variation from nominal to maximum material condition prior to the addition of plating or coating (see BARRELDESC).

8 REPORT GENERATORS

Each of the sections of the GenCAM format has various report generators that industry uses to providethe user with hard copy of the GenCAM data file. Some of them are preferred based on industrypreferences, others are mainly examples. The detailed report generators are described in each of theseven sections of the sectional documents i.e. IPC-2512 - 2518 .

9 REFERENCE INFORMATION

The following sections define reference documents that are useful in clarifying the products or process ofthe industry or provide additional insight into the subject of data modeling or released informationmodels.

9.1 IPC (1)

IPC-T-50 Terms and Definitions

IPC-D-275 Design Standard for Rigid Printed Boards and Rigid Printed Board Assemblies

IPC-D-300 Printed Board Dimensions and Tolerances

Page 182: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

172

IPC-D-310 Guidelines for Artwork Generation and Measurement Techniques for Printed Circuits

IPC-D-325 Documentation Requirements for Printed Boards, Assemblies and Support Drawings

9.2 American National Standards Institute (2)

ANSI X3/TR-1-77 American National Dictionary for Information Processing

ANSI X3.12 Subroutine Record Format Standardization

ANSI Y14.5 Dimensioning and Tolerancing for Engineering Drawing

ANSI Y32.1 Logic Diagram Standards

ANSI Y32.16 Electrical and Electrical Reference Designators

ANSI Z210.1 Metric Practice Guide (ASTM 380-72)

9.3 Department of Defense (3)

DoD-STD-100 Engineering Drawings

9.4 Electronic Industries Association (4)

EDIF 4 0 0 Electronic Data Interchange Format

9.5 International Organization for Standards (ISO)

ISO STEP DocumentationISO 10303-AP210 Electronic Assembly, Interconnect, and Packaging Design

ISO 10303-AP212 Electrotechnical Design & Installation

AP220 Process Planning, Manufacturing, and Assembly of Layered Electronic Products

AP221 Process Plant Functional Data & Schematic Representation

9.6 Internet Engineering Task Force (IETF) Standards

(ftp://NIS.NSF.NET/internet/documents/rfc)RFC-1738 Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform Resource Locators"

(URL), RFC 1738, December 1994

RFC-2045 Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME)Part One: Format of Internet Message Bodies", RFC 2045, December 1996

RFC-2046 Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME)Part Two: Media Types", RFC 2046, December 1996

RFC-2047 Moore, K., "Multipurpose Internet Mail Extensions (MIME)Part Three:Representation of Non-ASCII Text in Internet Message Headers", RFC 2047,December 1996

RFC-2048 Freed, N., Klensin, J. and J. Postel, "Multipurpose Internet Mail Extensions(MIME) Part Four: Mime Registration Procedures", RFC 2048, December 1996

RFC-2049 Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME)Part Five: Conformance Criteria and Examples", RFC 2049, December 1996

Page 183: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

173

APPENDIX A

Beginning and Ending Section Keywords

Word Definition Usage Page(s)

ADMINISTRATION Start ADMINISTRATION section GenCAM 62ARTWORKS Start ARTWORKS section GenCAM 80

BOARDS Start BOARDS section GenCAM 129

CHANGES Start CHANGES section GenCAM 156COMPONENTS Start COMPONENTS section GenCAM 111

DRAWINGS Start DRAWINGS section GenCAM 150DEVICES Start DEVICES section GenCAM 104

ENDADMINISTRATION End ADMINISTRATION section GenCAM 62ENDARTWORKS End ADMINISTRATION section GenCAM 81ENDBOARDS End BOARDS section GenCAM 131ENDCHANGES End CHANGES section GenCAM 156ENDCOMPONENTS End COMPONENTS section GenCAM 111ENDDEVICES End DEVICES section GenCAM 104ENDDRAWINGS End DRAWINGS section GenCAM 151ENDFAMILIES End FAMILIES section GenCAM 102ENDFIXTURES End FIXTURES section GenCAM 146ENDHEADER End HEADER section GenCAM 57ENDLAYERS End LAYERS section GenCAM 86ENDMECHANICALS End MECHANICALS section GenCAM 109ENDPACKAGES End PACKAGES section GenCAM 98ENDPADSTACKS End PADSTACKS section GenCAM 89ENDPANELS End PANELS section GenCAM 139ENDPATTERNS End PATTERNS section GenCAM 94ENDPOWER End POWER section GenCAM 122ENDPRIMITIVES End PRIMITIVES section GenCAM 68ENDROUTES End ROUTES section GenCAM 117ENDTESTCONNECTS End TESTCONNECTS section GenCAM 124

FAMILIES Start FAMILIES section GenCAM 102FIXTURES Start FIXTURES section GenCAM 145

HEADER Start HEADER section GenCAM 57

LAYERS Start LAYERS section GenCAM 85

MECHANICALS Start MECHANICALS section GenCAM 108

PACKAGES Start PACKAGES section GenCAM 98PADSTACKS Start PADSTACKS section GenCAM 89PANELS Start PANELS section 137PATTERNS Start PATTERNS section GenCAM 93POWER Start POWER section GenCAM 122PRIMITIVES Start PRIMITIVES section GenCAM 67

ROUTES Start ROUTES section GenCAM 116

TESTCONNECTS Start TESTCONNECTS section GenCAM 123

Page 184: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

174

APPENDIX B

Statement Keywords

Word Definition Usage Page(s)

ACCEPT Person in Receiving Dept. ADMINISTRATION 62ADD CHANGES 156, 157ADDPRODUCT CHANGES 156, 157ALIAS Alternate part number DEVICES, MECHANICALS 104, 106, 107ALTERNATE DEVICES, MECHANICALS 104, 106, 107ANGLEUNITS Angular measure HEADER 8, 57, 60ARTWORK Unnamed shape COMPONENTS, MECHANICALS,

PATTERNS49, 51, 94, 108, 111

ARTWORKDEF Shape, Logo, Font, Target desc. ARTWORKS 80ARTWORKREF Shape, Logo, Font, Target desc. ARTWORKS, COMPONENTS,

DRAWINGS, MECHANICALS,PATTERNS

49, 51, 81, 89, 94,108, 111, 151

ASSEMBLY Printed board assembly id ADMINISTRATION, BOARDS,HEADER

61, 63, 137, 124

ATTRIBUTE Ref to external information General 55, 56, 164AUDIT Ratings system for GenCAM file General 55, 56, 57, 165

BAREBOARDTEST Electrical testing BOARDS 130, 136BARREL PRIMITIVES 67, 73, 171BARRELDESC Plating requirements for holes and other

surfacesPRIMITIVES 67, 69, 72, 73, 171

BILLTO Individual to pay for service ADMINISTRATION 62, 65BOARD Board description ADMINISTRATION, BOARDS,

HEADER60, 61, 63, 129, 132

BODY Outline of standard parts PACKAGES 98, 101BUYER Person resp. for order ADMINISTRATION 62, 65CAPACITANCE ROUTES 117, 121CERTIFICATION HEADER 57CIRCARC Graphic primitive <shape_builder> 12, 19, 20, 39, 168CIRCARCTO <polygon_builder>,

<polyline_builder>,PRIMITIVES

36, 37, 16734, 35 16768, 78

CIRCLE Round primitive <closed_shape> 12, 19, 21, 22, 38,167

CIRCLEDEF PRIMITIVES 21, 22, 67, 72, 76, 77,165

CIRCLEREF <closed_shape> 21, 22, 38, 167COLOR Color intensity description PRIMITIVES 12, 67, 71, 170COMMENT Text for additional information ADMINISTRATION 62, 66COMPONENT Component description COMPONENTS 86, 102, 116, 131,

139, 146COMPPIN Component pin identification ROUTES 117, 120COMPPINREF TESTCONNECTS 124, 126CONNPIN Connector pin identification ROUTES 117, 120CONNPINREF TESTCONNECTS 121, 127CUSTOMERSERVICE Person resp. for service ADMINISTRATION 62, 65CUTOUT Material removed definition BOARDS, FIXTURES, PANELS 73, 129, 133, 138,

141, 145, 148

DELETE CHANGES 156, 157DELETEPRODUCT CHANGES 156, 157DESIGNER Person resp. for design ADMINISTRATION 62, 65DEVICE Device identification DEVICES 104, 106, 107DEVICEREF COMPONENTS 111, 114DIAMOND Simple primitive <closed_shape> 12, 28, 39, 168

Page 185: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

175

APPENDIX B

Statement Keywords

Word Definition Usage Page(s)

DIAMONDDEF PRIMITIVES 27, 67, 75, 166DIAMONDREF <closed_shape> 28, 39, 168DRAWING Drawing identification DRAWINGS 150, 152DONUT <shape_builder> 12, 29, 40, 169DONUTDEF PRIMITIVES 29, 67, 76DONUTREF <shape_builder> 29, 40, 169DSHAPE Complex primitive <shape_builder> 12, 26, 27, 40, 169DSHAPEDEF PRIMITIVES 26, 67, 75, 166DSHAPEREF <shape_builder> 26, 50, 169DWGREF DRAWINGS 151, 154ELLIPARC Graphic primitive <shape_builder> 12, 20, 35, 40, 168ELLIPARCTO <polygon_builder>,

<polyline_builder>,PRIMITIVES

37, 16734, 16768, 78

ENDCIRCARC <shape_builder>,PRIMITIVES

36, 37, 16768, 78

ENDELLIPARC <shape_builder>,PRIMITIVES

36, 37, 16768, 79

ENDLINE <shape_builder>,PRIMITIVES

36, 16768, 78,

ENGINEER Engineer resp. for order ADMINISTRATION 62, 65ENTERPRISE ADMINISTRATION 62, 66

FAMILY Reference to family name FAMILIES 102, 103FEATUREDEF ARTWORKS 38, 43, 44, 80, 81, 82FEATUREREF PATTERNS 43, 49, 94, 96FIXELEC Special fixture electrical parameter TESTCONNECTS 124, 127FIXTURE Fixture identification ADMINISTRATION, FIXTURES,

HEADER57, 61, 63, 145, 147

FONT ARTWORKS 38, 46, 80, 82, 84FRAME Drawing format DRAWINGS 151, 153, 154

GENCAM Reference to format HEADER 57, 59GENERATEDBY Software operating sys creating file HEADER 57, 59GLYPH Identification of user font ARTWORKS 47, 48, 80, 82, 83GROOVE Cutout in board or panel BOARDS, PANELS 130, 135, 138, 143GROUP Start new group within a section ARTWORKS, COMPONENTS,

DEVICES, FAMILIES, LAYERS,MECHANICALS, PACKAGES,PADSTACKS, PATTERNS,POWER, PRIMITIVES, ROUTES,TESTCONNECTS

10, 67, 70, 80, 81, 85,87, 89, 90, 93, 95, 98,100, 102, 103, 104,106, 108, 109, 111,112, 116, 118, 122,123, 125

HEXAGON Simple primitive <closed_shape> 12, 28, 39, 76, 168HEXAGONDEF PRIMITIVES 28, 67, 75, 76, 166HEXAGONREF <closed_shape> 28, 39, 168HIGHPOTTEST Bare board stress testing ROUTES 1127, 121HISTORY Increment of file modifications HEADER 57, 60HOLEDEF PADSTACKSHOLEREF BOARDS, FIXTURES,

MECHANICALS, PADSTACKS,PANELS, PATTERNS

49, 57, 89, 93, 94, 96,97, 108, 110, 129,133, 138, 141, 145,148

IMAGE BOARDS, PANELS 130, 136, 139, 144

Page 186: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

176

APPENDIX B

Statement Keywords

Word Definition Usage Page(s)

IMPEDANCE ROUTES 117, 121INDUCTANCE ROUTES 117, 121INSERTLAYER DRAWINGS 151, 153

KEEPOUT Area where no access is permitted BOARDS, COMPONENTS,FIXTURES, PANELS

38, 111, 116, 130,134, 138, 142, 146

LANGUAGE HEADER 57, 60LAYER Identification of single layer LAYERS 86, 88LAYERSET Multiple layers LAYERS 86, 87, 88LAYERSINGLE Individual layer LAYERS 85, 87LINE Conductor or drawing lines and user

constructions<shape_builder> 12, 19, 35, 39, 55, 59,

168LINEDESC Texture for line descriptions PRIMITIVES 31, 35, 67, 71, 170LOCATION Testpin coordinates TESTCONNECTS 124, 125LOGODEF ARTWORKS 38, 48, 80, 81, 83, 84LOGOREF ARTWORKS, BOARDS,

DRAWINGS, PANELS48, 80, 84, 130, 135,138, 143, 151, 154

MECHANICAL Non-electrical part descriptions MECHANICALS 98, 109MECHANICALREF COMPONENTS 111, 114, 115MODIFIED Identification of person GENERAL 55, 56, 164

NET Reference to route net names DRAWINGS 151, 154

OCTAGON Simple primitive <closed_shape> 12, 29, 39, 168OCTAGONDEF PRIMITIVES 29, 67, 75, 76, 77,

166OCTAGONREF <closed_shape> 29, 39, 168ONFAIL Related failure reports COMPONENTS 111, 116OUTLINE Periphery identification using graphic

primitivesBOARDS, FIXTURES, PANELS 38, 129, 132, 138,

140, 146OVAL Simple primitive <closed_shape> 26, 39, 168OVALDEF PRIMITIVES 26, 67, 74, 166OVALREF <closed_shape> 26, 39, 168OWNER ADMINISTRATION 62, 64

PACKAGE Component description PACKAGES 98, 100PAD Feature of padstack PADSTACKS 89, 92PADDEF PADSTACKS 89, 91PADREF PADSTACKS 89, 92PADSTACK Multiple pads in an array PADSTACKS 89, 92PADSTACKREF PATTERNS 49, 93, 95PAINTDESC Description of texture for closed

primitivesPRIMITIVES 12, 16, 18, 19, 29, 31,

67, 72, 76, 170PANEL Identification and part number ADMINISTRATION, HEADER,

PANELS57, 60, 61, 63, 136,140

PART Reference to part description DEVICES, MECHANICALS 104, 106, 108, 110PATH Conductor topology ROUTES 116, 119PATTERNDEF Combination of padstacks PATTERNS 49, 93, 95PATTERNREF Combination of padstacks COMPONENTS 49, 111, 116PERSON Individual name and address ADMINISTRATION 61, 64PIN Outline of leads and terminations PACKAGES 86, 98, 101PINDESC Identification of pin and description DEVICES 104, 109, 153PINONE PACKAGES 98, 102PLACEMENT Position of boards within a fixture FIXTURES, PANELS 138, 143, 146, 150

Page 187: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

177

APPENDIX B

Statement Keywords

Word Definition Usage Page(s)

PLANE Conductive large area ROUTES 117, 119POLYGON User-defined primitive <polygon_builder> 37, 167POLYGONDEF PRIMITIVES 36, 68, 77, 166POLYGONREF <shape_builder> 36, 37, 167POLYLINE User-defined unclosed primitive <polyline_builder> 19, 34, 35, 167PREPARATION Component lead prep COMPONENTS 111, 116PRESENTATION Component delivery system COMPONENTS 111, 116PROFILEDESC Tolerance on any feature PRIMITIVES 67, 69, 73, 171PROGRAM Programming of components COMPONENTS 104, 107, 111, 115

RECEIVED Person receiving GenCAM output ADMINISTRATION 62, 64RECTCENTER Simple primitive <closed_shape> 12, 23, 24, 38, 168RECTCENTERDEF PRIMITIVES 23, 24 67, 73, 74, 76,

77,RECTCENTERREF <closed_shape> 23, 38, 168RECTCHAM Simple primitive <closed_shape> 12, 24, 39, 168RECTCHAMDEF PRIMITIVES 24, 67, 74, 165RECTCHAMREF <closed_shape> 24, 39, 168RECTCORNER Simple primitive <shape_builder> 12, 22, 23, 40, 169RECTCORNERDEF PRIMITIVES 22, 67, 74, 165RECTCORNERREF <shape_builder> 22, 40, 169RECTROUND Simple primitive <closed_shape> 12, 25, 39, 74, 168RECTROUNDDEF PRIMITIVES 25, 67, 74, 166RECTROUNDREF <closed_shape> 25, 39, 168REFERENCE ROUTES 117, 121RENAME CHANGES 156RENAMEPRODUCT CHANGES 156, 157ROUTE Definition of conductor topology ROUTES 116, 118

SCHEDULE Requirements for receipt of GenCAMoutput

ADMINISTRATION 62, 65

SENT Person resp. for sending file ADMINISTRATION 62, 64SHEET Ref. to drawing sheet identification DRAWINGS 150, 152SLOT Cutout in board or panel BOARDS, FIXTURES, PANELS 73, 130, 134, 138,

142, 145, 149STARTAT <polygon_builder>,

<polyline_builder>,PRIMITIVES

37, 16734, 16734, 36, 67, 78, 79

SUPPLY Power supply description POWER 122, 123, 132, 140,147

SYMBOLDEF Identification of schematic/logic PATTERNS 51, 94, 97, 107SYMBOLREF Identification of schematic/logic DRAWINGS 52, 151, 152SYMPINDEF Identification of pins on symbol PATTERNS 51, 94, 97, 107, 153SYMPINREF Identification of pins on symbol DRAWINGS 52, 151, 153TARGET Complex primitive/Artwork ARTWORKS 38, 39, 40, 41, 42, 81,

84TARGETDEF ARTWORKS 38, 40, 80, 81, 82TARGETREF BOARDS, PACKAGES, PANELS,

PATTERNS40, 49, 56, 94, 95, 96,98, 101, 130, 135,138, 143

TESTCONNECT TESTCONNECTS 124, 127, 128TESTPAD Identification of point to be probed ROUTES 117, 120TESTPADREF TESTCONNECTS 124, 126TESTPIN Identification of pin in test fixture TESTCONNECTS 124, 125TESTPINREF TESTCONNECTS 124, 127, 128

Page 188: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

178

APPENDIX B

Statement Keywords

Word Definition Usage Page(s)

TESTPROBE Test probe identifier TESTCONNECTS 124, 125TESTPROBEREF TESTCONNECTS 124, 127, 128TEXT Description of words ARTWORKS, BOARDS,

COMPONENTS, DRAWINGS,PANELS, PATTERNS

46, 48, 49, 51, 52, 80,82-84, 94, 96, 97,111, 115, 130, 135,136, 138, 144, 151,154

THERMALDEF Complex primitive PRIMITIVES 31, 67, 76THICKNESS Definition of thickness characteristics BOARDS, FIXTURES, PANELS 129, 133, 138, 141,

145, 148TRANSACTION Type of request using GenCAM file ADMINISTRATION 61, 64

UFONT User font description ARTWORKS 38, 47, 48, 80, 82, 83,84, 177

UNITS Numerical characteristics HEADER 57, 59USING Select group of items to use in a product BOARDS, FIXTURES, PANELS 118, 129, 131, 132,

137, 140, 146

VALUE Electrical value DEVICES 104, 108VIA Plated through-hole ROUTES 117, 119VIAREF TESTCONNECTS 124, 126

WELL Depression cut into product BOARDS, FIXTURES, PANELS 38, 73, 130, 133, 134,138, 141, 145, 148

Page 189: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

179

APPENDIX C

General Fixed-field Parameters

Word Definition Usage Page(s)

A U.S. drawing size <drawing_size> 151, 152A0 Int'l drawing size <drawing_size> 151, 152A1 Int'l drawing size <drawing_size> 151, 152A2 Int'l drawing size <drawing_size> 151, 152A3 Int'l drawing size <drawing_size> 151, 152A4 Int'l drawing size <drawing_size> 151, 152ALIGNMENT Purpose of target <target_function> 40 41, 81, 82, 85ALL <surface> 86ALPHA <certification_status> 57AMP Device value type <value_type> 106, 108ASEMT Audit of assembly test data

Fixture application<audit_type><fixture_app>

56, 165146, 147

ASSEMBLED <fab_or_assemble> 111, 114ASSEMBLY Type of drawing <drawing_type>

<fixture_function>151, 152156, 157

ASSEMBLYDRAWINGS <certification_category> 58ASSEMBLYFIXTUREGENERATION

<certification_category> 58

ASSEMBLYPANEL <certification_category> 58ASSEMBLYPREPTOOLS <certification_category> 58ASSEMBLYTEST <drawing_type> 151, 152ASSEMBLYTESTFIXTUREGENERATION

<certification_category> 58

ASSEMBLYTESTGENERATION

<certification_category> 58

B U.S. drawing size <drawing_size> 151, 152BALANCED <measurement_type> 118BAREBOARDTEST <fixture_function> 156, 157BDASM Board assembly data audit

Board assembly fixture application<audit_type><fixture_app>

56, 165146, 147

BDFAB Board fabrication data auditBoard fabrication fixture application

<audit_type><fixture_app>

56, 165146, 147

BDTST Board test data auditBoard test fixture application

<audit_type><fixture_app>

56, 165146, 147

BETA <certification_status> 57BOARD Keepout description <keepout_type> 112, 116, 131, 134, 139,

142, 146, 149BOARDFABRICATION <certification_category> 58BOARDFIXTUREGENERATION

<certification_category> 58

BOARDOUTLINE <GenCAM_layer_type> 86BOARDPANEL <certification_category> 58BOARDTEST <drawing_type> 151, 152BOARDTESTGENERATION <certification_category> 58BOTH Line modification

Surface identification<mod_end><surface>

15, 68, 71, 17086, 131, 134, 135, 139,142, 143, 146, 149

BOTTOM Pin exit descriptionSurface identification

<pin_exit><surface>

98, 100, 10186, 113, 131, 134, 135,139, 142, 143, 146, 149

BULK Presentation media <delivery_system> 112, 116BUSSED Type of test cable group <bunch_type> 125, 128

C U.S. drawing size <drawing_size> 151, 152

Page 190: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

180

APPENDIX C

General Fixed-field Parameters

Word Definition Usage Page(s)

CABLED Grouping of test cable <bunch_type> 125, 128CAPACITIVE Capacitive layer

Probe attachment<GenCAM_layer_type><probe_attach>

86124, 126

CARTRIDGE Presentation media <delivery_system> 112, 116CASTLE Type of probe pin tip <tip_type> 124, 126CCLKW Counterclockwise <direction> 20, 21, 70, 169CENTER Type of line <line_type> 13, 14, 68, 71, 170CERTIFIED <certification_status> 57CHAMFER Definition of D-shaped end <end_shape> 27, 70, 75, 166, 169CHINESE <language> 52CHISEL Type of probe pin tip <tip_type> 124, 126CLINCH Lead clinching requirement <comp_prep_type> 112, 115CLINCHLENGTH Lead clinching length requirement <comp_prep_type> 112, 115CLK Clock <net_class> 117, 119CLKW Clockwise <direction> 20, 21, 70, 169CO Change order <trans_type> 62, 64COAT Conductive/non-conductive coating <barrel_type> 69, 73, 171COATINGCOND Conductive coating layer <GenCAM_layer_type> 86COATINGNONCOND Non-conductive coating layer <GenCAM_layer_type> 86COMBINATION <drawing_type> 151, 152COMPONENT Layer type

Keepout description<GenCAM_layer_type>,<keepout_type>

86112, 116, 131, 134, 139,142, 146, 149

COMPONENTPLACEMENT <certification_category> 58CONDUCTOR Conductor image layer <GenCAM_layer_type> 86COURTYARD <GenCAM_layer_type> 86CROWN Type of probe pin tip <tip_type> 124, 126

D U.S. drawing size <drawing_size> 151, 152DASHED Type of line <line_type> 13, 14, 68, 71, 170DEGREES Increments of 360 segments <angular_unit> 58, 60, 163DETAILDRAWING Drawing type <certification_category> 58DIELADHV Non-conductive adhesive <GenCAM_layer_type> 86DIELBASE Dielectric base material <GenCAM_layer_type> 86DIELCORE Composite of dielectric materials <GenCAM_layer_type> 86DIELPREG Resin pre-impregnated reinforcement <GenCAM_layer_type> 86DOTTED Type of line <line_type> 13, 14, 68, 71, 170DOWN Pull down LOAD parameter <load> 102, 103DUALSTAGE Type of probe pin <probe_type> 124, 126

E U.S. drawing size <drawing_size> 151, 152EDGE Pin exit description <pin_exit> 98, 100, 101ELECTRICAL Purpose of hole <hole_type> 89, 90ENGLISH <language> 52ERASE Line erasure (SOLID) <line_type> 13, 14, 68, 71, 170

FABRICATED <fab_or_assemble> 111FABRICATION Type of printed board drawing <drawing_type> 151, 152FABRICATIONDRAWINGS <certification_category> 58FARAD Device value description <value_type> 106, 108FILL <paint_type> 16, 17, 21, 69, 72, 170FILLET D-shaped end description <end_shape> 27, 70, 75, 166, 169FINISH Modification to line end <mod_end> 15, 68, 71, 170FINNISH <language> 52FIXED Type of electrical net <net_class> 117, 119

Page 191: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

181

APPENDIX C

General Fixed-field Parameters

Word Definition Usage Page(s)

FIXTURE Fixture layer description <GenCAM_layer_type> 86FRENCH <language> 52

GENERALASSEMBLY <certification_category> 58GERMAN <language> 52GLUE Glue dot layer <GenCAM_layer_type> 86GLUEDOT <certification_category>,

<fixture_function>58156, 157

GRAPHIC <GenCAM_layer_type> 86HATCH Cross-hatching of closed area <paint_type> 16, 17, 69, 72, 170HENRY Device value description <value_type> 106, 108HERTZ Device value description <value_type> 106, 108HOLEFILL Hole filling layer <GenCAM_layer_type> 86HOLLOW No texture in closed area <paint_type> 16, 22, 69, 72, 170

ICT in-circuit test <fixture_function><probe_type>

156, 157124, 126

IMAGE_MATCHES <consistency_level> 132, 136, 140, 144IMAGE_NO_MATCH <consistency_level> 132, 136, 140, 144IMAGE_NO_NETS <consistency_level> 132, 136, 140, 144IMAGE_ONLY <consistency_level> 132, 136, 140, 144INCH Dimensional unit <dimension> 58, 59, 126, 164INDUCTIVE Type of probe attachment <probe_attach> 124, 126INTERNAL <surface> 86

JAPANESE <language> 52JOULE Device value description <value_type> 106, 108

LEADBEND Lead preparation <comp_prep_type> 112, 115LEADLENGTH Lead length preparation <comp_prep_type> 112, 115LEGEND Reference designation layer <GenCAM_layer_type> 86LUMEN Device value description <value_type> 106, 108

MACHINE <drawing_type> 151, 152MANDATORY <access_desc> 117MARKER Purpose of target <function>

<target_function>40, 4281, 82, 85

MATING Type of probe attachment <probe_attach> 124, 126MECHANICAL Purpose of holes <hole_type> 89, 90MECHANICALHARDWARE <certification_category> 58MESH Single line angled texture <paint_type> 16, 17, 21, 69, 72, 170,

171MIRROR Mirroring of image <mirror> 8, 9, 164MM Millimeters <dimension> 58, 59, 126, 164MM100 hundredths of millimeter <dimension> 58, 59, 126, 164MULTIPLEBOARDPARTSLIST

<certification_category> 58

NOACCESS No electrical test access <access_desc> 117, 119NONE Line end characteristics

Line modification characteristicsLoad characteristics

<line_end><line_mod><load>

13, 68, 71,170102, 103102, 103

NOPROBE No probing access <access_desc> 117NOTAPPLICABLE <surface> 86

Page 192: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

182

APPENDIX C

General Fixed-field Parameters

Word Definition Usage Page(s)

OCTAGON Description of donutDescription of thermal

<donut_shape><thermal_shape>

10, 70, 76, 16970, 76, 77

OHM Device value description <value_type> 106, 108ONE Logic description <open_input_logic> 102, 103OTHER <comp_prep_type>

<device_type><fixture_function><probe_attach><tip_type>

112, 115104156, 157124, 126124, 126

PACK Presentation media <delivery_system> 112, 116PARALLEL Parallel spoke end shape <spoke_end_shape> 31, 72, 77PARTSLIST List of materials <drawing_type> 151, 152PASTEMASK Solder paste mask layer type <GenCAM_layer_type> 86PHANTOM Type of line <line_type> 13, 14, 68, 71, 170PHOTOTOOL <drawing_type> 151, 152PHOTOTOOLS <certification_category> 58PIN Pin layer <GenCAM_layer_type> 86PLATE Conductive plating <barrel_type> 69, 73, 171PO Purchase order <trans_type> 62, 64PREFERRED <access_desc> 117PREPCODE Component preparation <comp_prep_type> 112, 115PROBE Probing layer point <GenCAM_layer_type> 86

RADIANS Increments of 2 π <angular_unit> 58, 60, 163RADIUS Type of probe type tip <tip_type> 124, 126REEL Presentation media <delivery_system> 112, 116REGISTRATION Purpose of target <target_function> 81, 82, 85REMAIN Well depth <cut_mode> 131, 134, 135, 139, 142,

143, 146, 149REMOVE Well depth <cut_mode> 131, 134, 135, 139, 142,

143, 146, 149RESISTIVE Resistive material layer <GenCAM_layer_type> 86REWORK Layer to be or having been reworked <GenCAM_layer_type> 86RFA Request for audit <trans_type> 62, 64RFP Request for proposal <trans_type> 62, 64RFQ Request for quote <trans_type> 62, 64ROUND <donut_shape>

<end_shape><line_end><spoke_end_shape><thermal_shape>

30, 70, 76, 16927, 70, 75, 166, 16913, 68, 71,17031, 72, 7770, 76, 77

ROUTE Keepout description <keepout_type> 112, 116, 131, 134, 139,142, 146, 149

RUSSIAN <language> 58SCHEMATIC Type of drawing <drawing_type> 151, 152SCHEMATICLOGICDRAWINGS <certification_category> 58SELFTEST <certification_status> 57SIGNAL Type of route <net_class> 117, 119SINGLEBOARDPARTSLIST <certification_category> 58SL1 Line modification (key hole) <line_mod> 14, 16, 68, 69,70, 170SL2 Line modification (key hole) <line_mod> 14, 16, 68, 69, 70, 170SOLDERBUMP Solid solder deposition <GenCAM_layer_type> 86SOLDERMASK Solder resist layer <GenCAM_layer_type> 86SOLDERSTENCIL <fixture_function> 156, 157

Page 193: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

183

APPENDIX C

General Fixed-field Parameters

Word Definition Usage Page(s)

SOLDERSTENCILPASTE <certification_category> 58SOLID Type of line <line_type> 13, 14, 68, 71, 170SPEAR Type of probe tip <tip_type> 124, 126SPECIFICATION Type of drawing <drawing_type> 151, 152SPECSOURCECONTROLDRAWING

<certification_category> 58

SQUARE <donut_shape><line_end><spoke_end_shape><thermal_shape>

30, 70, 76, 16913, 68, 71,17031, 32, 70, 7770, 76, 77

START Modification of beginning of line <mod_end> 15, 68, 71, 170SWEDISH <language> 58

TD Tear drop line modification <line_mod> 14, 16, 68, 72, 170TESTPIN Keepout description <keepout_type> 112, 116, 130TESTPROBE Keepout description <keepout_type> 112, 116, 131, 134, 139,

142, 146, 149THOU Inch/1,000 <dimension> 58, 59, 126, 164THOU10 Inch/10,000 <dimension> 58, 59, 126, 164TOOLING Purpose of holes <hole_type> 89, 90TOP Pin exit description

Surface description<pin_exit><surface>

98, 100, 10186, 132, 134, 135, 139,142, 143, 149

TP Tapered line modification <line_mod> 14, 16, 68, 71, 72, 170TRANSFER Type of probe characteristics <probe_type> 124, 126TRAY Presentation media <delivery_system> 112, 116TUBE Presentation media <delivery_system> 112, 116TULIP3 Type of probe tip <tip_type> 124, 126TULIP4 Type of probe tip <tip_type> 124, 126TWISTED Type of group cabling <bunch_type> 125, 128

UM Micrometer (µm) <dimension> 58, 59, 126, 164UNBALANCED <measurement_type> 118UNUSED <net_class> 117, 119UP Pull up LOAD <load> 102, 103USERCM Grid Centimeter units <dimension> 58, 59, 126, 164USERINCH Grid inch-based units <dimension> 58, 59, 126, 164USERMM Grid millimeter units <dimension> 58, 59, 126, 164USERUM Grid micrometer units <dimension> 58, 59, 126, 164

VIA Type of keepout <keepout_type> 112, 116, 131, 134, 139,142, 146, 149

VOID Removal of texture in filled, mesh, orhatched objects

<paint_type> 16, 69, 72, 170

VOLT Device value description <value_type> 106, 108

WATT Device value description <value_type> 106, 108

X Open input logic description <open_input_logic> 102, 103

ZERO Open input logic description <open_input_logic> 102, 103

Page 194: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

184

APPENDIX D

Device Type Parameters

Word Definition Usage Page(s)

ANALOG Analog ICs Devices 105BRIDGE Bridge Rectifiers Devices 104CAP Two terminal non-polarized capacitors Devices 104CONN Connectors Devices 105CPCK Capacitor packs Devices 104DIAC DIAC Devices 104DIODE Diodes including Schottkey Devices 104DPCK Diode package Devices 104FABCAP Used for embedded capacitors Devices 104FABRES Used for embedded resistors Devices 104FUSE Fuses Devices 105HYBRID A-to-D or D-to-A converter Devices 104IND Inductor Devices 104JUMPER Jumpers (shunts) Devices 105LED Light Emitting Diode Devices 105LEDPCK LED package Devices 104LOGIC Used for logic Devices 105NFET Transistors Devices 104NJFET Transistors Devices 104NPN Transistors Devices 104OPAMP Operational Amplifiers Devices 105OPTO Opto-isolators Devices 105OTHER Used for undefined parts Devices 105PCAP Two terminal polarized capacitors Devices 104PFET Transistors Devices 104PJFET Transistors Devices 105PNP Transistors Devices 104RELAY Relays Devices 105RES Two terminal fixed value resistors Devices 105RPCK Resistor packs Devices 104SCR Thyristors Devices 105SOCKET Sockets Devices 105SWITCH Switch Devices 105TCAP Tantalum capacitors Devices 104TRIAC TRIAC Devices 105VCAP Variable capacitor Devices 104VIND Variable inductor Devices 104VR Voltage regulator Devices 105VRES Variable resistor Devices 104XFMR Transformer Devices 104XTAL Crystals Devices 105ZENER Zener Diode Devices 104

Page 195: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

185

APPENDIX E

Device Pin Type Parameters

Word Definition Usage Page(s)

ANALOG Used for analog pins Devices 105ANALOGIN Used for inputs for analog ICs Devices 105ANALOGOUT Used as outputs for analog ICs Devices 105ANODE Used for diodes, zeners, unijunctions, thyristors etc. Devices 105BASE Used for transistors Devices 105BIDIRECTIONAL Used for bi-directional logic Devices 105CASE Used for connection to device screen or can Devices 105CATHODE Used for diodes, zeners, unijunctions, thyristors etc. Devices 105CLOCK Used for clock Devices 105COLLECTOR Used for transistors (including IGBTs) Devices 105DIGITAL Used for any family of logic pins Devices 105DRAIN | GATE Used for FETs Devices 105DRIVER Used for outputs which drive a net. Devices 105EMITTER Used for transistors (including IGBTs) Devices 105ENABLE | DISABLE Used for device enable/disable Devices 105GROUND Used for ground pins Devices 105INACTIVE Used for resistors, capacitors, etc. pins Devices 105INTNC Used for pins that are internally disconnected Devices 105NCLOSED Closed relay or switches Devices 105NOPEN Open relays and switches Devices 105POWER Used for power supply pins Devices 105RECEIVER Used for inputs Devices 105SOURCE Used for FETs Devices 105TDI | TDO | TMS | TCK Used for 1149.1 Devices 105WIPER Used for various components Devices 105

Page 196: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

186

APPENDIX F

Package Type Parameters

Word Definition Usage Page(s)

AXIAL_LEADED Packages 99

BARE_DIE Packages 99

CERAMIC_BGA Packages 99CERAMIC_DIP Packages 99CERAMIC_FLATPACK Packages 99CERAMIC_QUAD_FLATPACK Packages 99CERAMIC_SIP Packages 99CHIP Packages 98CHIP_SCALE Packages 99CHOKE SWITCH_SM Packages 99COIL Packages 99CONNECTOR_SM Packages 99CONNECTOR_TH Packages 99

EMBEDDED Packages 98

FLIPCHIP Packages 99

HERMETIC_HYBRID Packages 99

LEADLESS_CERAMIC_CHIP_CARRIER Packages 99

MCM Packages 99MELF Packages 98MINI_BGA Packages 99MOLDED Packages 99

NETWORK Packages 99

PGA Packages 99PLASTIC_BGA Packages 99PLASTIC_CHIP_CARRIER Packages 99PLASTIC_DIP Packages 99PLASTIC_SIP Packages 99POWER_TRANSISTOR Packages 99

RADIAL_LEADED Packages 99RECTANGULAR_QUAD_FLATPACK Packages 99RELAY_SM Packages 99RELAY_TH Packages 99

SOD123 Packages 99SOIC Packages 99SOJ Packages 99SOPIC Packages 99SOT143 Packages 99SOT23 Packages 99SOT52 Packages 99SOT89 Packages 99SQUARE_QUAD_FLATPACK Packages 99SSOIC Packages 99SWITCH_TH Packages 99

Page 197: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

187

APPENDIX F

Package Type Parameters

Word Definition Usage Page(s)

TANTALUM Packages 98TO_TYPE Packages 99TRANSFORMER Packages 99TRIMPOT_SM Packages 99TRIMPOT_TH Packages 99TSOP Packages 99

Page 198: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

188

APPENDIX G

Package Pin Type Parameters

Word Definition Usage Page(s)

BALL Packages 100BUTTLEAD Packages 100

CASTELLATION Packages 100COLUMN Packages 100

GULLWING Packages 100

JLEAD Packages 100

LAND Packages 100

SLEAD Packages 100

TERMINATION Packages 100TH_RIBBON Packages 100TH_ROUND Packages 100TH_V Packages 100

WRAPAROUND Packages 100

Page 199: ASSOCIATION CONNECTING ELECTRONICS … · of the IPC Computerized Data Format Standardization Committee of the IPC Data Transfer Solution DTS ... Barbara Goldstein, NIST Doug Helbling

IPC-2511A March 2000

189

APPENDIX H

Drawing Type Parameters

Word Definition Usage Page(s)

A DRAWING SIZE 8 ½" x 11" Drawings 151, 152A0 DRAWING SIZE 840mm x any length Drawings 151, 152A1 DRAWING SIZE 594mm x 840mm Drawings 151, 152A2 DRAWING SIZE 420mm x 594mm Drawings 151, 152A3 DRAWING SIZE 297mm x 420mm Drawings 151, 152A4 DRAWING SIZE 210mm x 297mm Drawings 151, 152ASSEMBLY Assembly drawing definition Drawings 151

B DRAWING SIZE 11" x 17" Drawings 151, 152

C DRAWING SIZE 17" x 22" Drawings 151, 152

D DRAWING SIZE 22" x 34" Drawings 151, 152DETAIL Detail part drawings Drawings 151, 152

E DRAWING SIZE 34" x 44" Drawings 151, 152

FABRICATION Printed board fabrication Drawings 151, 152

PARTSLIST List of materials for printed board assembly Drawings 151, 152

SCHEMATIC Schematic or logic diagram Drawings 151, 152SPECIFICATION Specification or source control Drawings 151, 152