Feature request: 'Intersection Groups'

Intersection groups are simple index numbers stored with every joinable element (walls, roofs, …). Only elements that share this number are joined/intersected.
Kind of essential, actually, and still missing in VisualArq - should a roof or a beam join a wall? Should (overlapping) walls join?

I learned ArchiCAD recently, where this feature came in handy, simply and elegantly.

Btw.: ‘Intersection Groups’ are a per-layer-property there. Maybe better if they were a per-object-property.

We had this discussion before last year already. Time flies, and this project is still on the table, and that facade problem still lingers…

Best regards

1 Like

@Eugen thanks for the suggestion. We will take it into account when we add more features to calculate intersections between VisualARQ objects.

Thank you!
Think about it - this approach would solve many complications with joints. Hope it gets a good position on the to-do-list… =]
Best regards

A thing to then decide will be if an object can be part of just one (ArchiCAD), or multiple Intersection Groups.
The second case would make it possible to make exceptions to the ‘join rules’.

Hi @Eugen,

I like the idea of intersection groups or something similar to specify which objects should interfere with others.

I don’t think multiple intersection groups are a good idea:

  • If a “wall A” is in “intersecton group 1”, and “wall B” is in “interesection group 1”, they should interesect.
  • If a “wall A” is in “intersecton group 1”, and “wall B” is in “interesection group 2”, they shouldn’t interesect.
  • If a “wall A” is in “intersecton group 1”, and “wall B” is in “interesection group 1 and 2”, should they intersect or not?

Now imagine a even more complicated case: a three wall joint:

  • Wall A -> Intersection group 1
  • Wall B -> Intersection group 2
  • Wall C -> Intersection group 1 and 2

Should Wall A intersect with Wall B? In order to resolve correctly the three-wall-joint, they MUST intersect, but these two walls are from different groups…



What exactly does the existing algorithm produce now, when 3 or more parts join?
This can become quite complicated, I assume. Are all parts just ‘booled’ together somehow, in a specific order?
Btw., that ‘Sort Order’ parameter never really made so much sense. Feels a bit like a game of chance to hit the needed solution.

Basically, it could indeed make sense to have multiple Intersection Groups per part. Imagine a triangular floor plan. Wall A should join wall B, wall B should also join wall C, but wall C should not join wall A.
Wall A -> group 1
Wall B -> group 1 and 2
Wall C -> group 2
Maybe beams serve as a better example here. All beams should join, but for some constructive reason, the corner A to C should not (maybe because there’s a wall with consoles, or something).

The case you mention refers to a (very common) T- or + or star-junction. Can’t think of a good example why wall A should join wall B, and B to C, but not A and C, though.

Unfortunately this is not possible. If in a three wall joints not all walls are joined, the result will not be good and there will be shared or empty spaces, which will produce errors in volume calculation, sections etc.

Wall joints are, by far, the most complicated algorithm in VisualARQ. Even plan and section views are much more easier to implement.


Just asking if this topic is still on the radar? (Just had the case again where I’d like to keep VA parts around in the scene, but witout joining.)

EDIT: In other words, this also opens up the possibility to keep design variations of VA parts on the same spot in the same file, without having them interfere.

Maybe take the simple route: give each part exactly ONE id. Guess that should serve most cases.
The algorithm would be trivial, then: do two parts share the same id? -> join. Don’t, if not.
Best regards

Giving this a bump, since I regularly would need a feature like this. Have you thought about it?

Summary: all parts that can connect have exactly ONE index (0,1,2… that’s how ArchiCAD does it). Only those parts that share a common index will connect. So, forget about complications like the one we discussed in 2018.
That should be comparatively ‘simple’ to implement, no?

Two benefits:

  • quick and simple way to avoid unwanted joins

screenshot vaWall join

  • ‘design options’ on the same spot

Thanks a lot!
Best regards

This is a really important feature!
Got the case that a wall is reduced in it’s height by another wall strip, although both have their ‘Cleanup radius’ and ‘Maximum extension’ set to 0.
I had to make a little gap between the two to avoid this.
If there were those ‘intersection groups’, it would be a simple matter.
Please think of it! Thanks!


Hi @Eugen,

Can you send us the model to visualarq@asuni.com?