Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TSplines 2.3 Manual

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

1

This manual may be distributed free of charge, both electronically and in print. Contents 2010 T-Splines, Inc. 34 E 1700 S Suite A143 Provo, UT 84606 801-841-1234 www.tsplines.com info@tsplines.com Manual version: 29 April 2010
2

Contents
Quick help: T-Splines commands at a glance Manual goals and assumptions Acknowledgments Part I: Getting familiar with T-Splines and Rhino 1. Learning Rhinoceros 2. How T-Splines is integrated into Rhino 3. How T-Splines can be useful for you 4. Technical support Part II: How to get started 5. Installing the T-Splines plugin Activation T-Splines toolbar T-Splines options 6. Creating a T-spline surface From primitives From lines By lofting curves 7. Converting meshes and NURBS to T-splines NURBS to T-splines Rhino meshes to T-splines Part III: Getting to know T-spline surfaces 8. Anatomy of a T-spline surface 9. Vertex types Points on the surface Tangency handles T-points: end lines of detail Star points: create non-rectangular surfaces 10. Standardization (showing all control points) 11. Trimming T-splines Trimming alternative: a trimless T-spline Part IV: How to model with T-Splines 12. Deforming a T-spline: edit mode Manipulator: translate, rotate, scale 4 6 6 7 8 9 10 14 15 16 16 17 17 20 21 25 39 42 42 45 47 48 49 50 50 51 51 55 55 56 58 59 59

Face, edge, vertex, and tangency grips Multiplier Drag mode Soft manipulation Hotkeys Selected objects Smooth mode and box mode Using Rhino commands with T-splines 13. Adding/deleting geometry Subdivide face Insert control point Insert edge Crease Tangency Extrude face Extrude edge Extrude curve Thicken Duplicate faces Delete Remove creases Fill hole Weld points Unweld edges Append Bridge Merge edges Match surface 14. Modeling with symmetry Part V: How to export T-splines 14. Converting a T-spline to NURBS surfaces Set surface layout 15. Converting a T-spline to a mesh Part VI: Advanced modeling with T-Splines 16. Advanced edit mode: hotkeys and selection Hotkeys Paint selection Grow selection Shrink selection Edge loop

62 62 63 63 63 63 64 65 66 67 69 75 78 78 82 84 85 86 88 89 92 93 94 96 96 97 99 102 103 106 107 108 109 112 113 113 116 117 117 118

Edge ring 17. Additional commands Fit to curves Split curves Flip surface normal Extract control polygon Flatten points Weight Set curvature graph edges 18. Repairing a T-spline mesh Make uniform Appendix 1: Rhino commands and T-splines

120 121 121 132 133 133 134 134 135 136 139 140

L L R

Extrude Crease Remove crease Thicken Insert point Insert edge

tsExtrude tsCrease tsRemoveCrease tsThicken tsInsertPoint tsInsertEdge tsSubdivideFace tsDuplicateFaces Delete tsFillHole tsAppend tsBridge tsMerge tsUnweld tsWeld tsSymmetry Z

Quick help: T-Splines commands at a glance


Button L=left click R=right click Icon L L L L
Create

L
Add/delete geometry

Tool

Command name

Hotkey

Subdivide

Convert to T-spline tsConvert T-Spline loft Fit to curves From lines Box Cone Cylinder Plane Sphere Torus tsLoft tsSkin tsFromLines tsBox tsCone tsCylinder tsPlane tsSphere tsTorus Combine surfaces

L L L L L L R L L R L

Duplicate faces Delete Fill hole Append face Bridge Merge edges Unweld edges Weld points Add symmetry

L L L L L L

Turn symmetry off tsSymmetryOff


4

Match surfaces

tsMatch

Icon L R L L L L R L
Deform/edit

Tool
Translate Hide manipulator Rotate Scale Set pivot Control point selection Grips off Edge selection Face selection Handles Edit layout Make uniform Grow selection Shrink selection Paint selection Select grip loop Select edge ring Flatten vertices Toggle smooth mode

Command name

Hotkey
W Q E R Export

L R L L R L
Utility

Mesh T-spline Convert to NURBS Set surface layout Flip normals Extract control polygon Extrude lines Options Split curves Weight points Standardize Curvature graph edges

tsMesh tsConvertToRhinoSurf tsSetSurfaceLayout tsFlip tsExtractControlPolygon tsExtrudeLines tsOptions tsSplitCurves tsWeight tsStandardize tsSetCurvatureGraphEdges

-tsManip

T A F

L L L

S D

L L L
R

tsLayout tsMakeUniform = -tsSelection P L K tsFlattenPoints tsSmoothToggle Tab

L R

L L L L L L L

Manual goals and assumptions


Welcome to T-Splines for Rhino, the program created to help designers easily create and edit fluid, organic shapes for design and manufacturing. This manual has been written with the following goals and assumptions:

Goals

Have the reader understand 1. What T-splines are and how they enhance Rhino workflows. 2. How to model with T-splines. 3. How to integrate T-Splines with Rhino and NURBS in a production workflow.

Assumptions 1. The user has never used T-Splines. 2. The user has never used a subdivision surface or polygonal modeler. 3. The user is basically acquainted with Rhino and has completed Rhino Level I
training.

Notes

Red indicates a clickable hyperlink inside the manual. Blue indicates a hyperlink to the internet. Bold words are used for Rhino and T-spline commands.

Acknowledgments
Special thanks to McNeel development staff, all T-Splines v2 beta testers, and Damien Alomar, Fernando Rentas Pedrogo, Gustavo Fontana, Jrgen Holo, Santos Rodolfo, Jan Slanina, Dr. William Tiu, Fredrik Wenstp, Miguel Calvo, Michael Fritzsche, Eric Clough, Jonah Barnett, and Ricardo Amaral for their contributions to the manual. Cover model by Joaqun Laborda, render by Fernando Pedrogo in V-Ray. Note: T-Splines is a registered trademark of T-Splines, Inc. Rhinoceros is a registered trademark and Rhino is a trademark of Robert McNeel & Associates. All other brand or product names are registered trademarks or trademarks of their respective holders.
6

Part I Getting familiar with T-Splines and Rhinoceros

1. Learning Rhinoceros
What is Rhino?

Rhinoceros is a powerful 3d modeling package for Windows. Rhino can create, edit, analyze, and translate NURBS (Non-Uniform Rational B-Splines) curves, surfaces, and solids to create designs for manufacturing. There are no limits on complexity, degree, or size. Rhinoceros is used in many industries for design, including jewelry, marine, vehicle, architecture, footwear, and aircraft.

Rhino 4 comes with Level I and Level II training free on every installation CD. If you have misplaced your CD, you can download the training for free at www.rhino3d.com/training.htm. This T-Splines manual assumes that the reader has completed Rhino I training. If you do not own a copy of Rhino you may download a free demo from the Rhino website; T-Splines works with the demo.

How to learn Rhino

Rhino workspace

2. How T-Splines is integrated into Rhino


Introducing T-spline surfaces!
T-Splines is a powerful technology for creating surfaces in computer-aided design (CAD) software. T-Splines are compatible with traditional CAD NURBS technology, and offer significant improvements in flexibility, editability, and ease-of-use. T-Splines allows designers to

Create smooth organic designs Edit them quickly Export models for manufacturing without remodling Why model with T-Splines instead of just Rhino
T-Splines adds several new workflows and tools to generate free-form surfaces, and brings polygonal modeling to Rhino. T-Splines can be used to create an entire model, or it can be used to add organic components to Rhino models. T-Splines complements Rhino. T-Splines gives Rhino users a way of exploring shapes easily and quickly in an intuitive way, and can help designers shorten the time between imagination and actual 3D models.

How T-Splines works together with Rhino

T-Splines is a fully integrated Rhino plugin. The T-Splines toolbar nests among standard Rhino toolbars. T-Splines help is accessible through the Rhino help menu. Many Rhino commands work on T-spline surfaces (see appendix).

Examples from the T-Splines gallery. T-Splines simplifies the creation of smooth, organic shapes.

3. How T-Splines can be useful for you


Many of the workflows in version 2.0 of T-Splines are based on polygonal modeling, an established workflow in animation and computer graphics. Polygonal modeling can be used to create organic, editable models quickly and intuitively. Other T-Splines workflows are based on a more traditional approach of generating a surface from curves.

T-Splines polygonal modeling

In 3D computer graphics, polygonal modeling is an approach for modeling objects by representing their surfaces using polygons. The basic object used in polygonal modeling is a vertex, a point in three dimensional space. Two vertices connected by a straight line become an edge. Three vertices, connected to the each other by three edges, define a triangle, which is the simplest polygon. Four sided polygons (generally referred to as quads) and triangles are the most common shapes used in polygonal modeling. A group of polygons which are connected together by shared vertices is referred to as a mesh. As shown in the figure below, meshes comprised of flat, faceted faces.
Basics of polygonal modeling (from left): edge, triangle, quad, mesh.

T-spline surfaces can be viewed as boxy meshes or as smooth surfaces. The T-spline mesh is really just a fast, simple, unsmoothed way to visualize the T-spline; when a T-spline is displayed as a boxy mesh, it is in box mode. Following are some examples of a T-spline displayed in box mode and smooth mode.

Examples of polygonal models and their respective smooth surfaces.

10

It is possible to construct a T-spline surface through polygonal modeling in many ways; some common techniques include basic polygonal modeling and a popular subset of polygonal modeling called box modeling, (both of which will be described here), and creating a surface from lines. Polygonal modeling basics Basic polygonal modeling techniques center on placing individual vertices. Operations like adding polygons, subdividing faces, extruding segments and merging edges are common in polygonal modeling.

1. Plane

2. Edges extrusions

3. Edges merge

4. Fill hole

5. Smooth surface Box modeling (subdivision modeling) starts with a simple box, and then modifies the box using extrusion to gradually add detail to the model. The final surface is a smoothed version of the box model. Box modeling and basic polygonal modeling are not independent from each other and are often used together on the same model. While box modeling can be easier and faster to use, polygonal modeling is more versatile and allows for more detailed modeling and shape control. A design process that uses both these approaches can be adapted to many particular modeling situations.

Box modeling basics

1. Box

2. Extrusions

3. Extrusions

4. Displayed as smooth surface

T-Splines polygonal modeling is unique

T-Splines is the only software that combines NURBS and polygonal modeling methods together in a single workflow. Additionally, T-Splines enhances traditional polygonal modeling workflows by introducing the ability to increase areas of detail locally without changing or warping the surface.
11

Compatibility between T-splines and Rhino NURBS surfaces

All T-Splines surfaces are 100% compatible with NURBS and are resolution independent, meaning that (depending on your tessellation settings) you can zoom as close as you want to an object and never see any faceting, just like a NURBS surface. Models made in other software packages with polygons and subdivision surfaces (a popular surface used in animation) are not NURBS compatible. This NURBS compatibility yields manufacturing and workflow benefits. NURBS compatibility allows versatile polygonal modeling to be used in a workflow that yields manufacturable Rhino NURBS geometry. T-Splines models can be used for both visualization and for production (CNC machining, laser cutting, detailed blueprints, rapid prototyping, analysis, etc), like any Rhino NURBS model.

Rapid prototyping example using a T-spline surface.

Analysis example of a T-spline model. Pressure (left) and deviation (center) analysis done in SolidWorks, and curvature analysis (right) done in Rhino.

Example of manufactured T-spline model. Credit: Collins Machine & Tool Co.

12

The NURBS compatibility of T-splines allows a designer to mix modeling techniques. You can create a T-spline surface with T-Splines tools and then use any Rhino tools on it, such as Booleans, fillets, deformations, or analysis tools. Any T-spline surface can be treated like a Rhino polysurface when performing Rhino commands.

Example of a model with mixed T-splines and NURBS workflows. The initial T-spline surface is on the right and the final model, detailed in NURBS, is on the left.

Areas of local detail

Another important difference between T-splines and traditional polygonal modeling workflows is that T-splines can contain T-points. These are explained further in the Anatomy of a T-spline section, but basically T-points reduce the complexity of a surface by ending rows of control points in the middle of a surface. The surface will have smooth curvature here (C2 continuity). Subdivision surfaces dont have T-points, and instead end detail with triangles or star points. This creates shading artifacts in rendering, and makes it difficult to control the surface curvature. NURBS dont have T-points eitherNURBS detail traverses the entire surface.
Example of a mesh triangulation (left), a T-spline with T-points (center) and a NURBS surface (right).

