Why Join and Join Edge handle new object properties differently?

Join prioritizes newer surface properties over older one’s to apply to new polysurface when Join Edges prioritizes older one’s when pre-selected or box selected. Makes no sense to have them different. Option in Join command to what prioritize would be nice. In my case I’d like to have Join work just like Join Edges - older surface properties transfer to new polysurface.

Right now it’s annoying to Join bunch of surfaces then match properties to older ones and always check the face orientation, 'cause it gets flipped randomly when joining to extrusions. If I use Join Edges then I have to go through every single future polysurface separately 'cause you can’t box select separate modules edges.

As far as I know, both should use the first picked object(or edge’s parent) to drive the properties of the result. For Join in the case of pre-selection, it is the most recent object in the data base that wins - that will appear to be random since say, moving an object in fact replaces it and so moves it to the top of the pile.

-Pascal

But Join Edge always prioritizes the older object’s props with box selection on two edges. I’d understand it if it was the other way around. It’s just inconsistent between 2 related commands.

As far as I can see it uses the first selected edge to drive the properties… do you see something different? Maybe I don’t understand what you’re asking…

-Pascal

For both it does if you pick edges separately. It doesn’t for Join Edge if you box select two edges (right to left). That’s the point and a desirable behavior for Join with pre-selected objects. In this regard Join works the same when picking objects separately or box selecting/pre-selecting.

In other words:
Join:
Box Selected / Pre-selected multiple objects will inherit the most recent object props.

Join Edge
Box Selected pair of edges will inherit the LEAST recent object props. (desirable behavior)