Iris: WebGL Export Plugin for Rhino

OK, I’ll take a look.

tried a few tests, it’s getting stuck around 95%, the rhino models exported are not massive - about 30-40mb

@martinc, I’d like to try your model if at all possible. A few other questions:

  • Are you exporting ‘Remote’ or ‘Local’
  • Which browser are you using?

It would be great if you could export the model as ‘Remote’ so I could try it. If I find something strange ther,e I might need to test the Rhino model. You can send me a private message if you like.

Hi Fraguada,
I’m sorry I’m unable to give you the files, work security.
I was using ‘Local’ and 'Chrome’
Is there anything to be aware of before exporting or within Chrome?

30-40mb is pretty small and that itself should not cause issues. Are there any blocks in there? If these were the issues, we would get an error in Rhino, not in the web. One thing you can try is to press F12 as the model is loading on chrome. This brings up a console that would report any errors if there were any.

Another thing you can try, is after Chrome opens up, copy the address (should be and paste it into another browser like Firefox and see if the experience is any different.


Hi Luis,

Some more testing revealed an issue with edge softening applied

Rhino file:
softedge.3dm (226.0 KB)


Issues with the text not parsing to correct line breaks and the edgesoftening is not exported, yet with a manually extracted soft-edge mesh the mesh-smoothing is incorrect.


Thanks for posting the file. As far as the softened edges on a brep, I am not entirely sure I can do anything about that since I believe this is part of the RDK. I’ll have to look and see if there is any way that from a RhinoCommon plugin one can tell if a brep has softened edges.

I think I can do something about the text…IP-18

1 Like

There are potentially a host of objects that can have similar special render meshes. There are commands such as ApplyEdgeSoftening (which is what you used), ApplyDisplacement, ApplyShutLining that work on Breps or Extrusions and create an entry in the ‘RenderPrimitiveList.’ But curves can also have CurvePiping, which generates an entry into that curves RenderPrimitivesList.

I would assume the user would expect to see the representation of what they see in Rhino, so it makes sense to check if the object has a RenderPrimitive, and if it does, use that as the mesh that gets exported. Any specific comments on this? Does that make sense?

1 Like

I think indeed there should be as much WYSIWYG as possible.
What you see in the Rhino viewport should be mimiced in the webgl view.
I can imagine though that future versions will have some options at export to set things like lighting. Default view etc.


I already wrote the code to handle these special situations where the object has a modified appearance due to the commands we discussed. I’ll release this after fixing a text orientation bug I found along the way. I’m also trying to come up with a way too handle the multiline text. This is not so much on the Rhino side, but more in how i handle the text in the WebApp…

1 Like

Hi Luis.

Just allow me to hijack Your thread for a moment, as you obviously know a thing or two about webGL.
Do you know of any way to extract 3d data and textures from a html file containing webGL data?
I got an html file created by the Autodesk Shape Analyses plug-In (ex VSR) via webGL export, that contains draft angle analyses data as texture and would like to be able to re-import this data into Rhino or another 3d software like Modo or similar.

Any ideas?

Thanks, Norbert

I’d have to see the files and understand the process you go through to attain the data in order to evaluate if there would be a way to extract / reconstruct it elsewhere.


Hi Luis.

I attached a small test file, in case you are interested to check it out… (342.7 KB)

In the meantime, let me briefly explain what my use of WebGL import would be:

The Autodesk Shape Modeling/Analyses Plug-In has very nice draft angle, curvature, lightlines etc. analyses that represent data within Rhino coded in colours (Just similar as the native Rhino draft angle analysis) and can be saved within the Rhino .3dm file.
The plug-In also features a neat WebGL export Plug-In (that might in any case be interesting for You to check out) which allows to export html files that contain textured 3d models.
The color coded analyses can be exported as textures too.

I would like to re-import these 3d models and textures into Rhino to incorporate them into 3D pdf files as a means to share those analyses.

One question regarding your answer:
Do I understand You correctly that in any case there is no general way to easily import,convert/extract webGL data from a html file by using of the shelf software/plug-ins?

Thank You for Your time,

Seems the data is all there.


It’s there, but I can’t get it :smile:

I have tried to install and use Iris but receive the following error. Please help
I am using bRhino 5 64 bit

Select objects to export:
Select objects to export. Press Enter when done:
Preparing WebGL files for viewing locally
Error writing file J:\SO 6244\test.WebGL
Error saving file J:\SO 6244\test.WebGL

Hi John,

Could it be you are saving on a network drive?
As a test can you try exporting to the desktop. or a folder on your local machine.
If that does work, it might be an issue with the writing to the network drive.


Hi Willem, thank you for the reply.
I have tried saving to local drives and the desktop, same problem.
My user account, I.E documents folders etc are on network, I have full admin rights, but could this be the issue?


I’m afraid I have no ideas left to test, you should wait for @fraguada to chime in and see what he can do.


Thanks Willem