13

4. Technical support
In addition to this manual, we have other resources to help you learn T-Splines online, as well as the help file that comes with the plugin.

Help file T-Splines commands are documented in the T-Splines Help file. The help file

may be found by clicking on the Start Menu, finding the T-Splines for Rhino group, and then clicking on T-Splines for Rhino Documentation. You may also access help from within Rhino by choosing Command Help from the Help menu, then clicking any T-Splines command, or by pressing F1 while in the command.

T-Splines website The T-Splines website, www.tsplines.com, contains many tutorials and
free T-spline models.

T-Splines forum Ask questions about T-Splines and get answers from other users and

T-Splines technical support at the T-Splines web forum: www.tsplines. com/forum

Technical support Technical support is also available via email or telephone.


Email: tech@tsplines.com Tech support telephone: +1 (801) 841-1234 Tech line hours are M-F, 9 AM to 5 PM (Mountain Time)

14

Part II: How to get started

15

5. Installing the T-Splines plugin


Activation
To install the T-Splines for Rhino plugin: 1. Download the T-Splines for Rhino plugin at www.tsplines.com/latestversion.html (If you have the free trial installed, there is no need to download the plugin again.) 2. Install the T-Splines for Rhino plugin. 3. Open Rhinoceros 4.

4. Type the command tsActivateLicense, or run any T-Splines command.

5. Enter your Internet Activation Key 6. If you experience difficulties, or do not have Internet access, click the Help Me button. Instructions for activating your plugin without Internet access will appear. For installation instructions for floating licenses, please refer to the documentation you received when you purchased your plugin; or, email rhino@tsplines.com for help.
16

T-Splines toolbar

Once T-Splines for Rhino is installed, a T-Splines toolbar will appear. This toolbar can be docked with other Rhino toolbars. If the toolbar is lost, it can be recovered by typing Toolbar in the Rhino command line, and selecting T-Splines from the toolbar list. T-Splines menu A T-Splines menu will appear in the menu bar after installation.

T-Splines integrates with many global Rhino preferences, including color customization, display modes, etc. T-Splines also has its own options for colors, conversion, hotkeys, and display, which are accessible in the main Rhino options window under the T-Splines section. They are also accessible through the T-Splines options icon, or the tsOptions command. The T-Splines options pages include:

T-Splines options

Information about version number and license.


17

Main page

Display

Meshing: sets the global display mesh quality for T-splines. There are two modes. 1. Maximum distance, mesh to surface. Gives better meshes than (2). 2. Minimum initial grid quads. Meshes each T-spline face with a set number of quads on a side, and is more reliable. Per object mesh quality can be set in the Object Properties pane. Star Smoothness: Controls the smoothness near star points. Smooth T-Mesh: This display option allows you to display T-splines in box mode as smooth, flat-shaded meshes. This option is off by default, and is most useful when working with very large models where the T-Splines smooth mode responds slowly. By using the Smooth T-Mesh option, the model will respond more quickly when moving control points, adding geometry, etc. Tangency Handles: Shows additional control points for finer control of creases and border edges. Display Control Points on Surface: positions control points on the surface instead of in space. Colors: color definitions for unique T-Spline options. Global color options, such as for Selected Objects, work on T-Splines as well and can be set with the Rhino color options.

Hotkeys

Hotkey assignments for T-Splines and Rhino commands (see edit mode).
18

Options for converting surfaces and meshes to T-splines.

Conversion

19

6. Creating a T-spline surface


There are six ways to generate a T-spline surface. T-spline surfaces can be created from a primitive, from a control polygon of lines, from lofting curves, and from skinning a network of curves. T-spline surfaces can also be generated by conversion from NURBS and conversion from polygon meshes. Each approach can be used for either creating a complete model or just for making a base model for further editing. Creating a T-spline surface from a primitive, lines, and lofted curves will be explained here. Skinning a network of curves is explained in the advanced section.

Ways to create a T-spline surface


From a basic shape (primitives) Primitives From lines From input curves Loft Skin From input surface Convert from NURBS Convert from mesh

Begin with a primitive, model a more complex surface. Difficulty: easy

Create a T-spline surface from a control polygon of line segments. Difficulty: medium

Create a T-spline surface by lofting curves while constraining areas of local detail. Difficulty: medium

Skin a T-spline surface from a non-rectangular network of curves. Difficulty: hard

Begin with a NURBS Begin with a quad-domisurface and convert it to a nant mesh and convert it T-spline surface. to a T-spline surface. Difficulty: easy Difficulty: easy
20

Creating T-splines from a basic shape (primitive)

One way to begin a model is by using primitives. These are basic geometric figures that can be edited and combined to create complex models. There are six T-spline primitive shapes: box, plane, sphere, cylinder, cone, and torus.

T-Splines primitives
tsBox tsPlane tsSphere tsCylinder tsCone tsTorus

Symmetry Axial Yes options Radial No

Yes No

Yes Yes

Yes Yes

Yes Yes

Yes Yes

Geometry options X=2 Y=2 Z=2 This specifies the number of faces in each direction.

VerticalFaces=4 AroundFaces=8 Vertical faces are perpendicular to the circumference, around faces are along the circumference.

21

Using primitives in box modeling: T-spline primitives can be used as a starting point for box modeling; begin with a primitive that roughly matches up to the shape of your final object.

Model from a primitive box

Model from a primitive box

Model from a primitive torus

Primitives are created at the origin; they can be moved anywhere in the scene after they are generated, unless they have symmetry. Symmetry-enabled primitives must remain along the world axis of symmetry. Primitives are created in smooth mode by default, but like all T-splines, they can be toggled to box mode for faster editing.
22

Tip

T-Splines primitives are all centered at the origin. To create a primitive at any location in the scene, use Rhinos mesh primitives: MeshBox, MeshCone, MeshCylinder, MeshEllipsoid, MeshPlane, MeshSphere, and MeshTorus! After the mesh primitive is created, just convert the mesh to a T-spline using tsConvert.

Primitives in box mode and smooth mode

Primitive sphere (VerticalFaces=8 AroundFaces=16)

Primitive box (Xfaces=2 Yfaces=4 Zfaces=10)

Options Faces Primitives can be created with any number of faces. Choose the number that gives just enough control points to get the rough shape of your modelmore detail can be added later.

For example, when working with a reference image such as this F1 car, 4 faces across did not provide enough detail to get the main shape of the car from the top viewport, but 8 faces across is enough detail.
23

Symmetry T-spline primitives can be created with axial or radial symmetry. When a T-spline has symmetry enabled, the isocurves on the symmetry borders will be highlighted to show the symmetry boundaries (default=green, the color can be changed in the tsOptions Display panel). T-Spline symmetry is independent of Rhino history. Symmetry can be turned off by the tsSymmetryOff command.
From left: x symmetry, x & y symmetry, x, y, & z symmetry

Here are some examples of primitives with symmetry (the green axis is the line of symmetry).

Primitive box (AxialSymmetry=Yes YSymmetry=Yes)

Primitive sphere (AxialSymmetry=Yes XSymmetry=Yes)

Primitive torus (Symmetry=Yes Radial=Yes SymmetrySegments=8 FacePerSegments=2)

24

Creating T-splines from lines


The tsFromLines command provides a way to make complex surfaces with predictable results. It can be used to create custom primitives that are closer to the desired final shape than the default primitives. It can generate a closed or an open single surface, rectangular or not, with holes, creases, and all kinds of different topologies. The tsFromLines command is best understood as part of the general workflow of creating a T-spline surface from lines. This workflow has three main steps: a. Creating the control polygon. b. Connecting control polygon edges correctly. c. Running the tsFromLines command. In this section, we will explain this workflow using a 2D control polygon. Then, we will show how to create a 3D control polygon, and finally offer some troubleshooting tips.

Shapes made easy with tsFromLines


Surface type Closed surface Control polygon lines T-spline surface

Closed surface with holes

25

Closed surface

Rectangular flat open surface

Non-rectangular flat surface

26

Open surface with holes

Y branch surface

Creased close surface

27

Closed surface

Open surface

Close surface

28

A. Creating the control polygon To use the tsFromLines command, you must first create a line segment network to define your model. The line segments will become the control cage for the model. Laying out the line segments is the most important part of the workflow; the line segments can be created with any Rhino command (ex: _Line, _Polyline). The control polygon of a T-spline surface works just like a curve control polygon. If points are closer, the curvature will be tighter.
Control polygon of a curve (left). Control points that are close together make for tighter curvature (right).

A typical surface control polygon can be separated into 2 different parts: Border control polygon: This is usually the first part of the construction, and defines the main outline of the shape. Try to use as few control points as possible, because each point will need to be connected (referenced below). One way to create a border control polygon is by modeling a curve and then extracting the control polygon (_ExtractControlPolygon) from the curve.
Control polygon (red) extracted from curves (black).

Another way is to _Rebuild the curves with degree 1 and set the desire number of control points (point count).

Curve (left) rebuild with degree 1 and point count 20 (center), and 12 (right).

29

Connection control polygon: This is the inner part of the control polygon (on open surfaces) and defines how the surface topology will be laid out.

Green connection lines added to the control polygon (left) and resultant T-spline surface (right).

It is important to understand how to lay out a correct control polygon to get a smooth surface. B. Connecting control polygon edges correctly Just like it is important to lay out good curves when designing a model with Rhino, it is equally important to lay out a good control polygon when using the tsFromLines command. When creating a control polygon, the quantity of line segments in each region, number of line segments meeting at each vertex, and the number of edges in each face defined by line segments each significantly influences the quality of the T-spline surface. A basic rule of thumb is to have a greater number of line segments in areas of greater detail, because each line segment intersection will generate one control point.
Example of a control polygon with more segments and the resultant T-spline with more detail.

Ideally, you should have line segments generate rectangular regions. Regions of 3, 5, or more sides (n-sided regions) will be subdivided by the command and make it difficult to control the smoothness.

Example of a control polygon with a 3-sided face and the resulting T-spline surface. The face is subdivided, placing a star point on the center.

30

Also, ideally, only four edges should meet at each vertex. Having a greater number of edges meet at a vertex is okay, but makes it more difficult to keep the surface smooth. Here are some examples of the effect that different types of vertices have on the surface.

Example of a control polygon with a 6-sided face and the resulting T-spline surface. The face is subdivided, placing a star point in the center.

Place of intersection Border

Number of intersections 2

Type of intersection Sharp corner

Control polygon

T-Spline surface

Border

Smooth corner

Border

4, 5, 6,

Kink

31

Internal

Star point (G1 smooth)

Internal

T-point (C2 smooth)

Border

T-point (C2 smooth)

Internal

T-point (C2 smooth)

Internal

Ordinary control point (C2 smooth)

32

Internal

Star point (G1 smooth)

Internal

6, 7, 8 Star point (G1 smooth) Once your control polygon is laid out correctly, select all curves and split them at their intersections using the tsSplitCurves command. Now you are ready to create the surface!

C. Running the tsFromLines command Once the line segment network is created, enter the tsFromLines command. The shape of the model is influenced by three options: Face Layout, Add Creases, and Mark T-points.

33

Face Layout Options: Allows you to select the face topology of the object and input the necessary information to create the surface. There are a few command line options: ModificationType=Faces. Allows you to turn faces on and off in your final surface, which gives the ability to create holes. Click on a face to turn it off and the command will automatically reassemble the faces to guess which ones you want on. To turn on a face, click on its edge. A selection menu will appear with a list of possible faces that contain that edge. Just select the desired face! ModificationType=Priority. Allows you to more quickly set in order planar sections of your control polygon, and can save a lot of clicking if youve made your control polygon by extruding a 2d polygon. To use it, just marquee select a planar section of the control polygon and hit enter.

Initial model inside the Face Layout option

Model rotated for Priority selection

After priority selection

Tip

To see the priority option in action, watch this short movie: media.tsplines.com/priority.mov

MaxAutoFace allows you to determine which faces are turned on automatically. The value refers to how many sides are on each face. The default for this option is 4, which means the command will automatically create as many faces as possible that have up to 4 sides each. It can be useful to set this value higher if you have many 5- or 6-sided faces in your control polygon. If you dont want the command to automatically guess which faces to turn on, set this option to 0.

Face layout option with MaxAutoFace MaxAutoFace = 5. All faces with up to MaxAutoFace = 6. All faces with up to 6 sides are automatically filled in, and = 4. Since there are no possible faces 5 sides are automatically filled in. with only 4 sides, there are no faces the surface is ready to be previewed. filled in.

