Curves To Mesh

by Mark Kingsnorth in Scripts and Addons


You will be provided with the following files:

  • - the main add-on file (do not unzip).
  • - a set of example files for the main add-on.
  • - an extension add-on for animation nodes (do not unzip). 
  • - A set of sample.blend files demonstrating the animation node setup.

Instructions for how to install the add-on and additional features are below.

Main Add-On

The add-on can be installed through the Blender 2.8 UI:

  1. Go to Edit -> Preferences.
  2. Select the Add-ons tab on the left it is not already.
  3. Select the Install... button along the top.
  4. This will open a file dialog where you should navigate to where you have downloaded the "Curves To Mesh" zip file.  This file should not be unzipped.
  5. Then, click the "Install add-on from file" button.
  6. Search for the add-on by typing "Curves to Mesh" in the search box if it does not already appear. 
  7. Make sure the checkbox next to the Add-on (Add Mesh: Curves to Mesh) is ticked.
  8. Next, search for the name "Curves To Mesh" in the search bar.  You should see the add-on entry under "Add Mesh: Curves to Mesh".
  9. Check the checkbox for this entry.  
  10. The options that appear under the entry allow you to change the colours of the Preview Mode, as well as change the keyboard shortcuts relating to the tool.

Animation Nodes Version

There us a bonus feature in  that will allow you to animate and dynamically modify quad curve surfaces using the freely available Animation Nodes addon:


  1. Make sure you have installed the latest version of Animation Nodes available here: 
  2. Make sure you have installed the main Curves TO Mesh addon as above.
  3. In Blender, Go to Edit -> Preferences.
  4. Select the Install... button along the top.
  5. This will open a file dialog where you should navigate to where you have downloaded the zip file.  This file should not be unzipped.
  6. Then, click the "Install add-on from file" button.
  7. Search for the add-on by typing "Animation Nodes: Curves To Mesh" in the search box if it does not already appear.
  8. Make sure the checkbox next to the Add-on (Add Mesh: Animation Nodes: Curves To Mesh) is ticked.

The nodes are described below and have the same parameters as the main add-on.

Tip: to animate bezier curve points, you will need to activate the AnimAll add-on which comes already bundled with Blender: can then add key frames to bezier points by selecting the curve and making sure that the 'Points' checkbox is selected in the tools panel:

Let us know if you have any problems!

Also Recommended...

I recommend you install Add Curve: Extra Objects, available with the standard Blender installation.  This will give you a lot more shapes to play with out of the box:

How it works

The add-on works by automatically:

  1. Creating a set of evenly distributed vertices and edges along the curve(s) you have selected to create an edge loop.
  2. Then the edge loops will be joined using either a Bridge Edge Loops (Curve Profiles) or Grid Fill (Curve Surfaces)operation.

How the vertices are distributed

The add-on distributes the vertices evenly along the curve.  This ensures that, when creating a surface, the vertices are connected across edges as smoothly as possible.

This is different from the standard Blender conversion of curves to mesh objects which does not distribute vertices evenly.  The distribution algorithm nudges the vertices along the curve until they are equally distanced from one another.

This feature does have a performance impact on more complex curves - to disable the feature, set the nudges parameter to 0.


Creating Curves

The add-on works on Bezier Curves.  That is, curves that have control handles along them:

You can either create a mesh from:

  • 1 curve: for creating a single set of edges:
  • Curve Surfaces: for creating a mesh between sets of four interlocking curves:    
  • Curve Profiles: for creating a mesh between sets of curves:

Creating Curve Surfaces

To create 4 interlocking curves:

  1. Ensure that the Snap during Transform magnet icon is selected and that the Snap Element type is set to Vertex. This will ensure you can create a curve that can snap to another curve's corners:

  1. Create 4 curves and arrange them in a 2x2 layout:
  2. Note that you can add as many control points as you like to make complex layouts:
  3. You an also create a network of interlocking 3 sided curves to create more complex surfaces:    

Splitting Shapes

You can split the shapes into 4 by selecting the vertices to separate and pressing 'p':

Using the Add-On

