## Facet

Object Hierarchy | Related C++ Class: Facet

### Inheritance

SIObject

Facet

### Introduced

v1.5

### Description

A facet is a generic object used to access a PolygonMesh's PolygonFace and a NurbsSurfaceMesh's NurbsSurface. Having a generic object allows you to write code to traverse an object's geometry without resorting to special case handling for specific geometry types.
Tip: To work with the more specific geometry types, you can use the Facet.SubComponent property which returns a SubComponent object. The SubComponent allows you to access the PolygonFaceCollection and NurbsSurfaceCollection via the SubComponent.ComponentCollection property.

### Methods

IsClassOf | IsEqualTo | Navigate |

### Properties

Application | Categories | FullName | Help
Index | Name | NbPoints | NestedObjects
Origin | OriginPath | Parent | Points
Samples | Segments | SubComponent | Type

### Examples

#### VBScript Example

    set oRoot = ActiveProject.ActiveScene.Root
    set oCube = oRoot.AddGeometry( "Cube", "MeshSurface" )
    set oGeometry = oCube.ActivePrimitive.Geometry
    set oFacets = oGeometry.Facets
    LogMessage typename(oFacets)
    for each oFacet in oFacets
            for each oSegment in oFacet.Segments
                    LogMessage "Facet.Segment.Index " & oSegment.Index
            next
    next

### See Also

FacetCollection Point Segment Geometry Geometry.Facets