Filter list of vectors by axis

vector
list-filter

#1

Hi,

My main goal is to mesh a floor geometry in revit and frame it with different sections in the horizontal, vertical and diagonal directions.

I would like to filter my list of vectors if they contain a value in the x, y or x&y directions.

I thought i could do this with a ‘List.FilterByBoolMask’ but it doesn’t seem to be working.

Any help would be appreciated!

Thanks,

Eamonn


#2

Few issues here:

  1. You’re comparing edges to vectors. You need to get the vector from the egde, perhaps using an Edge.CurveGeometry node and a Curve.TangentAtParameter node.
  2. To compare vectors us a Vector.AlmostEqualTo node.
  3. Comparison of vectors in this way will likely be better served via a Vector.X value, rounding to your desired tolerance, then a Vector.Y value, rounding that, joining the X and Y values, and grouping by the keys. (it’ll result in something like 1,0; 0.5,0.5; 0,1).

#3

Hi Jacob,

Thanks for your reply.

You’re comparing edges to vectors. You need to get the vector from the egde, perhaps using an Edge.CurveGeometry node and a Curve.TangentAtParameter node.

I tried using the Edge.CurveGeometry node, however, it looks like the Mesh.Edges node is outputting Lines?

To compare vectors us a Vector.AlmostEqualTo node.
Comparison of vectors in this way will likely be better served via a Vector.X value, rounding to your desired tolerance, then a Vector.Y value, rounding that, joining the X and Y values, and grouping by the keys. (it’ll result in something like 1,0; 0.5,0.5; 0,1).

Please bear with me but I don’t think I quite know what you mean.
I’ve tried to have a stab below but it doesn’t look at all right!
What do you mean by keys?

Thanks for your help,

Eamonn


#4

Sorry - read this between meetings and thought you were using topologies not mesh toolkit. Still not best to compare line objects directly.

This shows some of the methods I was referring to:


#5

Thanks Jacob! Some very useful tips for list orgaising!


#6

Hi Jacob,

I’m not sure if I should start a new post for this follow up question?

I have now used select model element and mesh by geometry before creating framing from the lines.

My question is if there is a way to reduce the mesh size as it meshes as one triangle?
My end goal is to be able to select a model floor slab and create a mesh of framing of around 500mm spacing, although I see you say this could get very elaborate very quickly and the slab can be up to 50m.

I have tried the lunchbox WireGrid but this would only work if the slab is one rectangle.

Any steer in the right direction is appreciated!

2019 01 29 Mesh lines from select model object.dyn (69.4 KB)

Thanks,

Eamonn


#7

Beat to start a new topic and post the rvt showing a typical slab shape as well.

Note that if you’re using framing elements for this it’ll be a near suicide mission for your pc - that’s a lot of analytical lines to add at once.