Skip to content

rbuj/FreeRouting

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FreeRouting

Java Based Printed Circuit Board Routing Software from FreeRouting.net written by Alfons Wirtz.

Introduction

This software can be used together with all host PCB design software systems containing a standard Specctra or Electra DSN interface. It imports .dsn-files generated by the Specctra interface of the host system and exports Specctra session files.

There are three modes for routing traces: 90 degree, 45 degree and free angle. The interactive router is production stable and unsurpassed in its free angle capabilities. An autorouter is currently under development and already stable in the conventional 45 degree mode.

After launching the router a window appears with buttons to display some router demonstrations, to open a sample design, or to open a design of your own.

After opening a design you can start the autorouter with the button in the toolbar on top of the board window.

The board editor has three different interactive states. You can switch between this states with the buttons Select, Route and Drag on the left of the toolbar.

In the beginning the board editor is in the select state. In this state you can select single board items by picking them with the left mouse button or select items in a rectangle by dragging the left mouse button. Only item types switched on in the select parameter sheet will be selected. After selecting some items the toolbar displays options for showing and manipulating these items. If you push the info button for example a window with text information about the selected items is displayed. After clicking a blue word in this text a new window with further information pops up. To return to the select state push the cancel button or click somewhere in the empty space of the board window.

By pushing the Route button you get into the state for interactive routing. In this state you can start a new trace by picking an item belonging to a net, for example a pin. Then you can follow the displayed airline with the mouse until you have reached the target item at the other end of the airline. The trace will be connected automatically to the target, if it is on the same layer. If you want to change to a different layer during interactive routing, select "change layer" and then the name of the new layer in the popup menu under the right mouse button. Then a via will be inserted, if that is possible, and a new trace starts on the new layer. You can also change the layer by pressing a number key.

After pushing the Drag button you get into the state for changing the location of vias, components or traces. In this state you can select vias or components and drag them with the left mouse button to a different location. The connected route is updated automatically. You can also move traces by pushing them from behind out of the empty space with the left mouse button pressed. That works on the current layer, which can be changed in the select parameter sheet. In this way you can make space for example to insert a new component.

For more information please use the bundled help from the board editor.

Here are some instructions how to run the Freerouting project in the NetBeans IDE

  1. Download and install Oracle JDK 11, next download and install Development version of NetBeans IDE
  2. Start the NetBeans IDE and select File | Open Project in the pull down menu and select freeroute project.
  3. Build the project. The router should run now.

For optional parameters use -h argument.

Here are some instructions how to build the Freerouting project from a Terminal

Fedora

Install maven

sudo dnf install maven

Install Oracle JDK & JRE 11

mkdir -p /usr/java
tar xzvf jdk-11.0.2_linux-x64_bin.tar.gz -C /usr/java
chown -R root:root /usr/java
chown -R +x /usr/java/bin
update-alternatives --install /usr/bin/java java /usr/java/jdk-11*/bin/java 1065
update-alternatives --install /usr/bin/javac javac /usr/java/jdk-11*/bin/javac 1065
update-alternatives --install /usr/bin/jar jar /usr/java/jdk-11*/bin/jar 1065
update-alternatives --install /usr/bin/javaws javaws /usr/java/jdk-11*/bin/javaws 1065
update-alternatives --config java

Update /etc/profile:

JAVA_HOME=/usr/java/jdk-11.0.2
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME

Load /etc/profile:

source /etc/profile

Download freeroute source

git clone https://github.com/rbuj/FreeRouting.git

Build jar

cd FreeRouting
mvn install

Run freeroute

cd target
export J2D_TRACE_LEVEL=4
java -cp freeroute-[version].jar:libext/javahelp-2.0.05.jar:libext/guava-27.0-jre.jar net.freerouting.freeroute.FreeRouting
(or)
java -jar freeroute-[version].jar
(or)
java -jar freeroute-[version]-jar-with-dependencies.jar

OS X

Download and install Oracle JDK & JRE 11

Install Apache Maven. https://maven.apache.org/

Download freeroute source

git clone https://github.com/rbuj/FreeRouting.git

Build jar

cd FreeRouting
mvn install

Run freeroute

cd target
export J2D_TRACE_LEVEL=4
java -cp freeroute-[version].jar:libext/javahelp-2.0.05.jar:libext/guava-27.0-jre.jar net.freerouting.freeroute.FreeRouting
(or)
java -jar freeroute-[version].jar
(or)
java -jar freeroute-[version]-jar-with-dependencies.jar

About

Printed Circuit Board Routing Software from FreeRouting.net

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.3%
  • Other 0.7%