Go to:
Related nodes. **Attributes**.

This node generates constant radius NURBS fillets and NURBS corner surfaces for matching edge pairs on NURBS surfaces. An edge pair is a matching pair of surface isoparms or trim edges.

A simple example of an edge pair is an edge of a NURBS cube, where two faces of the cube meet. This node generates a NURBS fillet at the edge and trims back the faces.

Another example is a NURBS cylinder with a planar trim surface cap. This node will create a NURBS fillet where the cap meets the the cylinder and will trim back the cap and the cylinder.

Another example involves all 12 edges of a NURBS cube. NURBS fillets are created where any face meets another face. NURBS corners are created whenever 3 edges meet at a corner.

This node has three main parts: a list of input surfaces, a list of edge pairs and a list of radius values.

- The list of input surfaces is a list of all unique surfaces that are involved in this round operation. For example, if all four edges of a face of a cube are rounded then the face only appears in the input surface list once.
- The list of edge pairs stores the "topology" of the round operation. Each edge pair consists of a "sideA" and a "sideB". The attribute inputCurveA is the curve on sideA (which can be made up of more than one curve). The attribute inputCurveB is the curve on sideB (which can be made up of more than one curve). For each input curve, there is a corresponding surface index, called inSurfIdxA and inSurfIdxB. This refers to a position in the input surface list.
- The list of radius values defines the radius for each edge pair. This attribute must be the same size as the edge attribute. .radius[0] defines the radius to be used by .edge[0].

Examples:
```
getAttr -size roundConstantRadius1.inputSurface; ---> returns how many unique surface are in this round operation
```

getAttr -size roundConstantRadius1.edge; ---> returns how many edges are in this round operation

getAttr -size roundConstantRadius1.edge[0].inputCurveA; ---> returns how many curves make up sideA of the first edge

getAttr -size roundConstantRadius1.edge[0].inputCurveB; ---> returns how many curves make up sideB of the first edge

getAttr roundConstantRadius1.edge[0].inSurfIdxA[0]; ---> returns an index into the surface list that the first curve on sideA is from. eg. if "2" is returned, then roundConstantRadius1.surface[2] is the corresponding surface.

getAttr roundConstantRadius1.radius[0]; ---> returns the radius value used when creating a circular fillet for the first edge.

Node name | Parents | Classification | MFn type | Compatible function sets |
---|---|---|---|---|

roundConstantRadius | abstractBaseCreate | geometry | kRoundConstantRadius | kBase kNamedObject kDependencyNode kCreate kRoundConstantRadius |

ffBlendSrfObsolete, extendSurface, offsetCos, avgSurfacePoints, alignSurface, bevel, insertKnotSurface

cornerSurface, edge, edgeValid, filletStatus, filletSurface, inSurfIdxA, inSurfIdxB, inputCurveA, inputCurveB, inputSurface, originalSurface, radius, tolerance

Long name (short name) | Type | Default | Flags | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

(`inputSurface` )
`is` | nurbsSurface | NULL | |||||||||||||||

(`radius` )
`r` | distance (double) | 1.0cm | |||||||||||||||

(`edge` )
`e` | compound | n/a | |||||||||||||||

| |||||||||||||||||

| |||||||||||||||||

| |||||||||||||||||

| |||||||||||||||||

| |||||||||||||||||

(`tolerance` )
`tol` | distance (double) | 0.01cm | |||||||||||||||

(`filletStatus` )
`fis` | short | 0 | |||||||||||||||

(`originalSurface` )
`os` | nurbsSurface | NULL | |||||||||||||||

(`filletSurface` )
`fs` | nurbsSurface | NULL | |||||||||||||||

(`cornerSurface` )
`cs` | nurbsSurface | NULL | |||||||||||||||