Arrgg! Blocks non-uniform scale. How do I revert to uniform?

I went to edit a block in my project, and got the “Can’t edit non-uniform blocks” message. I don’t recall doing any thing to make then nonuniform, but when inserting a new version of the block, it seems I’ve resized them (slightly smaller) in the model. How can I rectify this? Can I scale them up? Will that make them uniform again? Any other thoughts?

1 Like

can you not replace the blocks that are wrong with the block that is right?

found this slightly older thread searching for the same error message “unable to edit non-uniformly scaled block instance” .

Maybe I didn’t get @CalypsoArt 's question or your suggestion, @theoutside. but when I replace a non-uniformly scaled block with my correct block deffinition, the new block is scaled as well. (using “ReplaceBlock”) unless you were talking about copy-past the correct block definition in all locations.

So, I would also be curious, if there is some way to “reset” the block somehow?

thanks,
george

There’s this plugin by @ejnaren which has a resetblockscale command, among other useful tools:

2 Likes

works like a charm, thanks! (:

but still feels like an out of the box feature, don’t you think? maybe for rhino 8. or 7 if it’s easy to do. :grimacing:

I agree, myself :slightly_smiling_face:
These tools are only made because I need them myself. If there was a native command they would soon be in the bin :smile:

1 Like

Thanks, added to the pile as

RH-57957 Reset blocks to uniform scale

-Pascal

2 Likes

RH-57957 is fixed in the latest WIP

I will update the BlockTools page so its clear that this issue is solved in V7.
Thanks a lot, you guys are amazing!

May I, perhaps, use the occasion to point your attention to the other two tools of the BlockTools?
https://github.com/ejnaren/rhinotools

There is some discussion on the YT dev thread as the actual purpose of this command and it is rightly surmised that it solves editing issues.
But the other two tools also solve essential block workflow issues.

One simply creates a new block definition based on the one selected. If multiple blocks are selected it will define all the selected as this new new type and if multiple blocks of different types are selected it will create a new definition for each different block and define each different block type as these new block definitions accordingly.
This will otherwise require to explode selected block and define a new one from the exploded parts messing up the orientation and with the potential to get another basepoint if you can’t remember where the original one was set. It also does not solve the issue of having selected multiple blocks.
Extremely useful command to save hours and hours of work.

The last command simply selects all blocks of the same types as the ones selected.
Again just something essential when you enable users to work with blocks and a complement to the otherwise very comprehensive selection tools of Rhino.

Again thanks for implementing the ResetBlockScale command. I hope you will consider the other two as well :slightly_smiling_face:

2 Likes

I also think this is very useful feature, would love to have it.

I think _SelBlockInstance does exactly that.

1 Like

Yep, +1. I’ve been using “MakeUnique” quite regularly, super useful feature.

1 Like

_SelectBlockInstances could maybe be made to work this way but right now it simply selects all blocks.

My tool selects only blocks of same kind as the ones selected making it work really great with the MakeUnique and ResetBlockScale tool.

1 Like

Yep! Also useful tool which I’ve used a few times. The only thing I would change is that the command line could show how many objects were selected instead of “…aaand it’s done.” :stuck_out_tongue:

You are right! It should work the way you are asking for, selecting all the same instances of the selected blocks.

Good idea… Didn’t even think about it.
I’ll make an update. If @pascal don’t want to do it for me and include in V7? :smile:

By this do you mean blocks that are embedded vs linked, or?

-Pascal

No, I just mean different block definitions.

As an example:
I use blocks for facades in architecture. A building im working on has roughly 300 panels divided into 4 different types with different materials or sizes. The panels are randomly distributed around the building.

Using my tool I can select some of these blocks, say 50 small glass panels and be 50 larger wooden panels. I run the make unique command and now have the same blocks selected but they are two new definitions and if I edit them the other blocks of the facade won’t change. Only the ones I had selected.

Note there is SelBlockInstanceNamed as well - I can imagine there might be some useful consolidation possible there, along with an option or two.

RH-58690 SelBlockInstance tune ups

-Pascal

Thanks Pascal, that might help but with a file containing lots of blocks, trying to find the one you are after can be a cumbersome process. Ideally, I would like to select one or more blocks, and have some kind of select similar command that will select all instances of the previously selected blocks.