Ok, I've been working on this problem for hours with no luck. I've moved on to some different method which I'm sure should work, but it just doesn't. My code looks like this:
If "view" (an object) overlaps "terrain" (a family),
subevent - pick "3dblocks" (another family) by comparison: if 3dblocks private variable "name" is the same as terrain private variable "name",
then:
System: create object 3dblocks
3dblocks: set Z to "view" private variable "Z"
To me, that seems like it should work. It looks as though I'm specifying the correct 3d box within the "3dblocks" family, but when the family instance is created it is a random 3d box from the family. I really need help with this one :/