2
$\begingroup$

I'll start by saying I can't share a blender file;

What I'm doing is, given a building's footprint, a flat single ngon poly, I extrude to get the facing of the walls, isolate them arbitrarily with a delete geometry node, pass it façade subgraphs where I (I tried merging the verts back down by distance, remove the top verts, no chqnges) split the edges to get each individual wall, mesh to curve then resample the curve to get the unit points where I can instanciate my bits of building.

At some point in the process, or maybe even from the very beginning (I'm starting to question reality) the faces or the curves sometimes randomly get reveresed which causes the wall to sometimes be placed the backwards, with all the stuff pointing inwards, and everything being backfaced for that random wall.

Beneath is a screen grab where I have 1) the walls with facing shown and 2) the extrusion that sits at the start of my node graph.

enter image description here

Has anyone run into something like this, is there some way I can fix this? I tried to use reverse curve but there is no actual way for me to really find out which face / edge is reversed that I can think of, tried comparing normals but that doesn't seem to do anything, doesn't evaluate at the right place? or doesn't want to compute and gives me a red connection from a bool.

$\endgroup$
8
  • 2
    $\begingroup$ There are many ways to solve this problem here. It would be best if you share your blend file so that we can find the best solution based on your current situation: blend-exchange.com $\endgroup$
    – quellenform
    Commented Sep 5, 2022 at 14:28
  • 1
    $\begingroup$ Well, since I don't know the exact process, all I can really say in response is: at some point in this process, you need to unify or cache the correct alignment of the edges/curves. Sorry, but without a concrete example this is really too far reaching. Of course, at the very end of the process you could also check the normals of the faces, and align them in a certain direction, but that would be too vague an answer and not an optimal and procedural solution. $\endgroup$
    – quellenform
    Commented Sep 5, 2022 at 14:36
  • 1
    $\begingroup$ I also think that your current procedure can be massively reduced, and by minimizing the individual steps, the error will no longer occur. But for this I would have to know your current procedure. $\endgroup$
    – quellenform
    Commented Sep 5, 2022 at 14:38
  • 2
    $\begingroup$ my comment to this: everybody CAN share blend file if he/she wants. If there are copyright reasons, you can let the right protected parts out or replace them. You can simplify the problem or break down to just that where the problem is. But yes, this needs some time and effort. And i totally agree to quellenform: we cannot help you with this vague question. $\endgroup$
    – Chris
    Commented Sep 5, 2022 at 15:03
  • 1
    $\begingroup$ Alright, it should be up. It's also making the same error. $\endgroup$
    – Akeron
    Commented Sep 5, 2022 at 15:14

1 Answer 1

0
$\begingroup$

This is how I would solve it:

enter image description here

  1. Extrude the mesh.
  2. Mark the Upper Points.
  3. Remove the upper face.
  4. Split your edges.
  5. Capture the normals of the edges.
  6. Delete the upper points
  7. Convert the mesh into curves/points.
  8. Instantiate your objects, rotating the previously captured normals so that you can use them as rotation.


(Blender 3.1+)

$\endgroup$
6
  • $\begingroup$ I see, so all I was missing was the capture attribute happening at the start then, ok, I'll try and squeeze that in, thanks a lot. (didn't need to append the blender file, but thanks ^^) $\endgroup$
    – Akeron
    Commented Sep 5, 2022 at 15:44
  • $\begingroup$ I tried using this, but if the poly of the footprint isn't at right angles I end up with the instances over-rotating or under-rotating, just moving a single vertex in the file should show you what I see. $\endgroup$
    – Akeron
    Commented Sep 5, 2022 at 15:55
  • $\begingroup$ @Akeron Yeah, like I said: there are just too many options here, and it depends a lot on what exactly you want to do. $\endgroup$
    – quellenform
    Commented Sep 5, 2022 at 16:21
  • $\begingroup$ @Akeron And here is the update! $\endgroup$
    – quellenform
    Commented Sep 5, 2022 at 16:27
  • 1
    $\begingroup$ It works nicely in this case, elegantly set up, but it refuses to work when I have to take the selection across into the subgraphs. What did help in the end was putting the split edges before any delete geometry. It just leaves me with the need to reverse the curves on the faces that are pointing towards -Y (which is trivial). Thanks for taking the time. $\endgroup$
    – Akeron
    Commented Sep 6, 2022 at 9:17

You must log in to answer this question.

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