#### 2.2.4 Pins

Pin `objects` are straight line segments which represent connectable points in symbols or subcircuits, such as the pins of a semiconductor package. Only one end of a pin can be connected to nets, buses or other pins; the rest of a pin is purely graphical.

Pins come in two varieties: net pins and bus pins, which are used for connections to nets and buses respectively (see Nets and buses).

All of the functions that work on line `object`s also work with pins (see Lines). Note that `line?` will return `#f` if called with a pin argument.

Function: pin? object

  Returns ‘`#t`’ if and only if object is a pin `object`.

Function: net-pin? object

  Returns ‘`#t`’ if and only if object is a net pin.

Function: make-net-pin start end [color]

  Creates and returns a new net pin `object`. start is the position of the start of the new pin (the connectable end) in the form `(x . y)` and end is the position of end of the pin. If color is specified, it should be the integer color map index of the color with which to draw the pin. If color is not specified, the default pin color is used.

Function: bus-pin? object

  Returns ‘`#t`’ if and only if object is a bus pin.

Function: make-bus-pin start end [color]

  Creates and returns a new bus pin `object`. Arguments are as for `make-net-pin`.