# Modeling with nurbs deel1

## Theory

Certain properties of NURBS geometry make the NURBS perfectly suitable for designing complex geometries like double curves surfaces. The form freedom which NURBS supports and the possibilities to adjust them give the designer a wide range of 3 dimensional forms to explore. To be able to make the right decision a designer will need a basic understanding of the topology of the geometry which will be used in the design process. NURBS geometry are widely used in computer aided design CAD, computer aided manufacturing CAM and computer aided engineering CAE software. It supports industry standards like IGES, STEP and ACIS. The ability to intuitively and predictable adjust the curves and surfaces make it an power full geometry suitable for design.The NURBS are a generalized derivative of the Bezier curve. ( Pierre Bezier worked as engineer for Renault , development started in the 1960’s to find a method to represent curved lines and surfaces for car design).

Bend lines created in Maya and Rhino are called CURVES, that are based on Bezier Curves and are used as the basis for NURBS and Polygon modeling within Maya or only as basis for NURBS modelling in Rhino. The way the curves are defined makes is possible to draw straight lines and smooth curves. The concept of the structure of the lines where inspired on techniques used in the shipbuilding industry at the beginning of the 19th century. The wooden planks of the ships hull where bend by adding weights at different points on the plank. The amount of bend of shape of the bend could be adjusted by increasing the weight or the position of the weights.

The concept of deformation was digitally implemented in to the curves definition. With the effect that the curve in not only defined by the start and end point of the line but also by the weights between the two. These position and strength of the weights will determine the amount of bending of the curve. The amount of weights between the start and end point are defined by the Degree . Degree 1 will mean that there are only the start and the end point. This will generate a straight line. Degree 3 will contain next to the start and end points two weights to define the curve. By increasing the degree more weights are added and the possibility to deform the line will increase.

Parts of the geometries topology is comparable with the Bezier curve. The surface supports the same use of weighted vertices to define the curvature and shape of the geometry. The geometry itself can be seen as a combination of two sets of "parallel" curves placed at a crosswise angle, with the mesh defined between the curves. Resulting effect is that the surface can support two different degrees, one in each direction. These curves on the surface are called ISOPARMS. The ISOPARM will behave almost the same as a Bezier curve. Selecting and moving a vertex on a surface will basically deform the ISOPARM causing the surface to deform. The more ISOPARMS on a surface, the more vertices are generated to deform the surface OR the higher the degree of the curves, the more vertices will be generated per ISOPARM and surface as a whole.

The NURBS surface contains several different components. We have already found out that the NURBS surface contains ISOPARMS. The ISOPARMS are the sets of crosswise angled curves on the surface. They are in fact the curves where the surface is based on, but are part of the surface itself.

## Creating geometry

### Creating objects using primitives

The NURBS primitives can be selected by the Create- NURBS Primitives command. The settings of the geometry can be adjusted in the option box or after creation in the channel box.

Note that the use of nurbs primitives is not that convenient. It's easier to edit and work with your geometry if you create it by using curves. However, in some cases it is convenient to use isoparms originating from primitives, in the section about selection masks it is shown how you can select those.

### Creating objects by duplicating

To duplicate nurbs geometry, you use the edit > duplicate command, as is described in the creating objects by duplicating section of the chapter about modeling with polygons.

## Creating curves

### curve tools

To create a curve we can use two commands:

- Create - CV Curve Tool
- Create - EP Curve Tool

Both command create the same type of curve, but the way you draw them is different. You will mostly use the **EP curve**, as it will run through the points you specify. In most cases that is the most convenient way to draw a curve.

When using the CV tool, you'll specify the locations of the Control Vertices (which act like 'weights' that pull the curve into a curvature; the curve does not run trough them).

The degree can be adjusted by clicking on the rectangular box next to the command. An option box will open where adjustments can be made regarding the activated command.

When accuracy is required, there are several **optional** methods to assure accurate construction of curves:

- Activate the grid snap option to snap to grid points.
- Activate the curve snap option to snap to a curve( activate snap, press mouse button and hold whilst dragging along the curve).
- OActivate the point snap option to snap to a corner of a curve( first activate the display of the corner points - Display - Nurbs - Edit Points , activate snap, press mouse button and click on corner of curve).
- Enter the absolute or relative coordinate of the next point of the curve. (Activate the curve command and define the first point, type in the absolute or relative coordinate of the next point)

