this is a somewhat leading question: If I have two line segments in different layers and I join them, how does Rhino for Mac determine which layer to put the result in?
It seems somewhat arbitrary. I’ve tried every combination of layer selection, layer order, select order, active layer, etc… to see if i can spot some kind of consistent (and useful) behaviour, but I cant pick it.
ideally, I’d love to see the result of a join either go into whatever the current active layer was, or whichever layer was first in the layers list. I could happily work with either of those options. but right now, it seems to be doing it based on some kind of internal rhino list order that is not tied to the user interface or user preference.
Well, as far as I know, it has nothing to do with what layer is current. It has to do with what layers the objects themselves are on. When all objects are on the same layer, no problem, but when they are on two or more different layers, Rhino has to choose which to put the result on. In general this is the first object in the list of objects Rhino has to join, so the result can be one of two things:
If you pick individual objects via mouse, the layer will be that of the first picked object - because it’s at the top of the list.
If you pick via window or some other method that does not involve picking objects in order, it will go to the layer of the object in the selection that was most recently created - again because it’s at the top of the list.
after a lot of playing around, I think you are half right. your first conjecture is wrong. selection order has no effect at all. your second conjecture is correct - the resulting layer is set to the same layer as the most recently created object in the set of objects being joined. one extra factor here is that if i have three line segments 1,2,3, each in its own layer (L1,L2,L3) created in that order and i select all three (how doesnt matter) and join, they will always end up in L3. but if i join 1 and 2 first (the result ends up in L2) THEN join to 3, the result ends up in L2, because the composite object resulting from the first join of 1&2 is newer.
so it looks like we have established how rhino behaves. the big question is, would changing this behaviour be of benefit? and i think the answer is a big yes. personally, I think it would be super useful it behaved as you suggested in your point 1 above - if you individually select one object first, then others, then the result should go into the layer of the first object. the other behaviour i think would be useful is some kind of user selectable mode that allowed you to select the priority by either 1) layer order (as shown in the layers window, from top to bottom) or 2) all composite objects resulting from a join go into your active layer - just like most of the rest of the rhino commands work.
Dunno what’s happening on your end, but it has always worked for me this way. Can you post a file with instructions to produce a situation where it doesn’t go to the layer of the first object picked - when manually picking? I am testing on Windows, I doubt if Mac has a different behavior, but I will drag out my Mac and test shortly. Edit: Mac Rhino seems to be behaving the same way as Windows Rhino here…