Tween tweak?

Hi @Michael_Pryor ,

Using Pufferfish here.
Maybe it’s not the right tool for me in this particular circumstance, but I thought maybe I’d gotten something wrong.
Tween (9.5 KB)
I expected tween to mimic growth rings on trees ; certainly not make that first doubly self-intersecting curve, and have two tween curves intersect the first one…

The input curves are polylines with the same point count, and starting points which are in “logical” places.

Flip one of your curves.

Much better indeed.
Yet, I still don’t like the result :

Here in animation, some cases are clearly going to cause me trouble down the line.

Meh… it forced me to reconsider the placement of my sculpture in the wood.
Now the curves are more “compatible” and I don’t have any more ugly tweens.

The purple area is most probably rotten, so I managed to wrap the sculpture around :


I was going to suggest rebuilding your curves which are polylines, as degree 3 nurbs, but anyway…

please tell me we are going to see a new Xylotica video about this! :slight_smile:
I really enjoyed the first one, a bit short but super dense, I could literally watch it frame by frame and be amazed by each image
the 3D (textured!!) mesh of the wood block in Rhino made my brain explode, awesome stuff you’re doing there :+1:

1 Like

Use the refit (not rebuild) option to degree 3 should work.

I haven’t played with it much myself, but this looks like it might also be useful for you:


It actually makes very little difference in my example.

I’m amazed by your glass bubbles. I suppose it’s a secret process ?
I would really like to see how that’s done !

1 Like

This seems to be EXACTLY what I need.
Here’s an example from the Food4Rhino page :

No overlap !


You can also do this with a variation of Laplacian smoothing like I showed in this thread
Here’s a little script to simplify using that for curve interpolation: (16.3 KB)


Yes was going to suggest tweener next. Better for blending closed curves that are with hard opposing concave / convex conditions as it’s using fields logic.

1 Like

Why are you doing this?
Are you going to rough out the timber using the tweened growth rings before finishing operations?

1 Like

Hi Martyn ! Happy that you joined this thread.
I’m a big fan of your minimal surface sculpture in oak.
I’m exploring strategies for this challenging piece, and I could sure use some advice from someone like you.
Yes, the plan is rough-out the top third, then finish it, then go on the same way to the middle section,
then do out as much as I can on the lower section, and finally tell the sculptor he ought to finish the footing by himself :slight_smile:
My equipment allows me to work in a 5-axis fashion.

What do you think ?

1 Like

You could consider adding location cylinders?
So machine what you can but add dowels to the sculpture that can be used to locate it in a different orientation to allow machining difficult areas or to finish the base.
Then get the sculptor to grind off the dowels and smooth them off by himself :slight_smile:

I’m using 3 axes only so I always machine from a sized block that I flip over on dowels to locate before machining the other side. I always have a lot of sanding to do where I have overhangs that can’t be reached or vertical sections that are awkward to create a good machining strategy.

You have the advantage of 5 axis but perhaps you could machine it into a block that can be located on dowels and flipped but take advantage of the 5 axis to get into the overhangs. Just because it is a long thin piece that could become unstable.

Love the project though… it’s like next level chainsaw carving!
Hang on… just create a chainsaw attachment for the robot! :slight_smile:

The turntable is quite handy because it always orients the part in a practical way for the robot to mill.
Overhangs are dealt with by inclining the spindle, although sometimes, I need to place limits on the angle by adding some kind of smoothing function between “ideal” angle and “doable” angle.

You saw that IaaC video, right ?
Heck yeah ! :slight_smile:

Hi Daniel,

After a little tweaking (the “Length” input in the “TriRemesh” component is critical), I was able to generate excellent tween curves with no overlaps ! Thanks !
Only issue : since the output’s tree is flipped (Branches correspond to “layers” of resulting tween curves, and not by set of input curves), I’m having the following issue :
since all the bits of curves are not joined properly, I get the wrong number of output curves, and it messes-up the “Flip matrix” operation.