34

MaxManualFace. When modifying faces, sometimes a long list of possible face selections pops up as you click on an edge to turn on a face. You can shorten the length of this popup list using the MaxManualFace option. For instance, if you only want to see possible faces that have up to 6 edges, set this option to 6. SimpleBorderLoops. This option lets the command detect if there is a face loop that goes all the way around the border of the surface (i.e. on the bottom of a cylinder). This is on by default; you can turn it off if you dont want such faces to be generated.

Simple border loops on (left), and off (right).

Add Creases: You can indicate where you would like sharp creases in
your model by clicking on edges to crease them while inside the Add Creases option.

Mark T-points: Identifying T-points in your model will allow you to

have areas of local detail that blend smoothly (C2) with the rest of your surface.

Inside this option, three-sided points are color coded. You can click on these points to switch them between being a T-point or a star point. Blue and yellow line segments identify T-points, and will stick out in the direction that the T-point will influence. Yellow means that the T-point will be added but immediately extended, because it is either too close to an n-gon or a star point. Red means that it is invalid to have a T-point at that location. A surface will not be created if you have a red line segment or point. Green points in T-point mode specify star points.
35

T-Point identification examples


Control polygon Mark T-Point option T-Splines surface Description T-points identified

Star points identified

Star points identified

Star points identified

Preview the model to check how the final surface will look, and hit enter to generate your T-spline surface!

36

Creating a 3D control polygon When using tsFromLines to create a 3D surface from a single 2D sketch, first make a 2D control polygon, then use tsThicken to add a 3rd dimension.

1. 2D sketch

2. 2D control polygon

3. 2D T-spline from control polygon

4. 3D T-spline (thickened)

Another common workflow is to make a flat control polygon and then extrude it. Use tsExtrudeLines to extrude a 2D control polygon into a 3D control polygon.

2D control polygon (left), 3D control polygon (center) and the T-Spline surface (right).

37

Troubleshooting If you are having trouble generating a surface, or if you get garbage faces when you are in the Face Layout option, your input line segments likely dont intersect exactly. There are two ways to solve this. One is to redraw your line segments, inserting a point at each intersection. Or, use tsSplitCurves to split the existing line segments. After they have been split, the intersections will be recognized in tsFromLines.

Example of garbage faces

Example of the correct face layout (left) and the respective T-Spline surface (right)

Troubleshooting checklist a. Ungroup segments. Sometimes curves are grouped because of the tool used to generate them. b. Explode segments. Separating all polylines into individual segments can be a good way of avoiding unexpected line intersections. c. Split curves. Run the tsSplitCurves command to split all segments on their intersections. Also use this tool to check them. d. Select duplicated curves (_SelDup) and delete. Sometimes exact duplicate curves create problems when trying to make the surface. Also, manually check for curves which are similar but not exactly the same. These similar curves cannot be selected with _SelDup. e. Select bad objects (_SelBadObjects) and delete. Sometimes tiny segments, produced by a bad split, generate strange intersections that can make the tool fail. f. Select short curves (_SetShortCrv) and delete them g. Split curves. One last check with tsSplitCurves is always useful to be sure all input lines segments are correct.

tsSplitCurves display. Example of an incorrectly identified intersection (the 7 dot should be a 5).

38

Creating T-splines by lofting curves


tsLoft Lofting a T-spline surface can be useful for creating surfaces that contain varying amounts of detail because of the ability it has to include T-points (partial rows of control points). This keeps control points out of areas where they are not necessary and can make for easier editing. The number of control points in the T-spline lofted surface is determined by each curve.

Example of a T-spline lofted surface

In the tsLoft command, select curves in the order that you want them to be in the surface. After you push Enter, you will be given a chance to change lofting options; once you are satisfied, push Enter again to perform the loft. The curves are lofted according to the options, generating a new T-spline surface. Options (these are the same as the options for Rhinos Loft command)

tsLoft options window

39

LoftStyle Normal: The surface has a normal amount of stretching between the curves. This is a good choice when the curves are proceeding in a relatively straight path or there is a lot of space between the curves. Tight: The surface closely follows the original curves. This is a good choice when the input curves are going around a corner. Uniform: Guarantees that every control point affects the surface exactly the same way, no matter how much the surface is edited.
Example of a lofted surface with option style Normal (left), Tight (center), Uniform (right).

Loft exactness Determines how exactly the surface will fit to the curves. Minimal: surface is not guaranteed to pass through the curves, but each row of control points will have the same number of points as the input curves. Exact: lofting will go through the curves, but will have more control points than a minimal loft.
Curves Minimal T-spline loft (few control points)

Moderate: lofting produces a surface with fewer control points than Exact but with tighter surface definition than Minimal.

Exact T-spline loft (most control points)

Moderate T-spline loft (more control points)

40

Close Loft Creates a closed surface, continuing the surface past the last curve and around to the first curve. Available when you have selected at least three curves.

Example of a closed loft

Dynamic preview Enables real-time preview when changing options. Cross sections options Inside the tsLoft options window there is a display for ordering the curves. Selecting and moving up and down with the arrows will modify the curves order. Using the cross sections option can be avoided if the curves are post selected in the order they should appear in the loft.

Example of an incorrect cross section order

Align Curves Click the end of a shape curve to reverse (flip) the direction.

Example of a misaligned curve

41

7. Converting meshes and NURBS to T-splines

tsConvert

Converting an untrimmed NURBS surface, Rhino mesh, or .obj file to a T-spline with the tsConvert command is a push-button operation.

From NURBS surface

From Rhino mesh

From .obj file

Converting NURBS to T-splines

Any untrimmed, degree 3 NURBS surface can be converted directly to a T-spline, since T-spline surfaces in Rhino are all degree 3. NURBS of degree 4 or higher can be converted to T-Splines, and will be rebuilt to degree 3 during conversion. NURBS of degree 1 or 2 can also be converted to T-Splines. In the TSplines options, there is an option to Rebuild when increasing degree when converting degree 1 or 2 NURBS to T-Splines. If this option is checked, the surface will be rebuilt, which may change the surface slightly. If this option is not checked, the surface will be degree elevated. This will ensure that the surface shape does not change; however, there will be creased control points in the model which will make it difficult to smoothly manipulate the T-spline surface.

Credit: Ricardo Amaral

Credit: al2000

42

Advice on converting NURBS to T-Splines: If you are creating a NURBS surface in Rhino with the intent to convert it to T-splines, here are some best practices:

1. Use a minimal number of control points to describe the shape.

Rebuild your NURBS surface if needed. One reason why you would want to convert a NURBS to a T-spline is to edit the surface more, and this is easiest with fewer control points.

Extreme reduction of control points without changing the shape. From left to right: Input curves; 1 Rail surface (U:46 V:6 Total points: 276); Rebuilt surface (U:12 V:6 Total points: 72); Converted T-spline surface (U:12 V:6 Total points with tangency handles hidden: 40).

2. If you have a T-spline surface and you would like to merge NURBS to

the T-spline, consider first rebuilding the NURBS to have a U/V count that is 2 more than the number of visible T-spline vertices.

Examples of NURBS surfaces with different control point counts and how they are each converted to T-splines (displayed in T-spline box mode).

43

3. If converting a polysurface comprised of untrimmed NURBS, if

possible, try to have the isoparameteric curves (isocurves) line up across patch boundaries. T-splines will be able to merge the NURBS together even if the isocurves dont line up, but the resultant surface will be more manageable if you have flowing isocurves instead of irregular sections of chopped isocurves.

Example of regular (right) and irregular (left) isocurves

4. Trimmed NURBS converted to T-splines will lose their trimming

information. Many Rhino polysurfaces and completed models are comprised of trimmed NURBS. Therefore, converting a finished Rhino model to T-Splines for further editing is not usually a viable workflow, although a future version of the T-Splines plugin will support trimming curves. However, there are interesting workflows for accommodating trimmed features into T-Splines.

NURBS trimmed surface (left). Converted T-Spline surface (right).

44

Converting Rhino meshes to T-splines

Rhino has a set of mesh tools, found in their mesh menu.

Using these mesh tools, it is possible to create and edit simple mesh objects. These meshes can be converted to T-splines using the tsConvert command. Conversion of meshes to T-splines is easy. Each mesh control point becomes a T-spline control point. The T-spline surface wont pass through the points, but will be a smooth surface derived from the points. The more points there are on the mesh, the tigher the T-Splines surface will hug to the control points.

1x1x1 mesh box

1x1x1 T-spline

Converting meshes to T-Splines 10x10x10 mesh box 10x10x10 T-spline

Different types of meshes encountered in Rhino

Do not attempt to directly convert .stl files to T-Splines: Many meshes imported to Rhino are either .stl files from scanned data or meshes derived from polysurfaces by using the Mesh command. These meshes are not good candidates for conversion to T-splines for two reasons.

.stl from scanned data Do not attempt a direct conversion to T-splines.


Model from Animax Design

Meshed polysurface Do not attempt a conversion to Tsplines.

Low face-count mesh This is the type of T-spline surface conmesh best converted verted from the low to T-splines. face-count mesh.

First, attempting the conversion may cause Rhino to run out of memory. T-spline surfaces require more memory than meshes. Meshes are dumbthey are comprised of points in space connected to other points. T-splines are more complexeach T-spline surface stores enough information to calculate a smoothed version of itself, which requires much more memory. Secondly, if a dense mesh is converted to a Tspline, it is more difficult to edit. It is hard to smoothly deform a dense T-spline.
45

Converting .obj meshes to T-splines


Models created in other subdivision surface or polygonal software packages, such as Hexagon, Silo, Maya, 3DS Max, modo, Blender, Lightwave, etc. can be imported into Rhino as a smooth surface via T-Splines. Just import the mesh into Rhino and then run the tsConvert command.

Nearly every subdivision surface modeling package has their own proprietary way of making creases. Since these are proprietary, it limits compatibility and makes it difficult to input a creased subdivision surface into T-splines and get an identical surface.
Low resolution (or base) mesh inside subdivision surface High resolution mesh. modeler.

Also, when exporting from your subdivision surface modeler, make sure you export the base mesh, the coarsest polygon you can. T-Splines will smooth the model automatically. Also, try to export a quad-dominant mesh, with as few triangles as possible.

As an example, observe the following T-spline surfaces. One surface is a converted from a low polygon count model; the other is converted from a high resolution mesh. It is clearly easier to work with the model with fewer control points.
T-Spline surface converted from a low resolution mesh. T-Spline surface converted from a higher resolution mesh. More difficult to edit.

46

Part III: Getting to know T-spline surfaces

47

8. Anatomy of a T-spline surface


T-spline surfaces consist of faces, edges, and vertices, can be displayed as a boxy mesh or as a smooth surface, similar to subdivision surfaces. T-spline surfaces can contain holes, creases, be open or closed, have local detail, be rectangular or non-rectangular, contain triangles or n-sided faces, and remain one surface. All T-spline surfaces in Rhino are degree 3.

Smooth mode T-spline

Box mode T-spline Some of the many kinds of shapes that can be represented by T-splines.

Open and closed T-spline with holes

Closed, non-rectangular T-spline

Closed T-spline with creases

Open T-spline with local detail

Open, rectangular T-spline

T-Spline surface with triangles

48

Vertex type
T-point Star point Ordinary control point

Valence
3 (or 2) 3, 5, 6, 7, 8, 4 (can be 2, 3, or 4 on the border)

Smoothness
Curvature continuous (C2) Tangent continuous (G1) Curvature continuous (C2)

9. Vertex types
T-splines have four types of vertices (or control points): T-points, star points, tangency handles, and ordinary control points. These vertex types are distinguished by their valence (how many edges are attached to the point) and their smoothness. Understanding basic properties of these vertices will increase your ability to successfully model with T-splines.

Tangency handle

1, 2, or 3

Controls tangency at a crease or edge of surface (C0)

When (PointsOn) is turned on, all vertex types are displayed with the same type of grips. To identify which vertices in your model are T-points or star points, run the tsLayout command.

PointsOn

tsLayout identifies T-points and star points

49

Points on the surface


T-Splines control points lie off the surface, like NURBS. However, by changing the Display Control Points on Surface preference on the Display page in the T-Splines options, the control points will be displayed on the surface. This allows control points to be moved directly on the surface.

