Subd For Rhino 7: Warning

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

SubD for Rhino 7 

 
Contents 
● Warning
● Rhino SubD Vision
● Rhino 6
● Your input is needed
● Rhino SubD Sample Models
● Rhino WIP Status
○ SubD testing commands
■ SubDFromMesh
■ SubDivide
■ ToNurbs
○ What works now
PointsOn, Gumball, subobject delete, transformations, mesh file export, ...
○ Coming in Rhino WIP and Rhino 7
Conversion to NURBS, more test commands, ...
● Terminology

Warning 
This is ​early work ​that is available in Rhino 7 WIP. Rhino 7 WIP is available to everyone with a
Rhino 6 license. A ​limited ​set of Rhino SubD test commands is available in Rhino 6.

Rhino SubD is​ a new object, new technology, and new user experience​​. We are currently
working on the core geometry technology. The user experience work will begin in earnest in
May 2018 and will go through many revisions and changes as we get feedback from users.

Rhino SubD Vision 


Rhino SubD objects are high-precision spline surfaces. They can have creases, sharp or
smooth corners, and holes. The Rhino SubD object is designed to quickly model and edit
complex organic shapes.

Unlike traditional mesh-based SubD implementations, Rhino SubD objects are NOT a
subdivided mesh object.
The Rhino SubD user experience will be the same as Rhino NURBS and mesh object
experience. There will also be new SubD modeling and editing tools based on traditional
techniques.

Rhino SubD surfaces are predictable, measurable, and manufacturable. They can be converted
to either high quality NURBS or mesh (quads or triangles) objects when needed.

Rhino SubD objects will be supported in all Rhino export formats that support either meshes or
NURBS including IGES, STEP, OBJ, and STL.

Rhino 6 
Rhino SubD is evolving and is delivered in small parts. If a feature is in Rhino 6, then it is
marked with ​ 6 ​, below. Everything else will appear in Rhino 7 WIP and, eventually, in Rhino 7.

Your input is needed 


The discussion, design, and production of the Rhino SubD experience will involve lots of people.
Please share your ideas, hopes, and feedback in an appropriate location so everyone who
cares can see what is going on.

● The ​McNeel Discourse Serengeti discussion​ is a good place to post ideas, comments,
and suggestions for general discussion. Put Rhino SubD (no hyphen) in the topic
description of new posts.

● The ​Rhino SubD Google Docs Folder​ can be searched and read by anybody in the world
using Google Docs.

Thank you to our loyal users for your interest and support in this project. We hope we can meet
a fraction of your high expectations. You input is critical to our success - please tell us what you
need from Rhino SubD.

Rhino SubD Sample Models 


You must use Rhino WIP or Rhino 6 to open these files.
● Rhino SubD Logo.3dm

● Rhino SubD Example Files

Rhino WIP Status 


SubD Testing Commands 
6 ​ ​SubDFromMesh test command 
 
In Rhino 6 you must type the entire command name; it does not autocomplete and is not in
menus or toolbars. In Rhino WIP, command prompt autocomplete works.

The SubDFromMesh command creates a Rhino SubD from an ordinary mesh object. The input
mesh can include triangles, quads, or ngons. If you have a choice of input meshes, then use the
one with the most quads.

The primary purpose is to test the Rhino SubD core evaluation code in Rhino WIP. It is unlikely
to be a major tool when Rhino SubD is released with Rhino 7.

It is not stable. The way the command works changes on a daily basis.
Do not assume this command will exist from week-to-week.
Do not rely on it for anything that involves getting anything important done or delivering any
important projects to customers.

Options:
● The ​C​reases=Yes/No​ option determines how input mesh edges are treated. If
Creases=No, then all interior mesh edges become smooth SubD edges. If Creases=Yes,
then interior mesh edges become creased SubD edges.

● The ​ShadedInAllViews=No/Yes​ option can be used to force the SubD object to be


permanently shaded. The Rhino ClearObjectDisplayModes command can be used to
remove this setting. If the input mesh will be visible while the SubD is in use, shading the
SubD in all views makes it easier to distinguish between the input mesh and the SubD in
wireframe views.
6 ​ ​SubDivide command 
 
In Rhino 6 you must type the entire command name; it does not autocomplete and is not in
menus or toolbars. In Rhino WIP, command prompt autocomplete works.

The SubDivide command works on Rhino SubD and mesh objects. It applies one or two levels
of subdivision to the input object. When the input object is a mesh, the Creases option is
available and works like the SubDFromMesh Creases=Yes/No option.
6 ​ ​ToNurbs command 
 
In Rhino 6 you must type the entire command name; it does not autocomplete and is not in
menus or toolbars. In Rhino WIP, command prompt autocomplete works.

The ToNurbs command converts a Rhino SubD object into NURBS patches.

What works now 


This is a partial list of things that currently work in Rhino WIP and a subset will be part of
commercial Rhino 6. Most of this work is in a preliminary state and the final results may be
substantially different. If one of these feature doesn’t work right, please file a bug report.

● 6 ​ PointsOn (control net editing)


● 6 ​ Sub-object selection (hold down Ctrl+Shift and then click)

