Hello,
It appears that the LB Filter by Normal component does not work when a mesh is input into it. The same is also happening with the old legacy version of the component. Is it a bug?
Hi @Matteo I think you found a bug, the tooltip for _geometry
:
_geometry: Rhino Breps and/or Rhino Meshes which will be broken down into individual
planar faces and filtered based on the direction they face.
Specifies that the component will accept meshes, but in the code there doesnāt seem to be anything for handling meshes, if Iām not mistaken.
@chris is this a bug?
Hi @TrevorFedyna and thank you,
Yes exactly, the description talks about meshes, but an error pops up when mesh geometry is connected. Hopefully @chris can confirm the presence of a bug.
Best
Matteo
Hello @TrevorFedyna,
any updates regarding this bug? Is there a plan to fix it in the next update? Iām currently converting mesh to Brep to get use of it right now, but it is not optimal
Hi @Matteo if you change the type hint to no type hint or āgeometry baseā the issue seems to go away.
Thank you for fixing the issue!
Hello again @TrevorFedyna,
I really think the LB Filter by Normal component is still very problematic when working with meshes. I noticed that inputting a mesh with a certain number of faces to operate a filter by normal operation does not return a mesh as output, but trimmed surfaces instead. Ideally, I would expect the component to return a mesh with only the original mesh faces that meet the criteria set in the filter. This would be useful when working with a mesh of, for example, solar irradiation results and want to select only the areas with a certain orientation. The fact that input and output have not the same number of faces introduced problems in the post process of the results.
Could it be a good idea when inputting a mesh to have as output the mesh faces with the required orientation of the original mesh?
Thanks in advance!
Matteo
P.S. I leave here an example but the issue is easily visible when inputting any mesh by seeing the output (surfaces - instead of mesh faces)
Mesh_to_surface_output_issue.gh (151.8 KB)
Yes, that is because meshes usually donāt have a single normal direction. They are composed of multiple faces that can be facing all different directions. So, to filter them by normal, they need to be converted into individual planar faces so that a normal direction can be evaluated.
You can always mesh the geometries again after they are output from the component and then join them. But you canāt evaluate the normal of a geometry that faces all different directions so youāll have to be more specific about what you want to happen in these cases if the current output does not meet your expectations.
FYI, are you just looking to cull mesh faces that point in a certain direction, this is very straightforward to do with native Grasshopper components:
cull_mesh_by_normal.gh (30.2 KB)
You donāt need anything fancy like āFilter By Normalā for this case.