T-Splines display options (left). Surface with control points off the surface (center) and on the surface (right).

Tangency handles
Tangency handles control the tangency of the T-spline surface at a crease or the edge of the surface. Tangency handles always exist in the surface for all creases and edges; however, their visibility can be turned on and off. The three modes for tangency handle visibility are Display All, Display None, and Display Moved. Display Moved is the default, and only displays those tangency handles which have been purposefully edited by the user; all other tangency handles are hidden when Display Moved mode is on.
Example of tangency handles being automatically repositioned. Theyll stay 1/3 of the distance between their control point and its neighbor.

Hidden tangency handles that have not been purposefully edited by the user are automatically repositioned as their corresponding control points are moved. Once a tangency handle is specifically moved, it will no longer be automatically repositioned. If you would like to return a tangency handle to its default state, select the tangency handle and press the Delete key. It will move back to its default position and be automatically repositioned once more.
Example of some tangency handles that have been purposefully moved. They are no longer repositioned when the other control points are adjusted.

To actually delete a tangency handle to remove a crease, use the tsRemoveCreases command.

50

T-points: end lines of detail


T-splines, unlike NURBS, can have partial rows of control points. These terminate in T-points, hence the name T-splines. T-points can be created by many commands, such as insert edge, insert point, subdivide face, merging, and welding, and are used to constrain detail to part of the surface. The surface around a T-point will stay smooth, and will not stretch or kink. Mathematically speaking, Tpoints are curvature continuous (C2).
T-points constrain detail to the edges of the T-spline surface. NURBS surface must have full isocurves across whole surface to get the same level of detail.

Star points: create non-rectangular surfaces


Star points allow a T-spline to be non-rectangular. Star points can be generated by commands such as extrude, delete face, and merge. It is more difficult to control the shape of a T-spline at star points, so they should only be used where necessary. Place star points on flatter parts of the surface to more predictably obtain an aesthetically pleasing model. Poor locations for star point placement include sharper parts of the model like creased edges, parts where the curvature changes significantly, or on the edge of an open surface. Star points also determine how a T-spline will be converted to NURBS. When a T-spline is exported to NURBS, it will split into separate surfaces at each star point.

T-spline (left) converted to NURBS (right). Notice that the NURBS is split into rectangular patches at each star point. Additional isocurves are added to the NURBS to maintain surface continuity.

51

Using T-points and star points in a model


Using star points and T-points correctly is very important to modeling with T-splines effectively. T-points are used for adding local detail by isolating control to one area on the surface. Star points are used when the model require a non-rectangular topology like surfaces with holes (non-trimmed), closed surfaces, Y branches, surfaces with legs, etc. There is a rule about the placement of T-points and star points you cannot place them too close together. This is because T-points are related to NURBS, and they require the surface to be rectangular around them, while star points are related to subdivision surfaces, which do not have to be rectangular. When you are near a star point, the surface behaves like a subdivision surface, but when you are near a T-point, it behaves like a NURBS. Here is the rule: there is a no-T-point area around star points. This area is two faces deep (the number of faces is based on the degree of the surface; T-spline surfaces are always degree 3, so the depth is always two faces). These faces may not have T-points pointing into them. This is the area which is changed when you move a star point. Outside of this area, you may use T-points freely. There is a similar rule about star points near T-points. The essence of that rule is that when you move a T-point, the area of the surface which it moves must not contain a star point. Heres the good news: Even if you do not pay attention to these rules, the software will automatically modify your surface so that the rules are kept. T-points will be pushed through star point regions, and points will be added to limit the area that T-points influence. These additional points will be hidden to make for easier modeling until the tsStandardize command is run.

Influence region of a star point (two faces deep). There cannot be any T-points in this area when the model is standardized.

52

Some examples of how to correctly use T-points and star points:


This simple model shows how to appropriately use star points while modeling. Star points are properly used to create the legs as well as the smooth rounded tips. In this case, star points are necessary in two areas. 1. On the tips, to generate the necessary topology. 2. In the center, to get a smooth closed surface.

This model shows star points that are used to create untrimmed holes in the surface.

T-points are used to add detail. Notice that the bottom part of the surface is much smoother and has fewer control isocurves than the upper part, which needs more geometry to get a wrinkled look.

This simple model shows how to appropriately use both T-points and star points while modeling. Star points are properly used to create the smooth ends of the tips. T-points are used to constrain detail to sharpen the internal ring edge.

In this headphones model, star points are used to obtain closed smooth shapes, while T-points are used to constrain curvature changes to a specific area.

53

In this more complex model, star points are used to achieve the right topology for the holes and rounded tips. T-points keep the handle clean of control points while maintaining detail on the body and the bottom part.

On this bicycle helmet model, star points allow multiple holes in the surface.

On this head model, T-points are great for adding the geometry to get the necessary detail on the face, while keeping the back of the head simple. Star points make it easy to create a smooth, flowing edge around the eye and mouth holes.

In this example, star points are used for three different things.

1. Making the eyes. 2. Making the rounded tips of the 3. Getting a Y branch on the crotch
fingers where the palm meets the fingers.

T-Points allow more dense control isocurves to shape the face while keeping the rest of the hand simple to edit. On this glasses model, star points are used to accommodate the open part of the surface.

54

10. Standardization (showing all control points)


The T-Splines software is designed to be as flexible and simple as possible; however, maintaining a NURBS compatible surface requires that T-splines be standardized. Standardization does not change the shape of the surface, but may add control points to satisfy geometry requirements necessary for NURBS conversion. Although standardization is always performed when the T-spline is in smooth mode, the added points are hidden by default. If you wish to see these extra points, use the tsStandardize command. When you standardize a surface, all T-points within two isocurves of star points (in the yellow region below) will be extended until the T-points (such as these highlighted in red) are separated from star points by at least two isocurves.
Non-standard T-spline. T-Points are too close to a star point. Standard T-spline. T-points and star points separated by at least two faces.

If your model is already in standard form, then nothing will happen when tsStandardize is run. If you convert a non-standard T-spline to a NURBS it will automatically standardize it before converting.

11. Trimming T-splines


T-Splines can be trimmed, but will convert to NURBS upon trimming. This means that the recommended workflow is to do the push-pull shape exploration in T-Splines at the beginning of the design process, then to trim towards the end.

(Top) T-spline. (Bottom) Trimmed T-spline converted to NURBS.

55

Making a trimless T-Spline surface

Trimming alternative: a trimless T-spline


When a NURBS surface is trimmed, a curve is projected onto the surface and the surface bounded by the curve is essentially made invisible. T-Splines provides an alternative to trimminga trimless model with trim-like details. The benefit of this is that you get a surface with control points right on the edge of the trimless region, so you can manipulate it. Also, you can merge trimless surfaces together to get a real, watertight Boolean! This capability will be automated in a future release, but the process is described in the table on the left.

1. T-Spline surface and trimming curve.

2. Offset curve outwards.

3. Subdivide and delete all faces that


touch the curves.

4. Rebuild the curves (to have the same number

of control points number as the hole boundary) and tsLoft the curves.

5. Weld points manually to get the final


T-Spline surface.

56

Another trimless T-spline example

1. Offset trimming curve and project to the


surface.

2. Delete faces that touch the curves.

3. Rebuild and tsLoft the curves.

4. Append faces to fill in the gaps.

5. Weld vertices.
57

Part IV: How to model with T-Splines

When modeling with T-splines, the concept of control is important. In one sense, T-splines give more control over each portion of the surface than do NURBST-splines allow the user to add control points anywhere, extrude parts of the surface, etc. However, most T-Splines commands facilitate the general shaping of the surface. Exact cutouts, trims, etc. should be done with Rhino commands.

58

12. Deforming a T-spline: edit mode


Pushing and pulling the surface is done frequently when modeling with T-splines. It is critical to have the tools necessary to do this in a quick way. So, we have created a new edit mode inside Rhino that contains optimized tools for pushing and pulling the surface. Edit mode is activated any time you click on one of the T-Splines manipulator or grip icons:
Click one of these icons to enter edit mode

The identifying feature of edit mode is a heads-up display box that floats in the top right-hand corner of your active viewport.

Heads-up display in edit mode

This heads-up display gives information about the special edit mode features: the manipulator, grip mode, drag mode, multiplier, hotkeys, and information about which objects in the scene are currently selected. The blue text can be clicked to toggle each item. To exit edit mode, hit ESC.

Manipulator: translate, rotate, scale

Manipulators allow you to quickly rotate, scale, and move parts of a model. T-Splines brings these time-saving widgets to Rhino from the animation industry. The manipulators that come with the T-Splines plugin can be used on all T-Splines and Rhino objects, including NURBS and meshes.

To activate the manipulator, click one of the manipulator icons.


59

Translate manipulator

To use the translate manipulator, first select the grips to be moved. Next, drag a manipulator axis in the desired direction to constrain movement to the X, Y, or Z axis. The manipulator is enabled with mouse-over highlighting to help differentiate whether a manipulator axis or a grip will be selected. Dragging a manipulator disc will constrain movement to the XY, XZ, or YZ planes. Dragging the center box will allow unconstrained movement.

Exact distance mode Double-clicking on a manipulator axis will open a prompt to type in an exact distance for movement in the command line. Enter a negative number to move the selected object(s) in the opposite direction. Double-clicking on a manipulator disc will translate the object x units in both directions in the plane. If you double-click an axis by accident and would not like to enter in an exact distance, just hit ESC to leave the prompt.

Moving exact distances with the manipulator.

Rotate manipulator

The rotation manipulator is comprised of a ring along each axis for rotation. It responds similarly to the move manipulator: drag a ring for manual rotation; double-click a ring to enter an exact translation distance. Numerical feedback is given while dragging when the Rhino Cursor Tooltips are enabled. Hold shift while dragging a ring to constrain the rotation to 5 degree increments.
60

Scale manipulator Similar to the rotate and move manipulators, dragging one scale axis will scale the object(s) in 1D. Double-clicking on an axis will allow for an exact scale factor to be added. For example, a scale factor of 2 will make the object twice as big, 0.5 will make the object twice as small. To scale in 2D, pull one of the grey discs that lie in a plane. To scale in 3D, select the center box.

Pivot point The location of the manipulator pivot point can be changed by clicking the pivot icon. This allows you to scale or rotate from one side of a model instead of just from the middle of your selection.

Tip

It is useful to have Rhinos Osnap on when moving the pivot point so it can be snapped to an edge or point.

Setting the pivot point of the scale manipulatorulator

Default scale manipulator location (in the center of the selection)

Set pivot to one side

Scale (from that point)

61

Setting the pivot point of the rotate manipulator

Default rotate manipulator location

Set pivot to one side

Rotate (from that point)

Face, edge, vertex, and tangency grips


Rhino users are familiar with vertex grips, or control points. These grips can be moved to shape a curve or a surface, and T-spline surfaces have control points just as NURBS do. In addition, T-splines can be shaped by edge and face grips. In reality, moving an edge grip simply moves two vertex grips at once, and moving a face grip just moves all the grips around the face at once. But it can be faster to manipulate edges and faces instead of groups of control points.

Edge grips

Vertex grips

Face grips

T-spline face and edge grips feature mouse-over highlighting, so your selection is highlighted before you select it. T-spline vertex grips employ mouse-over highlighting as long as edit mode is active.

Multiplier The multiplier value changes how sensitive the manipulator is to mouse movement. If the value is greater than one, the manipulator will move more than you move the mouse; if the value is less than one, the manipulator can be used for more subtle movements.
62

Drag mode

By clicking the blue text in the heads-up display, the manipulator drag mode can be toggled between CPlane, View, World, and UVN. This enables object dragging parallel to the construction plane, view, world x-y axis, or surface, respectively. This feature is directly hooked up to the Rhino DragMode command. Soft manipulation When soft manipulation is enabled, a moved vertex has a more gradual effect on the the neighboring surface.

Soft manipulation off (top left), on with a radius of 20 (top right) and on with a radius of 40 (bottom right).

Hotkeys

While the manipulator is active, T-Splines hotkeys can be enabled for faster modeling (see Advanced edit mode section). If you are a beginning T-Splines user, you may want to keep the hotkeys turned off if it is confusing for you to not be able to type commands on the keyboard. When hotkeys are enabled, the keyboard cannot be used to type Rhino commands, unless the mouse cursor is positioned in the command line field. Once you begin serious modeling with T-Splines, we suggest taking advantage of the hotkeysthey will save you significant modeling time.

