Scrubs

[Software] MecaBricks - Online Design Tool

183 posts in this topic

Hello,

In april 2012 I released a first version of my webapp called mecabricks. Since then I improved it quite a lot and I am now using the first post of this topic to introduce it a bit more. I'll try to maintain it in the future to talk about the new features, modifications, tutorials coming up and so on.

What is mecabricks?

Mecabricks is a free webapp that you can use to build LEGO 3D models and if you wish you have the possibility to publish them so that they are accessible to anybody. You actually don't need to install any software or plugin in your browser. The only requirement is to have a browser and a graphic card supporting WebGL. If I can't do anything if your GC doesn't support it, here are information about the browsers:

  • Firefox - WebGL has been enabled by default since version 4.0
  • Chrome - WebGL has been enabled by defalut since version 9.0 as well
  • Opera - WebGL is supported since version 11 but is disabled by default.
  • Safari - WebGL is supported since version 5.1 however it has to be enabled. For that, select Preferences in the Safari menu. Click on the Advanced tab. Check the Show Develop menu in menu bar checkbox. To finish, open the Develop menu in the menu bar and select Enable WebGL. Since version 8.0 it is enabled by default.
  • Internet Explorer - Supported from IE 11.0

Language

Currently Mecabricks is fully translated in French (my mother tongue), English (my second language), Russian, Italian and German.

Part library

Because it is a webapp, new parts are added without the need to update anything.

The library currently includes 4000+ parts and I add new ones almost everyday. On a more technical side, they are made with Blender and exported as json files. If you wish to help me to model new parts, design new textures for minifigs don't hesitate to get in touch with me and I'll be more than happy to help.

You can also request missing parts in the mecabricks forum if you wish.

A new flex part module has been added and you can now correctly model parts like Flex Rods, Hoses, Strings, Flex Tubes, etc.

How to start building a model?

Like any other software, you will have to play with the workshop for a little while to fully understand how it works. However, to speed up the learning curve you will find more information about the tools and shortcuts in the help menu of the workshop or in the forum.

Workshop functions

- Perspective / Orthographic view

- Undo/Redo

- Part edges

- Group management

- Snap

- Pivot point

- Flexible parts

- Show / Hide

- screenshot

- export to other 3D formats

- LDD file import

- a lot more...

What kind of result I can expect?

Again it depends on your graphic card and browser. Mecabricks is using the antialiasing technic to smooth the edges however it might not be supported by your browser or GC and it will be more pixelated. Here is a model that I built a while ago. I used the printscreen function included in mecabricks to extract the image of the 3D model and I simply added the drawing in the background later without any other modifications. You can also have a look in gallery for an overview of what can be done with mecabricks.

10211|10218.png

Export Functions

If you register to mecabricks, you will have access to functions to export models as STL, OBJ and Collada files. It can be useful to render them in other software. Besides to increase the realism, you can choose to export the LEGO logo on studs.

The following image has been generated with Blender which is a free open source software.

24795389021_d679d7f212_c.jpg

LDD Import Function

Mecabricks is capable of converting LDD models to Mecabricks. Pieces not available yet in the software are ignored.

Embed Player

If you wish to display a public model on your website, you can use the following code and replace [iD] by the mecabricks Id of the model:

<iframe frameborder="0" allowFullScreen webkitallowfullscreen="true" mozallowfullscreen="true" src="http://www.mecabricks.com/embed/[iD]?autostart=0&animation=1&transparent=0&white=0&antialias=1"></iframe>

Model List

Two CSV files listing the official sets and minifigures available on mecabricks can be retrieved at the following addresses:

Edited by Scrubs

Share this post


Link to post
Share on other sites

That looks really good, I think it's very promising :thumbup:, but what are the advantages of other desktop builders like sr3d builder?

Does it use LDraw bricks, or do you've made them yourself?

Edited by legolijntje

Share this post


Link to post
Share on other sites

Wow, very interesting project!

I hope you choose LDraw bricks too, because that's the best way to have immediately a wide amount of parts and promote interoperability!

