Wrong direction extrusion

Hi all,

I wrote a definition to produce beams coming out of columns modeled in Rhino, with a curved transition from column to beam. It worked great in simpler tests but now that I’m trying to apply it to my actual geometry, I’m running into this frustrating issue. Everything works great right up until extruding the beam profile along the direction of the width of the corresponding column. It’s like the boundary surfaces are somehow not in the right order for them to extrude in the proper direction, but no matter by what index I try to shift the list it doesn’t the issue.

What am I doing wrong?

Thanks,

GD

V8 forum.gh (21.9 KB)

The script is somehow completelly messed up!? Could you check on this first?

It seems one of your vertical line is not on the section plane. See purple group.


V8 forum_re.gh (19.5 KB)

Whoa. Looks like there’s one intersection that’s not being detected, but somehow it works fine in my master file that’s too large to post here.

Here’s without the problematic intersection.

Columns forum.3dm (224.5 KB)
V8 forum.gh (23.0 KB)

Yes, thank you, that’s what I figure happened with the file I posted with internalized data but it’s fine in my master file, the boundary surfaces show up just fine. The issue is trying to extrude them perpendicular to themselves.

maybe this fix your problem

V8 forum (1).gh (15.6 KB)

1 Like

So after playing with my definition some more, the issue is definitely not how the planar surfaces are generated. Still, thank you for providing a way to fix that issue if it comes up again.

Also, I didn’t know that’s how the “merge data streams” component works. Thank you for the demonstration, it’s certainly a lot more elegant and efficient than my weave + partition approach.

Right, that did fix it! (though I got rid of the whole “rotate vector” part as it’s superfluous, just need the slider + multiplication to plug into the amplitude component and it works.

I did not know you could use the amplitude component to get a normal vector out of a surface. How does that work? It’s a lot better than my current approach to finding normals via rotation. Thanks a lot!