# Fologram for Rhino

## Overview

Fologram for Rhino allows you to view any geometry in your Rhino viewport in mixed reality using the HoloLens\
\
Official tutorials:

{% embed url="<https://community.fologram.com/c/rhino-and-grasshopper/tutorials/20>" %}

## Installing Fologram

Fologram for Rhino is designed to run using the latest service release of Rhino 5 or Rhino 6 and may not support all older releases of Rhino. If you are using a shared machine and do not have Administrator rights you can still install Fologram but may not be able to update rhino or install for all users. Download Fologram [here](https://fologram.com/download).

You can download and install Fologram from the [Fologram](https://fologram.com/download) website.

Fologram's article on installing Fologram for Rhino is the best place to check out:

{% embed url="<https://fologram.com/docs/articles/900000183923#3.-Installing-Fologram-for-Mobile-and-Fologram-for-Rhino>" %}

## Connecting to Fologram

{% hint style="warning" %}
You must ensure that all your devices (mobile, laptop, hololens) are on the same wifi network.
{% endhint %}

HoloLens must be connected to a Wifi network in order for Fologram to work. Connect to your Wifi network or UniWireless if you are on campus.

1. Launch the **Settings app** on **Home Screen**&#x20;
2. Open **Network and Internet** page
3. Select your desired network and log in. (ensure all connections are in the same network)&#x20;

Check out Fologram's article on this topic here:

{% embed url="<https://fologram.com/docs/articles/900000196026#Connecting-your-HoloLens-to-WiFi>" %}

### Opening Fologram in Rhino

Ensure you have the most up to date plugins for **Rhino3D** and **Grassphopper**.&#x20;

1. Close Rhino if it is already open
2. Locate FologramForRhino.rhi file and launch installer
3. Install package and re-launch Rhino&#x20;
4. Click on the **Fologram** button or type `[fologram]` in command bar
5. Click on `[Add Device]` to display the **QR code**  required for connection

Check out Fologram's article on this topic here:

{% embed url="<https://fologram.com/docs/articles/900000190323>" %}

## Streaming your Models

{% hint style="info" %}
Ensure the Rhino C-Plane is neutral (X-right, Y-forward, Z-up)
{% endhint %}

Fologram will detect and synchronize any change in your Rhino document with the mixed reality model on the HoloLens. To stream your own models to the headset you can open a new model or import your models into an existing document running Fologram.

### Scale and Position

1. Most architectural models are in real world scale. Be sure that the 0,0,0 point of your model is at a point that makes your model easy to place in mixed reality e.g. at the corner of your building.
2. Very large models can be difficult to place as you may be behind or inside parts of your model.
3. Consider setting a scale factor using the Fologram scale tool (under the blue 'Add Device' button in the plugin window) before placing models at 1:1 in mixed reality.&#x20;

### Detail

1. The HoloLens runs a mobile chipset and is not optimized for very detailed models with high poly counts.&#x20;
2. Fologram will synchronize your Rhino document using Rhino's default render mesh settings for all NURBs geometry. This can create very large meshes from surfaces with high curvature, especially piped curves.
3. Consider manually meshing NURBs geometry before streaming. Aim for <1m polygons.&#x20;

## Setting up a Model for mixed reality

If you are experiencing issues with frame rates, synchronization times or disappearing geometry on the HoloLens you may want to consider setting up your Rhino scene for optimal performance in mixed reality. This includes customized meshing of NURBs geometry, decimating mesh geometry, checking geometry normals and materials.&#x20;

Fologram's article covers preparing your Rhino models for mixed reality very well. You can check it out here:

{% embed url="<https://fologram.com/docs/articles/900000184263#5.-Preparing-your-Rhino-models-for-mixed-reality>" %}

### Custom Meshing

![](https://1820679795-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXautSvCbUco5Lv7YrH%2F-MIS5_d_lTV2iEuQ682s%2F-MIS6fHpuMrn7WAiKrmH%2Fcustom%20meshing.png?alt=media\&token=9545c626-7adc-405b-9292-3f2df6dd1728)

Fologram for Rhino uses Rhino's default meshing pipeline to stream geometry to the HoloLens. If you have very large or detailed polysurfaces this may result in significant latency issues. To get around this you can use the **`Mesh`** command to create a mesh from your NURBs geometry with customized parameters such as maximum edge length or aspect ratio.&#x20;

### Reducing Meshes

![](https://1820679795-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXautSvCbUco5Lv7YrH%2F-MIS6h4gT5i9WlXUmlQg%2F-MIS7SbaDe4q5pXr28Mn%2Freduce%20mesh.png?alt=media\&token=84e6d8b3-b060-4c7d-8652-32d01f80b2db)

You can reduce the file size of large meshes by 'decimating' the mesh into fewer polygons. Polygon count will significantly affect performance especially when animating geometry in Grasshopper. Use the Fologram Decimation component or the Rhino **`ReduceMesh`** command to reduce the polygon count of your mesh to a specified number or percentage.

### Checking Normals

Modelling in Rhino often involves working with NURBs surfaces without any thickness. Fologram for HoloLens uses one sided materials to optimize rendering performance, and the 'back faces' of these surfaces will appear transparent in mixed reality. Use the Flip command in rhino to invert the direction of your surface, or use the **`OffsetSrf`** or **`OffsetMesh`** commands in Rhino to thicken these objects. Keep in mind that thickening produces more geometry and so will affect latency and frame rates on your headset.&#x20;

![](https://1820679795-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXautSvCbUco5Lv7YrH%2F-MIS6h4gT5i9WlXUmlQg%2F-MIS7rHFZWS_BkiF7C1D%2Foffset%20mesh.png?alt=media\&token=776fd0b8-f19f-4bf0-a40c-f13a5d552c2a)

### Appropriate Materials

![](https://1820679795-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXautSvCbUco5Lv7YrH%2F-MIS6h4gT5i9WlXUmlQg%2F-MIS875ReyMwX3hz-8Mq%2Fmaterial.png?alt=media\&token=92b672c4-04bf-4524-8ee8-acc06cea0773)

Avoid using black materials as while they will preview correctly in Rhino, these will display as transparent on the HoloLens (an absence of any light in the HoloLens display) in mixed reality. Remember the HoloLens can only *add* to light entering your eyes - it cannot take it away!

### Curves

By default, Fologram does not display curves from Rhino into the Hololens. There some workaround solutiosn for this which are discussed in the video below.

{% embed url="<https://youtu.be/rZuL2X71mts>" %}

{% embed url="<https://fologram.com/docs/articles/900000183783#1.-Introduction-and-Preparation>" %}

## Extension

For heavy files:

{% content-ref url="extended-functionality/preparing-models-for-ar" %}
[preparing-models-for-ar](https://ms-kb.msd.unimelb.edu.au/next-lab/augmented-reality/guides/fologram/extended-functionality/preparing-models-for-ar)
{% endcontent-ref %}

Delving into Grasshopper:

{% content-ref url="fologram-grasshopper" %}
[fologram-grasshopper](https://ms-kb.msd.unimelb.edu.au/next-lab/augmented-reality/guides/fologram/fologram-grasshopper)
{% endcontent-ref %}
