Community
Fusion Support
Report issues, bugs, and or unexpected behaviors you’re seeing. Share Fusion (formerly Fusion 360) issues here and get support from the community as well as the Fusion team.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Hidden level of control in Forms / unexplicable behavior

21 REPLIES 21
SOLVED
Reply
Message 1 of 22
oprcmr00
1030 Views, 21 Replies

Hidden level of control in Forms / unexplicable behavior

Hello, I was exercizing in wrapping t-splines around a human torso, when I encountered a type of behavior which leaves me clueless. Pictures explain better than words, but briefly: there is an untreatable distorsion in the smooth mode geometry of the torso, which isn't explained by either box mode, "solo" vertices, t or star points, tangency handles, creases, or whatever else that I know of.

 

→ So I "unwrapped" and straightened the torso using edit form, flatten, straighten and deleting a few peripheral faces. Astonishingly the defect was still there in no less magnitude. The result you can see in the two flat bodies at the left of the torso (one in smooth mode, showing the unexplained perturbations, and the other in box mode).

 

Now I know it can be fixed by "make uniform", which does in fact fix it, but "make uniform" is a global operation which sometimes the user would want to replace with more manual or specific means to address a local problem... which in this case I don't even know how to make sense of!

 

There appears to be a further, hidden level of control that the T-spline mathematical model is using to alter the shape of that geometry, which is barred from visualization or edit by the user. I could find no information anywhere. May I have a hint on what could it be that is affecting the geometry in this way?

 

Screenshot 2024-04-23 225455.jpg Screenshot 2024-04-23 225550.jpg

21 REPLIES 21
Message 2 of 22
oprcmr00
in reply to: oprcmr00

I could reduce the problem to this:

(note that the two t-spline surfaces are totally flat)

Is it a bug?

Screenshot 2024-04-24 000247.jpg

 

Message 3 of 22
adam.helps
in reply to: oprcmr00

I guess you could call it a feature? This is a behavior inherited from NURBS surfaces; there is a hidden parameter on each edge of the T-spline surface. You can think of it as a “tension” parameter. If you dig up the old SIGGRAPH papers, you’ll find this parameter called a “knot interval.” You do have one very crude tool for manipulating it: the “make uniform” command can be used to make the tension as even as possible.

This tension parameter is required to make T-points work. All faces are required to have equal amounts of tensions on both sides. This tension parameter is also connected to how tangency handles work.

I think providing a little more control over the tension of the surface could be useful, but it’s not obvious what the best way to do it is. I’ve been able to enter numeric tension values with debugging tools for years, but everyone who’s seen that just found it confusing. Anyway, yes, there is indeed a hidden parameter, and user control of it is pretty coarse. Subdivision modelers always have uniform tension everywhere (and no T-points), so this is a unique T-spline thing. Suggestions are welcome.

 

Message 4 of 22
glenn-chun
in reply to: oprcmr00

Here's an example of knot intervals in NURBS curve. Knot intervals are denoted by a, b, c, d, and e in the diagrams below. If you imagine extruding this NURBS curve, the control vertices (1, 2, 3, and 4) would become T-spline edges in Box display mode and the points on the curve (1', 2', 3', and 4') would become T-spline isocurves in Smooth display mode. TH in the diagram stands for tangent handle.

When the knot intervals are uniform, you can see that 1 and 1' (as well as 3 and 3') are very close to each other.

uniform.png

