Bongo: Pivot alignment for multiple Blocks vs Polysurfaces



Bongo 2.0

I just realized that if I have a bunch of Block Instances (80 rollers generated by Grasshopper) and I manually align their Bongo Pivots to a common center (all in one go), then that works fine.

Also if all the rollers’ Pivots are Reset (all in one go), then the Pivots are aligned (properly) according to the instances rotation in the World coordinate system (see Fig 01 och 02).

But if I Explode the instantiated rollers and Reset the Pivot, then they are aligned with the World but not with the individual (rotated) objects. See Fig 03.

So, in some cases the “en masse” alignment of the Pivot works as it should (for Block Instances as in picture 01 and 02) but not with PolySurfaces. :frowning:

Fig 01. Pivot aligned towards a common center point (OK) :

Fig 02. Pivots are Reset, but still properly aligned according to the roller’s individual rotation angles (OK) :

Fig 03. Block instances are exploded ( = Polysurfaces) and Pivot are Reset - but now the Pivots are aligned with the World and not with the individual objects (Ouch) : :frowning:

Hopefully this gets fixed in Bongo 3.0

// Rolf

(Marika Almgren) #2


Would you be able to send me the model as it is when you start working with Bongo on it?
So that we can have a look at what’s going on.
You can send it to


Yes, no problem.

While at it, watch out also for the “horizontal alignment” of the pivots to the CC pt 0,0,0 (all in one go). I’ve had cases with polysurfaces where I had to align several dozen objects individually…

Here’s a “fresh” file, with newly created Block Definition and Block Instances, not yet touched by Bongo:
Bongo_Test_Rollers 000.3dm (282.9 KB)

// Rolf

(Luc Adriaenssen) #4

When a block is animated the pivot is set at its base point.
The World alignment of the base point is determined World at the time the Block is defined. Instances of the Block that are rotated also kind of rotate their basepoint. Hence newly installed pivots will automatically take the rotation of the basepoint c.q. the object. I guess you were just lucky the initial pivot of the initial Block was pointing as desired.

Also when an block is mirrored the newly installed pivot is mirrored to (as you can see for the bottom row of your battery).

When the blocks are exploded the relation to the initial definition-setting is broken, hence new pivot are set World.


OK, that explains (why it seems to work for Blocks).

Yes, I actually created the initial object perpendicular to the planes in all three axis, and then created the Block, and when later rotating the instances it would also rotate the pivot. If I understood you correctly.

(Luc Adriaenssen) #6

One could say the orientation of the pivot is rotated (or mirrored) even before it is installed.

Of course a similar result can be scored for polysurfaces or any other kind of objects by first initiating (and eventually aligning) the pivot and thereafter making rotated copies, e.g. using the Polar Array command. The pivots will nicely rotate along.


OK, if we expand on Blocks, then Blocks can be used as a kind of workaround for the fact that rotating pivots ‘en masse’ doesn’t work for exploded objects, but, I recall that it somewhere was a notice that using Blocks was not recommended with Bongo (that groups were preferred) . Is that correct? And if so, why? (Luc corrected this below)

// Rolf

(Luc Adriaenssen) #8

No no. On the contrary: do use blocks. In a group every object is treated as a seperatly animated object each having its own pivot. Whereas a block is 1 object having only 1 pivot.

For workarround the overall pivot allingment of non-blocks: see the 2nd alinea of my previous reply.