23-12-2022, 03:13 PM
(23-12-2022, 02:31 PM)5G_Zendmast Wrote: The cable extends quite a bit (CalculateLenght in relation to restLength), but I would have expected that, if the cable can't stretch, the movement of the crane would slide the cable over the cable-saddles and reduce the slack in the cable. Yet this only happens to a certain extend. The restLength is 127m whilst the calculateLength() at the end of the crane movement is about 142m, but there is more then enough slack still in the cable.
...
Try to disable any stretching/compression
Hi!
Such a large difference in rest vs actual length means that your current settings are not enough to simulate such a long rope accurately, this is what I meant by:
Quote:Right off the bat, using a particle-based engine to simulate a 190 meters long cable might not be a good idea, depending on how fine you require the discretization to be. Say you want one particle each 10 cm, that's 1900 particles chained together by distance constraints, which will require a very small timestep if you want some guaranteed maximum stretching threshold.
You can increase the amount of simulation substeps (found in the ObiFixedUpdater component) and/or constraint iterations (found in the ObiSolver component) to increase the overall simulation quality. The manual contains a pretty in-depth explanation of how the engine works and how these parameters affect the results:
http://obi.virtualmethodstudio.com/manua...gence.html
(23-12-2022, 02:31 PM)5G_Zendmast Wrote: As you can see I'm struggling on what work method to use to check the approximate length of the cable that we need to do the crane movement.
An example of a Cable Saddle can be found on the link.
The saddle can be a simple collider then. To measure distances from the start/end of the rope to the saddle, you can use collision callbacks to determine which particles in the rope are in contact with the saddle.
Once you know the indices of the particles in contact with the saddle, iterate trough the rope's elements accumulating the distance until you find the element references one of the particles touching the saddle. Then, just repeat the same procedure from the other end of the rope.
kind regards,