I tried to access using the link you provide, but I can only interact with a banner showing supported browsers and the WebGL logo. I use Firefox 12. Is there something I've to activate?

@legolijntje

I think the advantage is that you can access to your models from anywhere, and you don't need to install any software to do that.

I hope the software will be able to open files from internet, for example from a dropbox account or any other file hosting site.

Share this post


Link to post
Share on other sites

Hi and welcome Scrubs.

Really interesting work you got going here. An online Lego designer is an interesting step forward I think. Now I just got to install another browser :classic:

Share this post


Link to post
Share on other sites

Yes, one of the advantage is that you don't need to install any software and the only thing you need is a browser.

No I don't use the Ldraw library. The parts have been made with blender (free 3D software) and exported for the 3d engine. I didn't find an easy way of converting the ldraw parts for now but I was thinking about at least exporting/importing the models to/from ldraw.

@Calabar Normaly you don't have to activate or do anything with firefox 12. I just tried it now it seems to work. weird. The banner you see is supposed to appear only when you browser doesn't support webgl...

Share this post


Link to post
Share on other sites

Very cool, looks like a very promising project. There's a lot of potential for extending the functionality, I'm sure. Some feature ideas off the top of my head:

  • Connecting the 'part' list with data from BrickLink, and only allowing it to be 'painted' colors it actually exists in
  • 'Bricklink wantlist' auto-export
  • User-defined brick palettes

Keep up the good work!

Share this post


Link to post
Share on other sites
@Calabar Normaly you don't have to activate or do anything with firefox 12. I just tried it now it seems to work. weird. The banner you see is supposed to appear only when you browser doesn't support webgl...

Very Strange... try to add a button to skip the banner, perhaps there is a problem in the identification of the browser but it would work if I could access to the viewport.

I have tried with Iron too (chromium 18), but with the same result.

Share this post


Link to post
Share on other sites

Interesting... works well here! (Seamonkey browser)

No I don't use the Ldraw library. The parts have been made with blender (free 3D software) and exported for the 3d engine. I didn't find an easy way of converting the ldraw parts for now

Have you tried LDView? it can export to .stl and .3ds, two formats that look supported by Blender (but I am NOT a Blender specialist!)

Share this post


Link to post
Share on other sites

What a fantastic idea. A multi-platform tool.

I hope you choose LDraw bricks too, because that's the best way to have immediately a wide amount of parts and promote interoperability!

Agree, to really make this take off I think using the LDraw library is a must.

Share this post


Link to post
Share on other sites

I tried to export Ldraw parts in STL format using LDView to import them with Blender but I need to rework them as the mesh is pretty messy and often it finally takes the same amount of time as making them.

I also handle the textured parts differently. Another point is that LDraw uses its own measurement system which I am not a big fan of.

I admit that I really enjoy designing the parts myself default_blink.gif.

@Calabar I don't detect the browser but only the fact that webgl is starting. Maybe your graphic card is not compatible... Could you try to open this page http://mrdoob.github.com/three.js/examples/webgl_geometry_cube.html and tell me if you see something? It would help me to maybe fix a bug.

Thanks

Share this post


Link to post
Share on other sites

@Calabar Normaly you don't have to activate or do anything with firefox 12. I just tried it now it seems to work. weird. The banner you see is supposed to appear only when you browser doesn't support webgl...

Because of security concerns around the webgl api design, it's only enabled on a tiny number of whitelisted graphics cards/driver versions. So even having the right browser isn't enough to ensure you'll be able to run it. Shame as it sounds like an interesting project otherwise.

Share this post


Link to post
Share on other sites
@Calabar I don't detect the browser but only the fact that webgl is starting. Maybe your graphic card is not compatible...
Because of security concerns around the webgl api design, it's only enabled on a tiny number of whitelisted graphics cards/driver versions. So even having the right browser isn't enough to ensure you'll be able to run it. Shame as it sounds like an interesting project otherwise.

Ok, it seems we have found the problem.

I didn't know about a whitelist, and in this computer I've an old GF6100 integrated graphics.

