Wynott wrote:All the point clouds are on the layer that was active when I created the first MXS reference. [...] It's not possible to have each floor's point clouds on each floor's layers as I understand it now.
The problem with these statements is that there is only one point cloud; each copy of the MXS reference is an instance referring back to the same definition.
Wynott wrote:I fill each floor with desks. I put them on their corresponding layers (1st floor, 2nd floor, etc). All the point clouds are on the layer that was active when I created the first MXS reference, so my layer toggling organization for quickly viewing each floor doesn't really work.
The problem is actually the reverse of this. Let's consider this simplified scenario:
- 1. Create a new 3DM.
2. Create a layer "X" and make it current.
3. Insert a reference to desk.mxs.
4. Make one copy of the new reference.
5. Create two new layers, "desk1" and "desk2".
6. Put the first instance on layer "desk1".
7. Put the second instance on layer "desk2".
What is rendered, if you hide layer "desk1", "desk2", or "X"? With layer "desk1" hidden, only the instance on layer "desk2" renders, and vice versa, as expected. However, if you hide layer "X", this is where the unexpected behavior occurs: since the point cloud created in step 2 is on layer "X", both desks disappear from the Rhino view when you hide "X", but when you render, both of the desks still render. Reason being, though the instances created in steps 3 & 4 are not hidden, the geometry (the point cloud) in their definition is.
So the problem is not that you can't selectively hide all the desks on a given floor, but rather that it's possible to for you to hide all the desks from view in Rhino, but still have them render in Maxwell. This won't happen, though, as long as you don't hide the point cloud's layer.
Another way of looking at this would be to consider how By Parent and By Layer work for the color and material of instances and their definitions. If you look inside the MXS Reference definition, you'll find that the color of the point cloud is set to By Parent, such that each instance can appear to have its own color, or inherit the color of its layer. However, were you to use BlockEdit to change the point cloud's color to By Layer, you'd then find you had the same "problem" with the color of the point cloud: regardless of the color you assigned "desk1" or "desk2", the cloud would continue to use the color of its actual layer, "X". The only real difference between this, and layer visibility, is that there is no such "By Parent" mode for an object's layer.