Finding the distance between rooms within a model

I am trying to find the path distance between, selected rooms (toilets) within a builing, is it possible to find the distance between these points and then any other point within the building. This is to check that all toilets are within 40m of anywhere on each floors. Would you then have to do this for each level individually or can it be done as one. If this is possible what is the best way of doing it?

Yes, this is doable. Look into the VASA package to do so. For a ‘how to’ check out the comprehensive guide which is available on YoutTube.

You can do level by level, or the entire model in one go.

Basic process will be as follows:

  1. Get all geometry which defines a walkable surface or obstruction as solids (this will be a bit slow for larger data sets)
  2. Union the solids into a single solid (this will be quite slow for larger data sets - you may want to reduce the scope of the analysis to ‘what you see in a view’ accordingly)
  3. Convert the single solid to a voxel model (now you’re into VASA - voxel model by geometry)
  4. Convert the voxel model to a path model (analysis portion of the VASA library)
  5. Get the ‘toilet’ points (not sure if you mean doors, the toilet fixture, or the room, but all report a point)
  6. Shift the points up by 1 voxel height (defined as part of step 3)
  7. Build a distance field with a maximum distance of 40m for each point
  8. Extract the reachable voxels from the distance fields
  9. Union the reachable voxel models into a single voxel model
  10. Extract the traversable voxels from the path model (step 4)
  11. Subtract the reachable voxel model from the traversable voxel model
  12. Display the remaining voxels - these areas are not within 40m of a toilet point
  13. Dispaly the reachable voxels - these areas are within 40m of a toilet point

Give it a shot and see where you get.

@TRUSSElleA

an alternative approach would be to reduce your model into a network or topological graph representing nodes (rooms and toilets) and the paths (connections) between them.

Think of an ants nest with nodes and all the possible paths between them.

Then use the Dynamo Topologic package (refer this from a fellow Aussie @GavinNicholls https://youtu.be/uHvcHXku_ys)

Google Dijkstra’s algorithm if you want to understand how it works

Voxelising an entire model (that is what VASA does) can be very computationally intensive.

3 Likes