Keywords: Finite element analysis, 3d, custom configurators, web export, image registration

Main page Blogs

Tweener for Rhino3d - tween between curves on any surface

Mathias Fuchs, February 2022

Current features of the non-free version

Each free tweener version expires after six months after publication. You get a new six months period by updating to a new version.
The non-free version has the following extras in comparison:
free version non-free version
Number of curves in TweenerExportCurves GH component 5 50
Maximal curve quality in the TweenCurves2 command 9 14
Number of curves in the TweenCurves2 command 10 80

Get the non-free version

Either Then, run the command Tweener_MacAddress and then me the result to
This page describes the Tweener Rhino package. Rhino is a 3d CAD environment, and Tweener is a command line plugin I wrote.

Why Tweener?

Before Tweener, there were at least the following existing ways to tween between curves: However, all of these work with the curves control points, which results in the drawback of a loss of separation between the input and output curves, leading to undesirable undercuts.
In contrast, this package allows to tween between two or more closed curves in a parameter-independent fashion and without overlaps.
Thus, the package lends itself specifically to applications such as 3d printing layer design, CNC, landscape architecture etc - typically in landscapes, you don't want overhanging cliffs; likewise a concrete printer usually has difficulties with excessive overhangs.
Furthermore, this package provides the unique functionality tween from one outer input curve to two or more inner input curves, instead of just one. Thus, it can generate curves similar to the Cassini curves, for example.
This plugin is meant to accompany the development of a web publishing pipeline for geometrical finite element applications, aiming at enabling both tech-savy and novice users to quickly prototype, and web-deploy parametric finite element applications to general geometric problems, as opposed to just physics applications. Further examples of such applications include image registration, medial axis extraction, Poisson interpolation, and optimal transfer type problems, see here for more info and examples.

Help summary

SHORT HELP: The tweener provides the following categories of functionalities:
1) A function TweenCurves2 that works almost like the ordinary TweenCurves command in Rhino.
This provides a simplified interface and just computes tween curves quickly
2) An elaborate tween environment for interactive 2d tweening - this is the core functionality of Tweener.
An example tween environment is started with the Tweener_StartExample command.
You can start your own tween environment with Tweener_Start.
The two most important editing commands inside a Tweener editing environment are Tweener_FishEye and Tweener_AddControl.
When you are finished with editing the tween curves, the command Tweener_Apply allows to export the tweening operation either to a textured mesh, or to curves.
All commands, including the starting and ending commands, can be undone using the Undo-Redo functions.
3) Two commands for tweening in 3d. There is (not yet) a tween editing environment like there is in 2d. In 3d, you have to have a mesh to tween on.
The two commands are:
TweenMesh to tween between the two boundary components (naked edges). This only works if your mesh is topologically a cylinder.
Tweener_TweenCurvesOnmesh to tween between any two curves on any mesh.
4) A small set of Grasshopper Components for 3d tweening - either on a cylindrical mesh or between given curves on any mesh.!
Environment.NewLine + To view the Tweener toolbar with the icons for the most important command, go to Tools -> Toolbars, choose File-> Tweener, and click Tweener next to the Tweener icon. By using Tweener, you agree to using it at your own risk. No liabilities / warranties implied. Thank you for understanding.
Please let me know what you think about Tweener. Any feedback is appreciated.

PRO version features:

The pro version is available upon request, drop me a line (contact info is on top of the main page.)
Go back to the table of contents