(sweep 2 rail) Modeling Problem/question

Hello Rhino World,

I am following a tutorial on youtube modeling the MX master mouse,

Link: https://www.youtube.com/watch?v=Ea75wxC1qfU

and I have come across a problem when trying to make the bottom surface of the mouse using sweep2rail (40:20 in video).

When I do the same my sweep surface resulted in multiple open polysurfaces and I cannot control the bottom surface as 1 piece. I understand that the result of an extrusion or surface production is linked to the input curve and it’s continuity. The guy in the video used NX CAD(I think) to fillet the adjacent surface before sweeping the bottom surface which result in a much smoother outcome than I got (36:30). Since I don’t have NX CAD, just wonder if there is a work around? Any help would be appreciate, Thanks in advance.


Sweep result

Bottom surface to sweep

Base Curve in blue

(file attached)
forQ.3dm (10.8 MB)

1 Like

Hi Calvin, please post a file with the input curves you used for the sweep.

-Pascal

1 Like

Hi Pascal, here is the original file. It’s a bit messy tho. Thanks

Mouse.3dm (11.6 MB)

1 Like

@Kid
I did not look at your second file. Just extracted the edges of your sweep.
I think it’s because of all the kinks in your larger curve. Once I explode and blend and joined the curves I can get a single surface.

1 Like

Hi Ryan, the second file is just the same but with all the orginal curves. Can I ask which blend command you used? (matchCrv) I did exploded all the curves and joined it but the kinks are still there.

2 Likes

@Kid
Well here it is. But then your surface does not match your mouse.
Screenshot 2023-10-13 125801

1 Like

yeah ideally I would like to keep the surface matching to the mouse body like the video.

1 Like

Thanks, anyways!

2 Likes

Straight ruled surfaces are much more easily made with BlendSrf with the “position” option than Sweep2. Whether or not that approach is really the best way to do this is another matter, I don’t have time to rework this model to make more sense but it’s doubtful.

1 Like

No problem. Sorry I could not help more.
I would recommend changing your file tolerance maybe. 0.001 is pretty tight. :slightly_smiling_face:
Here are some other things I found while I was looking over your model.
All of the pink curves are naked edges. :thinking:




Just messing around.
But I was able to get a pretty good S2 surface with gh (Still a blended curve.). The left surface. I could give it to you if you’d like.


Come to think of it. You know who would love a challenge like this. @lander :slightly_smiling_face:

1 Like

Hi Jim, I have tried BlendSrf as well and it result the same jointed polysurface, thanks for the suggestion tho.

There’s no problem with getting a polysurfaces if that’s what the input requires…that’s going to be the precise result.

1 Like

I pretty much piped those edges, splited them and blendSrf to make those fillet manually, probably why there are naked edges everywhere, would be amazing if you can share the surface and GH definition if that’s alright. Cheers in advance. @Ryan14

2 Likes

Sure thing.
Surface.3dm (10.3 MB)
s2.gh (6.4 KB)

1 Like

Thanks Ryan, I just had a look. That is actually exactly what I need since I want to deform the surface into a double curved surf, so would be good to have continuity on the whole surf. It’s quite interesting that with GH it just comes out with 1 single surf instead. I wonder if it is because I haven’t add enough cross section in rhino. Gonna have a try, btw thanks mate.

2 Likes

Indeed. There’s a few things I’m noticing here upfront per say. It’s all a matter of design intent – the proverbial words I’m probably going to say every day because it’s just the way things are (or rather are they), pun intended.

I’ve circled a few details here where geometry is being propagated throughout the said surface, that manifest from the adjacent geometry:

So a designer must ask themselves, is this how I want the geometry to be propagated? Or is it just a deterministic sequence in an otherwise ‘unrefined’ workflow?

The sharp vertices can be a problem if one is desiring to make a ‘single’ surface, especially when there’s more than ‘one’ sharp vertice within said to be ‘single’ surface.

The adjacent ‘fillets’ aren’t as bad, relatively speaking.

Next I would look at the composition of said curves that comprise said surface.

I would consider their degrees, poly’s, kinks, paired cross sections etc.

Depending on the situation and workflow, a degree 3 surface might be inevitable in certain cases, but I know lot’s of members here really like degree 5 – so all depends on workflow, design intent, etc.

I like doing network surface most of the time. It’s too bad Rhino doesn’t network degree 5 off the bat. Some reason they’re deg-3 :face_holding_back_tears: to my knowledge anyway. So rebuilding them later if ‘netwrksrf’ is used, may be inevitable to alter degrees. Now I’m questioning myself, maybe I’ll have to test this theory… Always, seems like I’m everlastingly scratching the surface of Rhino’s capabilities. I should have converted to Rhino7 much sooner. Maybe I’m stuck in Rhino5 mentality.

I wonder if R8 will be better at netwrksrf’ing…

