Daisy Chaining Hinges Makes First Hinge REALLY Weak.

OMG-Vert shared this bug 16 months ago
Reported – Awaiting fix

If you add a second (or more) hinge to the first hinge then the first hinge has almost no torque.


In my test I had one hinge connected to a grid at a 90 degree angle so as I added blocks they would be horizontal to the ground.

If only ONE hinge is used then I was able to add up to 30 blast door armor blocks and it lifted it up no problem.

If I had the same hinge and then add a second hinge I could only add up to four blast door armor blocks before the first hinge will fail and drop. The second hinge seemed to be unaffected.


So either a single hinge weighs as much as (or has the same mass as) 26 blast door blocks OR,...

Hinges are broken.

Comments (18)

photo
1

Hello, Engineer!


Thank you for your feedback! Your topic has been added between considered issues.

Please keep voting for the issue as it will help us to identify the most serious bugs.


We really appreciate your patience.


Kind Regards

Keen Software House: QA Department

photo
4

Hi Support, I think this issue is stems from this line of code in MyMotorStator's UpdateBeforeSimulation

float num6 = Math.Min(this.Torque, (base.TopGrid.Physics.Mass > 0f) ? (base.TopGrid.Physics.Mass * base.TopGrid.Physics.Mass) : this.Torque);
it appears that the force of a rotor/hinge is capped to the mass^2 of the grid it's attached to. I assume this is to prevent values that are too large from doing unfortunate things, but it messes up the rotors/hinges in a more complex subgrid scenario from correctly being able to apply the necessary force because it only takes into account the mass of the first subgrid after the rotor, not additional ones.

photo
3

just to further add onto this. I wrote a plugin and used runtime reflection to remove this artificial cap on the rotor torque and successfully was able to lift the same amount of weight on subgrids as I can if I don't have any extra subgrids on the rotor head.

photo
1

Would it be possible for you to post that plugin? It seems this is still a problem.

photo
photo
2

I just tried making a welding arm. Worked great in space, good mobility, but to achieve that, I ended up using 3 pistons, 5 rotors and 4 hinges. In planetary gravity, I just cannot get the thing to even lift it's own weight. It's completly useless. Yes, there's a mix of small grid and large grid. I feel that using a large rotor in that middle connection between the 2 hinges would made the arm much bigger then it already is and would just have looked rather sily.


The last rotor is redundant and could be removed and I could probably removed , but given just how badly this is working, I really think that would make much of a difference. Removing other parts of the arm would definitely have an effect on it's mobility. Mind you, that welder has nothing in it, so I don't even want to think just how bad things would end up if I tried welding anything and it sucked in a few hundred plates.


I could make this contraption a lot lighter if we had small grid 3x3 pistons, but we don't. We do have hinges and rotors in that format. That might alleviate the problem, but ultimately, I feel like sub grids is something Keen seriously need to work on. There's a lot of very interesting applications for them, but right now, the limits of the game make them impractical.

58b6f1775bd1db0287c6ccebd62d7dcd

photo
1

Hi, are there any fixes oder workaround for this ?

photo
1

Large grid hinge attached to static grid, then 3 pistons then drill can't even hold in place (only trick I found so far is to set angle first, lock hinge then add drill and hope..)

photo
1

Is this issue still under consideration? It has been submitted 6 months ago..

Can confirm that subgridding makes hinges extremely weak, which is the most frequent use scenario, in which they are useless.

There are only 3 "mechanical" blocks in the game and I think this should be a priority.

photo
1

Hello!

I'm sorry you are all experiencing this issue. Is it possible that someone could supply me with a copy of an unmodded save they are experiencing this issue with? This should give me a better chance of reproducing the issue.

  • You can access your save files by typing %appdata% into your Windows search bar and you will be redirected to the hidden Roaming folder. After that just follow: \Roaming\SpaceEngineers\Saves. There should be a folder with your SteamID and your saves.

Please zip the file and attach it here. If you are having difficulty attaching files you can optionally use Google Drive. When sharing a google drive link please make sure it is set to be downloadable by anyone with the link.

Kind Regards

Laura, QA Department

photo
3

https://drive.google.com/file/d/1nql8ebOuv0IHmOqyGvwb-g130kciMbk-/view?usp=sharing

Here's a link to the world. It has 2 hinges, one that's connected to a piston and one that doesn't have a piston. Both have 100 heavy armor blocks stacked ontop. The hinge without the piston is capable of easily and smoothly lifting the armor blocks up and down. The hinge with the piston on it is currently paralyzed and unable to rotate at all because it isn't generating enough force. Both have the exact same force settings and should be more than capable of lifting the amount of weight they are attached to. I set the velocity of both to 0 when I saved.

As I mentioned in another comment this issue is because of a specific line of code in MyMotorStator's UpdateBeforeSimulation.

float num6 = Math.Min(this.Torque, (base.TopGrid.Physics.Mass > 0f) ? (base.TopGrid.Physics.Mass * base.TopGrid.Physics.Mass) : this.Torque);

The strength of the rotor is capped to the mass ^ 2 of the subgrid it is attached to. So the hinge attached to the piston gets limited to the weight^2 of the piston body ignoring the subgrid further attached to it. I have 100% confirmed this line is the problem because I help maintain the largest SE MP server out there and we have been running a plugin that I wrote to override that check and allow hinges to actually function the way they were meant to with multiple subgrids.

photo
1

Yes, this is the issue. Thanks to you I also found a workaround for simples cranes to work. Simply attach a gyro to each piston that follows a hinge and that should give them some power.

photo
1

Hello Derek,

Thank you for the save and information. In the save you have sent me, the paralyzed one has already collapsed which I assume is from the issue mentioned. I understand how you have calculated the issue with the line of code. I will see if I can reproduce this with the information given :)

Kind Regards

Laura, QA Department

photo
2

Oh, as a clarification, by gyros, I meant adding more weight to the first subgrid that the hinge is attached to(gyros are heavy), as it scales exponentially seen from the lines of code provided by Derek.


Also, I have tested rotors too and they suffer as well from this exact same issue which can be solved by adding more weight to the subgrids.