Space from Element Set

Im trying to create a space from elements- using the _vaSpatialObjectSet command. However i get no result from it- the space command works when clicking within a space, or by curve. I presumed it was a bug in my file, but I have recreated this same error in a new file by creating a new bunch of walls and slabs.

To clarify-why im in this fix- I am trying to create a set of spaces(of rooms) enclosed within a larger space- and it doesnt seem to be possible to hide(or lock the internal partition walls and clicking inside the space)

Hi Aditya,
The _vaSpatialObjectSet command is used to define an object (a curve, a polysurface, a railing,…) as something to be considered a space delimiter when inserting spaces by point. By default, only walls, curtain walls, columns, and openings are spatial elements, that if they enclose 100% of an area, it will be valid to insert a space in it.
If you need to create a space that includes other spaces, the only way to do it is by creating that space from a curve or from a surface. The insertion of a space object by picking an inner point will detect the spatial elements around even if they are hidden.

It appears that _vaSpatialObjectSet elements can only affect spaces created with va elements (walls, columns, etc).

Is it possible to add curves, surfaces or polysurfaces as SpatialObjects when building a Space using _vaSpace>_FromPlanarSrf or _vaSpace>_FromCurves commands?

Hi @kevin3

You are right. This is pending to be fixed. The problem is that Spaces from surfaces or from curves don’t update.

No. Objects set as spatial elements only work with spaces created with the pick point method (not the one “FromCurves” or “FromSurfaces”).

Do you[quote=“fsalla, post:4, topic:103863”]
You are right. This is pending to be fixed. The problem is that Spaces from surfaces or from curves don’t update.

I am currently supporting a non-BIM modeling workflow using VisualARQ for plan + section generation and want to use _vaSpace tools to generate the space calculations.

Do you intent to build this feature into a future release?

Hi @kevin3,

I’m sorry, but spaces defined by curve or surface will never take into account spatial objects (walls, columns or marked curves), as it is not possible.

The problem is that if a space is defined by a curve, and you mark a curve that divides the space by two, there is not enough information to know which side of the space should remain. Spaces defined by points have a point that tells the space which side to keep.

In your case, why don’t you mark the original contour curve as spatial object, and then create a space by point using a point inside the curve? Then, any additional spatial object will be considered also.


Another reason is that, in some cases, you may want to create a big space that includes several rooms, and you don’t want that walls or spatial curves modify your explicit contour.


This is a great idea. I tested and it works :smile: well, it mostly works; I have what looks to be a graphic issue that I need to test (maybe post in a new thread).

Is there a component for this in Grasshopper? To take use a contour + a point to create a vaSpace that interacts with vaSpatialObjects?

For example, I would like to bring a list of curves, each branch referencing a unique Space (as example). Inputs for each branch would be: a) Spatial boundary of crvs b) a point inside that boundary c) list of spatial elements to include / exclude from perimeter.

Hi Kevin,

Right now it is not possible to set geometry as spatial elements in GH. Also take into account that if you use a Point as input geometry, the space object won’t be calculated until you bake it, when it will try to detect the surrounding spatial elements, such as walls or objects set as spatial objects.

Thank you very much for the discussion!

I would be interested to learn more how this is achieved because I have similar queries to run with Urban Planning scenarios, where area and plot calculations involved nested combinations of floor plates (surfaces), buildings (as volumes) and plots (as 2D curves); for example, I want to know which surface is inside which building (that is similarly within which plot).
-The VA method seems to know which Spatial Elements are candidates and then can run the area calculations accurately.

Is the documentation for the _vaSpace commands available?

Thanks again for your input.

Hi Kevin,
You can find the documentation related to spaces in the VisualARQ Help. vaHelp command.

This video also shows the space features: