Codebase list geda-xgsch2pcb / HEAD
HEAD

Tree @HEAD (Download .tar.gz)

=============================
xgsch2pcb - a GUI for gsch2pcb
==============================


Introduction
------------

When designing a printed circuit board (PCB) it's often desirable to
create a 'schematic' which shows the components to be used and their
connectivity in an abstract fashion.  The connectivity information is
then used to help when designing the actual circuit board.

``gsch2pcb`` is a command-line tool, part of the gEDA suite, which is used
to generate and update a PCB layout.  It works with schematics created
by ``gschem``, part of the gEDA suite, and layouts created by ``pcb``, a
PCB layout system commonly used with gEDA.

``xgsch2pcb`` provides an intuitive, user-friendly graphical interface to
``gsch2pcb``.


Requirements
------------

``xgsch2pcb`` requires:

 * python >= 2.4
 * python-gtk2 >= 2.8
 * python-gobject (if using python-gtk2 >= 2.10)
 * python-dbus
 * A recent version of the gEDA suite
 * A version of ``pcb`` compiled with D-Bus support.

Optionally:
 * python-gnome2 (For launching the about URL)

Building ``xgsch2pcb`` from source code additionally requires:

 * autoconf >= 2.59
 * automake


Installation
------------

If you have fetched the sources from the git repository you will need to
create the necessary autoconf files. To do this, change into the source
directory and execute the command:

  ./autogen.sh

This generates a ./configure script amongst other things, which you can run
to configure the software.

As long as you have all the dependencies installed:

  ./configure && make install


Usage
-----

  xgsch2pcb [project]

The main window is divided into three main areas:

* The toolbar at the top offers the usual options to quit the
  program and to load and save project files.

* The left hand 'Schematic' frame shows a list of schematic pages that
  the PCB layout will be based on. The 'Edit schematic' and 'Edit
  attributes' buttons respectively launch ``gschem`` and ``gattrib`` to
  edit the selected schematic page.

* The right hand 'Layout' pane shows the name of the PCB layout file
  associated with the project. The 'Edit layout' button launches
  ``pcb`` to edit a file, and will offer to update your PCB layout if
  necessary.  The 'Update layout' button forces an update of the PCB
  layout even if one isn't strictly necessary.

In order for the update process to work properly, you should never
launch ``pcb`` to edit your PCB layout except through ``xgsch2pcb``.
If you are editing the layout without ``xgsch2pcb`` running and then
wish to edit your layout you should close ``pcb``, launch
``xgsch2pcb`` and then use the 'Edit layout' button to launch ``pcb``
again.

The update process will carry out the following actions to modify your
layout, after launching ``pcb`` if isn't already running:

1. Remove any elements from the layout that are not in the schematic.

2. Find any elements that are in the schematic but not in the layout,
   and add them to the layout (in the top left corner). N.b. that it's
   probably a good idea to leave this corner of your layout clear
   until the layout is more or less finalised, to avoid new elements
   interfering with elements which have already been placed and
   routed.

3. Clear your rats and load a new rats nest.

4. Update the component pin names to match the pin names on the
   schematic symbol.

Note that the update process won't modify your PCB file on disk, and 
will take into account any changes you have made since you last 
saved.

.. 
   Local Variables:
   mode:rst
   End: