Remember that a group in Rhino is more like a selection. It is not an actual object. I don’t want to merge objects that are in a Rhino group into one, as that will not work.
But you should be able to use the collections to select the groups you want to select.
I am not able to switch link material slot from data to object at once in Blender.
Shift + G collection selection is not useful to change material slot from data to object. Every time when I re-import rhino mesh, I need to re-arrange materials. If I want to use 2 different material at once in blender when I update model it turns back beginning. Thats why I use object slot in Blender
I’ll have to think that over for a bit. Again, a group isn’t an object, so I am hesitant to merge objects in groups. Especially since you can group different objects that already have different materials.
Perhaps you just need a way to quickly assign a certain material to a selection of objects.
Can you explain what setting the material to Object does/how it would help? Afaik it only changes the assignment behaviour in case of linked duplicates. For the instance collections there is no way to override materials, correct me if I’m wrong here…
Library overrides would be the correct way to do this, but alas library overrides is still incomplete. There are quite a bit of open issues and unimplemented bits and pieces: https://developer.blender.org/T53500
Again, my purpose is model in rhino and Archiviz in Blender but the workflow is not going well. If I re-upload the mesh, the maps in blender disappear.
@nathan: do we have any re-import strategy for these cases?
we could add an option to ignore already imported objects in case the rhino object hasn’t changed and only update its transform. I’m not quite sure how to keep track of changes though, the Runtime Serial Number is not persistent if I’m not mistaken.
Alternatively we could keep the changed object and try to transfer mappings/materials to the reimported object, but that would inflate the filesize and could fail spectacularly if the reimport has changed geometry?
The strategy hasn’t been fully fleshed out, it certainly can use more support.
The Runtime Serial Number is not something to look at. You need the Id (GUID). This we already save as custom object data. We should use this information in determining what already is in the file, what not. This rather than object name, especially considering in Rhino many objects can have the same name (but not in Blender).
i know we tag objects with the guid, but it doesn’t give us any information about geometry changes, does it? so we’d basically just check if it’s already there and then act based on the options selected to update or discard materials/mappings etc? Probably best to move this discussion to a git issue
For architecture projects it works pretty perfect when you combine it with the script. By that I mean the usual situation where you get a finished rhino model and you need to move it to blender for the renderings. I am still testing it but I find it very promising. Thank you so much
Honestly what would be really nice here is some way to know that the data for a RhinoObject has changed, either in the Rhinodoc or at the RhinoObject level. Tracking changed objects with RhinoCommon is no trivial task and involves any number of events, including knowing that moving an object is the same as deleting and adding a new one (fundamentally anyway). It would be nice if the document could tag the object in some way as changed or “versioned” and save that in the file.
This could be done with a “helper plugin” through RhinoCommon but I would find it useful in other cases as well if rhino did this natively in some way without adding extra bloat to the file size.