2
$\begingroup$

I am trying to find a way to extrude edges along their normals either by modifiers or geometry nodes, I tried using wireframe and skin modifiers but both show artifacts in some cases.

I need this for much bigger applications so hand modeling is out of the question.

sketch

This is what I'd want the result to be like

[example1

$\endgroup$
0

2 Answers 2

2
$\begingroup$

I don't think we can do it with just edges and just inside Geometry Nodes quite yet, but you can manage it using the Solidify modifier in Complex mode along with some other maintenance actions. In the setup below, I'm doing it in three steps:

enter image description here

  1. Add a Geometry Nodes modifier, extrude the edges on the Z axis with an Extrude MeshEdges node. You could simply extrude them manually in Edit Mode of the object, but this keeps it more procedural.

  2. Add a Solidify modifier. Make sure it is using these options:

    • Mode: Complex. Sole reason we're using the Solidify modifier and not an Extrude MeshFaces node inside Geometry Nodes—it doesn't have a Complex mode yet so it can't keep an even profile.
    • Thickness Mode: Even
    • Offset: $0.000$, so the extrusion is centered around the lines
  3. Add another Geometry Nodes modifier, which simply flattens the whole mesh by scaling it—Scale Elements—down to $0$, and removes doubles—Merge by Distance—so that no excess vertices are left. You could also do this by scaling the object itself down to $0$ via its Tranform panel and adding a Weld modifier, but again, this keeps it more procedural.

enter image description here

$\endgroup$
1
$\begingroup$

When you say you need this for much bigger applications then the following method might still not be what you want, but at least this will get the result you want so maybe it helps:

  1. Select all edges with A, then fill them with F:

fill edges

  1. With the new faces still selected, press I to inset those faces. If they inset as a whole, press I again to switch insetting to Individual. Inset as you like or maybe with a certain value by entering this while insetting, so e.g. .1 to inset 0.1 m:

inset faces

  1. After insetting, delete the inner faces with X > Delete > Faces. Then select the outlining edges:

delete inner faces

  1. Go to the Edge menu at the top or open the edge context menu in the viewport with Ctrl+E and choose Offset Edges > Extrude:

offset edges > extrude

  1. In the tool options you can set the same width as you did for the Inset, in my example 0.1 m:

set extrude width

Side note: The extrusion outwards would work without filling beforehand, but inwards it won't get you what you want with this method.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .