Caveink is a set of Inkscape extensions for drawing cave maps.

It is developed from my similar, previous project that is already well tested and has been used to produce many beautiful drawings. However, itself it is still somewhat a work in progress that needs more extensive testing. Any help in that is appreciated.

DISCLAIMER: All the extensions are provided as-is. Play and evaluate them well before using for your serious project. All this stuff may not work for you, make your Inkscape crash or make it run painfully slow. Definitely do not use the methods described here for big cave maps. If your cave is dozens kilometers long and you want it in 1:500 or 1:1000, consider Therion or some other, faster software.


If you are using Microsoft Windows, it is easiest to use the self-extracting installer: Inkscape-0.91-1.exe. It installs both Inkscape 0.91 and the extensions. Before running it, remove any former Inkscape versions from your system. Note that although there is a never version of Inkscape available, 0.92, I recommend against using it. This is because it tends to crash much often. Hopefully the new bugs will be fixed in 0.93.

As an alternative, you can download just the extensions as a zip file: Copy files from the symbols, patterns, keys and extensions subdirectories into the relevant directories in your Inkscape installation directory (could be /usr/share/inkscape or C:\Program Files\Inkscape or something similar). You also have to install the SpeleoUIS3 font on your system (from fonts subdirectory in the archive) in order for the line styles to work.


caveink can help you ...

Draw a simple cave map from a paperless survey

Import your paperless sketch from PocketTopo or any other paperless surveying software as a SVG file. Draw a clean copy of your sketch using standard Inkscape drawing tools, as well as the symbol library, fill patterns for carpeting areas and line styling.

Draw a simple cave map from a paper sketch

Scan your paper sketch and load it into inkscape. Draw a clean copy using all the tools mentioned above. Mark where your stations are on the drawing. Process your survey data using Survex and morph your drawing to the real centerline.


After everyone has finished drawing their section in their own file, combine these files into one SVG document and merge fragments that are not intersecting. Find symbols of the same kind and make sure they are all uniformly styled.

Layout and manage complex cave maps

Add offset windows to clearly show intersecting passages on your map. Generate a neat scalebar and coordinate-annotated grid. Split the drawing into multiple pages. Should you close a loop or find yourself using the wrong magnetic declination figure, load a new centerline and adjust your drawing automatically.

For best results...

Choose your scale wisely

Even in the digital age, we still draw cave maps to scale. Zooming in or out is very difficult, because the symbols usually have to retain their sizes independently of the scale.

Because of that problem, you need to select your scale carefully at the very beginning of your work.

Use fill patterns

Generally, the more distinct objects you have in your drawing, the slower Inkscape responds.

With this in mind, if your five kilometer long cave is filled with sand, it is a very poor idea to indicate that fact with thousands of little circles. Better use the sand pattern fill. Being only a handful of distinct objects repeated many times, it is much faster for Inkscape to process!

Never embed paper sketches

When importing images (such as scans of paper sketches) into Inkscape, you are always asked whether to just Link to the included file in your drawing, or rather to Embed the image inside the SVG document. Always opt for linking!

It is about how Inkscape extensions internally work. Unfortunately, it is extremely simple: every time you use an extension, your whole drawing is saved in a temporary file and then passed to the selected extension for further processing.

Raster files are often very large, and embedding them into your drawing will result in a large amount of data being packed and unpacked every time you use one of the Extension / Speleo menu items. And this essentialy means you will have to wait longer!

Remove paperless sketches from your main drawing

Importing paperless sketches as vector graphics is very convenient. These sketches, however, usually contain an enormous amount of data that is not really useful after the sketch has been traced.

I am not suggesting to throw away these sketches! I just say that there is no point in keeping them in the clean copy file. If you need to fix an error or re-work something, you still have them in their original files - and you can always import them again.

Know Inkscape tricks

You should definitely go through a good generic Inkscape tutorial before drawing cave maps in Inkscape.

Often overlooked Inkscape features: Duplicate (Ctrl+D); right click context menu on objects (Select same ..., Move to layer...); paste style (Ctrl+Shift+V).

Often overlooked Inkscape keyboard shortcuts: F12 (hide dialogs), F11 (go full-screen), Spacebar (temporarily switch to select tool/pan!), Spacebar while dragging objects (make copies)

Recommended Inkscape preferences (already set by the Caveink installer): Transforms - Definitely unset Scale stroke width. Scrolling - consider Left mouse button pans when Space is pressed, Mouse wheel zooms by default. Tools - Pen - consider Create new objects with: Last used style

Contents of this guide

Tutorials: Find and replace symbols, Steps and driplines, Morphing paper sketches, Merging drawings, Patterns for area fills, Fixing your map after closing a survey loop, Generating grids and scale bars, Caveink symbol library, Importing PocketTopo sketches into Inkscape, Clarifying overlapping passages, Splitting big drawings into pages

Reference: to be prepared (help appreciated!)

Files for tutorials and experiments: