Hi Tommi,
The Wall object has an internal function used to update all its walls called "setWallsDirty". This can be used to force-update the information in the wall object such as locations of the pillars, their height and by extention the height of the walls between them, ect...
Object wall = model().find("Walls"); function_s(wall, "setWallsDirty");This funtion is called by the user interface whenever you use the quickproperties menu to make changes to walls, but just be aware that it is not actually meant to be used during model runtime, so I can't guaratee what will happen if you call it repeatedly.
If you for instance change the position or height of one of the Pillar objects in the drawsurogate of the Walls object, as you point out the drawn walls will not follow, until you call this function. Be aware that if you change the height of a pillar to 0 all walls attached to the pillar will vanish. If you want to hide all walls you could for instance move all pillars in the z-axis below the model floor and call the function.
You can also go to Walls>variable/walls node and here find a reference to all walls between the pillars. On these nodes you can set color and transparancy of a wall and the call the "setWallsDirty" function to update all your wall.
It is not a perfect solution, but it does allow you to make changes to something that was not meant to be changed at runtime.