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
0 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


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

Thing Statistics

12177Views 2770Downloads Found in Decor


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

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

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

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch 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.