This solution works pretty well and can definitely be used as an alternative method. Thanks for this!
Going back to the LB Generate Point Grid component (I’m using version 1.2.0. of the new ladybug tools), it works pretty well with rectangular surfaces (both trimmed and untrimmed) but for some reason, it seems like it outputs a slanted mesh if the surface becomes more irregular. In the image below, it can be seen that the L-shaped surface is not along its original plane.
Could you let us know your thoughts on this? Thanks!
This is most likely because of a tolerance issue that results in a miscalculated plane for the face. @chris should be able to provide more details. Meanwhile can you share your model so we can recreate the issue?
Yea, I am 99% sure that it’s because that surface has a duplicated vertex and you can get the weirdness to go away by re-tracing the geometry.
If you give us that geometry, though, we can probably add a line of code into the point grid component that automatically removes the extra vertex so you don’t experience it in the future.
Thank you for the insights, Mostapha and Chris.
Re-tracing the geometry works! The component yielded a clean, non-tilted geometry. Although as much as I would like to re-draw the geometries to arrive at cleaner ones, I’m afraid I couldn’t always do that since we’re dealing with huge data sets for this project. That is why I’m looking for more elegant and parametric solutions.
In any case, attached here is the file with the tilted geometries. Thanks again for the help!
Tilted non-rectangular surfaces.gh (49.3 KB)
Thanks for sharing the geometry, @LanceMonfort .
So it was more complex than a duplicate vertex. It seems that some of your vertices were just barely colinear enough to mess with the plane normal calculation. I just implemented a fix that resolves your case correctly and didn’t break any of the other tests that I had that check to make sure the automatic normal calculation is correct:
Because this fix is deep in the software, it’s going to take a few hours to run through all of our tests and be available on the LB Versioner. Once it’s there, it should hopefully solve all cases like this going forward.
Great! I just tested it on a larger model and it seems like everything is in order.