Skip to content

15. Mechanical Design

group assignment:

  • design a machine that includes mechanism+actuation+automation
  • build the mechanical parts and operate it manually
  • document the group project and your individual contribution

Link to the group webpage

Individual contribution

For this week’s assignment I’ve contributed setting up the collaboration tools, publishing our group webpage and doing research on the chosen machine.

Every topic below was written / developed by myself.


To quickly start putting our thoughts into the documentation, I’ve created a note on Hackmd is a great markdown collaboration tool, similar to google docs. Where everyone can use their laptops or smartphones to write or upload pictures easily. Most of us have been using it for the past couple of weeks, and so far it has been working fine.

But there is still the need to publish our work on a Fab Academy repo. So, I asked our instructors and they gave us master access on I will describe the set up work on the next section.

Another need is file sharing and version control of our designs. Since we use different OSs and softwares, I will do a little research to see what are the best options.

Set up group page

After being granted master access to our group repo, it was time to set up the webpage. Most of us are using markdown for our personal documentation, and as of now, we’re using hackmd to take notes. So, one great option is to use mkdocs to build the static website. But since the repo is empty, there is a little bit of work before everything starts happening magically.

Clone the repo

Since the repo was empty, I just created a simple README file and then went into starting to work locally.

git clone

Create new mkdocs

As mentioned before, we are going to use mkdocs, to the first step is to create a new project.

mkdocs new .

Now, if we start serving, there is already a whole website working locally

mkdocs serve


Config CI/CD

If I’d push it now to the origin, the files would be there but gitlab would not know what to do with them.

We need to tell GitLab to build our mkdocs website and then serve it after every push.

For that, I’ll just copy my already functioning .gitlab-ci.yml file, making just two little changes, since so far I’m not using a theme and the repo structure is different:

image: python:alpine

  - pip install mkdocs

  - mkdocs build
  - mv site public
    - public
  - master

Push to origin

git add .
git commit -m "mkdocs init"
git push

Check pipeline

Now if I go to GitLab, I should see the jobs done

Check website

If I access the welcome page should be up.

Now, it’s time to start adding content to it.


Scanning methods

Stanford paper on State of the Art on 3D Reconstruction with RGB-D Cameras

Source: edge3d

LASER triangulation

Advantage of this technology is its resolution and accuracy while the disadvantage is it is sensitive to the properties of the surface that it scans. There could be a problem in scanning a very shinny or transparent surfaces.

Structured light

Advantages of this technology are its resolution, speed and this can be used to scan people. The main disadvantage with the structured lighting 3d scanning is its sensibility to lighting conditions and therefore it’s difficult to work outside.


The main advantages of this scanning technology is its precision, acquisition speed and its capability of reconstructing subjects of various scales that are photographed from the ground or air.


Advantages with this scanning are its precision and ability to scan reflective or transparent surfaces. The disadvantages are its speed and inability to work on organic and free-form shapes.

3D Model construction


Free up to 5000 polygons


Free for non-commercial use


Paid with free trial


Paid with free trial

Products on the market

BIG Alice €80.000

Shaper 3D Scanner $4.500

GO-3DPrint scanner $1.200

2019 best 3d body scanners

What was done beforehand

fuboss 3d scanner

Portable 3D scanner / ReconstructMe

DIY Scanner

Working examples


DIY thrust bearing