TSplines 2.3 Manual
TSplines 2.3 Manual
TSplines 2.3 Manual
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
tsExtrude tsCrease tsRemoveCrease tsThicken tsInsertPoint tsInsertEdge tsSubdivideFace tsDuplicateFaces Delete tsFillHole tsAppend tsBridge tsMerge tsUnweld tsWeld tsSymmetry Z
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
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
L R
L L L L L L L
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
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.
Rhino workspace
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.
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.
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.
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.
1. Box
2. Extrusions
3. Extrusions
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
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.
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.
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
14
15
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
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
Conversion
19
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
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
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
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.
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.
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).
24
25
Closed surface
26
Y branch 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.
Number of intersections 2
Control polygon
T-Spline surface
Border
Smooth corner
Border
4, 5, 6,
Kink
31
Internal
Internal
Border
Internal
Internal
32
Internal
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.
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.
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.
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
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
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 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
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)
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.
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.
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.
Align Curves Click the end of a shape curve to reverse (flip) the direction.
41
tsConvert
Converting an untrimmed NURBS surface, Rhino mesh, or .obj file to a T-spline with the tsConvert command is a push-button operation.
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: 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:
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
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.
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.
44
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 T-spline
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.
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
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
47
Box mode T-spline Some of the many kinds of shapes that can be represented by T-splines.
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
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
49
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-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
Influence region of a star point (two faces deep). There cannot be any T-points in this area when the model is standardized.
52
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
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.
55
of control points number as the hole boundary) and tsLoft the curves.
56
5. Weld vertices.
57
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
The identifying feature of edit mode is a heads-up display box that floats in the top right-hand corner of your active viewport.
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.
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.
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.
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.
61
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: 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
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.
65
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
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
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.
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
69
T-Spline surface
70
Points can be inserted one at a time, many at once, parallel to each other, and diagonally across faces.
T-Spline surface
Area of influence
71
T-Splines surface
Area of influence
72
T-Splines surface
Area of influence
73
T-Spline surface
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.
75
76
Edge can be inserted (exact option) on or both sides of an edge loop one side
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.
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.
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.
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 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
81
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.
82
Select an edge
Two more extrusions. In the tsLayout comThe extrusion is mand oblong because there are two T-points on the sides.
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.
83
Extrude edge
Run tsExtrude
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.
Run tsExtrude
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
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.
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.
88
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!
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.
After deletion
Manually reposition control points so the surface edge lies on the trimming curve.
Trimless T-spline
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.
A valid surface.
Face to be deleted.
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
After
crease in the surface but cant see any tangency handles when in vertex mode, click the Tangency Handle icon!
92
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.
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.
After these edges are unwelded, they still lie on top of each other.
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.
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
2. Merge edges
4. Merge edges
1. Select edges
2. Merge them
3. Select edges
4. Merge them
99
2. Merge them
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
tsMerge is similar to tsWeld; however, tsMerge is unique in that it lets you merge two surfaces with unmatching isocurves into a single surface.
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.
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.
Tangent continuity
Curvature continuity
Refine option = No
102
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 = 360
Sweep = 270
105
106
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.
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
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
NURBS surface
108
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.
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: 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
112
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.
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.
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.
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.
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.
118
For points: When two adjacent points are selected, this command will select the remaining points on the edge loop.
For faces: When two adjacent faces are selected, this command will select the remaining faces in the face loop.
119
Edge ring For edges: When an edge is selected, this command will select all the edges along the edge ring.
120
Curve network
T-spline surface
121
Non-rectangular surface
Y branch surface
122
123
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 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:
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
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
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.
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.
129
From left: Spans preview with1,2, and 4 spans on the top segment, respectively.
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.
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
tsFlip is the T-spline equivalent of the Rhino Flip command, and reverses the normal direction of the T-spline surface.
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.
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
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
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.
135
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
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.
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.
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
_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.
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
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.
TS TS TS
_DupMeshEdge _EMap
TS TS
_DeleteHole _Dir
TS-NURBS TS
_Explode
TS-NURBS
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
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
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.
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 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
CP TS TS TS TS-NURBS
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
CP TS CP CP TS-NURBS CP TS-NURBS
TS TS TS TS-NURBS TS
146