Rhino 9: SubD feature requests, if you get bored

Forward: I found the ability to scale an edge to be a powerful editing feature, which is invaluable for real-world structures such as wheel well fender edges and window flanges. Also, the ability to rotate Subd edge about a picked point is powerful. Thank you. I suspect that functions such as these do not exist in other SubD editors.

The first request might not be too complicated. Material per face in SubD. SubDs often will distort after being detached; this way, the faces would not have to be detached just because a different material is needed. The SubD vertices and edges remain welded together. : )

The second one is a doozie: ordered Subd intersecting SubD booleans. In other words, you have a box. You draw a cylinder going through it. You select the box, and then the cylinder, and Rhino creates a presentation mesh that shows a box with a cylinder going through it. The trick is: we still have both source objects. Now, can we do three or for in a row. In this method, Rhino SubD as well as NURBS could have tiered/nested/ hierarchical operations–without resorting to a list of text objects, on the right, like SolidWorks does

The metaphore is more akin to the way 2D vector editors such as Corel, Illustrator, and Inkscape handle compound objects. Allowing editing of the parent objects, would give another level of SubD–or NURBS beyond History objects.

Also, this would greatly reduce the amount of backup objects and layers that are needed to make objects that need a complicated workflow to produce.

Thank you for reading this far,
Brenda

Hey Brenda, thanks for this. Have you been following this project?

Daniel Piker has been working on subd “fusions” for a bit now. He’s the resident expert in this tech and can shed light on the work needed to do this.

1 Like

Thank you for the link.

Unfortunately, that does not seem like it will help me cut or boolean SubD’s without affecting the outer/parent surfaces.

With SubD, I can get the car body quite smooth, likely smoother than NURBs, BUT, I can show people what the inside will look like–because there is no way to cut out the windows, so in my rederings, the windows are just pasted on (extruded outlines trimmed with the outside of the body, offset by 1mm.)

With that stated, I like that SubD, will let me grossly reproportion my car body, fitting it to a frame, which hasn’t been built yet, but in order to do that, it cannot have many nodes, because if it does, it will never be smooth.

I have a dashboard and door panel fill done in SubD. I have a car body in SubD (which looks much better than it did), but they cannot be connected without ruining them both. So, looking forward, I would have to convert both to NURBs, which would mean that the proportions of the car must be locked in. : (

No, SubD/Nurbs: I still don’t have the solution I want/need.

1 Like

sadly there is unlikely to be a “trimmed” subd option anytime soon. Converting to NURBS for your trimming needs is the best we can offer atm.

you can with some effort make a whole car from subd as shown here-

it’s a masters class in topology to do so, but it very much can be done.

doing so is a daily occurrence in the video game and film world.

Thank you for the reply.

I am sorry, there is no present way to have a SubD, for example, to have a roof panel controlled only by 3 control points for best smoothness–whilst having two windows cut out the opening just below it.

What I want/need, as few control nodes as possible for a smoother body–and the ability to nodes to constrain and add complexity perpendicular to that smooth roof.

Basically, when you cut holes for the windows–they add splits on the roof, and even of they don’t they mangle the geometry.

In places. I have added 3-node curves for guides, and matched the SubD geometry to them, such as the wheel openings, but also for even the side of the car I have. In other circumstances the wheelwheels would be intersecting geometry. Every once in a while, I need to X/Y snap the wheelwells arches an octagon/hexagon to keep them round, after I mess with them too much.

I am not stating you have you the resources or see the need to do it, but presently, it cannot be accurately worked around.

yep, I understand, and sadly that is a limitation of SubD. There is no such thing as a “trimmed” subd. you’d need to do a hybrid workflow for that.

One option is to project curves that represent your trimmed openings and do all your subd modeling, all the while keeping an eye on your window opening shapes to make sur they look like you want. projecting the curves with history is a great way to iterate as you progress.

then you can simply convert to nurbs and finish up the detailing.

not what you are looking for, but it’s the current state of the toolset

If it were added, would it not be a competitive advantage?

: )

