(Solved) Rhino 6 Bug: RefreshShade not working inside blocks

We are seeing an issues where the shading of objects within blocks appears separately from the objects. RefreshShade seems to not propegerate from the block editor. It seems to be present in all View Modes (but Wireframe). We are running Version 6 SR8 (6.8.18240.20051, 08/28/2018). We have tested with and without plugins with the same result.


Objects in blue, Shading in red.

image
Inside the Block Editor after a RefreshSade on all objects.
image
Back out of the Block Editor.

File with the error is attached:
RefreshSade-ErrorBlocks.3dm (787.3 KB)

The model unit settings don’t really work for this model IMO. I think if you change to meters, accept the offer to scale your model

image

then run _ClearAllMeshes and switch back to Shaded you’ll see good drawing. Use ZEA to reorient your view to where your model is.

I highly doubt you need 0.001 of a millimeter precision when you have points at locations this great:

image

RefreshSade-ErrorBlocks_sanerscale.3dm (799.3 KB)

Hi @nathanletwory

Thanks for the quick reply. We’ve changed the absolute precision and run ClearAllMeshes and it resolves it. Switching to meters is not an option unfortunately (I know we might be insane, but company policy ¯_(ツ)_/¯ ).

Thanks again for the help!

Ok, good to hear you can continue. But maybe it would be good to keep in mind that the larger the numbers, the less precision you get after the decimal separator - this is essentially what you saw symptomized in bad shading. But for a moment I did wonder what kind of projects you work on where you model in millimeters, and require micrometer precision, on that huge scale :slight_smile:

Yeah thanks again for helping out. Yes its the ever-present computer-and-large-numbers problem, I guess. We will look at implementing lower absolute tolerances when needed. But yes we work at building scale yet in millimeters with default Rhino tolerances making it a bit overkill.

We could try and change that culture but I have a feeling it would be easier to change the underlying computing paradigm. :slight_smile: