Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Bezier curves and knots script for Blender

by lorenmcconnell, published

Bezier curves and knots script for Blender by lorenmcconnell Mar 3, 2013

Thing Info

10718Views 2190Downloads Found in Decor
Report Thing


This is a Python script that I've been working on for Blender, to generate 3D geometry based on bezier curves. My goal is to produce a variety of attractive and accurate Celtic knots and braids to use as artistic elements in my projects.

I developed a customizable picture frame as a testbench for my work. You can use it as a stand-alone project to generate a picture frame with text (or without).

Adding Celtic knot elements to that, my Celtic Picture Frame is an early result of these experiments.

I have more ideas and enhancements that I hope to share later. The script is is in a usable state now, so give it a try!

UPDATE: 2012 Mar 6 -- version 1.1. uploaded to fix bugs in the utility function ReadCurveControls()


You will use the script file "blender bezier rev1.py" in Blender. It is freely available at:
Blender is highly sophisticated, professional-grade, 3D modeling and animation software. It is absolutely amazing -- one of the best software packages I have ever used. But please expect to spend some time learning to use it. There are many excellent tutorials and manuals on the Blender web site, and on YouTube.

Open the Python ".py" file in a Blender text editor window and press "Run Script". This will produce bezier curve objects and mesh objects based on the curves. Modify the script to create new curve geometries, or use Blender object modifiers to adjust the results.

Edit "controlPoints" to change the shape of the curves. Add, remove or relocate points, and control handles.

Edit taperControl and BezierCircle lists to change the curve shaping.

The script hides the source objects and creates meshes based on them.

Use File->export to save selected objects as an STL file.

After editing curve nodes in Blender, use the ReadCurveControls function to dump the control values -- you can use them to update your script.

Please send bug fixes and enhancements.

More from Decor

view more

Thing Info

10718Views 2190Downloads Found in Decor
Report Thing

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

All Apps

This extension connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

Could you please give a better idea of exactly where on http://blender.orgblender.org this script is. I have searched through the Python Scripts catalog on http://blender.orgblender.org (http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts)http://wiki.blender.org/index.... and could not find this anywhere. Celtic knots are awesome, and I would love to be able to make them easily in Blender, and print several of them out.

The script is attached to this Thingiverse entry. Hit the "Download this thing" button and grab the latest .py file, then run it in Blender. You can copy and paste the test into the Python Console window in Blender. Another way is to open it in a "Text Editor" panel Blender, then use the "Run Script" button in that.

Thanks a lot. Got it working fine.