Parametric beam - Grasshopper noob question

I’m having a bit of an issue. I have hard coded a parametric drafter for beams in Rhino Common, I could make it into a component for Grasshopper, however I believe that I do not need any custom component and I would love to integrate a vanilla (or almost vanilla) Grasshopper solution to perform the following actions >
-Define a plane using a flat surface
On the following plane I want to
-Offset a curve that defines how big our beam is (so the offset from the deck, in this case is the upper brep)
-Draw an angled line
-Fillet the offsetted line in step 1, with the angled line in step 2
-Join the curves
From there Im pretty sure I will have figured out enough to be able to continue by myself
I am familiar with Grasshopper, however I’ve always hardcoded components to fit in my logic, I would love to be able to develop such a solution using Vanilla grasshopper components.

This is the goal that I want to reach :

If anyone is experienced enough to be able to help me out with a simple explanation on how to reach the goal It would be great or provide me a simple base that I can work on by myself.
I do not want to be spoon-fed a complete solution, but I really need some help getting started sorting this out.

The parts Im having a hard time with are

  1. Generating a section
    2)Generating the curve I want in order to obtain the geometry shape
    3)Trimming the said curves so that the geometry is complete

Thank you very much in advance.

This is my starting point

This is the wished result

Thank in advance to the Rhino Community, hope someone can help me out.
It does not need to be production ready, I already have a component in C# to do that, I just want to learn about Vanilla grasshopper components.
This is the 3d model.3dm (439.7 KB)


Here is a possible solution - I duplicated the beams to test the tree structure.

I went for the most difficult option where the user just selects all Breps at once and they are sorted along the way. This could be obviously simplified a LOT if the user was asked to select the flanges/webs separately. (24.3 KB)

1 Like

Thank you for providing this information. I appreciate your help and will check the GH you have shared. I wanted to note that my component typically requires breps as input, and the user must specify what they are. I am impressed by your ability to infer this information from the brep orientation alone - your work is truly impressive. Thank you again for your assistance.