Indeed…but that is an Everest sized mountain to climb.

Trimmed SubD’s is a ghost many have chased and as of yet, none have caught…

“The only true wisdom is in knowing you know nothing.” - Socrates.

@Brenda

It sounds like you need to get into a small amount of Grasshopper scripting.

The problem you are trying to solve sounds like the classic “combining body work with mechanics” while maintaining the ability to adjust and modify the model.

Almost all of my Rhino modelling work involves this type of workflow and honestly adding Grasshopper to the process was a complete revolution.

Earlier this year I did a video using one of @theoutside models showing this workflow:

In your car body case, I would have the body as a subD, and a set of cutters for the window openings, then a GH script that will trim the windows for the final model.

You keep a set of easy to maintain/modify source objects and are still able to show your client the current final design.

Cheers

DK

Or… you can flatten the mountain by adding a history tree panel for boolean operations. Converting the result to nurbs under the hood of course, but leaving the SubD modification options to the user… That have been on of my wishes for a very long time regarding Nurbs too, for sketching etc. Of course if you do destructive modifications the history would break.

Then, imagining this as working with blocks you can choose the object you want to modify and work with that:

It would probably look more like this though, since there can be multiple inputs for both base objects and subtractors:

Or as with nested blocks you can choose to work with a sub object of a sub object:

Down the line I imagine it would be nice to add “fillets” or “intersecting edge softening” or something like that to the new edges, so I guess this needs to be done on the operation level and not on the edge level, since the ID of the edges probably change if you move a subtractor beyound the initial surfaces it interacted with. (hope that makes sense)

And if something goes wrong with the operation it could visually show the chain of error like this:

Basically this could be built upon Grasshoppers features, just packed in a new visual way, limited to what is easy to implement and where the geometry is stored in the file, and the definitions/commands/tools are predefined by the software (Rhino).

1 Like

I was also going to say this. I think the original idea of grasshopper was an extended “record history” which evolved into something else. Addressing the original idea would be very helpful in improving Rhino modeling and even more interactive grasshopper script building experience.

No, I don’t want to do it in Grasshopper.

If we had 3 levels of Subordinate SubD, that would be powerful.

Visually, imagine a box. You put another box into it.

You clock on the first box, and then the second box. The first box subtracted from the first, and the 2nd one become translucent. Perhaps you can edit either, but you cannot edit the Boolean’ed interference edge.

If you could do that one deep–the exterior of a car can meet the interior–and it can be re-proportioned, with adding a bunch of degrading split/seams.

You can edit the 2nd, and it changes the shape of the first.

Thank you for the post.

*Unfortunately, that does not allow the interactivity to do what I want. *

The problem with SubD is: You put an opening in you hull–the shape is lost.

The problem with NURBs is: Once you put an opening in it–you cannot re-proportion your hull. Want an longer hood, or need a wider door opening–oh well.

The car body is a streamline shape with several aerodynamic features, such as integrated downforce wedges that have gone through about twelve generations of OpenFoam testing, ( and several rounds of aesthetic changes since McNeel saw it. )

I want to model the interior to match the exterior, such as you may notice that your dashboard may match the line of your hood. That kind of thing. What I want to work on is unifying the exterior, interior, and door jambs–while preserving the scaling options of SubD. Also, I would rather not give up on Rhino’s ability to interactively.

[Elsewhere, I did an retro-computer case, generated with Grasshopper, with later added NURBs features. I rest of the features needed to be done by hand. It’s not a orthogonal building facade. So, I have two design stages, and if I want to spin a wider case, I need to rebuild half of it.
Making a CoCo 3 'ish Case - Largely in Grasshopper ]

I want NURBs intersection, so the addition of a hole does not cause a complete change of shape.
I want SubD smoothness and the ability to make slight reproportions–without going back though time to retrim everything.

Did you looke at the Isopod from Daniel Piker?

I know is a grasshopper tool but is so intuitive,fast and reliable for solids and booleans that worth a try. (and it make smoot the intersections as well!)