UL_FOOTPRINT

Data members

   
area UL_AREA
description string
headline string
library string
libraryurn string (see note)
libraryversion int (see note)
locallymodified int (see note)
librarylocallymodified int (see note)
name string (PACKAGE_NAME_LENGTH)
urn string (see note)

Loop members

   
circles() UL_CIRCLE
contacts() UL_CONTACT
dimensions() UL_DIMENSION
frames() UL_FRAME
holes() UL_HOLE
polycutouts() UL_POLYCUTOUT
polyshapes() UL_POLYSHAPE (see note)
rectangles() UL_RECTANGLE
texts() UL_TEXT (see note)
wires() UL_WIRE (see note)

See also UL_DEVICE, UL_ELEMENT, UL_LIBRARY, UL_PACKAGE3D

Constants

   
PACKAGE_NAME_LENGTH max. recommended length of a package name (used in formatted output only)

Note

The UL_FOOTPRINT object is new as of EAGLE 9.1. For backwards compatibility with previous EAGLE versions, UL_PACKAGE is available as an alias.

The description member returns the complete descriptive text as defined with the DESCRIPTION command, while the headline member returns only the first line of the description, without any HTML tags. When using the description text keep in mind that it may contain newline characters ('\n').

If the UL_FOOTPRINT is derived from a UL_ELEMENT, the texts() member only loops through the non-detached texts of that element.

If the UL_FOOTPRINT is derived from a UL_ELEMENT, polygon shapes and wires belonging to contacts with arbitrary pad shapes are available through the loop members polygons() and wires() of this contact.

The urn contains a unique identifier for this footprint, of the form urn:adsk.eagle:footprint:123/4, where the portion after the / is the version of the footprint. To get the base URN (without version), use urnbase(); to get the version, use urnversion().

The libraryurn and libraryversion are only applicable if this UL_FOOTPRINT comes from a managed library. If not, libraryurn will be the empty string and libraryversion will be -1.

The locallymodified member will be 0, if this UL_FOOTPRINT doesn't have local modifications, or 1, if this UL_FOOTPRINT has local modifications. The librarylocallymodified member will be 0 (if this UL_FOOTPRINT doesn't come from a locally-modified library) or 1 (if this UL_FOOTPRINT comes from a locally-modified library).

Example

library(L) {
  L.footprints(FPT) {
    printf("Footprint: %s\n", FPT.name);
    FPT.contacts(C) {
      if (C.pad)
         printf("\tPad: %s, (%f %f)\n",
                 C.name, u2mm(C.pad.x), u2mm(C.pad.y));
      else if (C.smd)
         printf("\tSmd: %s, (%f %f)\n",
                 C.name, u2mm(C.smd.x), u2mm(C.smd.y));
      }
    }
  }
board(B) {
  B.elements(E) {
    printf("Element: %s, Footprint: %s\n", E.name, E.footprint.name);
    }
  }