About FoldNets

A remake of a program from the school computer lab

In the 1990s, in elementary school, I played a Windows program that let you design 3D shapes on screen and then printed them as paper nets with glue tabs. You cut them out, folded them up, and held the thing you had just designed.

FoldNets is that idea rebuilt for the browser: free, nothing to install, no sign-up. It turns out the original still exists. It was called TABS+, and this page is a look at what it was, and at what FoldNets kept and changed.

The original · Aspex Software · 1995–1997

It was called TABS+

I had remembered it as a DOS-era program with a name like “TABS”. The name was right; the platform wasn't. TABS+ is a Windows 3.1 program, made by Aspex Software and licensed to Ontario schools.

A copy is preserved on the Internet Archive, and it still runs on a modern PC under Wine, which is how the screenshots on this page were taken.

Version
TABS+ v1.30 for Windows. tabs.exe is dated 25 February 1997; the 12 sample models are from early 1996.
Made by
Tim Humphries of Aspex Software. The Windows version is by Colin Jack of Oxford Mathematical Designs. (Both names come from the program's own credits text.)
Licensed to
The Ontario Ministry of Education and Training, for Ontario schools and faculties of education. The licence file in the archive is registered to The Knowledge Tree in Toronto.
Platform
A 16-bit Visual Basic program for Windows 3.x.
TABS+ splash screen: “tabs +” in large italic letters, for Windows, v1.30, copyright 1995 to 1997 Aspex Software, licensed to the Ministry of Education and Training of Ontario, Canada.
The splash screen, as it opens.

Building a part

Every part was a primitive you drew

There was no list of ready-made shapes. The toolbar offered eight primitives: cuboid, wedge, cylinder, cone, funnel, sphere, extrude and sweep. You picked one and followed the prompts in the status bar: drag out the front face in the flat EDIT window, then the window swings round to a side view so you can set the depth. Each part stays wherever you put it, so a model is just a collection of parts. The castle sample is 12 of them; the Enterprise is 14.

Extrude gives a profile you draw some depth, and Sweep spins a profile round like a lathe. The wedge does more than its name suggests: its ridge width turns a tent shape into a hip roof, and a ridge of zero makes a pyramid. The castle's four tower roofs and the church spire are all wedges.

TABS+ main window with the castle sample loaded: a wireframe front view on the left and a shaded 3D view on a navy blue background on the right.
The workspace with castle.tbs open. The EDIT window (left) is a flat front view with millimetre coordinates. The VIEW window (right) shades the model on navy blue; drag to orbit, switch perspective, or set it tumbling. A third window, NETS, stays hidden until you ask for it.
Grid of the 12 TABS+ sample models in the 3D view: boat, camera, castle, church, Enterprise, goblet, helicopter, mansion, spaceship, tank, temple and train.
All 12 sample models that shipped with it. enter.tbs is the starship Enterprise. The tank is the only sample that uses colour.
TABS+ with church.tbs open: a front-view wireframe and the shaded church with its spire.
church.tbs: a cuboid tower, a wedge spire with zero ridge, and an extrusion nave.

The nets part

One template per primitive, laid out by hand

TABS+ didn't unfold a model as a whole. Each part got its own net, and each primitive had a fixed recipe: a cuboid is always the same cross, a cylinder always the same strip with loose caps. Placing those nets on paper was your job. You opened the NETS window, clicked Next Net, and the next part's net stuck to the pointer as a red outline. You steered it over a page, turned it with the arrow keys, and clicked to drop it, until the program said “There are no more nets to place”. Where you dropped each net was saved inside the model file.

Nets went to the printer or to a file. The two file formats were HPGL, the language of pen plotters, and DXF for CAD programs, on paper from A4 up to A0. A Print → Square command printed a test square that, in the program's words, “should measure exactly 100 mm on each side”, so you could check the printer's scale before printing a class's worth of nets.

The cyan NETS window showing the castle's cuboid, extrusion and pyramid-roof nets arranged across pages ruled in red.
The castle's 12 nets on the NETS sheet, at 1:4 zoom. The red rules are page edges. Every outline is the same black line, and each net is labelled only with its primitive name.
The Select format dialog with Format HPGL, Page size A4 and Layout Landscape.
Nets → Output → File.

What a TABS+ net looked like

  • Curves are always faceted, 12 sides by default, so a paper cylinder or cone is a polygon, never a smooth curve.
  • Cut lines and fold lines are drawn identically, as solid black. You have to know which ones to cut.
  • No face numbers or matching marks. The only label is the primitive's name, such as “Cuboid”.
  • Tabs are fixed. There is no setting for their style or size anywhere in the menus.
  • A model is many separate nets. You build each part, then glue the parts together.

Side by side

Same shape, two programs

Left: nets printed by TABS+ to DXF files and drawn at high resolution, so these are its exact lines rather than screenshots. Right: the same shape in FoldNets. Select a picture to open it full size.

Cube

Both use a cross with seven tabs, one per seam. FoldNets adds face numbers, letters that pair each tab with its edge, dashed folds and tinted tabs.

TABS+ · 1997
TABS+ cuboid net: a cross with trapezoid tabs.
FoldNets
FoldNets cube net with numbered faces, dashed fold lines and amber tabs.

Square pyramid

Same layout, four tabs each. TABS+ puts both tabs on each of two opposite triangles; FoldNets gives every triangle one tab, in a pinwheel.

TABS+ · 1997
TABS+ pyramid net: a square with four triangles, tabs on two opposite triangles.
FoldNets
FoldNets square pyramid net: a square with four triangles, each with one tab, plus numbered faces and dashed folds.

Cylinder

Both cut the caps as separate pieces and glue them on with tabs from the wall. TABS+ folds the wall into 12 flat panels; FoldNets wraps one smooth sheet with a row of small rim tabs.

TABS+ · 1997
TABS+ cylinder net: two loose 12-sided caps and a strip of 12 flat panels tabbed along both edges.
FoldNets
FoldNets cylinder net: a smooth rectangle with a row of small rim tabs along both edges, and two circles.

Cone

TABS+ builds the cone from 12 flat triangles. FoldNets rolls a true circular sector and closes it with one seam tab.

TABS+ · 1997
TABS+ cone net: a loose 12-sided base and a fan of 12 triangles with tabs on the outer edges.
FoldNets
FoldNets cone net: a circular sector with rim tabs, and a base circle.

The rest of the set

Four more TABS+ templates

Also drawn from TABS+'s own DXF files. These are the primitives that haven't appeared above.

Extrusion
TABS+ extrusion net: two loose house-shaped end pieces and a strip of side faces with tabs on both edges.
Church nave. The two end profiles are loose pieces with no tabs. The sides form one strip, tabbed down both edges, and those tabs glue to the ends.
Funnel
TABS+ funnel net: a curved strip of trapezoid panels and two loose caps of different sizes.
A round frustum: a curved strip of 12 trapezoids between two loose caps of different sizes.
Sphere
TABS+ sphere net: twelve long gores, each tabbed down one side, and two small 12-sided polar caps.
Twelve gores, like a paper globe, each tabbed down one side, plus two small polar caps.
Sweep
TABS+ sweep net for the goblet: twelve long gores following the cup, stem and foot profile.
Goblet. The same gore method, following any profile you draw, from rim to foot.

Same and different

What carried over, and what changed

The core loop is the same: build a 3D model, get printable nets with glue tabs, then cut, fold and glue. Specifically, these all carried over:

  • One net per part, with the parts glued together afterwards.
  • Trapezoid tabs, one per seam.
  • Cylinder caps cut as loose pieces, held on by tabs from the wall.
  • Real-world units and true-scale printing.
  • Even the subjects: a castle and a church are TABS+ samples and FoldNets Builds, and the other ten samples (the steam train, boat, helicopter, tank, spaceship, starship, temple, mansion, film camera and goblet) are Builds too, rebuilt part for part from their .tbs files.
TopicTABS+ (1997)FoldNets
Where it runsWindows 3.1 PCs in Ontario school labs, installed from disk under a Ministry licence.Any browser. Free, with no sign-up.
Making a shapeDraw primitives with the mouse in a front view, in millimetres, then set depth in a side view. Any number of parts, placed anywhere.Pick a shape and set its size with sliders. The Extrude tab is a big grid in a front view: draw as many outlines as a model needs, then give each a depth and a place front to back. Custom builds combine any number of parts, slid, lifted, turned and stacked anywhere. Free-form lets you drag corners.
ShapesCuboid, Wedge (prism, hip roof or pyramid), Cylinder, Cone, Funnel, Sphere, Extrude (your own profile), Sweep (a lathe: any profile spun round).Cube, rectangular, triangular, pentagonal and hexagonal prisms; square, triangular and hexagonal pyramids; truncated pyramid; octahedron; cylinder; cone; sphere; wedge (a ridge over a box: pyramid, hip or gable roof, lean-to, bow); sweep (a profile spun round, with vase, bowl and goblet presets). The Extrude tab pushes out any outline you draw, several to a model, with house, car, rocket and tree starters and ready-made squares, circles, stars, arrows, letters and hearts. Free-form adds box, wedge, pyramid, octahedron, gem and icosahedron starting shapes.
CurvesFaceted into flat panels, 12 by default.Smooth on cylinders and cones: a true rectangle or sector, with small rim tabs. The sphere and sweep are flat-panelled gores, as in TABS+.
UnfoldingA fixed template per primitive.A template per preset shape. Free-form uses a general unfolder that merges flat faces, grows the net face by face, and only splits it where it would overlap.
TabsTrapezoids, one per seam. No settings.Trapezoid or rectangle, with adjustable depth and angle.
Lines and labelsEvery line solid black. Each net is labelled with its primitive's name.Cut lines solid, folds dashed, tabs tinted. Faces numbered, and letters pair each tab with its edge. Edge lengths optional.
PagesYou place each net by hand, turn it, and drop it on a page. You can add text or a picture of the 3D view. The layout is saved with the model.Automatic: fit to page or real size. Big pieces split across sheets, small nets share a sheet. Class sets print with student names.
OutputPrinter, or HPGL/DXF files for plotters and CAD, from A4 to A0. A 100 mm test square.Vector PDF on Letter or A4, in cm or inches. Real-size sheets carry a size-check ruler.
DecorationOne colour per part, shown in the 3D view.Stamps (doors, windows and more) and paint for each face, printed on the net.
SavingPlain-text .tbs files.Saved designs in the browser, and share links.

Inside the files

A model is a short list of numbers

A .tbs file is plain text: a header number, 1645, then one record per part.

For the curious: read a record, field by field

Here is a cuboid, saved by TABS+ and written on one line:

"Cuboid" 255 255 255  -58 56 10  0 0 0  3 9 6 12 12 0  10 28 40  0 156 129  42 -36 -24
"Cuboid"
The primitive type.
255 255 255
Colour as red, green, blue (white).
-58 56 10
Position in millimetres.
0 0 0
Probably rotation; every sample has zeros here.
3 9 6 12 12 0
Mesh sizes: 3 dimension values, 8 corners (stored as 9), 6 faces, 12 edges, 12 sides for round shapes, 0 bands. A sphere reads 12, 73, 62, 132, 12, 5.
10 28 40
Net counts. The last is the number of lines in the net: the sphere's says 420, and its DXF file has exactly 420 lines. The other two aren't pinned down.
0 156 129
Where the net sits on the sheet, in mm. An unplaced net stores -32760.
42 -36 -24
Width, height and depth. A wedge adds ridge position and ridge width; a sphere or sweep stores its profile as pairs of points.

All the program's words live in a file called t.x: menus, prompts, help pages and credits, scrambled by XOR-ing every byte with 10. The DXF files it writes are AutoCAD R10 drawings made only of straight LINE entities, measured in millimetres.

Small finds

  • The Enterprise sample is built from cylinders, cones and funnels, with a 12-sided saucer.
  • The program's text file has messages for two other editions: a demo that “will not save or print”, and a loan copy that announces “This copy of TABS+ is on loan from …”.
  • In the View window, Tumble sets the model spinning until you click.

Source. TABS+ v1.30 as preserved on the Internet Archive: archive.org/details/tabs-v-1.3 (TABS_V1.3.zip). Run under Wine 9.0 on Linux; nets exported from TABS+ as DXF and drawn without changes. FoldNets nets captured from this app.

TABS+ is © 1995–1997 Aspex Software. FoldNets is an independent project and is not affiliated with or endorsed by Aspex Software, Oxford Mathematical Designs or the Government of Ontario. TABS+ screenshots and nets appear here for commentary and comparison.

Open the maker