## 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