Adjusting surfaces normal not working

Hi!
I have an issue in adjusting the fronts of the following surface.
Those are the side walls from roofs and I need to adjust the fronts so the solar analysis is correct.
you see that right now those side walls are incorrect because the normals are facing the opposte direction and so far I didnt succeed to fix them consistenly.
Any help is very appreciatted :slight_smile:



surface normal problem.gh (32.0 KB)

Should the walls that look like bow ties really be like that? I think you need to un-twist them first.
After that, I think simply joining the surfaces by Brep Join and exploding them by Deconstruct Brep will do the job. Good luck!

thanks for the answer, they are actually not like a bow tie, those are two different branches.
I already tried to desconstruct the brep, but the problem remains :frowning:

Something like this? My solution it’s quite complex, maybe somebody more skilled than me can solve this problem with fewer components or with some script magic.


surface normal problem_re.gh (44.9 KB)

Here’s a method that works with the geometry from your grasshopper file.

240206a_unify_srf_normals.gh (24.0 KB)

-Kevin

if you have any previous geometries from which you extracted these ones, I think working on those could be the key

1 Like

It seems to work with this script:

However, I totally agree with @inno . Bad inputs always provide bad outputs, like in this case…you should work on the input since it is going to be much easier to fix.

Regards!

surface normal problem.gh (21.3 KB)

Not really, your script eliminates all the triangular faces from the original geometry. @mariana.santos indicated that these were intended to be part of the model.

-Kevin

Thank you for the help! @kev.r your solution works but unfortunatelly not in all cases, @inno you are right, there might be problems in the geometry. I have attached another internalized data if you are willing to check.
What I get are volumes and the rooftops are separate geometries. The rooftops walls are sometimes problematic.
internalized_geo_normal problem.gh (95.6 KB)


internalized_geo_normal problem_RevA.gh (101.9 KB)

with the right data, everything becomes super easy :+1:

internalized_geo_normal problem_Re.gh (112.9 KB)

by the way, nothing more than in Rajeev’s solution, just normals divided by angle with Z axis to identify roofs, sides and bottom

1 Like

Yes, the solution I provided was dependent on the data structure of the input geometry.

Rajeev’s solution is simple and provides a more robust solution with the newer sample data you provided.

@mariana.santos, has your question been answered?

-Kevin

hey, yes! Both solutions worked. Performing a solid union in the whole geoemetry, simple as that helped also