Very often i find myself trying to apply custom display mode to a block instance… and no luck. Or have blocks with custom display objects created in a file that in a different file will not show well since the viewport id is different.
Wish: make applying SetObjectDisplayMode to block instances apply to all of its objects.
Sure, here it is - 2 of 3 blocks were created with custom object display modes ( W and S - Wireframe and Shaded) applied in Perspective viewport. Now, once they are blocks - The SetObjectDisplayMode has no effect on them.
I would like to be able to SetObjectDisplayMode override the whatever was assigned inside the block as in the regular workflow not having it is very problematic and counter-intuitive.
Hi Jarek - thanks… So, the way to do this now is to BlockEdit and set the object display mode while in BlockEdit mode. Does that get what you want? I suppose there needs to be a ‘by parent’ display mode setting, that would handle this as well, if that is even possible.
With 100s of blocks I deal with that is not an option to do 1 by 1. Also the by-parent mode still need to be manually changed up front in the block instead of just assigning the mode from the parent side. Many times the blocks I deal with are not that I create.
Ideal situation: the block instance object’s display mode is overridden by parent, unless parent is in UseView mode. Does it make sense and can we hope for this improvement ?
Confronted to the same issue, in 2022. A thread opened in 2014. Does this really have no other way than to assign to the parent object within the block ? Has anyone succeeded in setting a display to blocks ?
With many thanks and love to McNeel people doing their best !
Yep, trying to revive this…
I have a mountain of buildings with nested blocks and I’d love to be able to SetObjectDisplayMode on each building to assign a custom colour/display. Works great except the blocks won’t play nice.
Just to be clear, I’m trying to create drawings which look something like this
without having to change layer or material properties of the dozens of blocks and nested blocks. SetObjectDisplayMode is the only way I know to do this. Blocks are the only problem. Can this be fixed?
@Andrew v8 WIP has a new object properties panel. One of the new things added to it is the ability to set the selected objects display mode override. Another new thing that’s still sort of hidden is the ability to hold ctrl + shift and sub select geometry inside of block instances and edit their object properties from the object properties panel (provided its not a linked block). Try this out and see if it does what you’re looking for and let me know.
if you are up for trying a script, this one could help you to deal with setting in-block properties (display modes, layers, properties by layer or by parent etc):
Hi Travis,
Ctrl+shift worked on some blocks and not others (I noticed some were non-uniformly scaled, but others were ok but still wouldn’t change.)
On a separate note I tried to undock the Object Properties panel doesn’t seem to like going to my other monitors. It just disappears if I put it there. Is multiple monitor support still being worked on?
These are two great additions - the Ctrl+Shift+Click to access in-block objects for properties change seems to work well on both uniform and non-uniform scaled blocks.
I also quickly tried the new Properties display models per object settings with block instances, with mixed results. What’s great is the blocks if set to display mode override work well - same block definition can be displayed both as wireframe or rendered, when set from Instance level, which was not possible before. However that over here works only if using standard display modes. If I make a custom display mode (i.e. a copy of Rendered, but with all edges off), and try to assign that to a block instance, nothing happens. It works for objects inside blocks though, but that affects all instances.
Hope that can be tweaked to work with all custom display modes.
@Andrew If the block is a linked reference block then it is not allowed to be edited since its editing attributes of objects that reside inside a different 3dm file. Setting those objects in the reference block to be By Parent like Steve mentioned is the way to go there. Then you should be able to change the block instances display mode.