[page:BufferGeometry] →

# [name]

Crea una geometria estrusa da una forma di tracciato (path shape).

## Codice di Esempio

`const length = 12, width = 8; const shape = new THREE.Shape(); shape.moveTo( 0,0 ); shape.lineTo( 0, width ); shape.lineTo( length, width ); shape.lineTo( length, 0 ); shape.lineTo( 0, 0 ); const extrudeSettings = { steps: 2, depth: 16, bevelEnabled: true, bevelThickness: 1, bevelSize: 1, bevelOffset: 0, bevelSegments: 1 }; const geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings ); const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); const mesh = new THREE.Mesh( geometry, material ) ; scene.add( mesh );`

## Costruttore

### [name]([param:Array shapes], [param:Object options])

shapes — Shape o un array di shape.
options — Oggetto che può contenere i seguenti parametri.

- curveSegments — int. Numero di punti sulle curve. Il valore predefinito è 12.
- steps — int. Numero di punti utilizzati per suddividere i segmenti lungo la profondità della spline estrusa. Il valore predefinito è 1.
- depth — float. Profondità per estrudere la forma. Il valore predefinito è 1.
- bevelEnabled — bool. Applica la smussatura alla forma. Il valore predefinito è true.
- bevelThickness — float. Quanto in profondità nella forma originale va la smussatura. Il valore predefinito è 0.2.
- bevelSize — float. Distanza dal contorno della forma a cui si estende lo smusso. Il valore predefinito è bevelThickness - 0.1.
- bevelOffset — float. Distanza dal contorno della forma a cui inizia lo smusso. Il valore predefinito è 0.
- bevelSegments — int. Numero di strati di smusso. Il valore predefinito è 3.
- extrudePath — THREE.Curve. Un path spline 3D lungo il quale deve essere eatrusa la forma. Smussi non supportati per l'estrusione del percorso.
- UVGenerator — Object. Oggetto che fornisce le funzioni di generatore UV

Questo oggetto estrude una forma 2D in una geometria 3D.

Quando viene creata una Mesh con questa geometria, se desideri utilizzare un materiale separato per la sua faccia e i suoi lati estrusi, puoi utilizzare l'array dei materiali. Il primo materiale sarà applicato alla faccia; il secondo materiale sarà applicato ai lati.

## Proprietà

Vedi la classe base [page:BufferGeometry] per le proprietà comuni.

### [property:Object parameters]

Un oggetto con una proprietà per ognuno dei parametri del costruttore. Qualsiasi modifica dopo l'istanziazione non cambia la geometria.

## Metodi

Vedi la classe base [page:BufferGeometry] per i metodi comuni.

## Source

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]