layout package

Layout package searches and manipulates the current layout. Dimension units are in nanometer unless otherwise mentioned.

Page: board dimensions

Functions used to query or set width and height of the drawing:

Layer manipulation

Most functions perform operations similar to user commands affecting the current layer. The following few calls can change the current layer. Warning: this is the same current layer as the user's; the script most probably wants to save the current layer before changing it and then restore it after the operation.

Object searches

Search results are collected on lists identified by their name (search_ID). If a new search is done with the same name, old search results for that name are discarded. Search functions return the number of objects found (size of the list) that can be then used while querying the results using layout_search_get(). Results should be freed using layout_search_free() when they are no longer needed.

TODO: validity of a list in time

Once the search list is ready, the script can iterate over it and resolve the object handle of each object found, using layout_search_get(). Having an object handle, The layout_obj_*() functions may be used by the script to access fields of an object structure.

Create new objects

The layout_create_*() calls are used to create new objects on the current layer (set by layout_switch_to_layer()).

API reference - page, units and coordinates

(angles are in radian) TODO

API reference - debug draw

TODO