Selected objects

The heads-up display prints a list of which objects are currently selected. This is useful because sometimes it is difficult to visually see how many control points are selected. The heads-up display can help you realize if youve mistakenly selected a control point through the model, whether you have selected coincident control points, etc.
63

Smooth mode and box mode


A T-spline can be viewed as a smooth surface or as a boxy mesh. On complex models, manipulating in box mode can be much faster, while smooth mode can be used to check the aesthetics and dimensions of the model. To toggle between box mode and smooth mode, select the object you would like to toggle, and press the tsSmoothToggle icon. If you are in edit mode, you can also press the TAB key to toggle all T-splines in the scene.

T-spline surface in smooth mode (left) and in box mode (right).

Smooth mode: Smooth mode shows the true shape of your T-spline surface. The smooth mode display mesh is produced by the T-Splines mesher, not the Rhino mesher. The density of the T-spline mesh can be changed globally in the T-Splines display options page or per object in the Object Properties window (hit F3 for this to appear in Rhino.) There is a tradeoff between speed and qualityjagged-looking meshes are faster to work with, smoother meshes are slower.

Tip To quickly change the quality of the display mesh, enter edit mode

and make sure the hotkeys are on. Press the 1, 2, or 3 number keys to toggle the global T-splines meshing from low, medium, and high density. The meshing values assigned to these settings can be changed in the T-Splines display options page. Box mode: Box mode can make it easier to see geometry as it is added and moved, and responds faster when working with large models. Box mode also permits non-manifold geometry, such as the beginning of a weld and when only one vertex touching. If you add invalid geometry to a surface in smooth mode, it will switch to box mode until the geometry is made valid again.
64

Tip Manifold and non-manifold surfaces

1, 2, and 3, are all non-manifold areas of the surface.

By welding a point at (1) and deleting faces on (2) and (3), this surface is now manifold.

A manifold surface is one where every face has a clear front and back. Each edge should touch no more than two faces, and faces which share a vertex must also share an edge next to that vertex. (Mbius strips can never be manifold, because the surface cannot be divided into a front and back.) Non-manifold T-splines can only be displayed in box mode, and must be repaired before they can be displayed in smooth mode.

Using Rhino commands with T-splines


Using Rhino commands while creating your T-spline model can be a powerful part of your T-Splines workflow. This is another significant benefit that T-Splines bring: no other organic modeling software is built into Rhino and lets you take advantage of many of Rhinos excellent surfacing commands as you model. Some Rhino commands will convert the T-spline surface to a polysurface; however, many commands work well with T-Splines and will leave the object as a T-spline following the command. Other Rhino commands, especially the UDT commands, work best when applied to the control points of a T-spline surface. For example, Bending a T-spline surface will convert it to a polysurface and then deform it, but bending all the T-spline control points will deform the surface while keeping it a T-spline surface. A detailed list of how Rhino commands behave with T-splines is available in the appendix.

65

T-Splines commands for adding/deleting geometry


Adding detail Subdivide face Insert edge Adding surface Extrude face Extrude edge Extrude curve Insert control point Crease Thicken Duplicate faces Deleting detail/surface Delete Remove crease

13. Adding/deleting geometry


When shaping a traditional NURBS model, complex shapes are often created in a piecewise way by trimming and combining surfaces. Creating a complex T-spline involves a slightly different paradigm. Shapes are made by pushing and pulling the surface, adding more detail, and merging and welding shapes to create organic forms. Rhino commands are then used at the end of the process to add exact details. There are a number of commands for adding and deleting detail in a T-spline surface.

66

Adding detail

Subdivide face
Subdividing a face is the simplest way to add more detail to your T-splines model. Just select a face and run the tsSubdivideFace command. The face will be subdivided into four faces.

Subdividing a face
Box mode

There are two options on the command: simple and exact. Simple Subdividing a face in simple mode will change the surface making it flatter and sharper (more isocurves). This tool can be very useful to add detail on flat faces, by quickly subdividing the face and getting more control points. Exact Subdividing a face in exact mode will maintain the surface shape. The exact modes in tsSubdivideFace, tsInsertEdge, and tsInsertPoint are unique to T-Splines and allow you to add more detail without your surface changing warping. In some areas of the surface, such as near a star point, some extra geometry must be added to maintain the surface shape.

Smooth mode

Original T-spline surface Simple face subdivision. (box mode on top, smooth The mesh shape is unmode on bottom) changed, but the surface flattens out.

Exact subdivision. The mesh is changed, but the surface stays the same.
67

Subdividing a face near a star point


Box mode

Smooth mode

Original T-spline surface Simple face subdivision. (box mode on top, smooth mode on bottom).

Exact face subdivision. Additional faces are subdivided to keep the surface exact near the star point.

68

Insert control point

Before

During

After

The tsInsertPoint command allows you to insert points on edges. It also allows you to extend existing control points. To use the command, click on the edges where you would like to add control points. There are two options on the command: simple and exact.

Inserting control points


Box mode

Simple insertion can be used both in smooth and box mode. Adding a point with simple insertion will not move the location of any other points, however, the surface shape will likely change. Smooth mode Exact insertion will not change the surface shape. This can only be performed in smooth mode, and it may add more control points than you desire, as well as shift existing control points to keep the surface from changing. Using the Exact mode on tsInsertPoint also standardizes the surface, as surface-preserving point insertion can only be performed on a standard surface.

T-Spline surface

Simple points insertion

Exact points insertion

69

Example of an exact point insertion near a star point

T-Spline surface

Insert first point

Insert second point and complete the command

Control points automatically add for standardization

70

Example of a single point insertion

Points can be inserted one at a time, many at once, parallel to each other, and diagonally across faces.

T-Spline surface

Simple point insertion

Surface control points

Area of influence

71

Example of a multiple points insertion (parallel)

T-Splines surface

First point insertion

Second point insertion

Third point insertion

Fourth point insertion

Surface control points

Area of influence

72

Example of multiple points insertion (parallel, diagonal and on points)

T-Splines surface

First point insertion (on point)

Second point insertion

Third, fourth and fifth point insertion (diagonal)

Sixth and seventh point insertion (parallel)

Surface control points

Area of influence

73

Example of a single point insertion near a star point

T-Spline surface

Simple point insertion

Surface control points

Standardizing the surface reveals added edges

Troubleshooting: Since the insert control point command is very powerful, it is possible to mess up your surface if the tool is not used well. Remember the modeling Golden Rule with T-splines: use star points, triangles, and n-sided faces only where necessary. If no triangles or star points are created with the insert control point command, then the resulting surface will be fine. The most common error with inserting control points is creating a model that can only be viewed in box mode, which cannot be converted to smooth mode. This error can be corrected with the tsLayout command.
74

Insert edge

Before

During

After

Edges can be inserted using the tsInsertEdge command. To use this command, highlight the faces or edges where you would like a new edge, and add the edge.

There are two options on the command: simple and exact. These have the same effect on the surface as the simple and exact options do in the tsSubdivideFace and the tsInsertPoint commands. Simple insertion can be used both in smooth and box mode. Adding a point with simple insertion will not move the location of any other points, however, the surface shape will likely change. Exact insertion will not change the shape of the surface, however, additional points may be added.

Edges can be inserted into partial and complete face loops, edge rings, and edge loops. Inserted edges respond to the Rhino Osnap options, and can be placed freehand if Osnap is turned off. The following pictures show how to use each of these selections with the tsInsertEdge command.

Partial face loop selected

Edge inserted inside face loop (simple option)

The surface curvature changes

Simple insertion on partial face loop

75

Partial face loop selected

Edge inserted inside face loop (exact option)

The surface curvature doesnt change

Exact insertion on partial face loop

Partial edge ring selected

Edge inserted (simple option)

The surface curvature changes

Simple insertion on partial edge ring

Exact insertion on partial edge ring


Partial edge ring selected Edge inserted (exact option) The surface curvature doesnt change

76

Partial edge loop selected

Edge can be inserted (simple option) on one side

or both sides of an edge loop

Simple insertion on partial edge loop

Partial edge loop selected

Edge can be inserted (exact option) on or both sides of an edge loop one side

Exact insertion on partial edge ring

tsInsertEdge can also be used to add a soft crease.


77

Crease

Before

During

After

The tsCrease command adds perfectly sharp creases to T-spline edges. To use this command, highlight the edges you would like to crease and hit enter.

Tangency
To control the tangency of a creased section to the rest of the surface, use the tangency handles. Tangency handles are not visible by default; turn them on by clicking the Handle icon or on the TSplines options page. Tangency handles can be deleted, which will smooth the surface, by using the tsRemoveCreases command.

Tangency handles for the crease are shown in yellow

78

Influence of creases

Influence of creases: Like all T-splines and NURBS control points, creased control points influence the surface within a two face region. This means if only one edge is creased, the next two edges in the loop will be partially creased, and the third edge away in the loop will not be creased at all.

a. Edge to be creased

b. After crease

c. Enlarged image of (b) with Zebra stripes. How the crease blends into the surface. 1: Creased edge. 2&3: Edges partially creased from the influence of (1). 4: Beyond the region influenced by the crease, a smooth surface.

79

Crease behavior near star points: The influence of creases produces some undesirable effects near star points. If any edge of a star point is creased, all the edges going out of the star point will be creased as welland so will points up to three edges away. Thus, it is recommended to either crease all edges of a star point or no edges of a star pointor, to just use the tsInsertEdge command to insert a soft crease near the star point.

Edge of a T-spline box

Sharp crease added with tsCrease. Tangency handles appear (when set to visible in tsOptions). Notice the crease also extends down the third edge of the star point.

Soft creases

Sometimes when creases are prescribed, a tight radius edge, rather than a perfectly sharp crease, is desired. Soft creases, also referred to as edge weighting by polygonal modelers, can be created with the tsInsertEdge command.

Sharp crease (tsCrease)

Soft crease (tsInsertEdge)

80

A soft crease on a corner: Rather than insert a sharp crease, insert an edge. Inserting these edges close to the original edge will provide an effect of a soft crease

Edge of a T-spline box

Edge loop (highlighted) inserted with tsInsertEdge for a tight radius (.05)

Edge loop inserted with tsInsertEdge for Edge loop inserted with tsInsertEdge for tight radius (.2) tight radius (.4)

A soft crease on an extrusion: When extruding a column, you can control the curvature on the top and the bottom of the column by inserting edge loops with tsInsertEdge (or doing multiple extrusions). The edge loops can then be moved to determine the tightness of the curvature.

Extrusion

Edge loop inserted at top for a tighter radius...

and one on the bottom, too.

81

Adding surface Extrude face


Select a face or faces. Run the tsExtrude command. When the faces are moved by the manipulator, a column of new faces will be added around the original face, connecting it to the surface.

Before

During

After

Extruding multiple faces: Two or more adjacent faces extruded together will be extruded as a single column. To make a gap between extruded faces, extrude them separately.

Two faces extruded, one at a time

82

Tip Extruding non-rectangular faces


Sometimes it is desirable to extrude a non-rectangular face to get more control over the sides of the extrusion. Here is one way to create and extrude a cylindrical 6-sided face:

Select an edge

Delete the edge

Select two points

Scale 1D the points outwards

Select the face

Extrude the face

Two more extrusions. In the tsLayout comThe extrusion is mand oblong because there are two T-points on the sides.

Click the Ts to turn them to star points; exit the command

Now the extrusion is balanced

Extruding with symmetry: To extrude across a symmetry boundary, select faces on both sides of the symmetry border. If just one face is selected, separate extrusions will be made on each side of the symmetry border.

Extruding across symmetry

83

Extrude edge

Select entire border

Run tsExtrude

Move the edges

Extruding edges allows you to add more geometry on the borders of your model. To use this command, select an edge or edges to be extruded and run the tsExtrude command. Extruding edges is only permitted on the edge of the surface. Single edges can be extruded, or an entire border can be extruded.

Select edge or edges to extrude

Run tsExtrude

Move the edge

Tip Extruding edges to smooth T-splines borders If the edge of your T-spline model has a crease, this is how to fix it. This is a very important tip that will greatly improve your modeling!

T-spline surface

Two edges extruded. Notice that the surface has creases; this is because the border contains a sharp inner corner, which pushes a crease to the rest of the surface through the isocurves.

One way to make this creased surface smooth is adding a complete border loop. Select all border edges (above).

Extrude the border edges. Notice that the topology of the border changes and all border points now have a valence 3, which is the best for smooth contours.

