xcircuit man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

XCircuit(1)							   XCircuit(1)

NAME
       xcircuit	 -  Draw  circuit  schematics or almost anything; make circuit
       netlists from schematics.

SYNOPSIS
       xcircuit [filename[,...]]

DESCRIPTION
       The program xcircuit is a generic drawing program  tailored  especially
       for  making  publication-quality	 renderings of circuit diagrams (hence
       the name).  The output is pure PostScript, and the graphical  interface
       attempts	 to  maintain  as much consistency as possible between the X11
       window rendering and the final printer output.

       xcircuit is mouse, menu, and keyboard-driven, with the emphasis on sin‐
       gle-character keyboard macros.

OPTIONS
       filename[,...]
	       Begin  running xcircuit by loading in the PostScript file file‐
	       name.  If filename does not have a .ps extension, xcircuit will
	       attempt	to  look  for  both  the filename as entered and, upon
	       failure, with the .ps extension.	 The file must be in  xcircuit
	       format.	filename may also be a comma-separated list of files.

BASIC ELEMENTS
       There are five drawing elements.	 These are as follows:

       a) polygon (multiple lines which may or may not be closed and filled)

       b) arc (ellipse segment which may be closed and/or filled as above)

       c) label (any text)

       d) curve (based on the PostScript "curveto" algorithm)

       e) object instance (see below)

       There are two composite elements, which are:

       f) path (a connected series of polygons, arcs, and curves)

       g) object  (something containing polygons, arcs, labels, curves, paths,
	  and instances of other objects)

MOUSE BUTTONS
       The mouse button system, the object library, and the paged buffer  sys‐
       tem  are	 loosely based on the Caltech circuit-simulation program "log"
       (either "analog" or "diglog").

       The general idea is to make the most commonly-used functions the	 easi‐
       est  to	perform, and (to the extent possible) to scale (inversely) the
       complexity of performing a function with the frequency  of  that	 task.
       Because	this  program  is tailored to circuit drawing, the most common
       functions are drawing lines and moving object instances.	 The next most
       common function is selection of elements singly or in groups.

       Mouse  button  1 can be tapped to start a connected chain of lines, the
       most common drawing function.  In addition, button  1  has  a  function
       called  "grab",	which  occurs  after  the  button has been continually
       pressed for a short length of time (about 1/5  second).	 As  the  name
       implies, "grab" grabs hold of an element which can then be moved around
       the screen.

       Button 2 can be used to select an item if tapped, and  if  pressed  and
       held  down, a box will be drawn and everything inside that box selected
       when the button is released.  In all other cases, button	 2  will  com‐
       plete  a command.  For users who have only two mouse buttons and do not
       emulate the middle mouse button with the combination of buttons	1  and
       3,  use	the combination of the Shift key and mouse button 1 to emulate
       mouse button 2.

       Button 3 will normally abort a command.	 During	 editing  of  an  arc,
       spline,	or polygon, button 3 will revert back to the previous form, or
       abort if there is no remaining edit history.

       All other commands are available from the pulldown  menus  and/or  from
       the keyboard using single-key macros (with easy-to-remember mnemonics).
       Keyboard commands are quicker, since they act  on  the  present	cursor
       position, whereas menu commands require an extra step.

BUILT-IN LIBRARY
       The  library  is	 intended  to  provide	a  convenient way to store and
       retrieve elements of a picture which will be used more than once.   For
       the  application	 of circuit drawing, a built-in library provides basic
       objects such as transistors, amplifiers, resistors, capacitors, arrows,
       circles,	 power	and ground symbols, and the like.  This file is a com‐
       posite of several library files (such as "builtins.lps",	 "analog.lps",
       and   "digital.lps")   which   are   called   by	  the  startup	script
       ("xcstartup.tcl") The program first looks for the startup script in the
       current	directory,  and	 then  searches	 in the directory given by the
       environment variable "XCIRCUIT_LIB_DIR", and finally, in the hard-coded
       global  directory  (/usr/local/lib)  if it could not find it elsewhere.
       Thus each user can add to or modify the file  of	 builtins  to  reflect
       personal	 taste.	 Since the PostScript output contains all object defi‐
       nitions, these changes to the built-in functions are inherently	trans‐
       ferrable.    Xcircuit  will  automatically  resolve  conflicts  between
       objects having the same name but different contents.

       The library is accesible from the pull-down menu or with the  "l"  key‐
       board  macro.  When inside the library, clicking the first mouse button
       on an object "grabs" that object and returns the graphics state immedi‐
       ately  to the page being edited, so that the object will be placed when
       the mouse button is released.

ZOOMING
       Xcircuit has unconstrained zooming and  snap-to	positioning.   Objects
       scale  completely:   line  widths and text sizes will increase/decrease
       proportionally with the zoom, as well as dot/dash spacing and all other
       features.   Xcircuit  does  have	 a  minimum integer grid in coordinate
       space, which translates to 0.005 inches at an output scale of  1.   The
       maximum	zoom scale gives a screen size translating to about 100 by 100
       inches at an output scale of 1.	The effective scale can be  varied  by
       changing	 the  output  scale (reached from the "File/Write" menu selec‐
       tion) in order to fit a drawing to a page or to get a grid matched to a
       specific	 dimension.   A	 separate scale parameter changes the scale of
       the reported position relative to the output scale (as it  will	appear
       on a printed page).

SNAP-TO GRID
       The  snap-to  grid  is  an  all-important  feature for circuit drawing,
       wherein it is critical that elements line up properly with one another.
       In  xcircuit,  there  is	 no  way to get off the snap-to grid except by
       turning the snap function off and physically pushing elements  off  the
       grid.   Generally,  it  is most convenient to leave the snap functon on
       and use key macros "+" and "-" to double/halve it as necessary.	In any
       case,  objects  can always be returned to the snap grid with the "snap"
       function (key macro "S").

