Bongo: How do I slide the surface along with point B?

Hi Bongo experts,

How do I make the Surface (1) slide along with pt “B” without rotating or following the arc-like path. I want the surface to slide along the X-axis only (orthogonally), half the travel distance of pt “A”.

Edit: Forgot to say that this movement must work in both left and right directions (so IRL, the contact point B is a pin sliding in a (vertical) groove in surface 1, forcing the surface to slide left and right) :

The model
0_SlideSrf_01.3dm (102.0 KB)

// Rolf


OK, I found one solution (the surface, being a child of telescope T_x, now moves half the distance of pt A), although the configuration feels a bit over-complex(?)

I could simplify a bit after I made this gif, by removing the line B-C and point C, since they are not needed if constraining the point B to follow the green arc.

The telescope T_y is constrained to pt B, and T_y is also a child of T_x :

Pt B doesn’t seem to be following very strictly though, since it looks like it “lags” behind a bit (why is this?)

Q: The movements in the above GIF test model are all on the same plane, but now when I try making the same mechanism work on the surface of a sphere it doesn’t work. All parts moves, though, until I attach pt B to be constrained to object (the green arc), but then it stops moving. Bongo doesn’t even seem to try to calculate any movements. No error, no busy-mouse icon, no nothing, it just stops.

I tried making pt A and B into Universal joints instead of simple Hinges, and attaching the “telescopes” to anchor points configured as Universal joints as well (to allow them to rotate along the surface), but still no go.

This new sphere version I drive by rotating a center pt in the sphere, which in turn rotates an axis going out from that center, with pt A as a child. All seems to works fine, until I constrain pt B to the green arc.

If I only connect the telescope T_x, it follows the sphere nicely, and same thing with the T_y, but when constraining pt B to the green arc (which is a 3D arc on the surface of the sphere), then it won’t play anymore. Why?

// Rolf


I just finished compiling an answer to your initial question:

The easiest way to make an object travel half the distance of a another is to use an Expression.
In 0_SlideSrf_01 Expression.3dm (119.1 KB) the Expression #PT_A.PositionX#/2 is applied on Position X of the surface (SRF). Note that ‘Space’ must be set to ‘Object’ in order to take the basic location of the surface into account.

When you are determined to use IK the problem is to find a way to keep a child of object “PT_B” in vertical direction.
A kind of shrinking setsquare can be used: 0_SlideSrf_01 IK.3dm (125.0 KB). The setsquare is formed by 2 auxiliary points and the surface’s pivot forming a right angle and kept in line by means of a double constrain. The shrinking is needed to compensate the variating distance between object “PT_B” and the surface.
An alternative is to use a secondary chain which is attached by a Simple constraint ‘Object To Pivot’ to “PT_B”: 0_SlideSrf_01 OTP.3dm (121.5 KB)
Other than a parent/child relation this Simple constraint only takes over the Position of PT_B but not its direction or scale.

It’s a bit hard to understand your latest exposé. Please post a sample model.



Nice! Good lesson.

Simpler than my double telescope - nice again. :slight_smile:

BTW, this model could be simplified some more by removing line B-C and pt C, and then constrain pt B to the yellow arc (which I did in the following gif) :

Well, that works ( :slight_smile: ) but, making the surface itself into a “telescope” doesn’t feel very intuitive, which is important when the model becomes very complex (which my model will become). But thank you very much for these examples, I learned a lot from this.

Now for “projecting” this mechanism onto a sphere, which means that the travel path’s will “bend” around yet another radius/dimension.

Regarding the the same thing, but projected on a sphere, which address can I send a model to?

Edit 1: Perhaps I should add that, although Expressions would be the simplest way to make things visually move, especially on the sphere, that would be beside the point in my case because what I am doing is that I’m exploring entirely new geometric design, trying to figure out geometric solutions. So, I still need very concrete “visible mechanisms” occupying space, because at the end of the day all the moving parts will be made in steel or brass metal… but Expressions aren’t very easy to implement in steel, nor in brass, and I doubt they can be used even as alloy… :slight_smile:

Edit 2: Btw, have you thought of using Bongo as a cutting tool? Bongo would be a perfect tool for both exploring and also defining new geometry if one could use moving parts as “continous dynamic boolean difference”. Even in this case I would have use for something such, cutting out geometry as shown in the following GIF :

// Rolf

You can mail models and stuff to When the file is too large you can use WeTransfer, Dropbox, Google drive, … but meanwhile you figured that out yourself.

The reason your model freezes lies in the fact that you made the “driving” point-object a Hinge. As soon as an hinging object is part of a IK chain al directly (via keyframes) assigned rotational animation data is ignored. The same goes for Position data combined with a Telescopic joint, etc… As long as PT_B isn’t constrained the chain isn’t considered to be IK (the joint decorations do not appear) so the direct animation data is operational.

About your edits: Obviously Bongo can be used for the study of mechanical mechanisms, but then it would probably need features like firmness of volumes, tangency, etc… I feel Bongo is primarily about visualization, animation, making projects alive.



A similar double telescope was indeed another option, which I omitted just because of the delay. I’ll present the matter to the developers.

I overlooked an asset of constraints (to the World) which makes the setsquare in the IK unnecessary.
The default constraint relaxes rotation (and scaling),

but this relax can be abolished hence confining point Object 199 to his initial direction. The constraint on SRF can then be omitted: 0_SlideSrf_01 IK 001.3dm (123.1 KB)

Ah, I sent one mail to this morning, with a model linked to Google Drive, but the mail seems to have got lost. I’ll try fixing the model with your hints about hinges in IK chain before resending.

// Rolf

Correction: your mail to didn’t get lost! I got to me fine, but the detour can take some time, considering time-zones etc…