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) |
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
PACKAGE_NAME_LENGTH | max. recommended length of a package name (used in formatted output only) |
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).
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);
}
}