How to allign Verts from two Nurbspath Tubes to each other?

Hey Blender Artists,

I need your help with modular tubes made from Nurbspath, they are not allingin correctly. So I go Add>>Curve>>Path , then Bevel>>Depth 1. The basic Tube element is created for start and end, but when I add some curves the endings are not matching correctly to the other Tube elements. So how can I allign them correctly?



Attachments


when editing a curve, select a control point and press ctrl-T to twist the curve

First Thanks for your answer atartanian, you are right but I do not want to align them always by hand!
With ctrl-T, which changes the Tilt value of the control point Transform I´am not able to get it aligned other then by hand, this is on the first view correct for the human eye but it is not exact and this will cause serious problems later on.

The Transforms Tilt value has not the correct vertex position if the values are the same(for e.g. if both control points have a tilt value of 3°, the vertices of the tube are as good aligned as you can see on my screenshots).
So normally the X,Y,Z coordinates of the Transform component are exact but for the Tilt they are not!
What I ´am doing wrong here, or is that by design?

sorry for the long response time. I’m not able to reproduce that behaviour. My test curves were properly aligned when I created something like the image you have above. Can you share a .blend with this curve so I can have a look and maybe help find the issue?

Hmmm… I’m thinking for a moment. Twist alignment should be with the herringbones of the curves if you have them turned on while editing. However under curve properties, there’s different choices for smoothing blend of both twisting or radius. You could try changing that too. Otherwise some handling of tilt across a vertex may be like that of Catmull-Clark smoothing where edges cross. In which case you’ll need another control vertex located before the end to tighten up the twist transition and ensure alignment. (So two vertices with the same twist orientation may be necessary instead of just one, or blending will carry over.)

Hopefully that makes sense.

sorry for the long response time. I’m not able to reproduce that behaviour. My test curves were properly aligned when I created something like the image you have above. Can you share a .blend with this curve so I can have a look and maybe help find the issue?

Your response time is totally ok for me @atartanian, I´am glad some people are willed to help :slight_smile: , I have attached a basic blend file at the bottom.

@pauljs75_ , herringbones are turned on under curve properties all three objects are having the same values.

Otherwise some handling of tilt across a vertex may be like that of Catmull-Clark smoothing where edges cross. In which case you’ll need another control vertex located before the end to tighten up the twist transition and ensure alignment. (So two vertices with the same twist orientation may be necessary instead of just one, or blending will carry over.)

Great hint on that, but sadly nothing changed, I created three and more control verts but the twist always goes up too the end vertex no matter how much control verts are created and the tilt value is never exact, maybe you would be so nice and take a look at the blend file too .

Thanks in advance for your help guys!
-Polygonaut

Tubes_Tilt_Problem.blend (415 KB)

if you change the curve to have a “z-up” twisting method, they will line up correctly. but other parts of the curve will be weird and have abrupt visually deforming twists in them. The problem is that the “twist” value you set on the control points is layered on top of the basic twisting method. so if you look at your original curves, the herringbone visualization shows that the large curve is twisted 90° to the curve you are trying to line it up with.


“minimum” twisting method tries to keep the curve from getting distorted by automatically twisting the curve when it “banks”. the manually set twist values are then applied on top of that initial twisting. by changing the twisting method to “z-up” you are ensuring that only the manually set twist values of the control points is being applied to the curve, but that also makes you responsible for manually twisting areas of the curve that “minimum” would make work, like this:


there doesn’t appear to be a way to access the automatic “normal” or “tilt” imposed by the “minimum” twisting method via python, nor do I see a value for it stored in the datablock for the spline. looks like it’s not exposed at all actually… except by looking at the herringbone rotation… this is very unfortunate in my opinion since it doesn’t allow any way to interact with it programatically.

Some stuff with twists in regard to the last example, you can select a line of curve vertices and use “smooth curve tilt” by pressing W to get the specials menu. It’ll automatically blend the selected set of vertices from one angle to the next. However that doesn’t always solve twist alignment in some cases. Yet it’s very handy for doing things like twisted toruses.

If you’re converting curve objects to mesh, I’d also suggest turning on the wireframes for the curves. It shows what the cages are doing in regards to stuff like the U value setting for curve objects, and sometimes helps better visualize differences between “linear”, “cardinal”, “b-spline”, and “ease”. Also keep in mind if using another curve as a bevel object, the edge density of each section (converted to mesh) is controlled by it’s U value. The generic “circle” for curves has four edges, so the U value on that is going to be some multiple of 4. Knowing that number, you can divide 360° by it and know what amounts of twist should align.

Not always super easy though, its more along of “rules of thumb” dealio. Some things it’s still easier to use bridge after converting curves to mesh. (And don’t forget to look at options menu after doing it, edge loop bridging has smoothing and twist that come in handy in those cases.) Curves also have limitations like not taking sharp bends well (radial scaling has no separation of X or Y along a curve’s Z), so things like that also have to be considered if you don’t want pinching in corners.

if you change the curve to have a “z-up” twisting method, they will line up correctly

Great, z-up was missing, now the Tilt values are exact.
I really appreciate your help and in-depth explanation on the twist problem!

Thanks to both of you,
Polygonaut