Flow/AlongSrf: Preserve Structure Creating Non-Periodic Geometry Bug

I’m thinking this is a bug. It is undesired to say the least. When using the preserve structure option for both Flow and FlowAlongSrf on circular target objects, the resulting geometry appears non-periodic rather than periodic:

FlowPreserveStruc.3dm (281.9 KB)

Both flows will collapse coincident points for objects that span the entire length of the base. Window selecting the curve’s control point at the seam shows it as 1 control point:

I am expecting the output to be periodic, but it’s not. There is an obvious kink. MakePeriodic is not an acceptable solution (destroys History), but even it behaves oddly. That’s why I’m thinking this is a bug:

Hi Eric - hmm- yeah - that’s a tough one - if it made the result periodic I guess it would be making a pretty major change to the structure. (periodic implies multiple extra hidden control points on a surface that wraps on itself behind the scenes) . I’ll add this to the heap, and who knows, but my guess is it is not a straightforward ‘fix’, it’s doing the right thing now…



That’s the weird thing that makes me think this is a bug with preserve structure, rather than just an undesired behavior. Make periodic made the curve periodic, but not the srf:

Also, preserve structure is changing the structure. The original surface was periodic on the U and open on the V. The child objects is not periodic in either UV, rather closed in both:

It reports 13 control points in the V for both parent and child, but there are only 12 on the child:

Hi Eric - I’m not sure if I follow - both become periodic here with MakePeriodic and their shapes match exactly.

Also, for now, it might help to InsertKnot on the original, using MidPoints and Symmetrical=Yes, and add two or three knots on the midpoint markers at each end - that cleans up the shape at the seam quite a bit without making it periodic.



It starts as periodic on the U and open on the V:

Flow/FlowAlongSrf makes it closed on both U and V:

I think the desired behavior is to create a child that is both periodic and degree 3 with 17 (U) and 15 (V) control points.

MakePeriodic makes it peridoic on the U and closed on the V:

I need history, so InsertKnot will not work for me. I was using MakePeriodic to demonstrate the odd behavior I’m seeing. I really need for PreserveStructure to maintain an existing periodic seam and create a new one if it collapses coincident points.

Hi Eric- I think if there is a bug, it is that Flow & FlowAlongSrf make the non-periodic output from periodic input, but as things are now. I’d say it is not a bug that the seam that started out as open on the input is not made periodic by Flow…
@EricM - insert the knots on the original - that cleans up the output while preserving history.

FlowPreserveStruc_PG.3dm (108.7 KB)


This is a small part of a much larger workflow. I can’t insert knots on the original.

I would ask that you please reconsider. I’m trying really hard to replace the jewelry designer workflows that are lost in V6, but I’m quickly becoming dejected. I’ve been optimistic that the pros of V6 outweigh the cons, but that is turning quickly.

I have a lot of work to do, so I’m going back to V5 where I have my plugins for symmetry and flowing with periodic preserved structure. Also in V5, my display mode, pipe, flowed rigid groups, export obj files, etc. don’t have bugs.

Hi Eric- unfortunately it’s not up to me to reconsider or not - I can only report the bugs or requests and try to help with a workaround or occasionally a script in the meantime.


@Pascal, maybe we could do a 1 on 1 video chat and I can show you the full workflow, what jewelers lost going from V5 to V6, and how a couple of features/bug fixes equates to a 50% to 80% savings in time. It is too lengthy and intricate to explain these things on a forum.

You could reconsider reporting this as a bug that will be fixed rather than a feature request to be considered. Please consider the following:

  • Unlike arcs and circles, the default for NURBS geometry is periodic. Rhino normally interprets coincidental points as periodic. The seam of a piped arc is periodic as is any closed deg 2 geometry that is rebuilt at deg 3.

  • The output of Preserve Structure is unexpected (aka a bug), at least to one senior and all junior modelers. I have helped enough people starting out with Rhino to know they are unfamiliar with non-periodic geometry.
  • Kinks defeat the purpose of Preserve Structure. Flow commands ignore the periodic state of input geometry and create heavy, uneditable, although accurate output geometry. The Preserve Structure option was intended to allow lightweight deformations that are editable.

Is there any update as to whether this is classified as a bug?

@pascal - It’s 2 issues. This we can agree is a bug: periodic input seam -> non-periodic output seam with control points structure being changed.

The other issue is RH-45699. When you input two open edges -> if coincident, output non-periodic seam. I argue that this behavior is a bug because it goes against the intent of preserve structure.

You want to take something lightweight and editable, transfer it from a 2D frame to a 3D frame, and continue editing it. It’s hard to surface edit non-periodic seams because they kink. Plus, Rhino generally defaults seams to periodic.