Query: advanced search, command line: function calls available

Functions listed below can be called from a query expression.

llen(lst)

Determine length of a list.

Arguments:

Return value: integer length of the list.

mklist(args...)

Determine length of a list.

Arguments:

Variable number of objects.

Return value: a list built of the objects passed.

distance(x1, y1, x2, y2)

Calculate the distance of two points.

Arguments:

Return value: floating point distance value in nanometers.

violation(i1, v1, ..., iN, vN)

Build a DRC violation report.

Arguments (a variable number of pairs of instruction and value):

Instruction is one of the following constants:

Return value: a list suitable for the drc_query to process.

netlist()

Return the netlist.

Arguments: None.

Return value: an unordered list of all networks specified on the edited netlist (which is the netlist the board is currently using). Each item of the list is a net.

netterms(net)

Return terminals of a network.

Arguments:

Return value: an unordered list of objects (each terminal of the network as described by the edited netlist).

netobjs(net)

Return terminals and all copper objects galvanically connected to a network.

Arguments:

Return value: an unordered list of copper objects connected to the network.

netsegs(net)

Return a list of objects, one terminal object per disconnecte segment of the network.

Arguments:

Return value: an unordered list of terminal objects, one picked randomly from each disconnected segment of the net.

netbreak(obj, minimum_overlap)

Start a search on a galvanically connected network segment starting from an object (typically returned by netsegs()) and generate a DRC violation if there are copper objects with overlap smaller than the minimum_overlap.

Arguments:

Return value: a list that represents a DRC violation (or empty list).

netshort(obj, minimum_distance)

Start a search on a galvanically connected network segment starting from an object (typically returned by netsegs()) and generate a DRC violation if there are disconnected copper objects with distance smaller than the minimum_distance from the network.

Arguments:

Return value: a list that represents a DRC violation (or empty list).

subcobjs(subc)

Return a list of objects that are within the subc.

Arguments:

Return value: an unordered list of objects.

action(args...)

Execute a pcb-rnd action.

Arguments: variable nunmber of objects and constants.

Return value: invalid on error, or the return value of the action.

getconf(path)

Fetch the value of a config node

Arguments:

Return value: invalid if the config node doesn't exist, else the value of the config node (converted to the most appropriate data type).

pstkring(pstk, minimum_ring_thickness)

Return the number of layers on which the ring of a padstack is too thin.

Arguments:

Return value: negative on wrong arguments, 0 if the padstack does not violate the minimum_ring_thickness requirement, positive integer (number of violations) otherwise.

poly_num_islands(poly)

Return the number of visible polygon islands.

Arguments:

Return value: 0 if the polygon has been cleared out of existnece, 1 for normal polygons and a positive integer higher than 1 if the polygon has the FULLPOLY flag and is sliced into multiple parts not naturally connected by the polygon itself.

overlap(obj1, obj2)

Returns 1 if obj1 and obj2 overlap (even if they are on different layers)

Arguments:

Return value: 1 for overlap, 0 for no overlap.