A geometry based on a two-dimensional path, optionally extruded to create a three-dimensional object.


@interface SCNShape : SCNGeometry


SceneKit creates a three-dimensional geometry by extruding a Bézier path, which extends in the x- and y-axis directions of its local coordinate space, along the z-axis by a specified amount. For example, if you create a shape with an extrusion depth of 1.0, it extends from -0.5 to 0.5 along the z-axis. An extrusion depth of zero creates a flat, one-sided shape—the geometry is confined to the plane whose z-coordinate is 0.0, and viewable only from its front unless its material’s doubleSided property is YES.

A shape geometry may contain between one and five geometry elements:

  • If its extrusionDepth property is 0.0, the shape geometry has one element corresponding to its one visible side.

  • If its extrusion depth is greater than zero and its chamferRadius property is 0.0, the shape geometry has three elements, corresponding to its front, back, and extruded sides.

  • If both extrusion depth and chamfer radius are greater than zero, the text geometry can have four or five elements depending on its chamferMode property, corresponding to its front, back, extruded sides, front chamfer, and back chamfer.

SceneKit can render each element using a different material. For details, see the description of the materials property in SCNGeometry.


Creating a Shape

+ shapeWithPath:extrusionDepth:

Creates a shape geometry with the specified path and extrusion depth.

Modifying a Shape


The thickness of the extruded shape along the z-axis. Animatable.


The two-dimensional path forming the basis of the shape.

Chamfering a Shape


A constant specifying which ends of the extruded shape’s profile are chamfered.


Options for which edges of an extruded shape are chamfered, used by the chamferMode property.


A path that determines the cross-sectional contour of each chamfered edge.


The width or depth of each chamfered edge. Animatable.


Inherits From

See Also

Parametric Geometry


A geometry based on a string of text, optionally extruded to create a three-dimensional object.