At any rate, these are the geometric constituent entity locations that catch my eye in the situation I’m perceiving:


These are the locations that catch my attention when considering revising the surface(s) in question.

There’s a couple spots I missed at first, but you get the idea.

Any time there’s a ‘kink’, ‘change in curvature’, or a ‘span’ that’s very ‘acute’ or ‘obtuse’, then possibly there can end up being some ‘trouble’.

It’s possible however, that the design intends things to be this way, and maybe all it needs is some very slight adjustment rather than complete revamp and redesign.

Some members, also really like trimming surfaces all over the place, so I guess that’s something to consider too. :sweat_smile:

My origins with Rhino were solely based on reverse engineering the most highly complex-organic-geometries you can imagine, and I spent most of my time compiling data that had the least number of trimmed surfaces as possible, so that’s why I kinda lean in that direction so much.

Interestingly though, I don’t think ppl realize you can do both if you want, and pick one, or go back n’ forth if you have to. I might try to demonstrate this more and more over time.

@Ryan14 This is interesting. I like the crosswise span alignment. I’m sure there’s room for certain design permutations that allow for the ‘blend’ type versions. Those versions might take more time to ‘close’ up due to possible requisite to revamp some of the current geometries adjacent to the blend.

I’ll try a quick shorter version to start, and then maybe other versions later…

Here’s a first attempt. Without knowing more about the design intent, it’s the quickest thing I’d come up with. Obviously there’s many ‘naked’ edges that should be fixed before moving forward with anything else. And the design intent should probably be revised in doing so.

Mouse_emod.3dm (14.3 MB)

2 Likes

Thanks for the comment, and of course the perspective you are giving, it is very helpful. My goal of modeling has always been aiming to create a close polysurface (solid) as the final product, for rapid prototyping etc. The issues you mentioned here was actually awared, just that my modeling strategy is quite limited so I don’t know how to solve it (The kinks and the shape corners). Originally in the tutorial video they got the other CAD tool for fillet, which result in a much finer outcome. I was thinking to do the same with the surface fillet tool in rhino, but it does not work with 3 touching surface.

So, that’s why I left it out there, for the corners with fillet. I tried to fillet it manually (Image below), first fillet is by using the fillet surface commend and the second fillet is by making a pipe along the long edge first and then splitting everything else and blending all the surfaces finally. I don’t think this is the best way to approve this modeling problem but I can’t think of any other ones for my modeling level now.

Thanks! @lander

Yeah, because of the fact Rhino NURBS are so very incompatible with parametric automation of ‘fillets’, my colleagues and I usually wait basically until the very last steps with any model before we ‘fillet’ them. I’ve even seen this suggested here by some other very experience members. And so I kind of agree to simply wait with any model until nearly the end of any workflow or sequence to then begin to fillet things. Although I don’t really like that type of workflow, so I don’t always follow that rule.

I guess technically I look at every surface the same, regardless, and even ‘fillets’ are just networks of curves – in my mind. So, to me it really boils down to the surface ‘trimmings’ and whether or not I want a well defined edge to be ‘recoverable’ in the sense that if a well defined edge should ever be brought back – after it’s changed by something like a fillet that will trim it back.

Because the way I tend to model is such that surfaces that get trimmed back by things like fillets, may very well end up becoming rebuilt in such a manner that the ‘edge’ that was filleted becomes lost, and sometimes has to be recovered or recreated – usually in order to do revisions before ‘re-filleting’ again lol.

Some users here really don’t like fillets defined by edges, and I suppose I’m beginning to agree with that. It’s always been a pain to manage the edges in order to define fillets.

It’s almost as if the edges always have to be perfectly water tight, and seams have to be perfectly placed, and Rhino still might not be able to fillet.

So, it would be great if Rhino was able to fillet multiple surfaces, natively, that have gaps. Not to mention if Rhino could figure out how to ‘extend’ and ‘retract’ faces adjacent to where fillets are intended – that would be great too.

Ah yes I think they call this the proverbial ‘pipe trim trick’ or something. :sweat_smile:

Sorry for the late reply, but such a provocative perspective, when I first learn rhino I think i saw a video discussion this issue as well that rhino is really bad at filleting surface so ideally a surface should be fillet when it becomes a close polysurface (solid). Which is more robust compare to filleting them in an open form. Will definitely keep that in mind in the future as well. Thanks for the perspective again!

1 Like

Well, it’s debatable. There’s a script or two floating around that proves this doesn’t have to be the case. But the developers are still fixated on ‘edges’ driving fillets, so…

‘Edges’ should be irrelevant. ‘Faces’ should be the focus. But Rhino is so bad at dealing with edges, that it is then terrible at fillets.

Edges should be free to be whatever they need to be (open/closed/split/trimmed/extended etc), in order for the fillet to be what it needs to be. The ‘faces’ should drive it, not the ‘edges’.