SELECTION MECHANISM
       Objects are selected using a variety of search methods.	The select box
       (formed	by  holding down mouse button 2 and dragging the pointer) uses
       the simplest method, searching for curve/polygon segment endpoints, arc
       centers,	 and label and object bounding boxes falling within the select
       box frame.  General object selection is	more  complicated.   Polygons,
       Arcs,  and Curves are selected by their outer edges, not the interiors.
       Currently this is also true for filled instances	 of  those  types.   A
       line  is selected if the pointer is in a region describing a box around
       it, which is adusted according  to  the	scale  (zoom  factor).	 Every
       object  has an associated bounding box, which is rectangular but may be
       rotated with respect to the top level window.  An  object  instance  is
       selected if the pointer falls within its bounding box.  Each label also
       has a bounding box carefully calculated from  the  width	 of  the  text
       string.

       Often  the  selection mechanism will find multiple elements in range of
       the pointer.  In this case, each object in turn will be presented, col‐
       ored  in blue (or the specified "querycolor" in the defaults file), and
       the user has the option of accepting the highlighted element for selec‐
       tion  using  the	 mouse	button 1, or rejecting it with mouse button 3.
       When all	 the  elements	under  consideration  have  been  accepted  or
       rejected,  the  program	proceeds  to  execute whatever function was in
       progress.  This selection method takes a little while to get  used  to,
       but is sensible and seems to work well.

COLOR
       Color  in xcircuit is implemented with the idea of "color inheritance".
       Every page has a "default color" of black.   All	 elements  which  have
       color  value  "Inherit"	will  inherit the default color, black.	 If an
       object instance is painted blue (for instance), all components in  that
       object  which  have color value "Inherit" will inherit its color, blue.
       The reason for this is that it allows different object instances to  be
       painted	different  colors  (such  as if one part of a circuit is high‐
       lighted for emphasis), while making it possible for object instances to
       be  multicolored,  if  necessary.   Changing  the  color	 of  an object
       instance will have no observable effect on the drawing if none  of  the
       components  of  the object inherit that color.  An object may have both
       normally colored components and components which inherit	 their	color,
       in  which  case	only  those  components	 with the "Inherit" value will
       change color when the color of the object instance is changed.

SCHEMATIC CAPTURE
       XCircuit implements a sophisticated schematic capture.	Unlike	virtu‐
       ally  all  schematic  capture  software	currently  available, xcircuit
       allows the designer to draw the circuit in a "natural" way, making  use
       both  of schematic hierarchies and simple hierarchies created simply by
       grouping elements together.  If the chosen netlist format is hierarchi‐
       cal  (like SPICE), both hierarchical forms will be retained in the out‐
       put.  For element grouping, input/output ports connecting into  to  the
       group will be determined automatically, from context.  A schematic cap‐
       ture tutorial is available from the xcircuit website,
       http://opencircuitdesign.com/xcircuit/tutorial/tutorial2.html.

       Netlist types currently available are "SPICE", "sim", and "PCB".

