Single or multi-span surface?

Single or multi-span surface?

Anonymous
Not applicable
2,835 Views
5 Replies
Message 1 of 6

Single or multi-span surface?

Anonymous
Not applicable

Hi friends,

One of Alias golden rule is that it's recommended to use single span curvatures and surfaces. In some of Alias's key tools like "Round" or "Fillet Surface" this rule is broken automatically. In many cases these commands results in 100 span and 5 degrees. I manually decrease the span to 1 but it loses its shape and I need to use at least 4 or 5 spans (for example in fillet surface command I used 6 degree and 4 spans while it produced 5 degrees and 100 spans automatically before I change it). my question is:

1) what are spans actually?

2) Why do some commands result in very high spans while it's recommended to use single span to have smooth and class-A surfaces? 

0 Likes
Accepted solutions (1)
2,836 Views
5 Replies
Replies (5)
Message 2 of 6

rauscht
Autodesk
Autodesk
Accepted solution

Greetings, my friend!

 

let me try to give some quick answer to your questions

 

(1) What are spans actually?

 

There are many ways to think of spans, probably the most intuitive way is to see them as pieces of a spline. Which of course brings up the question what a spline is.

 

Start the journey with a (for the sake of simplicity planar) Bezier curve of a certain degree, let's say 3. As you know, such a curve has 4 (degree + 1) control vertices (CVs); their position will control the geometry of the curve. As you make the intended shape of your curve more complicated, sometimes you will find the number of available CV just not enough to achieve the target shape. In our example of a planar degree 3 curve, imagine the situation you want to model a curve having two inflection points: simply impossible! Or given a list of some points in the plane which you want to approximate by a curve of a certain degree (maybe again 3), and the maximal distance from any point to the yielded curve should meet some tolerance value: in general not possible at all!

 

Basically, there is one solution to proceed in such case: allow more freedom in controlling the curve shape. In other words: add more CVs to your curve. This can be done in two ways:

  • Raise the allowed degree of the curve
  • Divide the problem into several local problems, i.e. model/compute the global curve shape by several sub-curves (all having the requested degree, e.g. 3) and stitch the sub-curves together to yield the global curve
  • (Of course you might choose to follow a hybrid strategy by doing both)

Raising the degree has its limitations as (a) do not want to deal with theoretically "infinite" degree and (b) changing one CV of a Bezier curve will change the whole shape of the curve. So leave that idea aside for this discussion.

 

The "divide" strategy yields into another curve type which is called Spline. The sub-curves of a Spline are called spans (or sometimes segments). There is a lot more worth to discuss in the field of Splines (like parametrization) but this would be beyond the scope of your question I suppose. One interesting "detail" however is the question about the continuity at the seam points (where two spans meet). Typically, one want to achieve maximal continuity. Each Bezier curve (as a polynomial curve) is C^infinity. But how about two connected Bezier curves, sharing the same degree d? The maximal achievable continuity at the seam point for the general case is C^(d-1)  (or G^(d-1) if you do not care about parametrization).

 

Theoretically there is more than one way to represent splines. One way would be to represent each of the sub-curve as a Bezier curve. There are many drawbacks with that approach, so nobody is using this. The most common way is to use NURBS curves. That's what Alias is using too.

 

As expected, NURBS allow local control, i.e. changing one CV will not impact the whole shape of the Spline but only some spans. Unless explicitly requested, all NURBS generated by Alias' tools have maximal continuity (i.e C^(d-1)) at their span borders, and NURBS (by design) maintain this continuity no matter how you modify their CVs.

 

No advantage without disadvantage(-s), and this applies here too. Some say that using NURBS CVs is less intuitive compared to the usage of Bezier CVs. I guess this fact is the main driver behind that golden rule "go with span 1 = Bezier curves as long as possible'. Also, your manually created curves and surfaces should be as simple as possible (i.e. should have as less as possible CVs) since (a) a high number of CVs increases the risks of doing something wrong accidently (b) downstream operations (like fillet) which really need to deal with a high number CVs will produce even heavier results if the input NURBS are already heavy weights.

 

(2)  Why do some commands result in very high spans (...)?

 

Basically, because they need to!

 

As described above, some tasks (and fillet and round tool definitely fall into that category) simply need more freedom in control = CVs to become achievable at all. Adding more spans is the way to go, unless you want to loose the intended shape (you already described that in your post).

 

Hth - even though I failed to give a "quick answer" as I just noticed Smiley Wink

Thomas



Thomas Rausch

Software Development Manager
Message 3 of 6

systembolaget
Collaborator
Collaborator

"If I had more time, I would have written a shorter letter"

 

Blaise Pascal

 

; )

Message 4 of 6

Anonymous
Not applicable

Great answer, thank you.

I have two little questions:

1- in some tools like fillet surface, I encounter with a warning message saying "the maximum spans achieved. See the construction options". (I cannot remmember the exact message text but it was like the text I wrote". Why this message is shown and how to avoid that? (It produces 100 spans)

2- If you encountered with 100 spans and 5 degrees after filleting a surface or using any other too which produces lots of spans, what would you do? Would you decrease that spans amount manually after the creation? 

0 Likes
Message 5 of 6

Anonymous
Not applicable

Great answer, thank you.

I have two little questions:

1- in some tools like fillet surface, I encounter with a warning message saying "the maximum spans reached. See the construction options". (I cannot remmember the exact message text but it was like the text I wrote).  Why is this message shown and how to avoid that? (It produces 100 spans)

2- If you encountered with 100 spans and 5 degrees after filleting a surface or using any other tool which produces lots of spans, what would you do? Would you decrease that spans amount manually after the creation? 

0 Likes
Message 6 of 6

rauscht
Autodesk
Autodesk

Hi,

 

(1) Alias has a general hard limit of 100 spans per surface. The warning you have seen is saying that this limit has been reached while not all of your requirement / construction options has been reached yet.

 

Basically, there is no general rule or recipe how to deal with those situations. Except maybe to re-think what you want to achieve. Let's take the fillet as an example

* What section continuity do you need (going down from let's say G^2 to G^1 will reduce the complexity)

* Check your Flow Control settings (making the fillet edge aligned at start and end sometimes reduces the complexity)

* Play with the "Tangent Offset" / "Center Radius" option

* ...

 

Also (and maybe this is the best advice) it is always a good idea to keep the input surfaces (for the fillet) as simple as possible, i.e. low degree (3) and avoid multi-spans specifically in length direction of the fillet. If there is no way to avoid multi-spans try to keep them aligned to each other, e.g two spans for both surfaces.

 

(2) Probably there is no need to decrease the number of spans artificially. The reason is that fillets are typically introduced once your model is almost complete. In other words: fillets are typically not used as input for further tools or operations.

 

If we are looking at the exception to that rule (where you intend to use fillet surface for further modeling), reducing the number of used spans might be the way to go. It all depends on what you want to achieve, how the fillet surface should look like and should behave in the context of adjacent surfaces (continuity properties might be the key here).

 

Cheers

Thomas



Thomas Rausch

Software Development Manager