Tape-Measure Mapper

Well, I'm sure there's a better way to do this, but it's an excuse to dust off my Javascript and SVG skills...

This tool allows you to accurately sketch out a room or other area based on tape-measure measurements. Measure the length of the walls and at least one diagonal and you can accurately figure out the geometry of the place, even if the walls aren't square. I wrote it in order to figure out how to cram all my furniture into my decidedly non-rectangular bedroom:

The way you use it is as follows. First, lay out some points.

Link them together with lines representing the walls

Add some measurements. You want to have a network of triangles, so that every point is uniquely constrained.

Turn on error bars. This uses red bars to show you how far out your points are.

Shuffle the points around manually to get things basically right.

Turn on "Snap to Measurements". The program automatically shuffles the points around as best it can to minimise the errors.

Click on "Export to SVG". This is the weakest part of the program: all it does is build a giant text area full of raw SVG code. Cut that text, paste it into a text file with a ".svg" filename extension. You should be able to open the resulting file in Inkscape.

And that's it. Here's the script. It's just an SVG file with embedded Javascript, so you can save it and use it offline if you want to.

Matthew Exon
Last modified: Mon Nov 9 19:15:27 GMT 2009