KEYBOARD COMMANDS
       Basic keyboard commands:

       Z	   Zoom in by a factor of 3/2.	If this key is pressed while a
		   selection box is active (created with the middle mouse but‐
		   ton), then acts like Zoom Box function.

       z	   Zoom out by a factor of 3/2.

       p	   Pan the screen so that the point under the mouse is brought
		   to  the  center  of	the program window.  This function can
		   also be conveniently performed by clicking on  the  scroll‐
		   bars.   The	scrollbars cannot be moved continuously due to
		   the slow time for screen refresh.

       cursors	   The arrow keys perform a pan of one-half window size in the
		   direction of the arrow pressed.

       l	   Go  to  the Library of built-in objects.  From the library,
		   use mouse button1 to grab an object and bring  it  back  to
		   the	edit screen, or button3 to return without selecting an
		   object instance.  While in the library screen, the zoom and
		   pan functions can be used to move around.

       >	   Push into an on-screen object in order to edit that object

       <	   Return  from editing an object.  Object pushes and pops can
		   be stacked indefinitely.

       space	   Refresh the screen.

       digits 0-9  Switch to one  of  the  first  ten  editing	pages.	 Pages
		   greater  than 10 can be reached from the "Window/Goto Page"
		   menu selection.

       + and -	   Change snap-to grid spacing by a factor of two up or down.

       | : and _   (Bar, colon, and underline) Change style on	the  currently
		   selected object to dashed, dotted, and solid, respectively.

       h or ?	   Print a help page summary of commands

       Commands to create elements:

       a   Arc.	  Center  is fixed at the initial position of the cursor.  The
	   mouse position changes the radius of the circle.  In	 snap-to  mode
	   the	arc  boundry  will  pass through the snap point closest to the
	   cursor.  Mouse button 1 cycles from controlling the radius to  con‐
	   trolling  the starting point, the ending point, and separately con‐
	   trolling the minor axis to create ellipse.	Mouse  button  2  com‐
	   pletes the arc.

       b   Box.	  This	is  a  convenience function for generating rectangular
	   closed polygons.  Creates a rectangle with one corner fixed at  the
	   position  of the cursor.  Subsequent movement of the cursor defines
	   the point diametrically opposed.  Mouse buttons 1 or 2 complete the
	   box.

       s   Spline  curve.  The first endpoint is defined by the initial cursor
	   position.  Mouse position adjusts the other endpoint of the	curve.
	   Mouse  button 1 cycles from controlling position of the endpoint to
	   controlling positions of the curve control  points  and  the	 curve
	   starting point.  Mouse button 2 completes the curve.

       t   Text.   Text starts out justified according to the styles chosen in
	   the pull-down menu.	Text can be rejustified using the menu	or  by
	   typing the numbers on the keypad (shift-keypad-1 through shift-key‐
	   pad-9).  The position of the keys on the keypad matches the	justi‐
	   fication.	Subscripts,  superscripts,  font  changes,  text  size
	   changes, underlining, and overlining are  all  available  from  the
	   pull-down  menu.   Text  edit  mode recognizes Home and End keys to
	   move to the beginning and end of the string, respectively.  If  the
	   X11	environment  maps control key sequences to character encodings
	   (such as ISO-Latin1), these may be used to insert  non-ASCII	 text.
	   Another  method of inserting non-ASCII characters is the use of the
	   backslash  character,  which	  duplicates   the   action   of   the
	   Text/Insert/Character menu button.

       M, m
	   Make	 object.   Takes  all the elements currently selected and com‐
	   piles them into an object.  The object is then placed in  the  user
	   library.   The  elements  just selected are deleted from the screen
	   and replaced by the new object.  The center point of the  resulting
	   object  is chosen as the closest snap-to point to the center of the
	   object's bounding box;  if another  center  is  desired,  then  the
	   object  can	be edited using the ">" command and its contents moved
	   with respect to its origin.	Note:  Objects cannot  have  the  same
	   name	 as  PostScript	 commands  or  have the same name as any other
	   object in memory.  If such a name is	 found,	 an  underscore	 ("_")
	   will be prepended to the name as many times as is necessary to dif‐
	   ferentiate it from all other known objects.	The name  also	cannot
	   contain special PostScript characters such as slash; any such char‐
	   acters found will be replaced with underscores.

       Major editing commands:

       d   Delete.  Select the nearest element or elements and delete it/them.

       u   Undelete.  Xcircuit saves up to 10 delete events to	be  recovered.
	   Delete  events  are	stored	in  order  of occurrence, and the most
	   recent delete event is the first to be  recovered.	When  multiple
	   elements  are  deleted  at the same time, all of them are stored as
	   one delete event, and restored together.

       x   Deselect. Elements which have been selected can be deselected on  a
	   per-item  basis.   In  order not to be too confusing, deselect does
	   not query if multiple items are found under	the  cursor;  it  just
	   deselects them all.

       c   Copy.   Make a copy of the object(s) nearest the cursor.  Object is
	   automatically grabbed for moving to a new position.	The next  but‐
	   ton1 or button2 press will place the element.  Button2 will end the
	   copy, and button1 will continue the copy function.

       e   Edit.  The action of Edit is	 dependent  on	the  type  of  element
	   selected.  These are detailed below:

       Label	   Returns  to	text editing mode, starting with the cursor at
		   the end of the string.  Mode is  like  regular  text	 entry
		   except that Button 3 returns text to its original string.

       Polygon	   Grabs  one  point of a polygon for repositioning.  Button 1
		   cycles between points, button 2 accepts  the	 new  polygon,
		   and button 3 returns to the previous state, unless there is
		   no remaining edit history, in which case it aborts the com‐
		   mand.  Key macros available during polygon edit are:

		   "x"---Breaks the polygon at the given point.

		   "e"---Moves edit position to the next point.

		   "i" or "Insert"---Inserts a new point at the position.

		   "d" or "Delete"---Deletes the current edit point.

		   There  are four modes for polygon editing; see the "Polygon
		   Edit" section below for details.

       Arc	   Allows resizing of the radius.  Mouse button 1 or  the  "e"
		   key	will cycle between control of the radius, the endpoint
		   angles, and the ellipse minor axis.	Mouse button 2 accepts
		   the	new  arc.   Button  3  returns to the previous editing
		   state, unless there is no remaining edit history, in	 which
		   case it aborts the command.

       Curve	   Allows  repositioning of one end of the curve.  Originally,
		   the starting angle of the curve is kept fixed.  Mouse  but‐
		   ton 1 or the "e" key cycles between the four control points
		   of the curve, allowing control over the angle of the	 curve
		   at its endpoint and the shape of the curve.	Mouse button 2
		   accepts the new curve.  Button 3 reverts back to the previ‐
		   ous	edit  state unless there is no remaining edit history,
		   in which case it terminates the command.

       Object instance
		   Object instances have no properties to change except scale,
		   and	do  not	 respond  to the "edit" command.  Scale can be
		   changed by selecting "Options/Other/Object Size"  from  the
		   menu.

       Minor editing commands:

       R   Rotate the selected element(s) or element under the cursor counter‐
	   clockwise in 15 degree intervals.

       r   Rotate the selected element(s) or element under the	cursor	clock‐
	   wise in 15 degree intervals.

       O   Rotate the selected element(s) or element under the cursor counter‐
	   clockwise by 5 degree intervals.  This is  currently	 the  smallest
	   angle resolution available to xcircuit.

       o   Rotate  the	selected element(s) or element under the cursor clock‐
	   wise by 5 degree intervals.

       f   Flip an element around a vertical axis defined by an object's  ori‐
	   gin	for  an	 object	 instance,  or	across	an axis defined by the
	   pointer position for arcs, polygons, and curves.

       F   Flip an element around a horizontal axis defined similarly  to  the
	   "f" command.

       X   If  two  elements  are  selected, their order is exchanged (this is
	   only relevant if one element occludes another).  If one element  is
	   selected, it is raised up one in the stack, and if it is already on
	   top of the stack, it is shuffled to the bottom.

       S   Snap the nearest object to the snap-to grid.	 For curves  the  con‐
	   trol	 and  endpoints	 are  snapped;	for  polygons,	each  point is
	   snapped; for arcs, the  centerpoint	is  snapped;  for  labels  and
	   object instances, the designated point of origin is snapped.

       j   Join polygons together.  This only makes sense if it is possible to
	   make a single continuous (open or closed) polygon from the selected
	   parts.   Otherwise  a  warning  will	 be  posted and the parts will
	   remain separate.

       A   Attach an element to a polygon, arc, or curve.  The element	to  be
	   attached  must  be  the  one currently grabbed (either by a "drag",
	   copy command, or edit command).  Until it is released, it  will  be
	   forced  to  align  its  center  (object,  arc),  endpoint (polygon,
	   curve), or position (label)	with  the  closest  polygon,  arc,  or
	   curve.   Note that this is a very powerful tool for generating, for
	   example, lines tangent to a curve, or objects arranged in a	circle
	   or along a line.

       Library editing commands:

       D   Delete.   The  selected  objects  will  be deleted from the library
	   unless other library objects or pages contain  references  to  that
	   object.   Note:  Unlike deleting object instances with the "d" com‐
	   mand, this command deletes the actual object and releases all  mem‐
	   ory associated with that object, so the object cannot be undeleted.

       C   Copy.   Makes  a  copy  of  an  object from either library page and
	   places the new copy in the user library.  The new  object  will  be
	   renamed to avoid naming conflicts.

       M   Move.  If one object has been selected, it is moved to the position
	   of the cursor.  If two objects have been selected, their  positions
	   in the library are exchanged.

       E   Edit	 label.	 Edit the object name whose label is under the cursor.
	   After editing, the object name will be checked for  conflicts  with
	   other object names, and altered if necessary.

       H   Hide	 object.   If  the object is a sub-instance of another object,
	   but is not meant to be used by itself, it can be "hidden"  so  that
	   it will not appear by itself on the library page.

