Hello. I have a few issues with snapping/pivot points:
In some cases, the default orientation of a brick after snapping is wrong in certain situations and manual rotation is needed. I don't know if this is by design or a bug, but I'll report the issues I've found:
A general question: I wonder, if that "orientation is wrong when snapping" thing can be generally resolved, as it would require MB to "know" what the target is, and adjust the orientation accordingly. I may be wrong, but I believe there is no solution for this?
I don't know how Mecabricks is implemented, but my suggestion is to define a vector for each pivot point that specifies an orientation/direction of the pivot point. For a stud, it would be along the stud cylinder pointing away from the brick. When snapping two bricks, just align the pivot points and their orientation vectors. This will not solve all cases due to the fact that pivot points do not specify all ways that a brick can snap, and in some cases choosing an orientation vector is a choice between one vector and another that points in the opposite direction (this would be the case for a technic hole or a technic pin). But I think it would solve a lot of cases, e.g. the issues with the gem, the nozzle and the carrot that I wrote about. There is no reason that the user should see these vectors, so this would only ease use of the workshop sparing some rotations.
I have previously suggested having an advanced mode of snapping which includes pivot points for all connections for a brick (yes, it's A LOT of pivot points for certain large bricks, I understand that it's very comple😆. If this was implemented along with orientation vectors, I think the orientation issue would solved. There would be two pivot points instead of one in the case of there being two directions that snapping can occur and the user would have to see the vectors to be able to choose between them.
This is not only one vector but actually a vector (x, y, z) + rotation defined as a quaternion (x, y, z, w).
The reason why I didn't orientate the studs like the technic brick/beam hole is that it would be an issue with grid snapping.
A brick on x and z is 8mm and on y 9.6mm (a plate is 9.6/3 = 3.2). So grid size is different on x/z and y.
A beam is 8mm wide in the direction of the hole
So if studs and Ø4.8mm holes have the same direction, if the grid is 9.6mm along this direction, when I pull a brick it will move 9.6mm up - Cool this is the exact height of a brick. But for the beam it doesn't work because 9.6mm is longer than 8mm.
Trust me, I spent hours torturing myself 😉 This is by no means perfect but there were a lot of thoughts put into it.
I don't want to move to a system like LDD (and stud.io) because I never managed to use it. It adds complexity for not much gain. Automatic snapping fails 50% of the time for me.
You can visualise very easily the vectors for a point in Mecabricks. This is the gizmo when you select this point 😛
My thought is that it is quicker to use the keyboard and arrows to quickly correct the orientation than asking the user which point he wants to choose if 2 vectors would be defined at the same location.
LEGO, le logo LEGO, la minifigurine et les configurations des briques et tenons sont des marques déposées de LEGO Group of Companies. ©2024 The LEGO Group.
Mecabricks, le logo Mecabricks et tout le contenu non couvert par les droits d'auteur du groupe LEGO sont, sauf indication contraire, ©2011-2024 Mecabricks.