Unexpected result from EdgeSrf - suspect IntCrv and/or data structure issue

(Gduteaud) #1

I’m working on louvers that have variable bottom depths and orientations. I’ve defined the top edge, back edge and bottom edge of every louver from points but the front edge has to be curved inwards. My solution for that was to define a point halfway up each louver that’s slightly inward from the bottom-front point and interpolate a curve through the bottom-front point, the middle point and the top-front point.

This is where I think I started messing up. The first IntCrv result interpolated one curve through all bottom points, another through all midpoints and another through all top points. Clearly that was because of how my data was structured. My solution was to weave the three data streams in a 0-1-2 pattern and partition the list to get one curve per louver. Seemed to work.

But then when I run the EdgeSrf, the result is completely unexpected.

Can anyone figure out what I’m doing wrong?


Test 6 - forum version.3dm (229.9 KB)
Test 6 - forum version.gh (20.8 KB)


I have no idea what is your intention and I didn’t look at the details of your definition, BTW you can take ad hoc steps to get the finalEdge Surface working properly.

Test 6 - forum version_re.gh (51.0 KB)

(Gduteaud) #3

Thank you for taking a look and coming up with an ad hoc fix. That’s exactly my goal right now, to end up with the green surfaces in your screenshot.

I looked at the file but I don’t understand how the fix works though. Can you perhaps walk me through how you came up with it? That way maybe I can either figure out the fundamental issue and fix it at the source, or generalize your solution to the whole project.

Let me know if there’s anything I need to clarify or explain and thank you SO MUCH for your help!


I don’t know why you need to project only one point group of 7 curve point groups onto the upper surface, but IMO, for that reason, there will be a problem with data matching.

(Gduteaud) #5

Right. The goal is to eventually have 7 such planes pulling points from their respective base curves like so:

But the EdgeSrf results are still catastrophic.


Data Matching is not difficult if you want to… See red group.

Test 6 - forum version_reV2.gh (64.5 KB)

(Gduteaud) #7

Right. Yeah I figured out an even simpler fix: flattening all the EdgeSrf inputs. So simple I now feel extremely silly. Feels like I reaaaaaally need to learn GH data structures and tree operations properly.

Thanks a lot, I really appreciate the help you provided.