○ Gumball
○ Rigid transformations
○ Delete
● 6 ​ Rigid transformations (move, rotate, scale, …)
● 6 ​ Gumball
● 6 ​ Mesh
Creates a mesh object of the SubD limit surface. The simple mesh command dialog
slider controls the density of the output mesh.
● 6 ​ ExtractRenderMesh, ​ 6 ​ ExtractAnalysisMesh
These create a mesh objects of the SubD limit surface.
● 6 ​ ExtractControlPolygon
Creates a mesh object of the SubD control net.
● 6 ​ Export to mesh based file formats (OBJ, VRML, RAW, STL, …)
A mesh of the limit surface is exported.
● 6 ​ To export the control net, run the ExtractControlPolygon command and export the
mesh it creates.
● 6 ​ Basic commands that work on all objects including Delete, Undo, Hide, Lock, Show,
SelAll, Object properties, ...
● 6 ​ SelSubD
Selects SubD objects.
● 6 ​ ​SubDFromMesh
In Rhino 6 you must type the entire command name; it does not autocomplete and is not
in menus or toolbars. In Rhino WIP, command prompt autocomplete works.
● 6 ​ ​SubDivide
In Rhino 6 you must type the entire command name; it does not autocomplete and is not
in menus or toolbars. In Rhino WIP, command prompt autocomplete works.
● 6 ​ ToNurbs
In Rhino 6 you must type the entire command name; it does not autocomplete and is not
in menus or toolbars. In Rhino WIP, command prompt autocomplete works.
Gets Nurbs form of a Rhino SubD
Coming in Rhino 7 WIP and Rhino 7 
These things will be in Rhino WIP and eventually in Rhino 7.

There is a long list of things that need to be done. Here is a partial list in no particular order.

● Fix bugs in the ToNURBS command that converts SubD objects to NURBS objects.
● Export as NURBS objects to IGES, STEP, and DWG file formats.
● Grasshopper components.
● Add SDK support.
● Vector output (beziers) of the wireframe to PDF and AI formats.
● Enhance most Rhino mesh and polysurface commands so they also work on SubD
objects. Mass properties, Make2D, UDT (Bend, Twist, …), ...
● New commands for SubD creation and editing. Insert and remove creases and corners,
simple modifications, … As these become available, users can understand the geometric
changes and help us create a reasonable user interfaces.

Tip and Tricks 


● Sub-object selection

The ordinary way to select sub-objects is to use the mouse to pick the face, edge, or
vertex while you hold down both the Shift and Ctrl keys. Holding down Shift+Ctrl is
tedious when you are doing lots of sub-object selections.

Try out the Rhino SelectionFilter Sub-object option. When the Sub-objects box is
checked, Rhino automatically selects sub-objects and you use Shift+Ctrl to get ordinary
object selection behavior.
In the example below, the four highlighted faces were selected by turning on the
Sub-objects option, clicking on one of the faces, and then holding down the Shift key and
clicking on the other three faces. In this case, “Shift” adds objects to the selection set.

Terminology 
The following terms are often used when discussing SubD modeling:

● Control net​​. The input mesh used to calculate a subdivision surface. This input mesh is
also called the ​level zero control net.​
● Levels.​​ ​Subdivision is a recursive method that is applied to a control net. A single
application of the subdivision method converts the input control net into a new control
net with more vertices, edges and faces. The control net at each step is referred to as a
level​. The initial control net is called ​level zero.​ Some applications require users to move
from lower to higher levels as they pursue their design intentions.
Note​: ​Rhino simplifies this process. From the designer’s perspective, the concept of
level is removed. When a designer needs more control, they may either subdivide the
entire control net or refine the control net is the areas requiring more control.
Subdividing the entire control net is also called “global” subdivision. We have not settled
on a term for “local” refinement.
● Limit surface​​. The result you would get if you applied the subdivision method an infinite
number of times.
Note​: Rhino uses sophisticated techniques to create the limit surface without applying
global subdivision​.
● Catmull-Clark ​is a common method of computing a subdivision surface from a mesh of
quadrangles.
Note:​ Currently, Rhino supports an enhanced Catmull-Clark quadrangle subdivision
method that supports boundaries, interior creases, faces with any number of sides and
nonplanar faces.
● Extraordinary vertices. ​When the Catmull-Clark subdivision method is used, a smooth
interior vertex with four ordinary edges and four adjacent quadrangle faces is ​ordinary.​
Any other type of vertex is ​extraordinary.​ An edge is ​ordinary​ if it has two adjacent
quadrangle faces and the vertices at both ends are smooth. In particular, any boundary,
interior crease, or dart vertex is extraordinary. In truth, this definition is close, but not
strictly correct. A correct definition describes mathematical properties of the vertex.
Moreover, definitions found in mathematical literature vary. ​Note:​ In Rhino, a designer
creating models for rendering, manufacturing, or export as a mesh or NURBS model,
may freely use any type of vertex. Vertices may have any number of edges and faces.
Faces may have any number of sides. Faces may be nonplanar. Rhino has no
limitations.
If you are new to subdivision surfaces or are unfamiliar with the limit surface, it is helpful to think
of the following analogy with NURBS surfaces.
NURBS Surface Subdivision Surface

Control Net The control net is the mesh you The control net is a mesh that can
see when you turn on the control have any kind of faces (triangles,
points. Every face in a NURBS quadrangles, pentagons, hexagons,
surface control net a quadrangle. …). The vertices can have any
Every interior vertex has four number of edges. Holes are permitted.
edges.

Limit Surface The NURBS surface is the “limit Good subdivision methods are
surface” of the NURBS control net. designed so that if you applied the
subdivision method an infinite number
of times, you would end up with a
surface. This is the “limit surface.”

Example

Complex To form complex shapes using Control nets can be complex. Interior
shapes NURBS, users need to carefully edges can be smooth or creased​.
arrange rectangular surfaces or Smooth regions and creases are
use trimming. When the control preserved when the control net is
net is adjusted, care must be taken edited.
to preserve smooth interior edges.

Geeky details 
If you would like to know more about the traditional approaches use to compute subdivision
geometry, here are the ​notes​​ ​from a Stanford University computer science graduate class.

You might also like