Proposal of an expanded version of snapping bricks together
Normann1974 started this discussion in Suggestions and Ideas

Let me start by saying that Mecabricks works great! I've built a huge model quite easily. I used to use MLCad but it hasn't been updated for many years, and the programmer doesn't seem to respond to suggestions and doesn't release the source code for others to work on it. Migration to Mecabricks was easy after reading the tutorials.

I previously mentioned in another thread, that I'd propose a new way of snapping bricks together, and I hereby present it:

I use a 4x4 plate and a 1x2 brick as an example. The plate and brick each only have two snap points although the plate has 16 studs and 16 stud holes, and the brick has 2 studs and 2 stud holes. So when I want to put the brick on the plate, there are 16 x 2 x 2 = 64 combinations of one stud and one stud hole: 32 ways to match a stud on the plate with a stud hole on the brick, and 32 ways to match a stud on the brick to a stud hole on the plate. These combinations only consider one stud and one stud hole, and they don't take into consideration the rotation of two bricks.

The current version of the workshop only supports four combinations of putting these two bricks together (2 x 2 snap points), and all combinations will result in a combination of the two bricks where they don't fit in the real world. You will have to move (and possibly rotate) afterwards. This result is often the case when building with the current working of snap points. See http://pasteboard.co/hLvt6EjD3.png for an example of this.

I suggest an expanded version of snap points (so that the old way of snapping bricks still works as now), best illustrated by explaining how I would like it to work with the two bricks used in the example above. I'll mention snap points as they are defined today as "old snap points".

  1. Add the 4x4 plate to the empty model by just clicking it in the library.

  2. Click the plate in the model to highlight the two old snap points (see http://pasteboard.co/hLwip0mRP.png) and shift-click (suggestion) the upper old snap point to indicate that I'd like to snap a new brick to one of the top studs in the brick. This will replace the old snap points in the brick with 16 new snap points - one for each stud on the plate (if I had clicked the bottom old snap point, 16 snap points for the stud holes would now be shown instead). Maybe the old snap points could be colored or rendered differently to show that it can be expanded into many more. http://pasteboard.co/hLwKt3TCs.png

  3. Select one of the 16 snap points to select where a new brick will be snapped to.

  4. The bricks in the library will now have their old snap points highlighted. Well, only the old snap points relating stud holes will need to be shown, because these will be the only ones that makes sense to snap to (snapping a stud to a stud will never result in the right placement of the bricks). This will require that old and new snap points in the future have a type, e.g. "stud", "stud hole", "round grip" and more) and the old snap points can be thought of as "high-level snap points" or "sets of new snap points". http://pasteboard.co/hLwZLsqid.png When hovering a new snap point on a brick in the library, the brick is rendered in the model as though it was added, snapping the hovered old snap point in the library brick to the snap point previously selected on the plate in the model.

  5. Click the (lower) old snap point on the brick in the library to replace the old snap point with all the new snap points relating to stud holes (2 in total). http://pasteboard.co/1M9wQnhlI.png

  6. When hovering one of the new snap holes on the brick in the library, the rendered brick in the model snaps automatically between the hovered new snap point and the previously selected new snap point on the plate in the model. When the brick is positioned as wanted by hoving the right new snap point on the brick in the library, click it. The brick will now be added to the model and snapped in the right place.

This may sound as a complicated operation, but I actually think it will be an intuitive "advanced" way of working with bricks in the workshop. It's important to notice that if the workshop supports adding bricks as described above, no moving of the new brick will be necessary because it will be in the right place. Only rotation may be needed afterwards and you will probably always want to rotate around the two snap point that was used for snapping (they will be the same position in the model), so that point could automatically be selected that as pivot point for a rotation by the arrow keys immediately afterwards.

So in conclusion: To add a brick at the right place in the model without having to move it afterwards, it only requires four clicks: One to select old snap points in a brick in the model (thereby showing new snap points), one to select the new snap point, one to select an old snap point in the new brick in the library (thereby showing new snap points) and one to select the new snap point in the new brick in the library. I think this will work faster than the current way of adding bricks which requires at least two clicks (selecting a snap point in the model and selecting the new brick) and moving it afterwards (at least one click and mouse movement), and often you would need to rotate the view to be able to get a hold of the right translation arrows/planes, these clicks and mouse movements are also saved.

The "snap" function ("S" key) could be expanded in the same way.

I hope that the explanation above is enough to understand what I'm suggesting. It'll probably be a HUGE programming effort to implement (e.g. all current bricks will need to have their snap points expanded) but as written above, I think it'll make a nice addition to the work flow and a way to build models faster because of the time saved moving bricks around.

BTW - How about support for importing and exporting MLCad style files to ease transition? I know that the set of supported bricks is not the same but that could probably be handled in a nice way.

1 reply · Page 1 of 1
Avatar of Scrubs
Administrator

Hello,

Thank you for that. It is always good to have ideas from others.
Ultimately, it is not a bad idea.

The main limitation here is that the icons in the library are only images. They would need to be 3D models instead to display the points.
Besides, some pieces include 2304 studs like the 48x48 plates. It would be a lot of data to load and handle for big models!

The other one would be to actually get the point data in the database. With the current limited system, there are already about 10K points and not all parts are completed. It would be an enormous amount of work as you would need to include a point type like you said.

To keep in mind when I will look at upgrading the system 😉

P.S. Don't forget that you can use the keyboard arrows to rotate and translate parts.

Advertising
2 participants
Avatar of Scrubs

LEGO, the LEGO logo, the Minifigure, and the Brick and Knob configurations are trademarks of the LEGO Group of Companies. ©2024 The LEGO Group.

Mecabricks, the Mecabricks logo and all content not covered by The LEGO Group's copyright is, unless otherwise stated, ©2011-2024 Mecabricks.