Pick and Place file formats

Details of some of the pick and place file formats supported by Macaos Enterprise are listed below. Note: All coordinate and rotation values are floating point values unless specified as integer. Non-integer coordinate and rotation values must use . (period) as a decimal separator.

Allegro:

  • One-line header, no trailer
  • Fixed-width fields, space padded
  • First line: UUNITS = <MILLIMETERS|INCHES|MILS>
  • Field 1 (char 1-22) = designator
  • Field 2 (char 23-36) = X coordinate in unit
  • Field 3 (char 37-49) = Y coordinate in unit
  • Field 4 (char 50-56) = rotation (integer degrees)
  • Field 5 (char 57-end) = description

Allegro (without header):

  • No header or trailer lines
  • Field delimiter = <SPACE>
  • Field 1 = designator
  • Field 2 = X coordinate in mm
  • Field 3 = Y coordinate in mm
  • Field 4 = rotation
  • Field 5 = description

Altium (newer format):

  • Several header lines
  • Last header line contains: Designator and Footprint
  • Fixed-width fields determined by text in last header line
  • One of header lines should contain: Units used: mm|mil|inch
  • Valid columns: Designator Comment Layer Footprint Center-X Center-Y Rotation Description
  • Field 1 = designator
  • Field 2 = comment (description part 2) (optional)
  • Field 3 = side <TopLayer|BotLayer>
  • Field 4 = footprint (description part 1)
  • Field 5 = X coordinate in mm, mil or inch
  • Field 6 = Y coordinate in mm, mil or inch
  • Field 7 = rotation in degrees
  • Field 8 = description in quotes (description part 3) (optional)

Altium/Protel (older format):

  • One-line header, no trailer
  • Field delimiter = <SPACE>
  • First line begins with: Designator Footprint
  • Field 1 = designator
  • Field 2 = footprint (description part 1)
  • Field 3 = X coordinate+<mm|mil>
  • Field 4 = Y coordinate+<mm|mil>
  • Field 5 = unused
  • Field 6 = unused
  • Field 7 = unused
  • Field 8 = unused
  • Field 9 = layer <T|B>
  • Field 10 = rotation in degrees
  • Field 11 = description (part 2)

CADint properties report:

  • No header or trailer lines
  • Field delimiter = <TAB>
  • Field 1 =X coordinate in mm
  • Field 2 = Y coordinate in mm
  • Field 3 = rotation (integer degrees)
  • Field 4 = designator
  • Field 5 = description (part 1)
  • Field 6 = description (part 2)
  • Field 7 = description (part 3)
  • Field 8 = side <top|bottom>

Cadstar PICK&PLACE:

  • Four-line header, no trailer
  • Fixed-width fields, space padded
  • First, second and fourth lines: any text
  • Third line (50 chars): Name Pos. x Pos. y Part Orient Side
  • Field 1 (char 1-8) = designator
  • Field 2 (char 9-18) = X coordinate in mm
  • Field 3 (char 19-28) = Y coordinate in mm
  • Field 4 (char 29-38) = description (part 1)
  • Field 5 (char 39-46) = rotation in degrees
  • Field 6 (char 47-56) = side <Top|Bottom>
  • Field 7 (char 57-end) = description (part 2)

Cadstar P&P:

  • Five-line header, no trailer
  • Fixed-width fields, space padded
  • First, second and fifth lines: any text
  • Fourth line (71 chars): Pos: Name: X: Y: Orient: Side:
  • Field 1 (char 1-12) = designator
  • Field 2 (char 13-30) = description
  • Field 3 (char 31-42) = X coordinate in mm
  • Field 4 (char 43-54) = Y coordinate in mm
  • Field 5 (char 55-66) = rotation in degrees
  • Field 6 (char 67-end) = side <Top|Bottom>

Eagle XYR (semicolon-delimited):

  • No header or trailer lines
  • Field delimiter = ; (semicolon)
  • Field 1 = description
  • Field 2 = X coordinate in mils (integer)
  • Field 3 = Y coordinate in mils (integer)
  • Field 4 = rotation (integer degrees)
  • Field 5 = designator

