Now that you've learned how to map your space, track surfaces, place and re-scale the Steampunk Pavilion model you're ready to start working with your own designs. This means learning a little bit about what Fologram is doing under the hood in order to avoid common pitfalls and issues that can arise from streaming messy, complex, massive, tiny, imported or transparent models. Let's take a look at each of these issues one by one. 

Image result for mesh nurbs

Mesh generated from NURBS patches. 

Fologram works with meshes, even if your model is NURBS.

Most of the time when you are modelling in Rhino you will be working with NURBS geometry. NURBS geometry is generated by interpolating curves and surfaces through control points, and is very useful for accurately describing curving shapes. Meshes on the other hand describe geometry as finite lists of vertices and faces. Meshes are used by computers to render shapes to the screen, and Rhino will secretly mesh all of your geometry for exactly this reason using something called the Render Mesh. You can see how Rhino is meshing your model for display using the ShowRenderMesh command. You can think of Fologram as working with a similar mesh - Fologram converts your curving shapes to a bunch of triangles. If your model is already a mesh then Fologram will simply stream this directly without doing any conversion.

Every Triangle Counts.

Every triangle has to be streamed over WiFi from your PC running Rhino to your mobile phone. Large models often have hundreds of thousands of triangles, and these can take a second or more to appear on your device, losing that delightful sense of instant feedback. Every mobile device will have different maximum polygon counts and performance limits, but a good rule of thumb for mixed reality experiences is that less is more. Try to keep experiences simple and responsive.

This means model details matter

Because Fologram meshes your geometry you should be careful when working with very detailed surfaces such as those created by the Pipe, Sweep or FilletEdges commands. These typically create very detailed meshes and as a good rule of thumb if the ShowRenderMesh command is looking very detailed, you may also be streaming a lot of geometry with Fologram - even detail that would be too small to see. 

And it also means that you can custom mesh your own models

You can use the Mesh command in Rhino to create a mesh from your NURBS geometry using custom parameters or a simple sliding scale. This will allow you to create simpler meshes from complex shapes like pipes, or more complex meshes from very small shapes (where Fologram's meshing may not be detailed enough).

Working with huge meshes already?

If you are working with 3D scans or models created using photogrammetry then you are likely already working with very large mesh models that will take a long time to stream or may not load at all. You can use the Rhino ReduceMesh command, or the Fologram Decimate Mesh component to simplify. 

Imported models and blocks

You can use Fologram with any model type that can be imported into Rhino (.obj or .ply etc). Some software packages export objects as block instances that are not currently supported by Fologram. Explode these blocks using the SelBlockInstance command to select them all and the ExplodeBlock command to remove block data before streaming them with Fologram. 

Work around the Origin

When working with referenced models your design might be in a specific location relative to a known setout point or GIS data. This can make it very difficult to find your model in a mixed reality experience because Fologram asks you to place the origin (0,0,0 point) of your Rhino model in mixed reality (while your model may be very far away). Make a copy of your Rhino document and move your model to the origin to ensure you can easily find it first time. 


Working at scale

Typically designers will model in Rhino at 1:1 and scale prints and other media as required. Placing very large models at 1:1 in mixed reality can be difficult as your view of the design may be obscured by large walls or other surfaces in your model. Use the Apply Scale button in the Fologram plugin window to reduce the model scale to something more manageable before placing in mixed reality.