It’s 2023. Both Rhino and Sketchup have been around for more than 20 years.
Anyone that uses both programs knows that still, after 2 decades, Rhino’s Sketchup Exporter is no good. Sure, it gets geometry to the other side, hence the ‘robust’ adjective in title. I am sure we can raise the bar just a little bit.
Probably the person who wrote the exporter some time ago didn’t use Sketchup. I don’t blame him, it’s a pain. I almost don’t either and try to avoid it whenever possible.
But if you are going to write an exporter there is probably some basic understanding you want to take into account.
In Sketchup, possibly for the worse, things are organized a little bit different than in Rhino. There is this ‘Untagged’ tag/layer which works as Rhino’s Default layer. Except you cannot delete it.
A golden rule is that All raw geometry should remain as Untagged.
There are 2 types of geometry in Sketchup. Edges and Faces. Don’t ask me why.
All these geometry always goes to Untagged. You can either choose to group or block geometry, and these groups/blocks is what gets organized in other tags/layers.
You know how in Rhino when you create a Block, that Block also has a layer? And sometimes you turn off layers and parts of a Block disappear because it has elements on those layers that you just turned off? Well, Sketchup kinda takes care of that by forcing all your elements to be inside the same layer, always.
So all elements go to Untagged layer and Blocks and Groups go to other layers.
Let’s see Rhino’s exporter in action:
An array of prisms:
Looks good… from a far… and that’s it.
1)) Right off we can see some errors in faces.
2)) Faces cannot be extruded further. (Yes I did check the ‘export planar regions as polygons’ option.
3)) Whole objects get exploded in Sketchup. So when I go select my cube, instead of selecting the whole, it selects one face. You might not think this is a big deal but see what’s next.
4)) When two distinct polysurfaces that are adjacent to each other in Rhino, even though they have different GUID, layer and material, when brought into Sketchup, as all the faces are exploded, its impossible to isolate one object from the other. What’s worse, adjacent superimposed faces will merge into one, so you no longer have 2 cubes.
You might say, ‘select by layer’. Yes I can do that, but when I move my red faces I get this.
5)) No, this is not wireframe display. Rhino exporter ‘correctly’ places faces on the layer they had in Rhino, but the edges are left behind and automatically places on Untagged.
I say ‘correctly’ because placing raw geometry in any layer that is not the ‘Untagged layer’ is a big no-no in Sketchup.
How exporter should work:
- Planar faces should be a single ngon inside Sketchup that you can extrude.
- Both faces and edges should be places on Untagged layer independently of their current layer in Rhino.
- Faces will get no materials assigned to them inside Sketchup. (see point 4 and 5)
- Each individual object in Rhino (be it a surface, a polysurface or mesh) should come up as a Group in Sketchup. And this group should be placed on a layer the same as it is in the Rhino document.
- These groups will inherit the material the rhino object had, whether it is by layer or by object. Sketchup layers cannot have materials assigned to them, so instead the group (that groups the object’s edges and faces) will inherit the material.
This should have been like this from Day 1. I am tired of trying workarounds with little to no success. Making blocks out of each object inside Rhino… Exportings to 3ds and trying all settings, exporting to DWG/DXF with 2007 Solid Export scheme. etc etc. Why do we even have a Skechup exporter I wonder?
Please, if someone is willing to develop a paid plug-in I will gladly buy it. I don’t expect much from McNeel at this point, but I least I have done my part.