I thought WebGL would run on every OpenGL capable computer.

Share this post


Link to post
Share on other sites

Hello,

A month after, I kept improving mecabricks and there are now 400+ parts in the library which shall allow to build more awesome stuff.

It has also been accepted on the chrome experiment website by google, which I'm proud of :wink:.

Edited by Scrubs

Share this post


Link to post
Share on other sites

Kia Ora,

I released the second version of the mecabricks workshop today which I think improves a lot the ease of use.

A new tool bar is located on the top of the page:

  • File: open / import / save / properties / new scene
  • Help: Tools / shortcuts
  • Camera orientation
  • Render mode: texture / wireframe
  • Grid: small / medium / large
  • Snap selection to grid
  • Pivot Point. relative to selection origin or cursor 3D.
  • Display grid
  • Display transformation axes
  • Reference system global or local
  • Initialise position and rotation of selection
  • Create a new folder in the hierarchy
  • Duplicate selection
  • Delete selection

You can now look for parts in the library using their names or references.

To organise the project (parts, folders) you can use the drag and drop functionnality with multiple objects.

It is possible to lock a folder which means that you won't be able to open it or add elements in it. If you click on one of its parts in the scene you will select all the parts from this folder.

To move parts you can use the axes. Pull the arrow corresponding to the axis (press ESC if you wish to cancel the move).

Or press G to start the translation, then X, Y or Z to constrain the translation along a particular axis in the global reference system and X, Y or Z again to constrain the translation in the local reference system.

Same method to rotate de parts but use the R key instead of G.

For the camera, no change. It is better to use a 3 buttons mouse, but keyboard is enough.

  • Zoom: mouse wheel (or CTRL + mouse)
  • Move: right button (or SHIFT + mouse)
  • Rotation: middle button (or A +mouse)

Don't hesitate to ask me if you have any questions, I'll be happy to answer :classic:

v2.0.png

Share this post


Link to post
Share on other sites

It seems the software is growing very well.

I've two questions:

- I indexed your software as "Online Design Tool". Do you want I modified the name in "Mecabricks Workshop"

- With the migration to the new board, it seems that the first post need a little fix. What do you think to use the first post to gather all the useful informations of your software, such as links, the last version, number of bricks supported, main features, future improvements, etc...?

Share this post


Link to post
Share on other sites

Hello,

I guess if possible, maybe use only "Mecabricks" :classic:

I saw that my first post needed an update after the migration. of course it sounds like a good idea to use it to put the info relative to mecabricks. I'll do that.

Share this post


Link to post
Share on other sites

Hello,

Here are the last models I made on Mecabricks. They are 2 modular buildings - Grand Emporium (10211) and Pet Shop (10218). I put them together to take this screenshot.

This weekend, I'll try to reorganise the first post of this topic to present better the functions of the software, list the official lego sets already made and so on.

I also made a

that I uploaded on youtube to show how to use some of the tools to build a little lego frog.

10211|10218.png

Share this post


Link to post
Share on other sites

Any new parts added?

Yes of course, There are now about 800 parts and still growing.

Share this post


Link to post
Share on other sites

Hi,

I just updated the first post of this topic to put more useful information about the software.

I will keep it up to date in the future.

Cheers

Share this post


Link to post
Share on other sites

Great work Scrubs!

What do you think to share language files so that we could contribute to add missing languages?

A pair of questions:

  • I imagine that 800 parts refers to Design IDs (shape) and not to specific elements (shape/colour/decoration). Or perhaps decorated elements are counted as single elements?
  • Do you privilege old or new parts? I mean, your software is more adequate to built old or new sets?
  • About performances, has the software the same problems to manage big models as LDD? Or it is more/less efficient?
  • The software uses its own ecosystem or its files are in some way compatible with LDD or LDraw ones?
    Oops you already answer to this. I hope in an import/export function soon.
  • Models is saved in locale or is there an online library? Is it possible to open/save file from a personal cloud resource?
  • Is there a way to request a part to increase its priority?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.