Eagle XYR (space-delimited):

  • No header or trailer lines
  • Field delimiter = <SPACE>
  • Field 1 = designator
  • Field 2 = X coordinate in mils (integer)
  • Field 3 = Y coordinate in mils (integer)
  • Field 4 = rotation (integer degrees)
  • Field 5 = description
  • Field 6 = optional description part 2

Expedition AIS:

  • several line header
  • Fixed-width fields, space padded
  • First line: $HEADER$
  • Header ends with: $END HEADER$
  • Header contains: UNITS MM or UNITS INCH
  • Part section begins with: $PART_SECTION_BEGIN$
  • Part section ends with: $PART_SECTION_END$
  • Field 1 (char 1-32) = designator
  • Field 2 (char 34-65) = description
  • Field 3 (char 67-76) = X coordinate in mm
  • Field 4 (char 78-87) = Y coordinate in mm
  • Field 5 (char 89-98 = rotation in degrees
  • Field 6 (char 100-109) = side <TOP|BOTTOM>
  • Field 7 (char 111-end) = ignored

kicad Postions:

  • Five line header, one-line trailer
  • Fixed-width fields, space padded
  • First line starts with: ### Module positions
  • Third line: ## Unit= mm, Angle = deg.
  • Last line: ## End
  • Field 1 (char 1-9) = designator
  • Field 2 (char 11-20) = val (description part 2)
  • Field 3 (char 22-37) = package (description part 1)
  • Field 4 (char 39-48) = X coordinate in mm
  • Field 5 (char 50-59) = Y coordinate in mm
  • Field 6 (char 61-69) = rotation in degrees
  • Field 7 (char 71-end) = side <top|bottom>

PADS NetWizard:

  • Several line header, no trailer
  • Field delimiter = ; (semicolon), all fields quoted with " (quote mark)
  • Second header line contains: PADS NetWizard
  • Third line: Unit: mm
  • Field 1 = designator
  • Field 2 = description
  • Field 3 = Y coordinate in mm
  • Field 4 = X coordinate in mm
  • Field 5 = rotation (integer degrees)
  • Field 6 = side <Top|Bottom>

Quad:

  • One-line header, no trailer
  • Fixed-width fields, space padded
  • First line: 33 characters, where character 6 is X and character 14 is Y
  • Field 1 (char 1-5) = designator
  • Field 2 (char 7-12) = X coordinate in mils (integer)
  • Field 3 (char 15-20) = Y coordinate in mils (integer)
  • Field 4 (char 21-24) = rotation (integer degrees)
  • Field 5 (char 25-end) = description

Siemens:

  • No header, one-line trailer
  • Field delimiter = , (comma)
  • Last line: EOT
  • Field 1 = unused
  • Field 2 = description
  • Field 3 = X coordinate in mm
  • Field 4 = Y coordinate in mm
  • Field 5 = rotation in degrees
  • Field 6 = unused
  • Field 7 = designator

SMF:

  • Four-line header, no trailer
  • Field delimiter = , (comma)
  • First line: any text
  • Second line: any text
  • Third line: PLACER;
  • Fourth line: Pads-Software;
  • Field 1 = designator
  • Field 2 = unused
  • Field 3 = unused
  • Field 4 = description
  • Field 5 = unused
  • Field 6 = unused
  • Field 7 = unused
  • Field 8 = unused
  • Field 9 = X coordinate in mils
  • Field 10 = Y coordinate in mils
  • Field 11 = rotation in degrees
  • Field 12 = unused

SVM:

  • One-line header, no trailer
  • Field delimiter = <TAB>
  • First line: SYMBOL<TAB>PP_TAG_X<TAB>PP_TAG_Y<TAB>ROTATION<any text>
  • Field 1 = description
  • Field 2 = X coordinate in mm
  • Field 3 = Y coordinate in mm
  • Field 4 = rotation in degrees
  • Field 5 = unused
  • Field 6 = unused
  • Field 7 = unused
  • Field 8 = designator

Zevatech:

  • One-line header, no trailer
  • Fixed-width fields, space padded
  • First line: HEADER<22 spaces>version<any text>
  • Field 1 (char 29-34) = designator
  • Field 2 (char 35-41) = X coordinate in inch
  • Field 3 (char 42-48) = Y coordinate in inch
  • Field 4 (char 54-57) = rotation in degrees
  • Field 5 (char 62-end) = description