84

Extrude curve
In T-Splines 2.2, curves can be extruded. Just select the curve and run the tsExtrude command.

Tip

Extruding with the manipulator

Instead of clicking the Extrude icon, just select your object (curve, face, or edge), hold down the ALT key, and drag the manipulator to make an extrusion. This works with the translate, rotate and scale manipulators!

85

Thicken

Before

The tsThicken command is a quick way to approximately shell or give thickness to a surface.
Thickened (smooth borders)

tsThicken does not give exact shelling; instead, it creates an editable solid with minimal control points. For exact shelling, use the Rhino OffsetSrf command, which is accurate to within the file tolerance.

86

Thickening open surfaces: The thicken command will take a surface and thicken it by duplicating the surface and connecting the two surfaces around the edges. The user can specify the thickness by either entering a number into the command prompt or moving the mouse and clicking. The thickness is measured according to the surface normal for each control point.

Options
Open T-spline surface Thickened 3 units, uncreased edges Thickened 3 units, creased edges

The CreaseEdges option allows for creased or smoothed edges on the thickened surface.

The DirectionType option allows you to thicken Normal to the surface or normal to each vertex (PerVertexNormal).

T-spline surface

Thicken (Normal)

Thicken (PerVertexNormal)

Thickening closed surfaces: If the surface is closed, the Thicken command creates a second, separate surface.

The T-spline is thickened again, yielding the red surface.

With clipping plane to show both surfaces.

Creating self-intersecting surfaces with Thicken: tsThicken does not check to see if it creates a self-intersecting object; in fact, if the inputted thickness is greater than the minimum curvature of the object, the model will self-intersect. We recommend visually examining your model for self intersections after thickening it. Self intersections can be resolved by manually moving control points.
87

Duplicate faces

tsDuplicateFaces makes a copy of T-spline faces. This will copy the locations of the control points. If you are in box mode, it will look like an exact copy, but if you are in smooth mode, if you are copying an open selection, the border edges of the selection may have different curvature from the original surface.

Select faces to duplicate

A new surface will be created

88

Deleting detail/surface Delete


The Delete command lets you remove faces, edges, and vertices from your model.

Deleting faces will delete the surface. Deleting faces is an alternative to trimming, and leaves an editable model.

Deleting edges and vertices from a model will produce changes of curvature.

Deleting edges removes them from the surface. This is similar to Rhinos RemoveKnot command, except that partial edges can be deleted as well.

Deleting a vertex will also remove any edges touching the vertex.

89

Tip Use the Delete key on your keyboard instead of clicking the icon for
deletions!

Trimming vs. deleting faces

Deleting faces vs. trimming: Deleting faces is a new concept for traditional NURBS modelers. This is an alternative to trimming the surface. Unlike trimming, though, deleting a face will actually remove it from the surface and leaves definite surface edges with control points, whereas trimming hides the trimmed part of the surface. See more examples of deleting faces vs. trimming in the Trimming T-splines section.

Trimming curve and surface to End result after Rhino Trim be trimmed. operation. Surface is turned off but original control points still exist.

End result after deleting Tsplines faces. Surface edges lie on the trimming curve.

How to delete faces to make a trimless T-spline

Delete all faces through which the curve traverses.

After deletion

Select border edges.

Extrude the edges.

Manually reposition control points so the surface edge lies on the trimming curve.

Trimless T-spline

One benefit of having a true surface edge is that it can be extruded.


90

For greater control, subdivide faces before deletion.

Select border edges.

Extrude the edges and reposition.

Trimless T-spline

Deletions that yield invalid surfaces: Most deletions can be performed in either smooth or box mode. However, some deletions will produce an invalid surface, and the T-spline will automatically switch to box mode upon deletion. In these instances, the T-spline will need to be repaired before it can be displayed in smooth mode. Deleting faces that touch only at corners: If a face is deleted, leaving other faces that only touch at a corner, the surface will be invalid in smooth mode and will only be able to be displayed in box mode.

Invalid surface (faces only touching at corners). Red dots indicate the surface cannot be displayed in smooth mode.

Adding this face will make the surface valid.

A valid surface.

Tip How to make a hole in a T-spline with smooth corners

Face to be deleted.

Deleted face. Corners are Select all border edges. sharp.

Extrude all border edges. The hole is now circular without sharp corners.

91

Remove creases

The tsRemoveCreases command removes creases in the T-spline surface. Creases are defined in T-Splines by tangency handles, when the tangency handles are deleted the surface is smoothed. To use the command, select a creased edge or point and run the command. The crease will be deleted, and the surface will become smooth.

Before

Wireframe of Before showing tangency handles

After

Tip Tangency handle visibility can be turned on or off. If you have a

crease in the surface but cant see any tangency handles when in vertex mode, click the Tangency Handle icon!

92

Combining surfaces Fill hole


The tsFillHole fills holes in the T-spline surface. To fill a hole, click on an edge of the hole while in the command. The model remains editable as a single surface.

Filling a single hole.


Hole in T-spline surface Hole filled with tsFillHole command

Multiple holes can be filled at once.


Three separate holes can be filled at one. Here one edge from each hole is preselected. The holes are filled by running the tsFillHole command.

Even strangely shaped holes can be filled with the tsFillHole command.

The hole is filled. However, The highlighted edges were Final smooth surface. additional edges should be inserted. inserted using tsInsertPoint because this is an oddly shaped n-sided face and will not smooth as desired.

Filling oddly-shaped holes.

93

Weld points
The tsWeld command allows you to weld points inside a single Tspline, or to combine two T-splines into one.

Before

After

If two points are preselected, the weld command will average the distances between them

If the points are selected after the command is run, the first point will be moved to the position of the second point.

94

When points of two different T-splines are welded, or when closing a gap in a single T-spline surface, the first pair of welded points will often turn red. A red point means that the smooth T-spline currently cant be displayed. As soon as another point is welded in the edge, the red will disappear and the smooth T-spline will be able to be displayed.

More advanced welding example. The first pair of points was preselected and each point was moved halfway for the weld. The second pair of points were individually post selected, first right then left, so the right point was moved to the left point during the weld. The third pair of points were post selected too, first left then right.

95

Unweld edges
tsUnweld will unweld edges of a T-spline. The unwelded edges will remain on top of each other until they are moved.

Middle edges selected.

After these edges are unwelded, they still lie on top of each other.

Edges are moved to show they are no longer connected.

Append
The tsAppend command adds new faces to a T-spline. This is similar to both the extrude edge command and the fill hole command. It is also possible to use this command to create a face unconnected to any surface.
Appending a face between two parts of a model.

To append, select a point on the edge of the model where you would like to start your appendage (it is beneficial to have Rhinos Point Osnap turned on). Click points in space to mark the boundaries of the face to be appended, and then finish by snapping to a vertex on the same edge as the original point on the model.

Using append face to create a face unconnected to any surface.

96

Bridge

The Bridge command allows you to connect two T-spline surfaces (or two parts of the same T-spline surface) by adding intermediate faces. It consists of two steps: selection and alignment. Selection: The tsBridge command works on faces or border edges. In either case, two groups of faces or edges should be selected. If faces are selected, a bridge will be built between the borders of the selected regions, and the faces will be removed. You may switch between face or edge mode by using the SelectionMode command option. Alignment: Specifies the number of segments that Bridge will create by using the Segments command option. You can toggle showing a mesh preview of the bridge by using the ShowPreview command option.

Two faces to be bridged, without (left) and with ShowPreview turned on.

You may specify a curve along which the bridge will travel by using the FollowCurve command option. If a curve is selected, the command will position and scale the curve so it will lie at the middle of the bridge and be scaled to fit between your selections. You may rotate the curve by using the Rotation command option, or by dragging the circle which is shown in the middle of the curve. The curve may be flipped by clicking the arrow that points outward from the center of the circle.
From left: FollowCurve=no, FollowCurve=yes, resulting surface.

97

The alignment between the two selections may be specified by clicking the alignment points on either group of edges or faces. If faces or edge loops are selected, all of the vertices along the selection will be alignment points. Otherwise, the only alignment points will be at the ends of the edge selection. The alignment direction indicator will move to the selected alignment point.
From left: alignment points are highlighted in the red boxes. The alignment direction indicator can be clicked to swith direction; it can also be moved by clicking on other alignment points.

Twist: The Bridge command works by imagining a tunnel which connects the two selected regions. If a bridge curve is selected, the tunnel travels along the curve, and the up direction follows the curvature of the curve. At intervals along the tunnel, Bridge takes a cross-section of the curve (called a frame) and determines where the bridge should be positioned within that frame. The Twist command option allows you to specify how many complete rotations the tunnel will make around the curve between the beginning and the end of the tunnel. This can be used to make a bridge spiral, or to avoid pinching.

With a twist of 0, a certain edge might have the following position in each of a series of frames, which leads to a pinched surface.

With a twist of 0.5, the edge would stay at the same position, relative to each of the frames. The frame itself will change orientation, however, for a nicer spiral look.

98

Merge edges Merging edges to combine surfaces


The tsMerge command allows you to merge edges inside a single T-spline, or to combine two T-splines into one. To use the tsMerge command, select two chains of edges and merge them together. The Smooth option in tsMerge lets you determine whether the surfaces are merged smoothly or with a crease.

1. Select border edge loops of surfaces A and B

2. Merge edges

3. Select border edge loops of surfaces AB and C

4. Merge edges

Merging edges of a single surface

1. Select edges

2. Merge them

3. Select edges

4. Merge them

99

Merging preselected edges

1. Select edges of both surfaces

2. Merge them

Merging post-selected edges

1. Run the tsMerge command. Select edges of one surface, then select edges of second surface.

2. The edges of the first surface will be moved to the location of the edges of the second surface, then they will be merged.

100

Merge edges example

tsMerge is similar to tsWeld; however, tsMerge is unique in that it lets you merge two surfaces with unmatching isocurves into a single surface.

1. Three different T-Spline surfaces.

2. Select each row of edges to 3. The surface merges parameweld. Notice that the surfaces trically, adding T points along have different number of edthe merge region. ges (2 on the left surface and 3 on the right).

4. Select edges to merge. Notice that you can merge a complete border of a surface against a partial edge of another surface.

5. Having the same number of edges on the border makes a cleaner merge.

6. Its also possible to merge edges of the same surface. Select edges.

7. Final T-spline surface.


101

Match surface

Similar to the Rhino Match command, tsMatch will position a T-Splines surface border edge to a Rhino NURBS surface or curve with Position, Tangent, or Curvature continuity. A Refine option will add control points to the T-spline to match the surfaces within file tolerance.

T-Splines (left) and NURBS (right) surfaces

Match with Position continuity

Tangent continuity

Curvature continuity

T-Splines (inside) and NURBS (outside) surfaces

Refine option = No

Refine option = Yes

102

14. Modeling with symmetry


tsSymmetry allows a fraction of a model to be mirrored, merged, and then modified symmetrically. To add symmetry, create half (or another fraction) of a model (or delete all but a fraction of the model), then apply symmetry.

Axial symmetry: T-splines can be symmetrical in the x, y, and/or z world axis.


Full model (credit: Ricardo Amaral) Half deleted Symmetry applied; moving one side moves the other

1/8 of a donut model

Radial symmetry applied

Extrusion on the symmetric object

Radial symmetry: T-splines can also be symmetrical in radial sections. When a T-spline has symmetry enabled, the isocurves on the symmetry borders will be highlighted to show the symmetry boundaries (default=green, the color can be changed in the tsOptions Display panel). T-Spline symmetry is independent of Rhino history. Creating primitives with symmetry: T-spline primitives can be created with axial or radial symmetry.

x symmetry

x & y symmetry

x, y, & z symmetry

103

Symmetry can be turned off by running the tsSymmetryOff command. After symmetry has been turned off, the only way to regain symmetry is to delete part of the model and run the symmetry command to mirror it.

Options Weld: Determines whether to weld the vertices on the borders of the model. Weld=no will combine the parts into one object but not weld the vertices.

Tolerance: If Weld=yes, all vertices on the symmetry border will be welded if they fall within this tolerance.
Creating symmetry in the x & y axes from this segment, without and with welding (Tolerance=10)

SymmetrySegments: The number of times the initially selected surface will be symmetrically mirrored. FacesPerSegment: Rows of faces in each radial symmetry segment.

SymmetrySegments=8, FacesPerSegment=1

