Get Vertex References

Hi @Alban_de_Chasteigner,
Thanks to the GeniusLoci Package, almost all of our dimensions target actual references instead of just appended lines and it has saved us countless hours of work.
Thank you!
This elevation of wall shown below was auto-dimensioned using several of your nodes:

The only references we can’t seem to grab are for the reveals:

They look like this in 3D:
Right now we use Dynamo to draw a small line at the top of each reveal which gets dimensioned to.
But, if it were possible to get a list of vertex references paired with a list of vertex point geometry, we could dimension to the actual reveal itself.
Is this possible with python?

Hi @daniel1,

I’m glad you found the Genius Loci* package useful :grinning:

I just rewrite the Wall Edge References’s python script to support horizontal edges.

The new Wall Edge References node is included in the Genius Loci package update (version 2019-12-15)
Please note that I only collect edges on the exterior and interior sides of the wall. The edges in the hollow (inside the wall) are not kept.

A wall with horizontal reveals :

Severall walls with horizontal and vertical reveals :


Thankyou @Alban_de_Chasteigner. This is exactly what I needed!

@Alban_de_Chasteigner, I know I keep coming back with more difficult questions!
I’ve finally found some time to start implementing the node that gets edge references to the script that dimensions walls. I was able to make dimensions for every vertical and horizontal edge. I guess I just face one issue. I have no way of sorting out which edges are for reveals and which ones are for openings. In the past, I would pull the normals from the surfaces that created the edges and check if they had a 45 degree angle with a specific plane.

If I had a python script that could pull every surface and edge reference with a similar list structure shown above (I don’t need the vectors), I could do all of the sorting on my own. In the end I would need four lists: one for the surfaces, the next for the surface references, one for edges, and the last for the edge references. Otherwise I have pull the surfaces and edges three times over in order to match the correct edges with the reveals.

Once with the surface references for the openings and sides (a lot of times, chamfers steal those edges and place them on the hollow portion of the wall),
Twice with the edges references for the reveals,
and three times to get the other faces that do not align with an orthogonal plane in order to match them with the edges references. I think I could pull that off with some intersecting, but the longest part of the whole routine includes getting geometry and it would shorten the run time significantly if that operation only had to be performed just once.
It seems like the awesome python nodes for getting surface and edge references are already getting the lists that I need; they just happen to be culling the output before I can get to it. So I figured I should ask in case this was not a difficult thing to do. What do you think?

The last trick would be to pull the vertex references for the start and end points of those edges, but I understand if that is a bit of a tall order! Those vertexes would allow me to dimension to literally anything, including slopes and diagonal surfaces.