Wish: take exact similar & convert into existing block

Would love to see a way to convert an object to a block as you’re progressing your model.
I’m pretty sure I’ve already asked this but maybe I’m able to wish it in a way I think is actually doable.

basically, sometimes as we are modeling, we’ll think - oh here’s an opportunity for a block, but we’ve already modeled everything out. so INSTEAD of making one block and copy pasting, rotating to existing exact geometries just NOT the block yet - we could convert it by using something LIKE an orientation operation, something like orient3d… although I’m not sure this is any different than orient3d with the copy on. Maybe it saves 1 step? Maybe there is a better way?

thoughts?

1 Like

This was an interesting idea. It would require quite some computation though, since otherwise similar objects could be rotated or worse, scaled and… (or perhaps only a transformation is the difference to the original object). In any case, all elements in an object/brep would have to be compared.

If it was possible to get the boundingbox of the original object (without scaling or rotations) (?-> @Dale) then the candidates would be quickly found… just thinking what it would take.

In any case, good idea, but @dale would probably be capable of lining up a whole bunch of problems to be overcome in identifying any candidate copies… :wink:

// Rolf

Hello - with a bit of work you can maybe get there - it might be possible to script this:

First, you’d set a new CPlane to set the base plane for the new block.
RemapCPlane the objects to the World CPlane
Block the objects at the World origin
RemapCPlane the block instance back to the original plane.

-Pascal

Hm, I don’t know why read the OP as if the question was if one could make a block of multiple similar objects by selecting one of them, make it a block, and then automagically replace also all similar objects (copies) with the new block. Although that should also be possible (?) it’s quite a different problem from defining only the first block automagically. Sorry for misreading the question.

// Rolf

Def going to be using the word automagically from now for the rest of my life.

I like pascal’s thought. I’m not sure I fully understand it, but if you want to do this to multiple polysurfaces and “convert” them to a block automagically, I’m not sure if you’d need to change the map as you move forward with new objects. or after you’re done remapping the one… you now have all your plysrf converted to this new block and you can delete the one at the origin… and repeat script for new “oh this should be a block” objects already or about to be created??

Hello - no matter what, you’ll need to define a base plane for your block - try it by hand and see if it works - Set a CPlane > 3points, with the first point at the desired insertion point for the block you’re making. RemapCPlane all the objects that you want to block into one block. When they are at the World origin, Block them, with w0,0,0 as the base point then RemapCPlane the resulting block instance back to the custom CPlane.

-Pascal