This plugin is yet regarded as a experimental prototype that is under continuous development in daily production. It is however clearly an in-house tool and not released to the community for the time being.

It is documented here partially for reference.

The basics

Almost all models are currently based on a polygonal mesh with vertices and face definitions. On top of that, we have to make use of the ‘seam’ properties of connected edges in order to determine where to split the mesh for unwrapping. These can be assigned automatically by an unwrapper tool or manually.

Unlike 3D printer output, the mesh data ‘sanity’ rules don’t require the model to be water tight. In fact, paper structures allow some more:

  • The mesh can be open, i.e. does not have to be closed such that all edges are shared by two faces
  • An edge is allowed to be shared among three faces in a specific manner, such that an element can be plugged onto an existing construction as demonstrated here.
  • A face can serve as a socket for an object when open edges are co-planar to it. They need to be particularely marked as socket.


Note: This is the legacy Blender v2.7x interface. No longer maintained.

The work flow is normally as follows:

  • Design your mesh
  • Set seams and other edge properties
  • Run the notchflap generation
  • Align the resulting 2D objects or simulate/animate the folding procedure in 3D

The notch flap process generates the curve models grouped in so called patches. When the [Animate] option is selected, animation curves are created to elaborate on the folding process.

Otherwise, 2D flat curve patches are output that need to be manually placed for the cutter layout. The [Cut pattern] menu option outputs these to a parenting Cutjob.origin object. To determine the paper area, it is best to create a blender template file for the specific plotter and paper scenario.

For unwrapping, a separate plugin can be used, such as other papercraft add-ons or non-distorting UV-Unwrappers.

Each patch outputs as a closed curve object that can be cut out and folded along the creased that are scored by a plotter knife not cutting through.

To fill up an A4 page for example, group instances can be placed as Cutjob origin children that are emitted accordingly.



Plotter output

The output interface is shown to the left.

A 2D curve, parenting empty or group instance containing 2D objects can be added to the task list. For each task, a cutter head and according tool parameters can be assigned (this is the example for the Silhouette Cameo 3).

The plot tasks are queued to a separate thread such that the design can be edited during the potentially time consuming output to the plotter. However, it has to be ensured that the cut job curves are not being updated during a task sequence including a pause.

Quirks and deficiencies

The Blender legacy mesh structure has been subject to a lot of discussion in the past. It allows all sorts of ‘free’ connections such as stray edges and vertices, summarized under the term ‘non-manifold’ meshes. For most purposes however, manifold mesh structures are required that are more real world friendly when it comes to 3D printing or structures foldable from paper.

Another issue is with n-gon (n>3) faces that are non-planar. These would in reality either triangulate or cause some bend in the resulting paper model. Editing while maintaining planarity has found to be an issue with the Blender editor.

Therefore, a sanitized (more below) BMesh is converted into patches that maintain a crease hierarchy. A patch boundary is determined by the given seams and cuts.

During design, it is mandatory to keep the mesh structure sane. When working with imported models from architects, it turned out that the post-editing consumes way more time than re-creating the mesh from scratch according to the sanity rules.

This is where the Blender 3D mesh editing has shown many limitations which makes the process not suitable for beginners.

Also, for the time being, the editing is very much non-interactive such that the unwrapping process needs to be executed explicitely.

The current situation is that this add-on is not scheduled for public release due to various GPL and maintenance issues concerning the Blender front end.