Wall for timber framing system


I am trying to take wall (brep) with a window opening, and turn this into a structural framing system.(see image below)

The logic of this program =

Select Brep wall
Create Point3d list from face
Categorize each Point3d i.e. Window sill, Bottom plate, etc…
Sweep rectangle between points for studwork.

Are there any methods in Rhino common / GH Kernel that could help me categorize Point3d’s into lists? or will i simply need to categorize window sill Point3d’s at Z=sillheight?

What categorization is supposed to do? Define the category by point z coordinate?

If so you can try the following:

List FacePoints = Brep.Vertices.ToList(); //don’t remember if this works but i supossed you already //managed this
double bottomheight=0;
double sillheight = 2; //just inserted any numbers
double topheight=3;
double tol = 0.01; //tolerance
List SillPoints = FacePoints.Where(x=>x.Z>sillheight-tol && x.Z<sillheight+tol);
List BottomPoints = FacePoints.Where(x=>x.Z>bottomheightt-tol && x.Z<bottomheight+tol);
List TopPoints = FacePoints.Where(x=>x.Z>topheight-tol && x.Z<topheight+tol);