Sweep1 with rail as nurbs curve

I was having difficulty creating a sweep where the curve used as a rail was a nurb.
There was no error, but the sweep1 simply did not do anything.

I then used the convert command on the nurb curve and then when I used the sweep1 it did give me a result.

Is this just a limit of the sweep1 command, or is it because my profile was a polyline and not a nurbs curve itself - so this was because of a mismatch?(both profile and rail have to be the same type).
I probably could have tested this by creating a nurbs curve profile. But I’m more interested ‘academically’ why a nurbs curve can’t be used as a rail.

Is there another command that can create a sweep1 result using a nurbs curve as the ‘guide’?

Sweep Rail.3dm (83.6 KB)

Hello- that seems to have worked as expected here:

-Pascal

1 Like

How do you know it was a nurb?

Did the button click sequence cause this?

Converting it from what to what?

What result?

Sounds more like a failure of sequence, and maybe misinterpretation of geometric compositions.

I’m still not clear what Rhino thinks is a nurb, or if any Rhino lines or curves or polies, no matter degree from 1 to 11 ever aren’t nurb, cause I think Rhino’s curves are all nurbs … :man_shrugging:t4:

Or is it polycurve? Or what’s it called when you have polylines joined with polycurves? :thinking: :thought_balloon:

Not to mention degree 1’s joined with degree 2’s etc.

I don’t see an issue with these combinations giving Rhino any trouble, I think probably the issue is the sequence of command initiation to button clicks, including entity selection order to command initiation to button clicks and visa versa.

I’m like 97% sure they’re all nurbs curves/lines, but I’m interested ‘academically’ too if I’m wrong.

I’m personally not a fan of ‘sweep’ commands. Generally I would create more curves and probably extrude straight stuff and network other stuff.

Sweeping usually, imo, is a shortcut approach, and I’m not a fan of skipping steps.

But when I sweep1 your geometry, I get same easy result looks like @pascal got…


Although, it looks kinda dirty like things are intersecting or something :face_with_monocle: :thinking::thought_balloon:

Yeah not good…


This is a good example though, of why I’m not a fan of sweeping…
Sweeping is like cheating, and cheating gets bad results – imo.

You might have to sweep part of the profile instead of the whole thing to get slightly better results, then use other methods to create those other surfaces that get all twisted from cheating :smile:

Too bad Rhino doesn’t automatically trim stuff that’s all folded on itself :sweat_smile:

Yeah, ‘sweep1’ needs some work:


Where’s that ‘real’ AI when u need it…

So you can see here, when you don’t create all the geometry manually, and you expect Rhino to figure it out automatically, Rhino doesn’t know how to match your profile curves around your rail in a manner where the profile curves have to change shape to follow your rail or vice versa:

To get better results, you’ll need to explicate what the full and concise design intent will be, otherwise you’ll just end up with these random anomalies that manifest deterministically from the nature of Rhino happenstances.

Hi Pascal. Yes it works with the nurbs curve converted. Judging by your image you tried it with the second layer where the curve was converted.( I don’t see the control points ‘offset’ from the curve itself, like it is in the first layer).

I was just curios as to why a nurbs curve can’t be used as a rail.

I see - I would not Convert here I would SimplifyCrv… Nurbs curves can be used as rails, just, for some reason, not this one. I’ll see if I can see why.

-Pascal

What’s a nurbs curve/line and what’s not a nurbs curve/line …

“How do you know it was a nurb?”

Properties Tab > Details > Object Description > Geometry > Curve Segments are described as Open Nurbs

“Did the button click sequence cause this?”

No

“Converting it from what to what?”

Convert command automatically converts the line to more segments and removing the nurb references described in ‘details’.

What result?

A sweeped profile.

“But when I sweep1 your geometry, I get same easy result looks like @pascal got…”

Same here, but only with the second layer that has the rail curve already converted. Can’t get that with the first layer.

“You might have to sweep part of the profile instead of the whole thing to get slightly better results”

I wasn’t concerned about the results, as I was just starting to work out a plan to overcome the limitations of the fillet commands. I was curious about the curve not being able to be used as a rail.

1 Like

I was trying the ‘list’ command, you have a good point here, I’ll have to look at the object details more closely.

I’ll have to check out that layer :beers:

In Rhino the initial ‘Type’ is called the same - if they are both open the type is called “Open Curve”.
However, if you go into details, and one of the curves was drawn with the “Handle Curve” command - in the details section it will list it as a Nurbs.
However, if the other line is drawn with the “Polyline” command - there is no reference to the line being a nurbs. Which makes sense.
In other programs its the same, except the descriptions go straight to their difference, i.e. they don’t have a initial same Type like “open curve”.
One will be called a polyline and the others their respective types - nurbs, bezier, splines.

1 Like

So ‘arcs’ aren’t “nurbs” ? :thinking: :thought_balloon:

I’m still having a hard time wrapping my brain around that though…

ok this might help me, so are ‘arcs’ “beziers”? and ‘polylines’ and ‘polycurves’ confuse me lol

seems like they can all get joined together, and that’s confusing too…

It depends on how it is constructed.
Think of it in terms of a similar analogy to 2D applications where you can have your graphics being raster or vector.
A polyline is ‘always’ a straight line(linear from point to point). If those straight line segments are small enough and numerous enough you can get the result in which it appears to be a curve.

However, I don’t think in Rhino it’s done this way. Except(as far as a I know) arcs are going to be a nurb,bezier or spline - all three being derived from a formula(vector like but in 3d). Though to get it visualized (dots on your monitor screen) it has to go through some conversion that is akin to being converted to a series of polygons (yet it remains as nurbs/bezier/spline information in your file, because that’s how you created it).

However, even with a nurbs, bezier or spline you can get as a result a straight line that looks like a polygon line and that’s why you have to look at details information to know for sure what you have. One having been drawn with a formula, the other not(‘linearly’ connected start/end points).

I’m saying all this from my limited use of Rhino…these differences are more easily seen in programs I am more familiar with like Houdini.
But because Rhino is more robust in terms of working between polyline/polygon/mesh space and Nurbs/Bezier/Spline space - Rhino has a number of tools and procedures unique to Rhino in working with and between these domains. And that I don’t have in depth capacity to explain what Rhino is doing in many cases.

1 Like

For polylines or polygons it is calculated differently:

1 Like

Hmmm, interesting :thinking: :thought_balloon: I appreciate your insight. Yeah, Rhino seems like a multi-fluent program that leads me to believe everything is nurbs, but I guess that’s my mistake, so I need to learn more about nurbs still :sweat_smile:

So, I tried that first layer and yes the sweep1 looks to be failing…


weird… :face_with_monocle: :thinking: :thought_balloon:

Yes, Rhinos nomenclature can be confusing.(To me at times).

Because Rhino will call a series of nurb curves joined as a ‘polycurve’.
But it isn’t comprised of any type of true ‘Polyline’ - it’s a ‘nurbs’ based geometry.
To me, in my opinion, that’s a ‘bad’ choice of terminology.

When I come across such naming instances like that I wonder what other parts of the program where they using naming conventions like mesh vs. polygons vs. nurbs surface, etc.

In other programs the distinctions are more clear.
But again as I mentioned before, I think it might just be the result of having an extensive interoperability between the different ‘domains’.

1 Like

Hello- polycurves in Rhino are joined curves - regardless of the types of curves that go into the polycurves -they can be a mix of arcs, lines, nurbs curves, polyline curves.

-Pascal

1 Like

Yes, but using the word ‘poly’ makes it confusing since from a mathematical point of view, if it has a nurb, bezier or spline it is not a polyline.

I just think a different naming convention could have been used.

1 Like

Well, I don’t know that mathematics has to come into it - ‘poly’ is a useful and easily understood prefix. Lots of words use it, they do not feel like they are stepping on anyone’s toes, I am pretty sure.

-Pascal

1 Like

It does if you want to understand what your dealing with.
If one is only ever working in Rhino - then perhaps not. In such a case you just get to know what is what and how that relates to all other parts of the program.

If however you use other programs and work between them, you need to understand what is under the hood to a certain degree in order to make better decisions for your output.

It also helps troubleshoot issues.
Like in this case of my original post which clearly shows the ‘polycurve’ (which has nurb segments) cannot be used by the sweep1 command. Yet the ‘polycurve’ which has been converted (which is not clear by the details description other than implying it no longer has nurbs), can be used by the sweep1 command.

" ‘poly’ is a useful and easily understood prefix. Lots of words use it,"

But we are working in the domain of computer graphics and the only time poly is used is for polygons and polylines. There’s a natural implied relationship.

I know it’s been like this in Rhino since it’s inception( I’m pretty sure ), and nothing can be changed about that - Just making an observational comment.

1 Like