BlocksCAD Is Browser-Based 3D Modeling That Teaches You CAD

Considering all of the projects the Raspberry Pi is used for now, the fact that it was originally envisioned to be an educational tool is sometimes forgotten. One of the tools commonly available with it is Scratch, a programming language that is easy to learn and can be seen as a gateway into other computer science realms. Building on this principle, MIT has come up with a new block-based educational tool called BlocksCAD.

BlocksCAD is essentially Scratch combined with OpenSCAD and allows the user to use blocks (similar to Scratch) to build a 3D model. The interface is fairly intuitive, and with some practice even complex shapes can be created using the tools available. Also, everything runs in a browser like the 3D modeling tool we featured a few days ago, so there isn’t anything to download or install.

The key to this project (like the key to Scratch) is that the user isn’t bogged down by syntax, which is often one of the largest hurdles for anyone who is just starting to learn to program. Since it’s possible to avoid syntax but still develop 3D models, this new tool should help anyone interested in the field of 3D modeling or CAD get a start without getting scared away too easily. Of course, if you do end up deep in the field of computer science and want to learn more about this project, the developers have opened up the source code as well.

Thanks for the tip, [Matt]!

17 thoughts on “BlocksCAD Is Browser-Based 3D Modeling That Teaches You CAD

    1. I think the idea is that while this isn’t a full fledged CAD tool, it still has value for quick parts that people who do not have experience and training with professional CAD packages could use to create parts with. Most professional CAD packages, while exceptionally precise, still tend to have a wicked learning curve. You cannot just pick them up and “make stuff” quickly with them. For the majority of people who “just want to make things”, that alone is a huge impediment to their ability to “just make stuff”.

      So, like most things, this has its value as long as you recognize where it fits in the CAD modeling framework hierarchy.

    2. My apologies for the typos. It should read:

      As a STEM educator, my take is that this application is not really for teaching CAD as much as it is to introduce procedural programming within the context of 3D modelling. It is a great way to learn about geometry and computational thinking while designing 3D solids. For example, in an attempt to expose middle school girls to computing, we can use jewellery design as a context in which students learn “procedural” ways to generate complex patterns using nested loops and such.
      I believe at some point the Einstein Workshop ran a crowd-sourcing campaign to develop this software; unfortunately, the funding did not go through, so I am very pleased that they plowed through and finished this tool.
      And, yes, the technology is based on Blockly but like AppInventor and others, they all seem to find at least inspiration in Scratch.

  1. I still have a student license for CATIAV5, but must say that it is rather unintuitive. I’ve been meaning to check out SolidWorks, but expected a similar layout to CATIA.

    This might be better for just quick concepts!

  2. Not to nitpick, but it’s not an MIT project. I’m flattered that it was mistaken as one, though!

    It’s actually made by Einstein’s Workshop, which teaches classes on makerspace-type-things, and aims to be a kid-friendly makerspace. We used to teach OpenSCAD, but there were so many elementary schoolers who wanted to “do 3d printing” we decided to make it easier to pick up for kids and anyone else.

    Plus, it’s not a thin client, it’s all done client-side in JavaScript, except for the optional account stuff, which is only if you want to store your work on our server. We’ll be releasing stand-alone builds soon, for those without net access.

      1. Absolutely yes! In fact, that’s been a goal since the beginning, but there’s still work to be done before we match the OpenSCAD feature set, then it’ll be time for import.. The current thought is that we parse the OpenSCAD and output the equivalent blocks representation as XML, and then use our existing load-from-file code. Contributors welcome, of course :)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.