Space Engineers

Space Engineers

Automatic Mining Platform by Kezeslabas
BNett2001 15 Nov, 2022 @ 5:55pm
Feature Request And Unique Use Case Inquiry.
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2889102711
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2889191681
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2889191690

I'm using this script in a completely unconventional way on my Drilling Rig rover. Due to my design I'm having to use the Vertical flag on my pistons but I need the drill head velocity calculations from the Horizontal Flag. Using /Hor/ makes it not progress properly.

I need it to move the rotor -> progress the drills outward -> move the rotor -> progress the drills outward etc... And that's how it works with /Ver/ but at long distances the drill head is moving to fast and breaks. Thus I've had to slow it way down to get it to work. Both by using a very low rotor speed and setting the horizontal arm distance. Ironically the need is of a simpler script (that I can't find anywhere) than yours but it's nice using this one both on drill rigs and my rover. .

I also have a couple feature requests, if possible:

1:
To be able to set min/max piston length on specific pistons. (recent redesign removed my need for this one)

2:
'Park' and 'Ready' functions would be nice since your script leaves everything overridden. 0 to 30 is the rotation angles I currently use for actually drilling. But to fold the arm down and drive I need to take it to 90 degrees. To keep from having to do a ton of fiddling with the rotor every deposit I'm hoping you could add the following feature.

The Proposed Park function would have a config with a few flags like setting the pistons to a home length similar to the set command. Then rotating the rotor to a specific degree outside the max range currently in use in the PB. Then possibly firing off a timer block for my mag plates to lock it in place. I'm trying to get away from having to enter the PB and reconfigure pistons/rotors between stops in my rover. I've been asked by a few to put it up on the workshop and it would be awesome to have a polished "one" button solution for them. I believe this functionality would greatly increase the versatility of the script well outside my use case.

The current process is having to stop 60% through to adjust the PB then wait on the drills to come all the way home then using the set command to guess and try to get it roughly 60% again.
< >
Showing 1-3 of 3 comments
BNett2001 16 Nov, 2022 @ 7:02pm 
Well... I figured out how to modify the script to get it to calculate drill velocity based off the vertical axis instead of the horizontal. I also modified the formula to remove the collapsed horizontal arm. Below is the change I made in case anybody else is wanting to do the same thing.

I only used share_inertia_tensor because it's true whereas I couldn't guarantee that with the hp_extend. I'm sure adding a new variable near line 380 equal to true would have been the way to go but this is simpler for somebody to recreate.

My edit to lines 957 to 971:
if (vp_count > 0)
{
if (share_inertia_tensor)
{
rot_speed = (float)(rot_speed / ((v_stage * vp_step_length) + excess_meters));
}
else
{
rot_speed = (float)(rot_speed / (excess_meters + (vp_stage_count - v_stage) * vp_step_length));
}
}
else
{
rot_speed = (float)(rot_speed / excess_meters);
}

My edit to lines 1100 to 1115:

if (vp_count > 0)
{
if (share_inertia_tensor)
{
rot_speed = (float)(rot_speed / (excess_meters + v_stage * vp_step_length));
}
else
{
rot_speed = (float)(rot_speed / (excess_meters + (vp_stage_count - v_stage) * vp_step_length));
}
}
else
{
rot_speed = (float)(rot_speed / excess_meters);
}
rotor.Enabled = true;
BNett2001 16 Nov, 2022 @ 7:04pm 
This is the a BP of what it's for without the script modification. https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2889202753
BNett2001 17 Nov, 2022 @ 2:48pm 
I did find a simpler way to edit the script and get it to work but the issue now is with how the script handles inverted pistons at the start of drilling. Instead of leaving them out and slowly pulling them in along with the rest of them as it progresses(the way my previous vertical method works) it now retracts the inverted pistons all the way straight off the bat causing the drill head to dig in way to far before the rotor starts to swing. If you don't use inverted pistons you could just make the following edits to the script and just have all your pistons as /Hor/

Remove (hp_count * piston_length) from lines 961, 965, 1104, 1108. So that it doesn't think the arm is way longer than it really is when it does it's velocity calculations for the drill head.
< >
Showing 1-3 of 3 comments
Per page: 1530 50