I know this discussion was a couple months ago.
I'm working on a script that does exactly this.
1. On the Rhino side, you assign objects to layers based on the material. So you will have a CHROME_TABLELEGS layer and a CHROME_RAILING layer and a REDPLASTIC_BALL layer. The material name is always the word up to the underscore.
2. I made a Rhino script that will rename all the objects in a layer to the layer name. This is necessary because the layer names don't translate over to Max, but the object names do.
3. In Max, you import the 3DM file. I then have a MAX script that renames the layers based on the first object name in the layer.
4. I run another MaxScript that assigns materials based on the layer name, so CHROME_TABLELEGS layer will have the CHROME material assigned if it exists.
This has saved us a lot of time.
I also wrote an extension that if the layer name starts with TXTR (like TXTRPAINTING), the object needs UV coordinates, and it will try to find the same objects that exists in the scene (from an old scene) and steal the UV mapping from it. It also assigns the corresponding texture maps. Of course, this only works when you're importing the whole scene multiple times.
I haven't had the time to make a nice interface and perfect everthing, but it works for the most part. Maybe I can clean it up a bit a share it with you guys.
Our goal in the end is to be able to automate the process so that we can almost hit a render button from Rhino and have Max start rendering the scene automatically.
Rob
I'm working on a script that does exactly this.
1. On the Rhino side, you assign objects to layers based on the material. So you will have a CHROME_TABLELEGS layer and a CHROME_RAILING layer and a REDPLASTIC_BALL layer. The material name is always the word up to the underscore.
2. I made a Rhino script that will rename all the objects in a layer to the layer name. This is necessary because the layer names don't translate over to Max, but the object names do.
3. In Max, you import the 3DM file. I then have a MAX script that renames the layers based on the first object name in the layer.
4. I run another MaxScript that assigns materials based on the layer name, so CHROME_TABLELEGS layer will have the CHROME material assigned if it exists.
This has saved us a lot of time.
I also wrote an extension that if the layer name starts with TXTR (like TXTRPAINTING), the object needs UV coordinates, and it will try to find the same objects that exists in the scene (from an old scene) and steal the UV mapping from it. It also assigns the corresponding texture maps. Of course, this only works when you're importing the whole scene multiple times.
I haven't had the time to make a nice interface and perfect everthing, but it works for the most part. Maybe I can clean it up a bit a share it with you guys.
Our goal in the end is to be able to automate the process so that we can almost hit a render button from Rhino and have Max start rendering the scene automatically.
Rob
Comment