I’m trying to use geonodes on those edges. And what i need to do is extrude those edges along the creased edges connected faces normals ( like i shown in red in the pic for A and B faces
It appears i’m relly bad at geonodes and need help on this one
Thanks a lot for your answers !!!
And happy GeoNoding
Well this wont really work like that, some of your assumptions describe the current case but cant be transferred into generally applicable math like that cause they are ambiguous. You want to extrude the 2 creased edges along the surface of your cube. First thats not along the normal what you painted in red there, thats along its tangent or bitangent of one of two available neigboring faces. But to work not just in this case but generally you have to come up with an more general applicable rule what the nodesetup shall decide to be the correct neigboring face.
Anyway here’s a simple setup that shows you how to extrude and move the creased edges. In this case it moves them outwards along the xaxis, if that is enough, fine, otherwise it could still might work as a starting point for you.
Yer this works perfectly on the rare cases of axis-aligned faces
However, what i need is more advanced and i need to extrude edges on a coplanar direction of connected faces.
We should assume that those faces are at the number of 2 and that they can have any angle, regarding the edge.
This looks like a plane equation with the face normal and the creased-edge as direction vector…
My biggest problem is to grab the 2 faces normals so that i can calc the… bitangent or binormal ( i confess i’m kinda lost on those terms, using them only once per decade )… Whatever the word, you catch what i mean
Now for more info on the need, what i want to do is automate the creation of edge maconry on buildings by using the crease parameter. Like on the next pic, with the creased edge under the cross
*
And at last but not least, those edge must be considered as random ( eg not always vertical ) and the connected faces are also random ( consider the creased edges of the arrowslits of this barbican:
Well, okay, just thinking outloud because my PC is dead and I can’t test things. Assuming all edges are straight, the offset that we need will be straight away from marked edge, on the surface of the face, right? It probably can be described as cross product of “edge” vector and face normal.
So the question is: how do we iterate over every face that has marked edge and create new geo?
Also i’m assuming we can’t just use Extrude on marked geo, because that will create edges with more than 2 faces.
Soooo…
first Separate Geometry by all faces that have at least one marked edge;
Split Edges;
for every marked edge, capture face normal and edge direction;
It works for arbritrary angles. After scaling the extruded edge along it’s normal it uses the proximity node to check for the closest ‘wall’ face then moves the extruded edge back onto it.
Adjust the Scaling node ( shown in orange) to adjust the ‘width’ of the wings.
Whether this will work on geometry that is not as clean as a cube I’ll leave for you to experimant with
Be sure i’ll keep it in mind and that i’ll learn a lot about it !
Thank you !
But for proper rendering, i’ll have to rotate of a very small amount of degrees the created face on the creased-edge axis, so that the created face is not totally coplanar ( wich will create z-fight )
On the secont hand, i’ll also need to also create faces in the inner part of the cube hole, also ‘almost’ coplanar to the faces with creased edge.
I explain why i need this very special ( and unusual ) thing in my second post.
I gonna play a bit with your file just to see what i can do
to hand tweak the offset from the proximity face use a second scaler on the normal vector in the offset socket and disconnect the Position socket . . .
Bu it’s an answer to only one part of the problem. IMHO, the complete solution ( i didn"t even imagine this could be this tough ) should involve vectors and rotations of faces around creased edges
I give you here the blend with various tryouts…
Anyone have an idea on how to make those GeoNodes ?