Space Engineers

Space Engineers

Not enough ratings
MArmOS 3.0 Example Simple hydraulic setup
   
Award
Favorite
Favorited
Unfavorite
Type: Blueprint
File Size
Posted
626.452 KB
11 Feb, 2018 @ 12:11pm
1 Change Note ( view )

Subscribe to download
MArmOS 3.0 Example Simple hydraulic setup

In 1 collection by Timotei~
MArmOS V3.0 Examples
10 items
Description
It was about time I made a hydraulic example. So here it is.


Arm definition:

var AP1 = new Piston( Name: "Actuator Piston 1");
var AP2 = new Piston( Name: "Actuator Piston 2");
var AS1 = new SolidLG( 3 );

var H1 = new Hydraulic(
Actuator: AP1+AP2+AS1
, OriMode: 1
, Axis: "Y"
, Tangent1: 6*LG
, Normal1: 2*LG
, Tangent2: 4*LG
, Normal2: 0*LG
);
var S1 = new SolidLG( 10, 0, 0 );

var MyArm = H1+S1;
var MyController = new UserControl( Arm: MyArm );
19 Comments
Grevlen 12 May, 2021 @ 9:42pm 
I plan on making a tutorial for Hydraulics. Not to flame the guy, but the one out there is lacking and there are errors in his explanation. I'm going to prepare some things and make sure i'm 100% confident in what i'm putting out.

***
For the mean time, the best resource I found is the truck Timotei did, search workshop for: Thomas Nacelle Replica
Grevlen 12 May, 2021 @ 9:38pm 
I love the authors work, but the example he has uploaded has an error.

You need to treat the section that goes from the Joint(or Pivot) to the Head of the actuator as Normal 2, not Tangent 2!
It has taken me HOURS of research to dissect this. Put his test crane at a 90 degree angle and look at the position on the Programmable block. Notice the position called out seems really odd, because it is.. Switch the data of Tangent 2 and Normal 2, take another look.

Thanks for your hard work, not pointing fingers, everyone makes mistakes. Figured i'd spare the next guy the amount of time it took me to figure this simple error out.
etamit 19 Jun, 2020 @ 11:31am 
nvm the hydraulic is fine, the solid should be (0,0,10), not (10,0,0)
etamit 18 Aug, 2019 @ 9:47am 
hi @Timotei, i found a little mistake: H1's Tanget2 & Normal2 are twisted.
It's only noticable if OriMode = 0 and going e.g. forward/"W"
Great script (& clean code), many thanks to you!
Shoku 'Jetwash' Silverfall 25 May, 2019 @ 5:05pm 
Well that took forever but I finally figured it out. I understand pistons now. What I failed to understand is the script treats the hydraulic as though Normal1 and Normal2 are colinear at angle 0. Once I realized that it got a lot easier to figure out what was going on lol.
jackik 25 May, 2019 @ 12:48pm 
X is always forward, you always define your rotors so that the arm following is in the X direction for the script. Think of this whole thing as 'just' a rotor and maybe how the arm should look if it was completely extended forward.
If you still have problems, post your definition in the Help discussion on the mod page.
Shoku 'Jetwash' Silverfall 25 May, 2019 @ 12:41pm 
Something confusing me about hydraulics. How is the grid post-hydraulic oriented? I'm guessing that the X axis is assumed to be in line with the top half of the hydraulic hinge based on the example, and that it starts counting from the last free pivot? But the landing gear truck I'm trying to build is having some VERY strange behavior that I'm having trouble figuring out.
Chuck 11 May, 2019 @ 1:49pm 
Nvm, I figured it out (Measure solids to the pivot point, if i'm not wrong).
Chuck 11 May, 2019 @ 7:57am 
I'm a little confused, not because of the example (which seems simple enough) but as to how actuators will fit into a larger more complex arm. Do I need to specify solids up to the center of the free rotors that hold the actuator pistons, or up to the center of the pivot point? So if I have a Z rotor, and 3 blocks above this is the free rotors that hold the actuator pistons (on a Y axis), and tangent 3 normal 1 is the pivot point, would I need to specify Solid 0,0,3 before the hydraulic (up to the base of the pistons) or would I need to specify Solid -1, 0,6 before the hydraulic (up to the base of the pivot point)?
jackik 4 Mar, 2019 @ 4:43pm 
To set a specific control seat it's really just a TAG, so then all seats with that TAG in the name somewhere are able to control the arm if you mean that.
However the line
"var MyController = new UserControl( Arm: MyArm );"
meas that the UserControl is given to the Arm defined as MyArm, which just means that it becomes controllable.
The line before defines the arm called MyArm as H1+S1.

Did that help you?