SymmetrySegments=8, FacesPerSegment=2

SymmetrySegments=16, FacesPerSegment=1

104

Sweep: The degrees through which the symmetry will be swept.

Sweep = 360

Sweep = 270

RadialPlane: Defines which plane the object will be mirrored in.

Example of a radial symmetry with ZY RadialPlane

105

Part V: How to export T-splines

106

14. Converting a T-spline to NURBS surfaces

One of the significant advantages of T-splines surfaces over subdivision surfaces is that converting Tsplines to NURBS is a 100% precise, push-button solution that wont deform the surface and maintains continuity. When youre done using the T-splines tools to shape your model, convert it to NURBS to bring it into another program or to manufacture.

tsConvertToRhinosurf
There are two ways to convert a T-spline surface to Rhino NURBS. The first way is to run the tsConvertToRhinosurf command. The second way is to just run a Rhino command. If the command requires a NURBS surface, the T-spline will be automatically converted to NURBS.

One non-rectangular T-Splines surface.

Multiple rectangular NURBS surfaces.

The conversion of a T-spline to a NURBS requires that the T-spline be split into rectangular regions. To determine the smoothness and density of the NURBS, change the Set star smoothness option in the T-Splines option page. T-Splines are G1 smooth at star points; however, if the surface isnt as visually smooth as desired at the star points, changing the star smoothness can help.
107

Set surface layout

The tsSetSurfaceLayout command allows the user to define the regions where the T-spline surface will be split into NURBS patches. By default, when T-spline surfaces are converted to NURBS, edges coming out of star points are extended to form the boundary of the NURBS patches, and all T-points within these areas are extended to form rectangular NURBS. The Set Surface Layout command gives the user an opportunity to redefine how the T-spline is split into NURBS.
tsSetSurfaceLayout UI. The dashed edges at star points must be border edges for the NURBS patches and cannot be deselected. Click on edges to set the desired layout Converting to NURBS will make the new layout patches

When the command is entered, edges coming out of all star points in the model are highlighted with a dashed line. These edges must be on the edges of NURBS surfaces and cannot be deselected. The user can select any other edges in the model, and the selections will be the borders of NURBS patches after tsConvertToRhinosurf is run. The Default Extension option highlights all edges that would be the borders of NURBS by default. The Clear option clears the edge selection.

T-Splines surface

New layout with the Set Surface Layout command

NURBS surface

108

15. Converting a T-spline to a mesh

T-splines can be meshed for rendering or manufacturing with the tsMesh command, as well as the Rhino Mesh command. Also, T-splines can be exported as a low-poly .obj mesh.

tsMesh
tsMesh takes a T-spline as an input and produces a polygonal mesh.

From left: T-spline surface; Polygonal mesh, tolerance=0.1; Polygonal mesh, tolerance=0.01.

tsMesh usually exports a more optimized mesh for a T-spline than the Rhino Mesh command since tsMesh recognizes T-points. tsMesh can also be used on NURBS and polysurfaces. Options UseTolerance determines whether to use a specified number of divisions per face, or fit to a tolerance. Tolerance is the tolerance value. The tsMesh command will output a mesh dense enough to be within this distance of the T-spline surface at every point.

109

DivisionsPerFace is the number of divisions per T-spline face. If UseTolerance=No, then each face will be divided exactly this many times and no more, even if significant detail is missing.

A T-spline surface (above) converted to a mesh (bottom). From left: DivisionsPerFace: 1, 2, 3, 4.

If UseTolerance=Yes, then the DivisionsPerFace will be a minimum number of divisions per face, but more divisions will be added if necessary to obtain the required tolerance.

Tip tsMesh works with Rhinos history. Click Record History before

entering this command, and modifications made on the T-spline object will be updated live on the mesh object. Rhino Mesh command The Rhino Mesh command will work on a T-spline just as it works on Rhino NURBS and polysurfaces. See the Rhino help for more instructions on this command.

110

Export T-spline mesh as a quad-dominant .obj Select the T-spline in box mode, and then export as an .obj. The exported mesh will be mainly quads, except that faces with Tpoints on them will be triangulated.

From left: Box mode T-spline, smooth T-spline in Rhino.

From left: Mesh exported to subdivision surface modeler. (The arrows point out that faces with T-points on them are triangulated in a subdivision surface modeler). Smoothed mesh in subdivision surface modeler.

111

Part VI: Advanced modeling with T-Splines

112

16. Advanced edit mode: hotkeys and selection


T-splines introduces a new edit mode inside Rhino that contains optimized tools for pushing and pulling the surface.
Edit mode can be turned on and off by clicking the T-Splines manipulator icon.

Most of the features of edit mode are discussed in the edit mode section. Three additional features will be explained here: hotkeys, advanced selection, and the multiplier.

Hotkeys

Hotkeys are enabled by default whenever you are in edit mode. To turn off hotkeys, just click the blue text in the heads-up display. When hotkeys are enabled, the keyboard cannot be used to type Rhino commands, unless the mouse cursor is positioned in the command line field.

Heads-up display with hotkeys enabled.

Using hotkeys yields significant speed advantages when doing serious tweaking on a T-spline mode. With one hand using the mouse and the other changing grip modes and manipulators and calling common commands using hotkeys, your iteration time will shrink dramatically. Hotkeys can be assigned to both T-Splines and Rhino commands in the T-Splines hotkeys options.

T-Splines manipulator and selection commands are assigned hotkeys by default.

113

Other T-Splines commands can be selected from the pull down list on the bottom and assigned hotkeys.

Rhino commands can by typed in the pull down list area and assigned hotkeys as well.

114

Selection highlighting

While in edit mode, all T-spline face, edge, and vertex grips feature pre-selection highlighting during mouse-over. This contrasts with the traditional Rhino method of post-selection highlighting. In Rhino, you click on an object and it is selected. If there are multiple objects in the area, a pick box appears, and the desired selection can be made from the list in the pick box. In edit mode, when the mouse cursor hovers over a T-spline object, the object is highlighted, and when the mouse is clicked, the highlighted object is selected. This makes selection possible with fewer mouse clicks.

Rhino post-selection example.

T-Splines pre-selection example.

115

Selection

The selection commands, (Paint, Grow, Shrink, Edge Loop, and Edge Ring) speed up grip manipulation while in edit mode. Each selection command can be accessed by either clicking on its icon or through using its hotkey. Paint selection When paint selection is turned on, you can click and drag across grips to add them to your selection, rather than needing to click on grips individually while holding Shift.

Click on the first face,

and while holding the mouse button, drag to paint select additional faces.

116

Grow selection When one or more grips is selected, grow selection will add all adjoining grips to the selection.

From left: Initial selected face, Grow selection, Grow selection again.

Shrink selection When one or more grips is selected, shrink selection will subtract all border grips from the selection.

From left: Initial selected faces, Shrink selection, Shrink selection again.

117

Edge loop

For edges: When an edge is selected, this command will select all the edges along the edge loop until either a border or a star point is encountered.

Single edge loop

Multiple edge loops

Tip Double-click an edge to select an edge ring without using


icons or hotkeys!

118

For points: When two adjacent points are selected, this command will select the remaining points on the edge loop.

Control points loop selection

For faces: When two adjacent faces are selected, this command will select the remaining faces in the face loop.

Faces loop selection

Faces loop selection (multiple directions)

119

Edge ring For edges: When an edge is selected, this command will select all the edges along the edge ring.

Single edge ring selection

Multiple edge ring selection

Multiplier The multiplier changes the sensitivity of the T-Splines manipulator.

Click on Multiplier to change the value

120

17. Additional commands


Fit to curves
Fit a T-spline surface to a non-rectangular network of curves with the tsSkin command. The tsSkin command introduces a way to make organic models, even with holes and appendages, as a single smooth surface, in one operation. tsSkin fits a surface to curves. tsFromLines presents a similar workflow to tsSkin; it takes line segments as an input and creates a surface from the control polygon points rather than fitting a surface to the curves. Because tsSkin is sometimes difficult to control, it is not a recommended workflow for beginners. However, tsSkin can be a powerful surface-creation tool.

Curve network

T-spline surface

121

Shapes made easy with tsSkin


Surface Input curves type Untrimmed surface with holes T-spline surface

Non-rectangular surface

Y branch surface

122

Shapes made easy with tsSkin


Surface type Closed surface with holes Input curves T-spline surface

Open surface with legs

Closed surface with legs

123

Shapes made easy with tsSkin


Surface type Complex topology surface Input curves T-spline surface

tsSkin takes curves as input and creates a surface that will pass through all the curves. tsSkin is similar to Rhinos NetworkSurface command; the difference is that tsSkin can be used to create non-rectangular models. Consequently, tsSkin usually requires more input curves than Rhinos Network Surface command. You cant create two separate surfaces during a single tsSkin session. To create multiple surfaces, just make one surface at once. If your first attempt at creating a surface using tsSkin does not yield a good result, you can often increase the quality of your surface simply by increasing the number of curves that define your surface. tsSkin fits a surface to go through curves as closely as possible, but if you have large open areas in between those curves, tsSkin can become confused about how the surface should behave there (ie to be rounded or flat). By adding more curves to your object, you can gain additional control about how the surface behaves.
124

Laying out input curves for tsSkin

Laying out the right set of input curves is by far the most critical part of this workflow. If the curves are good, the surface will be good. If the curves are bad, the surface might look like wadded up piece of paper. Heres how to determine whether input curve networks are good or bad:

Choosing curves for good results with the tsSkin command


Principle Make input curves as simple as you can. Bad Good

Try to always have the simplest curves you can to describe the shape, without unnecessary control points. Lay out curves to define the entire surface.

This will yield a smoother surface at intersections than if your curves are only laid out to define sections of the surface. Dont worry about splitting the curvesthat will happen in the command. Have curves intersect as closely as possible.

125

Maintain a similar curve density across the network.

Use 4-sided faces when possible.

Faces that have 3 sides, 5 sides, or more than 5 sides will be broken up automatically with a star point once the model is generated. Star points are not as smooth as other control points, so when possible, use 4-sided faces. Have 4 or 3 curves meet at each intersection when possible. Try not to have more curves intersect at a single point than necessary. Why? Control points at the intersection of 4 curve segments, as well as T-points, where 3 curve segments intersect, are C2 (curvature continuous). Control points that have 5 or more curve segments, as well as those that have 3 curve segments which are star points, are not as smooth (they are G1). They should only be used when necessary to get the right geometry flow.

126

More bad layout examples

Changes in curvature without an intersecting line.

Using the Contour command to generate curves. Ship waterlines and stations are not a good input for tsSkin because of the triangles and 5-sided faces created on the edges.

Curves that do not intersect.

Tiny curve segments. These usually come from using ExtractWireframe.

127

Creating a surface from curves using tsSkin Step 1: Adjust curve intersections Detecting correct curve intersections is important for creating the surface. By default, the curves are defined as intersecting if they fall within the tolerance you have established for your Rhino file. The number in the text dot that lies on the intersection tells how many curve segments intersect there with the current tolerance. You can increase the tolerance within this command if necessary to detect all the curves.

Input curves.

Inside the Curve Intersection display. These curves do not intersect within the given tolerance.

By increasing the tolerance, the curves now intersect within this tolerance.

128

Step 2: Topology This step allows you to turn faces on or off in your model, to designate curves as being creased, and specify areas of smooth transition. The topology options are the same in both tsSkin and tsFromLines. To learn more about these options, see the tsFromLines command. Step 3: Fit parameters This step allows you to control how tightly the surface hugs the input curves. It also allows you to influence how the surface behaves between the input curves. Spans The spans option influences how tightly the surface will follow the curves by inserting new control points. Spans are set to one by default; this means one control point will be generated at each intersection. By increasing the spans to 2, one additional control point will be inserted on the curve. Increasing the spans to 3 will add yet another control point on the curve, and so forth. Increasing the spans leads to a better fit, as well as more control points in the generated surface.

From left: Spans preview with 1, 3, and 6 spans, respectively.

Bottom: Surface generated from the span count above.

129

From left: Spans preview with1,2, and 4 spans on the top segment, respectively.

Bottom: Surface generated from the span count above.

Chord length This option yields a better surface fit when you have long curve segments on the opposite side of a face from short curve segments.

From left: Input curves, Chord length off, Chord length on.

130

