XCircuit is a UNIX/X11 (and now Windows, if you have an X server running) program for drawing publishable-quality electrical circuit schematic diagrams and related figures, and produce circuit netlists through schematic capture. XCircuit regards circuits as inherently hierarchical, and writes both hierarchical PostScript output and hierarchical SPICE netlists. Circuit components are saved in and retrieved from libraries which are fully editable. XCircuit does not separate artistic expression from circuit drawing; it maintains flexiblity in style without compromising the power of schematic capture.
XCircuit now makes extensive use of the Tcl scripting language as a command-line interpreter. The use of Tcl scripts to interpret and control XCircuit internal data structures makes it possible for the end-user to modify the behavior of xcircuit to suit his or her own needs. Current work on adding features to XCircuit (as opposed to the usual bug-fixing grunt work) attempts to retain the current interface more or less unchanged, and define new capabilities through Tcl scripts. See the XCircuit Tcl Reference page for details of the extended Tcl interpreter interface to XCircuit.