Extrude face selection

Hello,
I am working on a 3D modeling project, but I can’t find any suitable algorithm for extruding a face that are selected by the user .

I created a new vertex and move it along normal
normal.multiplyScalar(space).add(point)

The new shell looks spaced, and logically this idea will not work unless I find a way to triangulate the new faces
What I really want something like blender Solidify modifier


Any help is appreciated ,

I’m not sure I fully understand your use case. When you say you want to extrude a face, are you talking about a single triangle? In three.js a face is a triangle. It is not a composition of multiple triangles.

A possible approach to solve this issue is to use ExtrudeBufferGeometry. However, this requires that you define the contour of your selection as an instance of THREE.Shape. The contour (which is nothing else than a sequence of points) has to be in 2D meaning all of its points have to lie in a conceptual plane.

1 Like

unnamed

Let’s say have this half pipe and want to add some thickness to it
This would be a good start for my needs

I think i found a good start


Now i need to find a way to triangulate the 2 layers
Will post the solution when i am done

1 Like

I can extrude any array positions, (face selection)
the idea is :
Merges vertices of the selected positions
Duplicate them (if you want the extruded object as a separate mesh)
Extrude the faces along their normal normal.multiplyScalar(space).add(point)
Get the outer edge with edgeGeometry using a high angle threshold
Triangulate the outer and inner edge
BufferGeometryUtils.merge to get the final shape

Faces Selection

Extruded Geo

extruded

Extruded Mesh

This is interesting. You should keep posting your progress!

1 Like