Tight curve fitting This option provides an alternative method for fitting the surface close to the curves. Fairing This option will fair the input curves. Stiffness When stiffness is 0, you get a surface that behaves somewhat like a soap bubble. When the stiffness value is higher, the normal will change as little as possible, and you get something closer to the Rhino EdgeSrf command. To generate a surface using tsSkin, use the Preview button liberally, then hit ok.

Tip tsSkin can be scripted. To create a script, type tsSkin into

the command line to start the command. After you select your curves, click the RecordToNotes option in the command line. Continue through the tsSkin command, accessing the options through the command line. When you are done, you will have a script for making your surface in the Notes. Just copy and paste the script in the command line to regenerate the T-spline surface.

131

Split curves
The tsSplitCurves command allows you to quickly split a network of curves into curve segments. It can also be used to identify which of your curves intersect within a tolerance. By default tsSplitCurves will look for intersections within the default tolerance of the Rhino file. If any curve intersections fall outside of that tolerance, you can increase the tolerance to capture more intersections.

Intersections are color coded for ease in identification. The number shown is the number of curves meeting at the given point.

tsSplitCurves is useful for preparing your curve network before using tsFromLines or tsSkin. Using tsSplitCurves with tsFromLines: Correctly generating faces is a crucial part of tsFromLines, and identifying where line segments intersect affects how these faces are generated. If two line segments cross each other without at least one of them having a point at that intersection, the intersection wont be recognized by tsFromLines. There are two ways to solve this. One way is to redraw your line segments, inserting a point at the intersection. The other way is to use tsSplitCurves to split the existing line segments. After they have been split, the intersections will be recognized in tsFromLines. Using tsSplitCurves with tsSkin: The tsSplitCurves command allows you to split your curves as part of the skinning process, but if you need to back out and change something, that splitting information is lost. If you dont want to split your curves each time you use tsSkin, you can split them once with tsSplitCurves and save yourself a step while using the tsSkin command.

132

Flip surface normal

tsFlip is the T-spline equivalent of the Rhino Flip command, and reverses the normal direction of the T-spline surface.

T-Spline surface with Normals inwards (left) and outwards (right).

Extract control polygon

The tsExtractControlPolygon command extracts the control polygon (line segments) from the T-spline object. This is useful because then the control polygon can be modified, bridged to other objects, sections can be deleted, then the model can be created again using tsFromLines. This command was used more frequently before T-Splines 2.0.

T-spline surface (left) with control polygon extracted (right).

133

Flatten points
Flattening points Smooth mode The tsFlattenPoints command flattens control points to a single plane passing through the control point group. The command requires an input of at least four points before they will be flattened. The command will work on T-Splines, NURBS, and mesh control points.

Box mode

Before flattening points

After flattening points

Weight
The tsWeight command assigns a weight to T-spline control points, similar to the Rhino Weight command.

tsWeight of 1 (default)

tsWeight of 0.1

tsWeight of 10

134

Set curvature graph edges

tsSetCurvatureGraphEdges allows the user to turn on specific T-spline edges for display while using the Rhino CurvatureGraph command. The Clear option will turn CurvatureGraph on for all edges in the model. After the Set Curvature Graph Edges command is used, the Rhino Curvature Graph command must be run to see the curvature graph.

Select edges for analysis

Curvature graph appears only on selected edges

135

18. Repairing a T-spline mesh


Occasionally, parts of a T-spline look contorted when converted back to smooth mode. Or, T-splines may entirely refuse to be converted back to smooth mode. In these cases, it is likely that the T-points and star points should be swapped. Recall that T-points are smoother than star points, but star points must be used in place of T-points in some parts of the model. Depending on how your model was constructed, some points may have been designated as star points when they may more appropriately have been T-points, and vice versa.

tsLayout allows you to swap T-points and star points. Swapping T-points and star points
Inside the tsLayout command, star points and T-points will show up as star and T icons. Additionally, offending T-points that must be switched to a star point in order for the surface to be displayed in smooth mode show as a red seashell . To switch a T-point to a star point, click on it and the icon will change. You can also click a T-point to change which direction it points. Not all star points can be turned to T-points. Here are the rules: A star point can be changed to a T-point if: The vertexs valence is less than 4. The resulting face into which the T-point will point is a four-sided face. In some scenarios, changing from a T-point to a star point is a requirement in order to display the surface in smooth mode. tsLayout can also be useful to get a different shape in your model. For example, see the instructions on how to create and extrude a six-sided face.

136

Using tsLayout to repair tsInsertPoint errors

A common reason for smooth display issues: points inserted on a diagonal on a periodic surface.

The display switches to box mode and the following message appears:

Tip

Use the AutoRepair option in tsLayout (new in v2.3) to have all seashells automatically be converted to star points.

In tsLayout. These seashells must be clicked to turn these T-points to star points.

Now they are star points.

137

Out of the tsLayout command, the smooth surface can now be displayed.

138

Make uniform
R

The tsMakeUniform command makes all the knots intervals in the T-Splines surface uniform. This is useful if the surface has strange bunching after adding control points. Make uniform will cause the surface to relax.

Surface with bunching

Relaxed surface after running the tsMakeUniform command

139

Rhino commands
Command _Align _Area _AreaCentroid _AreaMoments _Array _ArrayCrv _ArrayCrvOnSrf _ArrayPolar _ArraySrf _Bend _Blend _BlendSrf _Boolean2Objects Code TS TS TS TS TS, CP TS, CP TS, CP TS, CP TS, CP CP TS TS-NURBS TS-NURBS Description/Picture

Appendix 1: Rhino commands and T-splines


Rhino commands can work directly on a T-spline surface or on the control points of the surface . The general rule is that Rhino commands that work on polysurfaces also work on T-spline surfaces. Some of them convert the T-spline surface to a NURBS surface, and others keep the surface as a T-spline. Below is an extensive list of Rhino commands, with an explanation of how they work with T-spline surfaces. Abbreviation code key: TS= Command works as expected on the T-spline surface. Input: T-Spline surface. Output: T-Spline surface. CP= Command works on T-splines control points. Input: T-spline surface control points. Output: T-spline surface. All Boolean operations convert the T-Splines surfaces to NURBS. TS-NURBS= Command works on the T-spline surface but automatically converts it to a NURBS surface. Input: T-spline surface. Output: NURBS surface.

Boolean difference of two Tspline surfaces.

_BooleanDifference _BooleanIntersection

TS-NURBS TS-NURBS

140

Rhino commands
Command _BooleanSplit _BooleanUnion _Boss _BoundingBox _CageEdit Code TS-NURBS TS-NURBS TS-NURBS TS TS-NURBS Description/Picture

Rhino commands
Command _Copy _CreateSolid _CreateUVCrv _CullControlPolygon Code TS, CP TS-NURBS TS TS Description/Picture

This command works with T-spline surfaces. If you select the surface and edit the cage, it will automatically transform it to a NURBS surface. Cage edit cannot be applied to Tspline control points.

_Cap _ChamferSrf _Check _Contour

TS-NURBS TS-NURBS TS TS

Works on rectangular regions of the T-spline surface (one at a time). This tool is useful to cull the vertex/edge/ face selection of a T-spline surface on areas that face away from the camera, and can make editing easier in models that have many control points.
T-spline surface with Cull=No (top) and Cull=Yes (bottom).

_Curvature

TS

Works on rectangular regions of the T-spline surface (one at a time).

T-spline surface (top), contour curves (bottom).

141

Rhino commands
Command Code _CurvatureAnaly- TS sis Description/Picture

Rhino commands
Command _DraftAngleAnalysis Code TS Description/Picture

_CurvatureGraph

TS

Displays the T-spline as a polysurface during the command. To display CurvatureGraph on specific edges, use the tsSetCurvatureGraphEdges command

_DragMode

TS

Useful for UVN movement of selection. Accessible through the T-spline edit mode headsup display.

_Drape _DupBorder _DupEdge

TS TS TS

Can duplicate edges and isocurves of a T-spline surface.

_DupMeshEdge _EMap

TS TS

_DeleteHole _Dir

TS-NURBS TS

_Explode

TS-NURBS

Explodes the T-spline surface into NURBS patches.

142

Rhino commands
Command _ExtractIsoCurve Code TS Description/Picture This tool extracts isocurves of the NURBS patches that comprise the T-spline surface. You may need to extract the isocurves of several patches to get a complete T-spline surface isocurve. Extracts points of the NURBS patches of the T-spline surface. If you run in box mode, it extract the mesh points. This command extracts a rectangular region from the T-spline surface.

Rhino commands
Command _ExtractWireframe Code TS Description/Picture Extract all visible T-spline isoparms.

_ExtractPt

TS

_ExtractSrf

TS-NURBS

T-Spline surface (top) and the extracted wireframe (bottom).

Extracting a surface from a Tspline surface.

_ExtrudeSrf _ExtrudeSrfAlongCrv _ExtrudeSrfTapered _ExtrudeSrfToPoint _FilletSrf

TS-NURBS TS-NURBS TS-NURBS TS-NURBS TS-NURBS

143

Rhino commands
Command _Flow Code CP Description/Picture Useful to shape a T-spline surface by moving the control points along a curve.

Rhino commands
Command _Make2D _MakeHole Code TS TS-NURBS Description/Picture This command works, but the output includes all T-spline surface isocurves. All the Rhino hole commands work on one rectangular region of the T-spline surface at a time. Most of the Rhino mesh commands work on a T-spline object in box mode, but will convert the T-spline to a Rhino mesh. Works with T-spline surfaces in both smooth mode and box mode.

_Mesh

TS

_MeshOutline _Mirror _Move _MoveUVN _OffsetCrvOnSrf _OffsetNormal Works on rectangular regions of the T-spline surface. _OffsetSrf _Orient2Points _Orient3Points _OrientOncrv _OrientOnSrf _PlaceHole _PointOffSelected _PointsOn _PolylineOnMesh _Project

TS TS, CP TS, CP TS TS TS-NURBS TS, CP TS, CP TS, CP TS, CP TS-NURBS TS TS TS TS

Example of control points of a T-spline surface flowing along a curve.

_FlowAlongSurface _GCon _Hydrostatics _InterpcrvOnSrf _Intersect

CP TS TS TS TS

Does not work on a T-spline surface. Works on rectangular regions of the T-spline surface. Works on rectangular regions of the T-spline surface.

Intersection of two T-spline surfaces.

Works on T-splines in box mode.

_Join _List _Maelstrom

TS-NURBS TS CP

144

Rhino commands
Command Code _ProjectToCPlane TS, CP Description/Picture Useful for placing points on the XZ, XY, and ZY planes for symmetry.

Rhino commands
Command _SetPt Code CP Description/Picture Useful for moving control points to the same plane on a specific position. Can be useful for flattening parts of the surface.

Before (top) and after projecting to CPlane (bottom).

Before setting points with SetPt (top) and after setting points (bottom).

_RemapCPlane _RevolvedHole _Rib _Rotate _Rotate3D _RoundHole _Scale _Scale1D _Scale2D _ScaleNU _Section

TS, CP TS-NURBS TS-NURBS TS, CP TS, CP TS-NURBS TS, CP TS, CP TS, CP TS, CP TS

_Shear _ShortPath _Silhouette _Sketch _Smash

CP TS TS TS TS-NURBS

Works on rectangular regions of the T-spline surface.

Smashes all the NURBS patches from the T-spline surface separately.
Example of a smashed T-Spline surface.

145

Rhino commands
Command _Smooth Code TSmesh Description/Picture Smooth works on a T-Spline surface, but it will convert to a Rhino mesh. You can convert it to a T-spline again after that; however, any T-points will be triangulated so the T-Spline surface may not be the same). A T-spline Example of splitting surface can be a T-spline surface. used to Trim or Split a NURBS surface but if you Trim or Split a T-spline, it will automatically convert to NURBS.

Rhino commands
Command _VariableChamferSrf _VariableFilletSrf _VariableOffsetSrf Code TS-NURBS TS-NURBS TS-NURBS Description/Picture

_SoftMove _Split

CP TS-NURBS

Works on rectangular regions of the T-spline surface.

Example of a variable offset surface on a T-Spline surface.

_Splop _Squish _Stretch _Taper _Trim _Twist _VariableBlendSrf

CP TS CP CP TS-NURBS CP TS-NURBS

Works on rectangular regions of the T-spline surface.

T-Splines control points must be turned off for Trim to work.

_Volume _VolumeCentroid _VolumeMoments _WireCut _Zebra

TS TS TS TS-NURBS TS

146

You might also like