MENU COMMANDS
       Write Postscript (W)
	   This	 command  brings  up  a	 popup	menu with a number of options.
	   First, it gives the name of the file if  one	 exists,  or  else  it
	   gives  the  default	name of the buffer (usually Page n, where n is
	   the number of the buffer).  Next, it gives a preview of the picture
	   scale  and output styles, which include Landscape/Portrait orienta‐
	   tion and Encapulated/Unencapsulated (full page)  PostScript	modes.
	   The	former	allows	adjustment  of the nominal size of the picture
	   when drawn in PostScript.  The default scale is 1.00,  which	 makes
	   the	text scale of 1.0 about 14 points on the PostScript page.  The
	   width and height of	the  resulting	picture	 are  also  given,  in
	   inches,  and any of the three values can be changed.	 The values of
	   the other two will be updated accordingly.  Pages  which  have  the
	   same	 name  will  be	 grouped together into a single file, allowing
	   multiple pages to be stored in the same PostScript file.   However,
	   as  Encapsulated  PostScript	 does  not make sense for this kind of
	   file, it is not an option.

	   The Write File button writes the current page to  an	 output	 file.
	   If  the page has a name other than the default, the file will auto‐
	   matically be saved under that name.	Otherwise, it is necessary  to
	   change  the	name  of  the  buffer.	If a file of that name already
	   exists on the disk, the button will read Overwrite File.

       Read PostScript
	   Reads in a file of Xcircuit format.	The file name is requested  by
	   a  popup  prompt, and an extension of ".ps" will be added if neces‐
	   sary.  The file is read into the current  page,  which  is  cleared
	   first  if  anything is in it.  If the file is a multiple-page file,
	   the current page will be overwritten with the first page  from  the
	   file,  but other pages will be loaded into empty buffers.  Xcircuit
	   can also read "lgf"-format files from the Chipmunk CAD  tools  pro‐
	   grams "analog" and "diglog".

       Import PostScript
	   Acts	 like  "Read  PostScript"  except  that	 the page is not reset
	   first, so graphics are added on top of  existing  graphics  on  the
	   page.

       Clear Page
	   Clears  the	current page of all elements and resets the name.  The
	   contents cannot be recovered.

       Alt Color
	   Switches between the two xcircuit color schemes.  The color schemes
	   can	be redefined through XDefaults (see below).  The default color
	   schemes are black-on-white and white-on-black.  The latter is  less
	   straining  to  the  eyes,  but  the former matches the black ink on
	   white paper PostScript output.  Any color scheme other than	black-
	   on-white  is not recommended for drawings with color, as the actual
	   output does not match the observed xcircuit screen.

       Grid
	   Turns the grid lines on and off.

       Axes
	   Turns the axis lines on and off.  The axes mark the origin (0,0) of
	   the page.  On the top level (TopObject), the origin has no particu‐
	   lar relevance, since encapsulated output will define its own bound‐
	   aries,  and	full-page  (unencapsulated) output will be centered on
	   the output page, not according to the Xcircuit coordinate system.

       Grid spacing
	   Changes the spacing of the grid  lines.   Default  spacing  is  1/6
	   inch,  which	 is  about the width of the letter 'W' in default text
	   scale.

       Grid type/display
	   This is a submenu allowing the coordinates and coordinate  grid  to
	   be specified in alternate units.  Listing of coordinates in the top
	   window can be in default fractional inches, decimal inches, or cen‐
	   timeters.  Default spacing of grid lines is either one-quarter inch
	   or one-half centimeter.  Selecting an A:B scale With option	"Draw‐
	   ing	Scale"	causes	all listed coordinates to be multiplied by the
	   scale.  Note: Xcircuit will make an attempt to keep objects on  the
	   snap/grid  spacing  when  switching	between	 inch  and  centimeter
	   scales.  In order to do this, it will change the  output  scale  by
	   the	ratio  of  2.54	 to  2.5, thus keeping a closer correspondence
	   between inches and centimeters.  To get  true  centimeters  on  the
	   output  page,  the output scale (from the "File/Write Xcircuit PS")
	   can be reset to 1.0 at the expense of having all  objects  intended
	   for the inch grid displaced off of the snap grid.

       Snap-to
	   Turns  the  snap-to grid on and off.	 When the grid is on, movement
	   and placement of elements is restricted to points  on  the  snap-to
	   grid.

       Snap spacing
	   Determines  the spacing of the points in the snap-to grid.  Default
	   is 1/12 inch, which is half the grid line spacing.

       Linewidth
	   Controls the default linewidth against which all linewidths in  the
	   drawing are scaled.

       Polygon Edit
	   The	options	 in this submenu control how the position of lines are
	   affected when a point in a polygon is selected for editing.	"Rhom‐
	   boid-X"  mode moves adjoining points as necessary to keep all hori‐
	   zontal lines horizontal; "Rhomboid-Y" mode acts similarly  to  keep
	   all	vertical lines vertical.  "Rhomboid-A" is similar to Manhattan
	   mode but also tracks non-Manhattan  lines.	The  default  mode  is
	   "Manhattan  Box  Edit",  which  is  a combination of Rhomboid-X and
	   Rhomboid-Y.	In "Normal" mode, only the point being edited  can  be
	   moved.

       Arc/Box/Curve Border
	   The	options	 under	this  menu determine the border style of arcs,
	   polygons, and curves.  If an element is selected, it will be	 modi‐
	   fied;   otherwise,  if no objects are selected, the style chosen is
	   made default for all subsequent arcs, polygons, and	curves.	  Ele‐
	   ments may be drawn with or without borders (but for obvious reasons
	   cannot be made both borderless and unfilled, which would be invisi‐
	   ble)	 The  borders  may  be closed or unclosed.  For an arc, closed
	   means that a chord is drawn connecting the two  endpoints,  if  the
	   beginning and ending angles do not complete a full circle.  Borders
	   may be solid, dashed, dotted, and of varying width.

       Arc/Box/Curve Fill
	   The options under this menu determine the fill style of arcs, poly‐
	   gons,  and  curves.	 Fill  style  may be solid, empty, or one of 7
	   stipple patterns varying from light to dark, which are  drawn  both
	   in  xcircuit	 and  PostScript as stipple patterns.  Stipples can be
	   transparent or opaque.   Warning:   Transparent  stipples  are  NOT
	   inherent  to	 PostScript  and the hacks necessary to implement them
	   cause slow rendering on a printer or PostScript previewer.  Due  to
	   the	device-dependent  nature  of  the routines, patterns will look
	   abnormally large on PostScript previewers.  This transparancy  fea‐
	   ture has been added with the expectation that most circuit schemat‐
	   ics will not rely heavily upon halftoning.  Complicated color  pat‐
	   terns  can  be created using transparent colored, stippled elements
	   on top of solid-color elements.   Note:  Ordering  of  elements  is
	   according  to  order created.  A different ordering can be achieved
	   using the "X" (exchange) command.  This method  is  not  especially
	   easy	 to  work  with, and hopefully something better will be imple‐
	   mented in the future.

       Arc/Box/Curve Color
	   See the COLOR section above for a discussion of color  inheritance.
	   This	 menu  shows  all  the	colors	available to xcircuit with the
	   option of adding more colors.  Currently the entry style for colors
	   is  by name or by RGB content in the X11 style of #rrggbb where rr,
	   gg, and bb are hex values ranging from 00 to FF.  The only limit to
	   the number of colors is the X Server's colormap depth.  If the col‐
	   ormap is full, xcircuit attempts to allocate the  closest  possible
	   color to the one requested.

       Zoom Box
	   This	 zoom  feature requests the user to create a box (using either
	   mouse button 1 or 2, expanding the box while holding down the  but‐
	   ton).   When the button is released, the view will zoom to the area
	   of that box.

       Full View
	   This zoom feature calculates the bounding box of the entire picture
	   and adjusts the scale to make it fit comfortably inside the program
	   window.