When you create a closed curve, you draw the last edit point (EP) on top of the first one, with either point- grid- or curvesnap. Or after creation move the last control vertex (CV) on the first one. This may seem strange, but using this methode results in less problems when using the curve in, for example, a loft action. This methode is **absolutely** not ment for polygonal modelling.

### arc tool

Create - Arc Tools There are two main options: two point and a three point arc. The options define how you can create the curve.

## Editing curves

### component mode

Further alteration of a created curve is possible on component level. By selecting the component filter, Edit Points and Control Vertices of the line itself can be moved by using the move tool.

For more information about selecting on component level, and the different type of NURBS components see selection masks.

The commands we use to edit curves in different ways then through moving the components are found in the surfaces menuset, under the edit curves menu.

### open/close curves

When creating lines, sometimes lines don't form a closed curve. This could be a problem when wanting to create a loft or make a planar surface. Under Curves > open/close curves you find the option to close any gap in the curve.

### attach curves

To connect different lines with similar or different degrees, the EDIT CURVES ( adjust curve) - attach curves command can be used. This will connect or blend the end of one curve to the beginning of the other curve. The Option Box contains the setting how to connect the line, if it should blend them together or connect them retaining their original shape. The begin and end of a curve is defined by the drawing order. If a connected curve loops around and connects to de wrong end of the line, the end point of that line is not correct due to the drawing order. If the EDIT CURVES - reverse curve direction command is used the direction of the line will be altered which means that the end point becomes start point and vise versa. The curve will now attach correctly.

The difference between blend and connect is that the blend option will make a smooth transition between both curve ends, whilst the connect option just makes a straight connection.

More advanced options and problem solving of the attach curves command

### align curves

There is another way to connect two lines together. This is the align curves option. This option will give you more control on how the curves are attached. The way a curve is attached is defined by the continuity of the curvature of the connecting points of both of the lines.

- If there has to be no change in curvature of the connecting points the option connect can be used , also called a C0 connection.The position option causes the two points to meet exactly.
- Tangent causes the tangency at the two points to match, which is called C1.
- Curvature causes the two points to meet with the same arch in curvature. When this option is selected, the curvature scale sliders are available. These can be interactively adjusted in the Attribute Editor and the Channel Box.

Using options for generating continuity of the geometry is crucial if the geometry has to have a fluid continuity of form. Geometry based on curves will be affected by the continuity of the curves themselves. With the option of interactively altering the connection settings the geometry can be adjusted to alter the geometries continuity.

### detach curves

The option to detach curves is based on edit points, which become the cutting points. The cutting point can be placed anywhere along the curve. First go to component mode and select the Edit Point option. Select the location of the cut and then give the Detach command.

In the optionbox of the detach curves command you can choose whether you want to keep the originals or not.

### cut curve

Another option to cut a curve at a certain point is the Edit Curves > Cut curve tool. Intersecting curves will be cut at the point(s) of intersection.

More advanced options can be found in the Option Box.

### offset curves

When wanting to create a copy of a curve, where every side has the same distance from the original, the regular scale option does not work satisfactory. Thus we use the offset curve command.

### extend

After a curve is drawn, it can be extended by using the extend curve command.

### add points

The extend curves option mentioned above only lets you add one point with a certain distance, the add points tool will let you click your own points that make the extension of the curve.

### insert knot

The geometry of the curve can be adjusted by adding extra vertices into the curve manually by inserting a knot by using the insert knot command. This will make it possible to locally adjust the vertex density of a curve. Which may be use full for local deformation of the curve.

### rebuild curve

Another option to change the number and placement of the vertices is the complete rebuild of the curve by using the rebuild curve option. This will enable the change of the amount of vertices of the curve to the change of Degree of the curve.

### smooth curve

The smooth curve option is another way to adjust the curvature of your curve. The smoothing option works on the whole curve or the selected vertices of the curve.

### curve fillet

Another option of smoothing is the curve fillet option. This option will create a smooth fillet of corners of two different curves.