Create surfaces according to certain rules

Alright, I understand. Thank you for the comprehensive explanation! really appreciate it.

I feel slightly ashamed to again have a question about this script, but I can’t figure it out on my own…


…there are some parts, where the surfaces are no being created properly (see image above).
230418_PV_singleFile.gh (157.1 KB)

I think, the bug might be in this part (image below), because the “project point” does not show all the points. Then again, there are areas where this component doesn’t show a point and it still works.

This is a tolerance problem, moving the points 1mm up before projecting them down seems to solve the issue.

Computation is HEAVY !!!

230418_PV_singleFile.gh (162.9 KB)

1 Like

Hello, it’s me, again…

I’ve been trying to do a small alteration on the above script, so that every row is centered on the horizontal line. So in away, the pattern is breaking out of the grid to get more PV-modules fitted on top.
I almost have it, I think, but there is this one issue, I’m not sure how to solve:


This is what I added in the grasshopper script:

230430_PV_singleFile_centered.gh (170.2 KB)

Move component on your white group :

Cull Index here removes the extra line. (also, you don’t need Path Mapper, Trim Tree does the job for dropping one level of tree).

image

BUT you can do better.
If you don’t need the grid alignement anymore, then you can build the panels row by row by dividing the tween curve of two consecutive lines from its middle. You don’t even need the projection anymore.

See, more panels (yellow = tween solution, blue = move solution)

230430_PV_singleFile_centered.gh (178.9 KB)

the tween solution is amazing! exactly what I was looking for.
you’re great. thank you so much once more!!

There is a small issue with the code I just realized…


somehow, the vectors for the extrusion do not all have the same direction. I guess one could solve it with “flip”, but why is it happening in the first place?
PV_separately.gh (136.3 KB)

Hi,

Evaluate Surface is waiting for a UV Point, not a geometrical point.
I’m guessing it fails at evaluating properly the normal at coordinates that don’t exist in the surface’s parameter space.
Using Surface Closest Point solves it.

You could also reparameterize the surface and use 0.5,0.5,0 as the point.

Or IsPlanar.

Or Planar, even shorter.

Or use that gentle plane that already exists before :smiley:

1 Like