TEXT FEATURES
       Xcircuit's ability to handle text is arguably the most complicated part
       of  the	program, and also of the PostScript output.  Careful attention
       to text justification and style is the key to a good drawing.

       Text Size
	   Alters the size of the labels.   The	 value	is  a  scale,  with  a
	   default of 1.0 which translates to 14 points on the PostScript page
	   if the default page scale of 1 is used.  If a  label	 is  selected,
	   only	 that  label  is  affected.  If a label is being edited, scale
	   changes starting at the edit position.  Otherwise, it  becomes  the
	   default  size  for  all subsequent labels.  Size affects the entire
	   text string.	 Text size can be changed anywhere inside of a string.
	   However,  text  sizes inside a string are all given relative to the
	   label size, not as an absolute point size.  Sizes of subscripts and
	   superscripts	 are  given  relative  to the natural size of the sub‐
	   script or superscript (2/3 the size of the text for which it	 is  a
	   modifier).

       Text Font
	   Standard printer fonts Times-Roman, Helvetica, Courier, and Symbol,
	   are readily available.  "User-defined" fonts	 can  also  be	added;
	   however,  support  is currently limited, and requires a font object
	   (.lps) file and encoding (.xfe) file, examples of which  are	 found
	   in the fonts subdirectory of the xcircuit library directory.

       Text Style
	   Four	 standard  font	 styles	 are  available, matching the standard
	   printer font variations:  Normal, Italic (or	 oblique),  Bold,  and
	   BoldItalic.	PostScript matrix manipulation allows slanted versions
	   of any font, such as Symbol, for which none is otherwise available.

       Text Insert
	   The Insert menu allows insertion of special	characters  which  are
	   otherwise  not  (necessarily)  allowed  from	 the  keyboard.	 These
	   include  tab-stop,  tab-forward,  tab-backward,  kern,  half-space,
	   quarter-space, and "Character".  The latter option brings up a page
	   showing the 256-character encoding vector for  the  font,  allowing
	   point-and-click  entry  of  any  character  in  the	font.	"Kern"
	   instructions allow characters to be offset vertically  or  horizon‐
	   tally relative to the rest of the text.

       Text Encoding
	   Two	standard  font	encodings  are	available by default, Standard
	   (Adobe) Encoding, and ISO-Latin1  encoding.	 ISO-Latin2  and  ISO-
	   Latin5  encodings  exist  in the library directory, but require the
	   use of the program "ogonkify" (not  included)  to  produce  correct
	   output on a printer.

       Super and Subscripts
	   Superscript	and  subscript	are designed to closely match those in
	   TeX output, though they lack the proper  context-dependent  kerning
	   and	other  fancy  features of TeX.	A superscript following a sub‐
	   script results in a superscripted subscript.	 To get a  superscript
	   on  top  of	a  subscript, use the backspace character (see below).
	   The Normalscript style is the way to get out of  a  sub  or	super‐
	   script   and	 return	 to  the  normal  size	and  position.	 Quick
	   super/sub/normalscripting is available from the keypad with the "+"
	   (plus), "-" (minus), and "Enter" keys, respectively.

       Overline and Underline
	   Overlining  and  underlining styles remain in effect until the next
	   occurrence of a style or font change.  Overlining is lower  if  all
	   the	characters  are lowercase and do not include the "tall" lower‐
	   case characters.  Overlining or underlining can be stopped  at  any
	   time	 using	the  No	 Line style.  Over and Underlining is *always*
	   preferable to using a line.	PostScript will	 adjust	 the  over  or
	   underline  to  the  text  size and extent and actually grab the "_"
	   character and compute its thickness in order to draw the line.

       Tabbing
	   From version 2.3, xcircuit allows embedded tab  stops.   Tab	 stops
	   must	 be  defined  before  using  tab-forward or tab-backward.  The
	   "Tab" keyboard key inserts an embedded tab-forward instruction into
	   a  label.   Tab-stop	 and  tab-backward  can	 be inserted using the
	   Text->Insert menu.  A tab-forward instruction moves the  cursor  to
	   the first defined tab stop forward of the current position.	A tab-
	   backward instruction moves the cursor to the first defined tab stop
	   backward  of	 the  current  position.   If  no appropriate tab stop
	   exists, the instruction has no effect.

       Backspace
	   The use of the backspace character is deprecated from xcircuit ver‐
	   sion	 2.3.	The  effect  of an embedded backspace is more reliably
	   produced using tab-stop and tab-backward.

       Halfspace and Quarterspace
	   These options allow fine control over spacing, particularly	useful
	   when writing equations.

       Justification
	   Text	 justification always starts with the default, chosen from the
	   options in the menu, but may be changed at any time using the  num‐
	   bers on the keypad.	The position of the keys on the keypad reflect
	   the point of justification: 1, 4, and 7 are right-justified, 7,  8,
	   and	9  are	bottom	justified,  5  is centered in both directions.
	   Since the letters drawn by xcircuit are optimized for the Helvetica
	   font, correct justification is the main way to get text to come out
	   on the PostScript page in the desired way, relative to  objects  or
	   boxes or whatever.

