Introduction: Photogrammetry: Meshroom + SelfCAD

About: Student at the Faculty of Civil Engineering at the Silesian University of Technology

Have you ever dreamed of a unique holiday souvenir? Or maybe you have seen something interesting and wanted to have a smaller version of it? In this instructable, I'm going to show you how to use photogrammetry to make a virtual 3D model and print it.

This time you need two programs:

- Meshroom - free open-source software for photogrammetry. Before you download this program make sure that your computer is equipped with GPU with CUDA.

- SelfCAD - online 3D modeling application you know from my other tutorials. SelfCAD is equipped with a slicer that allows you to print any model.

Step 1: Preparation: Take Photos

Do you see something you want to make a model of? Take photos of it. These photos must be taken around the object. The more photos you have the higher are chances you would get a model.

It's actually the most important step and most dependent on you.

The object should be static.
There should't be any moving people, animals or vehicles in the background.
The object shouldn't reflect light.
It's better when there are no shadows in the images. It's recommended to take photos in cloudy days.

Step 2: Meshroom: Add Photos and Save Your Project

Launch Meshroom. As you can see it's composed of 5 main parts:
- Image - a list of your photos
- Image Viewer - where you can see each selected image bigger
- 3D Viewer - where you can see what is generated
- Graph Editor - there is an editable tree of nodes here
- Node - if you select any node in the graph editor, you can change its settings here

Add your photos to the Image section. Now you have to save your project. It's important to do it now because Meshroom creates MeshroomCache directory in the same location where the saved project is. I suggest you saving each project in a separate directory, otherwise you would have one MeshroomCache for all your projects.

Step 3: Meshroom: Generate Model

There are lots of settings you can change in the nodes. This is not a tutorial about them. First, leave default settings and click the green Start button. If there are problems with generating your model you can go to FeatureExtraction node and try to set Describer Preset high or ultra.

The model generation process can take up to several hours, it depends on the complexity of the object.

As I said before when you click Start button the MeshroomCache directory is created. Inside you can find some next directories, one for each node. The most important for us is the Texturing directory. After the process is finished, you will find there a .obj file named TexturedMesh. This is our model.

Step 4: SelfCAD: Create New Project

Launch SelfCAD editor and create new project. Set the workplace size 100 (minimum). The segment size isn't important for us in this project.

Notice that SelfCAD's 1 unit is equal to 1 millimeter.

Step 5: SelfCAD: Import Model

Click File, Import (Ctrl+I) and find your TexturedMesh in Texturing directory. Import it to the project.

Step 6: SelfCAD: Change Size and Rotate the Model

Your imported model can be rotated and small. Select it and click Scale (S) to change its size and Rotate (R) to rotate.

Step 7: SelfCAD: Delete Unnecessary Faces

Probably your object is not perfectly generated and there are many faces that should be deleted. As you can see my sculpture is surrounded by unnecessary parts of trees, ground, and heaven.

Use Cube Selection (R+C). Your mesh should be now inside a box. If you have problems with seeing it open Preferences and change Editor Mode to dark. Change the box size so that only the object is highlighted and apply selection. Choose Invert Selection (R+I) and delete unnecessary faces. If you still have something to delete, select it manually using face, edge or vertex selection mode.

Step 8: SelfCAD: Print Object

Select your object and click 3D Print. First, choose your printer, then set the options. If your object is complicated it can be necessary to turn on support generating (remember that printer can't print in the air).

Click Generate GCode. Now you can see how long it can take to print the model, how much material would be needed and how many layers would be printed. You can also look at each layer and see how it would be filled, where would support be, etc. If everything is ok, save GCode and print your model!