Kangaroo: Coincidence Strength not very strong


Hi again,

I’m trying to connect a fairly complex structure of parts using Kangaroo/Coincidence, but the parts a sliding around quite freely. I then added a slider to inject Strength into the Coincidence component, I tried with max values 100 and even 1000, but the rigidity of the Coincidence connection still doesn’t get very strong from these values.

Is there a way to make very rigid Hinges using Kangaroo? Perhaps using Tolerance as an alternative to Strength would make the Coincidence component more practically useful?

Or is there a better way to connect Breps in hinge configurations?

// Rolf

(Daniel Piker) #2

Hi Rolf,

If you can post the file I’ll take a look and see if there are any issues.

The coincidence component is useful for assembling parts when you don’t know in advance exactly the shape that will result when they are put together, such as some complex linkage with kinematic loops. However, if you can place the parts so that their points are already coincident before starting the simulation, then Kangaroo will combine those points into a single particle, and the coincidence constraint will always remain absolute.


Hi Daniel,

Thank you for your quick answer.

Yes, I have a a very complex IK-chain to simulate. My geometry also is already in place, so I will try your hint to connect them “in place” as you suggest. If that doesn’t give the required “absolute rigidity” I’ll come back.

// Rolf


I tried coincident objects to start with. I feel that it’s still a bit slack, so therefore I wonder if this is the rigidity I should expect? (simple example attached)

Fig 1. Still a bit slack :

JointK 000 Two Links.3dm (314.2 KB)
JointK 000 Two Links.gh (11.6 KB)

// Rolf


I see what you mean now. If the 2 points defining the hinge are moved further apart, then the connection becomes much more rigid - see the definition below. I realize having it dependent on this distance is not ideal - I’ll try and change the way it is calculated to something based on infinite lines to improve this.
Also, if the points start coincident like this, then there is no need to also include a coincidence goal.
JointK 000 Two Links_scaled.gh (14.9 KB)
(replying from an alternate account because of login issues, but it is really me - honest!)


Wow, that made all the difference. This is the way to go.

Many thanks!

// Rolf


May I suggest a “mechanical” coincidence type, defined a bit like the current one but with the addition of the following combinations of input parameters as to make it “realistic” mechanically speaking:

  1. “L” as in ContactLength - The length of the area/ edge/distance between points involved (the shortest common distance, if the paired curves/points/edges/surfaces are not equally long or equally far apart).
  • Default = (shortest) distance between points pairs involved.
  1. “T” as in Tolerance - How much the ends of the “ContactLength” can deviate from absolute coincidence.
  • Default = document tolerance.

Such a coincidence component would be most useful for analyzing allowances/ deviations from “theoretical” (ideal) movement paths in complex mechanical constructs (combined with forces on the material between the coincident geometry and parts extending away from the coincidence.

The resulting distant movement deviations/allowances could then be used for experimenting with different combinations of Tolerances and ContactLengths in the starting coincidence for constraining the movement deviations farther away (from the coincidence) in the mechanical construction to stay within required tolerances.

// Rolf