To make a non-uniform curve, let's make the knot intervals b and c smaller. You can see that 1 and 1' (as well as 3 and 3') get far away from each other. If you imagine extruding this NURBS curve again, the T-spline edges from 1, 2, and 3 in Box display mode stay the same as those in the uniform case above, but the T-spline isocurves from 1', 2', and 3' in Smooth display mode get closer to each other.

non_uniform.png
Visit https://ciechanow.ski/curves-and-surfaces/, search for interior knots, and you'll see the NURBS curve that I played with.


Here's another example, using a 4x1 plane in Fusion:

box_vs_smooth.png

Hope this helps,
Glenn



Glenn Chun
Sr. Principal Engineer
Message 5 of 22
oprcmr00
in reply to: oprcmr00

Thank you (for the diverse and integrative answers).

 

Is there a way to avoid making the knot intervals "grossly" disuniform, during the design process?

 

A related question would be: "how was this image generated?" (pointing to the one right below).

Screenshot 2024-04-24 155120.png

Message 6 of 22
TrippyLighting
in reply to: oprcmr00

One way of avoiding such situations is to NOT model with applied greases. Tis is where I see problems most often here on the forum!

If you need creases, apply them at the end of the modeling process. 


EESignature

Message 7 of 22
oprcmr00
in reply to: TrippyLighting

I can tell for sure that this time there were no creasing operations done. I just experimented with the mesh topology: creating faces, repositioning or deleting them, filling holes, merging flows, point and edge insertions, welding, bridging, converting t-points to star points and vice-versa, going back if something was not working. A normal design workflow.

The result was a model ridden with unmanageable tension-factors which only a global operation could solve.

 

What I could understand from my experiments is that each edge appears to posses two tension factors: one for each neighboring edge. The pull towards the neighboring edges is asymmetrical, if an edge is loaded with a high value of this parameter it's usually pulling only one side to itself.

 

Normally these factors would be zero or near zero but sometimes they verge so much from box mode, in an unfixable way, that it's hard to think of this as a feature (instead of a defect / liability).

 

In the following months I'm going to spend most days wrapping orthopedic prostethic "ideas" of various kind around anatomical parts → what I'm looking after, based on the experiments I did, is to have to hit the "make uniform" command every 5-10 minutes because the geometry of the t-spline model increasingly accumulates untreatable tensions that regularly need to be released.

 

But is this necessary?

 

What about a "make uniform" applied to a local set of objects, such as a selection of edges? Perhaps with a weight slider. Or add to Edit Form a new visualization mode where "tension factor" handles (or arrows) become visible, and editable / resettable.

 

Screenshot 2024-04-24 193201.jpg

Message 8 of 22
TrippyLighting
in reply to: oprcmr00


@oprcmr00 wrote:

I can tell for sure that this time there were no creasing operations done.

 


I did not mean to indicate that you did. It's simply where I see this most often in models here on the forum.

As you have discovered, this can also happen during modeling.

 


@oprcmr00 wrote:

...

 

In the following months I'm going to spend most days wrapping orthopedic prostethic "ideas" of various kind around anatomical parts


How do you intend to "wrap" those ? Are you working based on 3D scans?

 


EESignature

Message 9 of 22
oprcmr00
in reply to: TrippyLighting


@TrippyLighting wrote:


How do you intend to "wrap" those ? Are you working based on 3D scans?

 


Manually. Yes, at the very end of the journey 3d scans will be the start of the workflow, but the mesh models will need to be edited (in a seeming caricatural way) to represent a "healthy state" of the bone structure of the subject. Around these edited models are wrapped around various kinds of new/experimental prosthetics, which are then put to test with large-format 3d printers. To edit these models I found that free-form mathematical surfaces such as t-splines could be used effectively as they allow macro-operations on the model (still exploring other surface representations).

All manual work, no algorithm or automation.

Message 10 of 22
adam.helps
in reply to: oprcmr00

Thank you for the thoughts. I agree that the behavior isn't very helpful right now. I think that most of your non-uniformity is created when edges are deleted (merging two short edges into a long one) or when an edge is added (splitting a long edge into two short ones). The tension factors get summed or split when you do these kinds of operations. This can be quite unhelpful in some circumstances, especially since the parameter is invisible. Regarding your theory--the edges really only have one tension factor, but tension factors are entirely relative. If I double the tension over the whole surface then the surface shape stays exactly the same. The only thing that matters is the relative tension between adjacent edges, which is probably why it feels like there are two tension factors. The width of a given edge is computed by analyzing the ratio between its tension and the tension factors to its left and right.

 

One possibility is to make the behavior more subd-like when it can be--for example, if you're adding a full ring of edges and don't need to preserve the surface shape then there's not a strong reason to split the tension factor (we do need to split it when you are creating a T-junction--or, alternately, double everything else). Similarly, if you're deleting a full ring of edges, we could average the tensions rather than summing them together.

 

Having make-uniform apply only to individual strips of surfaces, rather than the entire surface, also makes sense to me (and could potentially be a useful surfacing tool if you have more control than just 'uniform'). Editing the tension factor on individual edges doesn't make sense (because of the requirement that faces have consistent tension factors), but it could be editable for entire face rings at the same time. This would be much more precise then forcing uniformity on the whole surface at once.

 

I'll pass some ideas around and see what turns up.

Message 11 of 22
TrippyLighting
in reply to: oprcmr00


@oprcmr00 wrote:

...

 

All manual work, no algorithm or automation.


Yes, in Fusion 😉

Have you looked into Sub-D modeling software?


EESignature

Message 12 of 22
oprcmr00
in reply to: TrippyLighting



Yes, in Fusion 😉

Have you looked into Sub-D modeling software?


I've tested briefly both Rhino and Blender, which both seem to have a much steeper learning curve (and less enjoyable experience). Do you think Sub-D would better fit the purpose (of working with anatomical models)?

Message 13 of 22
TrippyLighting
in reply to: oprcmr00

Rhino has Sub-D tools but is mostly a non-parametric surface modeling software.

Blender is a Sub-D modeling package with a very powerful modifier stack and a geometry-node system, which allow procedural and parametric modeling with quad meshes.

 

Whether or not this is useful for you situation is not clear to me yet, but I would definitely check out Blender. A good way to do that are the talks that are given at the yearly Blender conference. Some of those also cover scientific and medical applications. They are recorded and most are available on YouTube.

Years ago I helped a small startup develop workflows to create custom leg braces. The organic parts that needed to fit closely to the knee's 3D scan were done in Blender and with the help of the modifier stack and the shrink-wrap modifier (amongst other modifiers) . The result was a quad-mesh that closely fit the patient.
That quad-mesh was then imported as a .obj into Fusion where all the mechanical bits- and pieces were added.

 

I am not sure if they ended up using the workflows for production, but it was definitely an eyeopener for them, what can be achieved if one doesn't limit oneself to only one application 😉

 


EESignature

Message 14 of 22
oprcmr00
in reply to: adam.helps


@adam.helps wrote:

I think that most of your non-uniformity is created when edges are deleted (merging two short edges into a long one) or when an edge is added (splitting a long edge into two short ones). The tension factors get summed or split when you do these kinds of operations.


I don't fully understand what you are saying here, and it would perhaps require more practice, but I got the rest. Thank you again.

Message 15 of 22
oprcmr00
in reply to: TrippyLighting

 


@TrippyLighting wrote:

Rhino has Sub-D tools but is mostly a non-parametric surface modeling software.

Blender is a Sub-D modeling package with a very powerful modifier stack and a geometry-node system, which allow procedural and parametric modeling with quad meshes.

 

Whether or not this is useful for you situation is not clear to me yet, but I would definitely check out Blender. A good way to do that are the talks that are given at the yearly Blender conference. Some of those also cover scientific and medical applications. They are recorded and most are available on YouTube.

Years ago I helped a small startup develop workflows to create custom leg braces. The organic parts that needed to fit closely to the knee's 3D scan were done in Blender and with the help of the modifier stack and the shrink-wrap modifier (amongst other modifiers) . The result was a quad-mesh that closely fit the patient.
That quad-mesh was then imported as a .obj into Fusion where all the mechanical bits- and pieces were added.

 

I am not sure if they ended up using the workflows for production, but it was definitely an eyeopener for them, what can be achieved if one doesn't limit oneself to only one application 😉

 


As much as I can take I take from this rare occurrence.

It was a pretty arduous job to source, super-size and make work from open designs a pair of multi-material 3D printers: took 1.5 years. It took a shorter while to be proficient with Fusion. What I was really *not* looking for at this (relatively) advanced stage, is Blender conferences on youtube. LOL, I'm fed. I'd rather maximize the potential of my traditional workflow for the moment and start by pulling absolutely everything that can be pulled out of T-splines inside the integrated Fusion environment.

Though thank you for your thoughts which will be taken in serious consideration for the future.

 

Concerning Rhino, would you consider that you might be downplaying its capabilities when confronted against Blender? Not assuming, just asking, as Rhino too seems to be a decently monstrous program with the possibility of automated workflows. The matter is simply that while Rhino shares similarities with Fusion (and other CAD programs) in terms of UI and functions, Blender feels completely foreign.

Message 16 of 22
glenn-chun
in reply to: oprcmr00


@oprcmr00 wrote:

@adam.helps wrote:

I think that most of your non-uniformity is created when edges are deleted (merging two short edges into a long one) or when an edge is added (splitting a long edge into two short ones). The tension factors get summed or split when you do these kinds of operations.


I don't fully understand what you are saying here, and it would perhaps require more practice, but I got the rest. Thank you again.



@oprcmr00 Let me try to illustrate what @adam.helps meant above.

See the left-hand side of the picture below regarding "non-uniformity is created when edges are deleted (merging two short edges into a long one)". E5 is deleted when E4 and E5 are merged into a long E4. The knot interval for E4 is changed from 1 to 2.

See the right-hand side of the picture below regarding "or when an edge is added (splitting a long edge into two short ones)". A new edge E53 is added when a long E4 is split into two short edges (E4 and  E53). The knot internal for E4 is changed from 1 to 0.5. The knot interval for the new edge E53 is also 0.5. Insert Point operation would show a similar behavior. All surfaces below are displayed in Smooth Display Mode.

merge_split_edge.png

@oprcmr00 Regarding your question "how was this image generated?", I used our internal app for T-spline developers to change the knot intervals. It's technically pretty easy on the backend of T-spline library, but would require a fair amount of UI work on the Fusion side. As @adam.helps mentioned above, we will "pass some ideas around and see what turns up."

Hope that helps,

Glenn



Glenn Chun
Sr. Principal Engineer
Message 17 of 22
TrippyLighting
in reply to: oprcmr00


@oprcmr00 wrote:

 


...

Concerning Rhino, would you consider that you might be downplaying its capabilities when confronted against Blender? Not assuming, just asking, as Rhino too seems to be a decently monstrous program with the possibility of automated workflows. 


No, because traditionally they both address a very different clientele and industry. Rhino is a very powerful NURBS surface modeling program and has a vast tool set that I don't ever see Fusion even getting close to. 

Before T-Splines were acquired by Autodesk, there was  a powerful T-Spline plugin available for Rhino. After acquiring T-Splines, it took Autodesk many years to match the functionality of that plugin. 

Without that plugin Rhino had to develop their own Sub-D modeling tools. 

Rhinos "automated" workflows are procedural workflows introduced with Grasshopper. As it pertains to Fusion the procedural modeling train has completely left the station. 

For the most part Rhino creates NURBS geometry.

 

Blender is a polygon and Sub-D modeling software and cannot directly create CAD/NURBS geometry. Blenders modifier stack and particularly the geometry nodes offer very powerful procedural and thus parametric modeling workflows with (quad) meshes. 

 

I mentioned "traditionally" above. The line gets increasingly blurry. There are quite a number of software tools that allow quad-mesh input and can create a NURBS surface from it. I often model something in Blender and then transfer it over to Fusion. Certain things in Fusion I find actually better than in Blender. The Symmetry tools in Fusion are super nice!

 

Edit:

I want to add that while it sometimes sounds like I am bashing Fusion and T-Splines , I am not! The T-Spline functionality in Fusion is aimed at product design and not character modeling and animation , which is Blenders core functionality.  In the right hands, T-Splines can create beautiful, curvature continuous surfaces.

 

 


EESignature

Message 18 of 22
oprcmr00
in reply to: oprcmr00

Thank you. I'm flattened by the support staff here.

 

The quickest thing (literally lightning) - i promise i'm leaving!!! :

 

Why while I'm pulling the side edge in smooth mode (circled in blue), the point of application of the pull vector is located on the green "phantom" edge, instead of, like intuitively one would think it should be, on the blue edge which I am actually pulling?

 

(note that i added the two internal-most edges to freeze the center edge for better visualization of the effect)

Screenshot 2024-04-25 200921.jpgScreenshot 2024-04-25 205615.jpgScreenshot 2024-04-25 205757.jpg

Message 19 of 22
TrippyLighting
in reply to: oprcmr00

It would help :

 

1. If you would not us the quick-reply function at the bottom of the thread as it looks like you are replying to yourself. If you use the reply button under a specific post, your are replying to the author of that post.

 

2. If you can create a screencast of how you create the object (I use OBS) and also attach the model in 'f3d format, that always helps. 


EESignature

Message 20 of 22
adam.helps
in reply to: oprcmr00

It's a variation of the same thing. You have a highly non-uniform (mismatched tensions) surface. The closer you get to "maximum tension" (knot interval = 0), the more the point behaves like a tangency handle. When the interval hits zero, it is a tangency handle. Tangency handles are really just regular points--they aren't a special case in the math--but they have no control over the surface position and full control over the surface tangency at their "home position."

 

I'm not sure if that explanation is clear, but it is what I see in your picture. You have a surface point that is so non-uniform that it's nearly a tangency handle. It doesn't have a lot of control over the surface at its isocurve, but it does have a strong influence on the direction of the surface flow further out.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report