Scratch Computing Logo  Services   About   Contact   News   Projects 
 Articles   Developers   

This page last updated: Nov 16, 2006

VectorSection is...
  • Open Source
  • A universal vector-graphics file converter.
  • A general-purpose geometry storage/translator scheme.
  • A convenient way to deal with multiple formats.
  • A sandbox for real-time interoperability ideas.
  • An opportunity to realize exponential returns on import/export code.
  • And more...

News Flash:

What's in a name?  The ÜberConverter name had evolved into an acronym for Universal vector graphics translator in need of a BEtteR name Converter, so is henceforth known as VectorSection.  This name change will not affect your existing coverage plan, but brings enormous benefit to the project developers, who may now abbreviate the project name as VectorX, VeX, or even simply VX.  There has been much rejoicing and keyboards everywhere are very happy about the reduced wear and tear (said wear having been caused not only by the sheer number of characters in the name, but also by the inevitable need to explain what such a name could possibly mean in any and all correspondence with the uninitiated.)

The aforementioned typing is (of course) the reason that this project is not yet complete.  Wait... no, it is because there is a lot of work to do here.

Introduction

connections between hubs and nodes

VectorSection is a universal vector graphics translator.  It will eventually be capable of interconnecting all graphical and geometric file formats.

There is no VectorSection program.  This project is a collection of interoperable file-conversion programS.  The programs in this system are called "connectors" and have names like svg2crs.  There is a vex command-line program which acts as a front-end for these connectors, but that is mostly like a toolbelt – it is a handy place to keep everything, but sometimes you'll bump it into things and break them.

The system of file-converters is built around a "hub" format.  This approach allows a single connector to utilize all of the other connectors.  These hubs can also be interconnected (as shown in the figure.)

To put it simply, this is a dxf, dwg, dgn, svg, pdf, ps, jpg, png, ogr, and pythoncad file converter.  This makes it capable of converting from dxf to dwg, dwg to dxf, dxf to svg, svg to dxf, pdf to postscript, postscript to dxf, dxf to images (thumbnails), and etc.

However, due to the hubbed design, we aren't building dxf2svg programs.  Instead, you currently do something like this:

  dxf2rzp file.dxf | rzp2crs | crs2svg > file.svg 

In the future, it's possible that "make install" will autogenerate a slew of foo2bar and bar2foo programs like dxf2svg, svg2dxf, svg2pdf, and etc. that will be simple wrappers of this piped command-line.

For more information about how these hubs work and why they are so cool, see the page about hubs

exponential growth of usefulness as a function of the number of connectors
Why "Hubbing It" Works

As shown in this graph, the number of connections increases as the combination of the number of connectors.  This means not only a dramatic reduction of effort, but also an opportunity for unprecedented code reuse.  Re-implementing file-format libraries in multiple languages is no longer necessary.  Writing multiple import and export methods is obsolete.

Support

Professional training, support, and customization is available through Scratch Computing and several other companies worldwide.  Please contact us for details.

Download

A very beta source tarball is available for download.  Please see the fine instructions for the best way to fetch and install the code.  You will need perl, and likely a unix-like shell.  For a one-click windows installer, please send a self-addressed stamped envelope and a large pile of cash.

Developers

See the wish list.

The latest code is available through the Subversion Repository.  See the file INSTALL.LIVE for details on how to get it and setup, but feel free to contact me if you have questions.

Of course, even if you are not a programmer, we can certainly use your help.  Feel free to contact me with any ideas that you would like to contribute.

Mailing Lists

VectorSection does not having any mailing lists (we're working on changing that), but is occasionally discussed in a few public forums.  If you would like to be notified when something interesting happens, please put your e-mail in the following form.  We promise not to use your address for anything evil or sell it to any bad people.

If have a question, please see the contact page for details.

e-mail address:


All material Copyright © 2005-2006 Eric L. Wilhelm.