The tool allows you to have a preview mode to interactively work with the mesh as it is created.  Once you are happy, you can create the mesh as a single action.  You can skip preview mode if you wish.

  1. Create a curve or curves in the form above.
  2. You can access the tool either by:
    • Pressing Space and type "Curves to Mesh" and select the option.
    • Select "Curves to Mesh" under Object -> Curves to Mesh or Curve - > Curves To Mesh.
    • By using the following default shortcuts:
      • Shift-V: Activate Curves to Mesh Preview Mode.
      • Alt-Enter: Create the Mesh from curves.
  3. There are two options:
    1. Preview Curves to Mesh: Create an interactive preview of the mesh.
    2. Apply Curves to Mesh: Skip the preview mode and create the mesh straight away.


The add-on has a set of parameters in Blender 2.8's parameter toolbar on the left hand side.  If you do not see the toolbar, try pressing 'N'.  Select the "Curves To Mesh" tab:

The tool has the following options:


Enable/Disable Preview mode:

Collection to operate on

By default, the addon will operate on curves in Blender 2.8's default Collection, helpfully named "Collection".  If you wish to manage the curves separately, you can add them to a different scene collection and select that collection from the tool's options.

Conversion Method

There are currently two methods:

  • Surface to Mesh: creating a mesh between sets of four interlocking curves:  
  • Profiles to Mesh: create a mesh from a set of curves arranged in the form or cross-sections, also called profiles.

Surface Subdivisions

These options control the number of cuts to be made across or down a mesh.

  • Use Curve Resolution: If checked, Instead of using the subdivision options, use the curve's resolution_u setting found under the standard curve options panel.  This is useful for controlling the individual subdivisions on a more complex surface.

I not selected, the addon will use the following parameters:

  • Across: The number of cuts across a mesh surface.
  • Down: The number of cuts down a mesh surface (only available when 2 or 4 curves are selected)
  • Surface Creation: If selected, Check direction of curve will only create surfaces based on the direction of a curve.  Only cyclic 2x2 curves will have surfaces created.  Useful for enforcing a particular way of creating curves, such as when a cylinder has ambiguous 2x2 curves:

Advanced Parameters

Vertex Settings

These controls how mesh vertices are creating and distributed.

  • Snap to control point: This option will move the vertex to it's nearest control point if it has one.  Useful for maintaining shaped:


These parameters do not normally need to be changed. They control how the vertices get distributed along a curve.  It is a non-trivial maths problem to evenly distribute the vertices, as the nature of a Bezier curve is designed to put more vertices along more pronounced part of it.  The add-on distributes the vertices along the curve by nudging them along for a set number of times, attempting to make the vertices equally spaced each time.

  • Nudges: number of times each vertex is nudges along the curve.  Note: By setting the parameter to zero, vertices will be distributed in a more Bezier like fashion.
  • Samples: Number of samples between vertices to nudge them along by.
  • Definition: How well a point is calculated on a Bezier curve.

Curve Connections

Decimal places to round to: When calculating the curve intersections, the add-on temporarily rounds the corner coordinated so it can easily find nearby curves.  Increasing this parameter will increase the decimal points to corners are rounded to.  Increasing this value may be helpful when there are many points that are very close togehter.

Mesh Settings

These control how the mesh will be created

  • Mirror X/Y/Z: Select whether you wish the created mesh to be mirrored along the global X, Y and/or Z coordinates.
  • Flip Normals: Flip the faces of the mesh.
  • Shade Smooth: Apply smooth shading to the faces of a mesh.
  • Show All Edges: When creating a mesh, all the edges will be shown in the wireframe view.
  • Show Wire: The full wireframe will be show even in Solid view mode.

Show All Edges and Show Wire can be turned on or off later under the Object panel:

Curve profiles additional options

An additional option is you can set a Twist parameter, to control how the edge loops are connected.  See the documentation for Bridge Edge Loops.

Create Mesh

And finally, you can create the mesh when you are happy by pressing the 'Create Mesh' button, or by pressing Alt-Enter by default.

Animation Nodes Version

There is also the option to use the add-on as a node in the powerful Animation Nodes Blender extension. This is useful if you want to either create animated effects, or control the effect dynamically as an alternative to the preview mode. 

The node is called 'Splines to Surface' and looks like this:

It has the following main inputs:

  • Splines: The set of splines to operate on which can be supplied from the Splines from Object node.
  • Subdivisions: The amount of subdivisions to divide the resulting quad patched by.

An example nodes set up is shown which is also included in

Any Questions?

Do not hesitate to get in touch with me if you have a question, a new feature suggestion, or an image you'd like to share.  You can contact me through this website, my blog, or by my Twitter page.