.XCIRCUITRC FILE
       Certain	parameters  of	the xcircuit program can be initialized from a
       file called .xcircuitrc, which is first searched	 for  in  the  current
       directory,  and	then  in  the  user's home directory as defined by the
       environment variable $HOME.

       The startup file is written in Tcl.  The command-line interface can  be
       found in the online documentation on the website

       http://www.opencircuitdesign.com/xcircuit/.

CRASH RECOVERY
       XCircuit implements a crash recovery system by which a copy of the cur‐
       rent file is made every 15 minutes (see Xdefaults, below, for  changing
       this  value).  XCircuit deletes this file upon a normal exit.  If, how‐
       ever, XCircuit crashes or is terminated by Control-C  or	 other	sudden
       death,  the  backup  copy will remain.  On startup, XCircuit checks the
       /tmp directory for any XCircuit backup files belonging to the user.  If
       one  is	found,	XCircuit will prompt the user for recovery.  Note that
       the backup is unique in that it contains a  copy	 of  the  entire  user
       space  at the time of the crash.	 Filenames may get overwritten, as the
       backup will treat all pages as belonging to the same file.

KEY BINDINGS
       As noted above, keys can be  bound  and	unbound	 through  command-line
       functions  "bind" and "unbind".	Default key bindings are used through‐
       out   this   manual   page.    Key   names   use	  the	notation    of
       /usr/X11R6/include/keysymdef.h,	but  with  the	notation  "XK_"	 being
       optional, and including the addition of prefixes "Shift_",  "Control_",
       "Capslock_",  and  "Alt_",  which may be used in any combination.  Note
       that "Shift_" is not used for  ASCII  characters	 (e.g.,	 "A"  is  used
       instead	of  "Shift_a")	unless	used in combination with other special
       keys (such as "Control_Shift_A" to distinguish from "Control_a", should
       that  be	 desired).  "Button1", "Button2", and "Button3" are also valid
       names indicating functions attached to  the  mouse  buttons  in	normal
       drawing	mode.  Valid functions which may be bound are as follows, with
       their default values given:

	  Function name	       Function performed	  Default key binding
	  ---------------------------------------------------------------------
	  "Page",		change page,		   Number keys 1-9 and
       0
	  "Justify",	       change text justification, Keypad keys 1-9
	  "Superscript",       set text superscript,	  Keypad +
	  "Subscript",	       set text subscript,	  Keypad -
	  "Normalscript",      cancel sub/superscript,	  Keypad Enter
	  "Nextfont",	       change to next font,	  Alt-f
	  "Boldfont",	       change to bold font,	  Alt-b
	  "Italicfont",	       change to italic font,	  Alt-i
	  "Normalfont",	       cancel italic/bold,	  Alt-n
	  "Underline",	       generate underline,	  Alt-u
	  "Overline",	       generate overline,	  Alt-o
	  "ISO Encoding",      change to ISO encoding,	  Alt-e
	  "Return",	       embedded return character, Alt-Enter
	  "Halfspace",	       embedded half-space,	  Alt-h
	  "Quarterspace",      embedded quarter-space,	  Alt-q
	  "Special",	       special character,	  Alt-c
	  "Parameter",	       embedded parameter,	  Alt-p
	  "Edit Break",	       break at point,		  x
	  "Edit Delete",       delete point,		  d, Delete
	  "Edit Insert",       insert point,		  i, Insert
	  "Edit Next",	       go to next point,	  e
	  "Attach",	       attach line to object,	  A
	  "Next Library",      go to next library,	  l
	  "Library Directory", library directory,	  L
	  "Library Move",      arrange library objects,	  M
	  "Library Copy",      get object in copy mode,	  c
	  "Library Edit",      edit library name,	  E
	  "Library Delete",    delete library object,	  D
	  "Library Duplicate", duplicate object,	  C
	  "Library Hide",      hide library object,	  H
	  "Page Directory ",   page directory,		  P
	  "Library Pop",       return from library,	  <
	  "Help",	       generate help screen,	  h, ?
	  "Redraw",	       redraw the window,	  space
	  "View",	       fit page to window,	  v
	  "Zoom In",	       zoom in,			  Z
	  "Zoom Out",	       zoom out,		  z
	  "Pan",	       center pan,		  p
	  "Double Snap",       increase snap space,	  +
	  "Halve Snap",	       decrease snap space,	  -
	  "Pan Left",	       pan left one-half page,	  Left arrow
	  "Pan Right",	       pan right one-half page,	  Right arrow
	  "Pan Up",	       pan up one-half page,	  Up arrow
	  "Pan Down",	       pan down one-half page,	  Down arrow
	  "Write",	       popup output window,	  W
	  "Rotate",	       Rotate,			  r,R,o,O
	  "Flip X",	       Flip horizontal,		  f
	  "Flip Y",	       Flip vertical,		  F
	  "Snap",	       Snap to grid,		  S
	  "Pop",	       Return from object edit,	  <
	  "Push",	       Edit object,		  >
	  "Delete",	       Delete element,		  d
	  "Select",	       Select element,		  Select
	  "Box",	       Create box,		  b
	  "Arc",	       Create arc,		  a
	  "Text",	       Create label,		  t
	  "Exchange",	       Exchange vertical order,	  X
	  "Copy",	       Copy element,		  c
	  "Join",	       Join into path,		  j
	  "Unjoin",	       Split path into elements,  J
	  "Spline",	       Create spline,		  s
	  "Edit",	       Edit element,		  e
	  "Undelete",	       Undelete last deleted,	  u
	  "Select Save",       Make object from selected, M,m
	  "Unselect",	       Unselect element,	  x
	  "Dashed",	       Set line style to dashed,  |
	  "Dotted",	       Set line style to dotted,  :
	  "Solid",	       Set line style to solid,	  _
	  "Prompt",	       Execute from command line, %
	  "Dot",	       Place dot at location,	  .
	  "Exit",	   Exit xcircuit	  Ctrl-Alt-q
	  "Netlist",	   Generate a netlist,	  Alt-q
	  "Swap",	   Swap schematic, symbol,     /
	  "Pin Label",		Create pin label,      T
	  "Info Label",	   Create info label,	  I
	  "Connectivity",  Show wire connectivity,     Alt-w
	  "Sim",      Generate sim netlist,	  Alt-s
	  "SPICE",	   Generate SPICE netlist,     Alt-S
	  "PCB",      Generate PCB netlist,	  Alt-p
	  "SPICE Flat"		Generate flattened SPICE,  Alt-f
	  ------------------------------------------------------------------

       2-Button mouse users may find it useful	to  forego  the	 Shift-Button1
       combination  and	 instead  put  the  following  commands in the startup
       script:

       bind('Escape', 'Cancel')
       unbind('Button3', Cancel')
       bind('Button3', 'Finish')

       This will move the 3rd mouse button bindings to the "Escape"  key,  and
       duplicate the 2nd mouse button bindings onto the 3rd.

X DEFAULTS
       The color scheme of xcircuit has a default setup, but accepts alternate
       color schemes using the following keywords which can be put  in	the  X
       Defaults (.Xdefaults, .Xresources) file, such as:

	 !
	 ! Sample X defaults for xcircuit, black-on-white version
	 !
	 xcircuit*foreground	 : Black
	 xcircuit*background	 : White
	 xcircuit*gridcolor	 : Gray85
	 xcircuit*snapcolor	 : Orange
	 xcircuit*selectcolor	 : Blue
	 xcircuit*querycolor	 : Green
	 xcircuit*axescolor	 : NavajoWhite3
	 xcircuit*offbuttoncolor : Gray30
	 xcircuit*auxiliarycolor : MediumOrchid1

       Two  color schemes are supported at a time, ostensibly for those people
       who prefer the lessened eye strain of  a	 white-on-black	 scheme.   The
       names  of  the  secondary  colors are the same as those for the primary
       colors, but followed by "2", e.g., "xcircuit*foreground2".

       One other resource defines the  number  of  minutes  between  automatic
       saves  to  the  temporary  file (in case of a crash or emergency Ctrl-C
       exit):

	 xcircuit.timeout	: 15

       Xcircuit also recognizes the core resources, such as width and height:

	 xcircuit.width		: 600
	 xcircuit.height	: 500

       All xcircuit foreground and background colors are taken from  the  Xde‐
       faults foreground and background.  To get, for instance, white-on-black
       menus and buttons with a black-on-white drawing area, use  the  follow‐
       ing:

	 xcircuit*foreground	     : White
	 xcircuit*background	     : DarkSlateGray
	 xcircuit.foreground	     : Black
	 xcircuit.background	     : White
       This will ensure that only the drawing area is black-on-white, but all other
       windows will appear in the less eye-straining white-on-black.
       Five different fonts can be specified in the Xdefaults.	helpfont is
       the style of fonts on the help popup window.  filefont is the style
       of fonts in the list of files in the file selection popup window.  textfont
       is the style of font for entering text in the popup dialog boxes.  titlefont
       is the style of font for the cascade menu titles.  All other fonts take the
       type font. For example:
	 xcircuit*font		 : *times-bold-r-normal--14*
	 xcircuit*helpfont   : *times-medium-r-normal--12*
	 xcircuit*filefont   : *times-medium-r-normal--14*
	 xcircuit*textfont   : *courier-medium-r-normal--14*
	 xcircuit*titlefont	  : *times-bold-r-normal--18*

FILES
       The  file  path	used  by  xcircuit  to	find  library files is system-
       dependent (i.e., can be changed at compile time), and can be overridden
       in  many	 ways  (in  .xcircuitrc or by the XCIRCUIT_LIB_DIR environment
       variable), but by default is:

       /usr/local/lib

       xcircps2.pro   PostScript prolog appended to each file

       xcstartup.tcl  This  startup  script  contains  commands	 of  the  type
		      library  name  number which cause the designated library
		      name to be immediately loaded into library page  number.
		      The  startup  script  is	also  responsible  for loading
		      fonts, and may also be used to load colors on the	 color
		      palette, set other options, and execute commands.

       generic.lps, analog.lps, digital.lps, avlsi.lps, analoglib2.lps
		      Files  containing	 pre-compiled  circuit	elements.  The
		      .lps extension is unique for xcircuit libraries.

       fonts	      This subdirectory contains  font	definition  files  for
		      xcircuit's  vector-drawn	fonts.	Characters are defined
		      by xcircuit objects and stored in a .lps	library.   The
		      encoding	scheme and other font information is stored in
		      a .xfe ("xcircuit font encoding") file.

       ~/.xcircuitrc or ./xcircuitrc
		      Personal xcircuit initializer;   commands	 are  outlined
		      above.   Libraries  listed in this file will be appended
		      to the builtin libraries.

ENVIRONMENT VARIABLES
       xcircuit understands the following environment variables:

       TMPDIR	      Directory for temporary (e.g., backup)  files  (defaults
		      to TEMP_DIR).

       XCIRCUIT_LIB_DIR
		      Directory where xcircuit libraries and startup files can
		      be found (defaults to BUILTINS_DIR).

       XAPPLRESDIR    Directory where the xcircuit application defaults can be
		      found (defaults to RESOURCES_DIR)

       HOME	      Directory	 where	xcircuit  will look for startup files,
		      after searching the current directory.

       HOST, HOSTNAME, USER
		      Environment variables which xcircuit  uses  to  fill  in
		      header  information  in  the PostScript output (HOST and
		      HOSTNAME are equivalent).

BUGS
       PostScript printers have	 device-dependent  limits  on  the  number  of
       statements  within  a "def" definition.	If an object definition has an
       unusually large number of components, xcircuit will flag a warning when
       writing	the file.  However, there is no way to ensure that a file will
       be accepted by a given printer.	The best way to avoid the  problem  is
       to make sure that large drawings make good use of hierarchically nested
       user-defined objects.  Note  that  printer  errors  arising  from  this
       problem	have not been observed in practice, and given the typical size
       of on-board memory on most modern laser printers, probably  never  will
       be.

       A  list	of  bugs  can  be  found  in  the  Manifest file in the source
       directory.

ONLINE TUTORIAL
       Look for the xcircuit online tutorial at

       http://opencircuitdesign.com/xcircuit/tutorial/tutorial.html

SEE ALSO
       xfig(1), another powerful freeware drawing program  worthy  of  mention
       (see  www.xfig.org).  Another schematic capture package worth noting is
       "gschem" from the gEDA package (see www.geda.seul.org).

NOTES
       PostScript is a registered trademark of Adobe Systems Incorporated.
       XCircuit	 Copyright  (c)	 2002  Tim  Edwards.	XCircuit   is	freely
       distributed   under   a	 generous  public  license.   See  the	source
       distribution for details.
       Xw widget set Copyright (c) 1988 by  Hewlett-Packard  Company  and  the
       Massachusetts Institute of Technology.

AUTHOR
       Tim  Edwards  <tim@opencircuitdesign.com>.  Thanks to Tomas Rokicki for
       the  PostScript	routine	 which	manufactures  a	 Symbol-Oblique	 font.
       Thanks  to  Dave Gillespie and John Lazzaro for the program "analog" on
       which the graphical interface of xcircuit is (roughly)  based.	Thanks
       to  many	 beta-testers,	some of whom were kind enough to send patches.
       Most contributors have been named in the Manifest file  in  the	source
       distribution.

X11R6				January 5, 2000			   XCircuit(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net