# Outset edges evenly (extrude) with Geometry Nodes

I have a closed mesh line (no faces) which is the outlines of a city street system. This is the result of a complicated Geometry Nodes setup which I've now converted to mesh to simplify the file. I use the outline to create sidewalks: first extrude it up to be higher than the streets, then extrude the upper edges outward to create the surface. I want the extrude to be an even offset, the new edge being parallel to the original but the default extrude gives different result around rounded/sharp corners.

I suppose, what I need is to retrieve the normals of the vertical faces because those seem to point in the right direction and use those vectors as the offset for the extrude node?

This answer must be close but I really don't understand that node setup and am not sure if it could be applied to my case.

Result looks good here: extrude is uneven between rounded and non rounded corners here: use the face normal vectors?

for extrude with even thickness you could do this

the value in the divide is the thickness, and the z in the vector is the height

(btw, using the connected option here in the merge by disntace is pointless because they won't connect since they are not connected 😜)

• This answers the part of the setup that I couldn't do myself, the vector for the offset is perfect, just what I was looking for. However it doesn't output the right geometry, the nodes need to be adjusted on the geometry level. May I ask you to change it so it outputs the geometry shown in the question, and upload a higher resolution image - so I can accept your answer, so it is more useful to others also? Or you can use this screenshot of the adjusted setup if you like: imgur.com/a/yety8R1 Aug 24 at 8:09
• I suppose so. this would be the second extrude in your example. (this image is a linked image from discord btw) Aug 24 at 16:35
• Your answer helped me out and I'd like to accept it. Could you simply take the image under the link in my previous post and replace the image in your answer with it? The node setup that solves the issue is the same I only adjusted the extrude node and inserted the other extrude so it outputs the correct geometry. Also I used a higher res image so the text is readable. Aug 26 at 21:30

My answer quite helps you, with only minor modifications:

• I understand this is a more general, full inset-outset solution, which is excellent and very useful, however - correct me if I'm wrong - using fill curve nodes limits us down to 2D, right? I know I did not set 3D to be a condition but would prefer a solution that keeps that option open. Aug 24 at 6:19
• The basic idea is displacement math, and it works great. And how to fill in the grid based on ready-made calculations, this is already a simple routine. Aug 24 at 7:00
• I can sort of see in your node setup that the fill curve nodes are not an integral part of the solution and I'm trying to figure out what they do and if they can be eliminated. A mesh to curve and a fill curve node basically turn the geometry to curve and then back to mesh. Is this meant to give a better triangulation, is that the purpose? Aug 24 at 7:30