Space Engineers

Space Engineers

DTI's Factory (3D Printer / 3D Grinder / 3D Drill)
76 Comments
Eisenwolf 3 Mar, 2022 @ 4:01am 
Is it possible to switch between the Y and the Z axis? Because on every coordinated Machine is the Z axis the Main axis:
Milling Machine
Lathe
3D Printer
Meassuring Machine
Industrial crane
And so on...
The up and down is the most the Z.
It would be awesome 😁👍
alfie8010 19 Apr, 2021 @ 9:27am 
it would suck to spend ages to let it print and find out you don't have enough resources to finish it
alfie8010 19 Apr, 2021 @ 9:26am 
is there a way to make the script check if the grid connected to the welder has enough resources to builder the item in the projector?
Ver' Leth 7 Mar, 2020 @ 12:41pm 
thanks alot Dra0nsKin ! I'll check it out soon and let you know :D
drag0nsKin  [author] 6 Mar, 2020 @ 9:48pm 
Hey there @Ver' Leth! Sorry for the delay, haven't been on in a while. Glad you found the CustomData settings, lots of controls in there that I find helpful when I want those little tweaks in operation :).

To answer your question, the only other thing you should have to do is add the [factory] tag..... buuut I did notice a bug and just pushed the update for it. I believe this will resolve your issue if your still interested.
Ver' Leth 16 Jan, 2020 @ 10:34am 
So after spending a long time working out what was wrong I've realised that with this script it auto defaults to welding mode despite me changing the piston orientation for drilling. it seems that the script isn't picking up my drill, can I have some help fixing / getting this to work please ?
drag0nsKin  [author] 8 Mar, 2019 @ 5:25pm 
I suppose that depends on the build. Would you mind sharing an image of what you are trying? I usually build the Y piston with the top facing upwards so as it extends it is moving the welder up. If you were building the Y piston with the top facing down (like in the drilling configuration) I could definitely see that not being as useful.
Hage Maoh 7 Mar, 2019 @ 2:34pm 
I'm trying this out for welding and i love the idea, but i'm confused - the arm starts contracted and extends outward as it builds, so it collides with areas it has already welded. Shouldn't it start extended and retract to avoid that?
Nocturnal 7 Dec, 2018 @ 6:41am 
Thank you.
drag0nsKin  [author] 24 Nov, 2018 @ 3:35pm 
@Nocturnal 2nd

Done. In the top of the code you will find a "Custom" section and your name. Set the value to zero and it will behave as requested.

I may convert this to a configuration but that takes a bit more work and is not backwards compatible so I will wait to do that when there is another major update :).
Nocturnal 24 Nov, 2018 @ 4:30am 
When it starts, it immediately lifts the head up 1 block. Which is 1 block of lost space. Can you make it so that it starts at the same level as the head when parked?
drag0nsKin  [author] 4 Aug, 2018 @ 11:25pm 
Can you publish a world save so I can take a peek? What is wrong with the skip? "skip:3,5" is a skip to Y position 3 and Z position 5. Would def be more effective but if it's not working I'd like to try and see why. Sorry for the road blocks, haven't played on servers to test :/
TheExtreme 4 Aug, 2018 @ 8:46pm 
Im only making it go faster because I wanted to skip past everything i did and well the server restarted so i needed to run it again so i put it on a fast speed to bypass it even tho there is a skip function but it did not work that much for me.
drag0nsKin  [author] 4 Aug, 2018 @ 6:24pm 
Hmm... I will play with the drill speed and see what I can find. While I do that I have a few ideas:

First idea: A faster drill speed means you may not be giving the drill enough time to properly drill out the voxels and it could be getting caught/stuck on them. It may even force it's way past un-removed voxels, but then get stuck when attempting to reverse back over them.

Second idea: My script will happily take whatever number you give it for the drill speed and attempt to apply it to the pistons. However, the pistons have a max/min velocity setting that will override whatever values you give it. So I am not sure that it is even using anything higher than a 5 (or whatever max piston velocity is), but maybe SE is taking a performance hit overriding that variable all the time?

To be continued....
TheExtreme 4 Aug, 2018 @ 5:45pm 
Well im on a server and i found whenever i turn up the drill speed like to 20it just stops moving and sometimes skipping (maybe alot) the drill stops. But thank you for adding ti to your list about restarting.
drag0nsKin  [author] 4 Aug, 2018 @ 12:25pm 
Interesting. Like any script if you stop the server, it will not continue running. I have not approached restarting the script on a game starting back up, however that may be an interesting challenge! I'll add that to my list :)

Is there any other "buggy" stop/start behavior you are experiencing outside of server restarts? If so could you explain in more detail what is happening? If you have a blueprint/world save that you could share that would be very beneficial :)
TheExtreme 4 Aug, 2018 @ 5:55am 
for me its really buggy keeps stopping and starting
TheExtreme 4 Aug, 2018 @ 4:25am 
Nevermind they are but last night i left my drills running and now this morning it stopped why? is it because the server restarted
TheExtreme 4 Aug, 2018 @ 4:11am 
Mine pistons for drilling are not extending to their maxiumum why?
drag0nsKin  [author] 20 Jul, 2018 @ 5:20pm 
This is an Ingame script (which is different from a mod). To get the code you simply subscribe to this workshop item, import it into your programmable block ("Browse Workshop" button when in the PB's "Edit" menu) and copy/paste it whatever editor you want to see it in :).
SparkT7 20 Jul, 2018 @ 4:08pm 
Can you release the Script not as a Workshop mod but as the Code Itself?
FPC 19 Jul, 2018 @ 8:15pm 
haha awesome xD I will remain hopeful for the future! Noone has ever made such a drone, but it would be extremely useful - and much lower lag than using a welder wall to print.
drag0nsKin  [author] 19 Jul, 2018 @ 8:11pm 
@FowlPlayChiken

That would be an interesting challenge! I could definitely add it to my list of To-Do's, but I don't get much time these days and I have another script currently in the works that I would like to wrap up before starting another project.

On a positive note, a build for this could be attached to a large ship (using rotors to "put away" the arms when not in use) and could be mobile that way. Would give that "unlimited" range I think you are looking for and would keep some level of automation to free you up while it works :).

On the other hand my new script could help with this print drone..... ;)
FPC 18 Jul, 2018 @ 4:36pm 
Any chance you could make a script like this, but for a free-floating print head (i.e. a drone)? And have it dock/auto load components/redock when empty?
CTH2004 15 Jul, 2018 @ 7:53am 
You need a script collection!
drag0nsKin  [author] 7 Jul, 2018 @ 10:48am 
Thats a pretty good idea! I'll add that to the description :)
Kirknay 7 Jul, 2018 @ 1:23am 
Also: I recommend adding a shrowd onto the welder so only the blocks directly below can be welded. I've learned that the hard way due to the welder creating blocks right infront of it, even as a small welder.
drag0nsKin  [author] 7 Jul, 2018 @ 12:40am 
Now THAT IS AWESOME! Definitely one of the coolest applications I have seen yet :). How you are going about it definitely makes the most sense. Your only other option would be to offset the start of the factory pistons (the [y] here) further from the projector so that you can add more pistons to get the desired length.
Kirknay 6 Jul, 2018 @ 9:04pm 
here is the only idea I have for extending it. It's really not pretty though. I'm trying to extend it so this can be built.
drag0nsKin  [author] 6 Jul, 2018 @ 8:39pm 
The pistons themselves have a max range, I cannot adjust the max range. Can you show me pictures? I am having a hard time visualizing how you don't have room for more pistons, but want to extend into the space you dont have?
Kirknay 6 Jul, 2018 @ 12:35pm 
Is is possible to increase the range of the pistons further? I'm currently trying to get mine to reach across a platform, and I'm running out of space for pistons
drag0nsKin  [author] 30 Jun, 2018 @ 1:24am 
Only on the PB and an LCD as far as I know.
You don't want scripters having the ability to write files to your computer ;)
Bluebarry Cat 29 Jun, 2018 @ 1:38pm 
Thanks for the hard work. Still working and testing it. Much improved. Question about the debug functions. Will these output to a text file somewhere or only display on the lcd screen?
drag0nsKin  [author] 25 Jun, 2018 @ 10:51pm 
@Bluebarry Cat

Mind-blown! I never even considered multiple factories running on the same platform *sigh*.

I am beyond impressed that you figured out the naming convention and changing the factory constant without any guidance!

All that said it looks like the factory was getting stuck on the voxels in that corner. After drilling it out a bit it continued on. I am interested into why it didn't drill out the space it needed to operate, but you could add some drills (at one block height higher than that drill but still next to that drill) to help that if necessary.

As an aside, I did update the script to add extra debugging output! In the programming block's CustomData is a "debug: false". Set it to "debug: true" and you will see a bit more into what the script is doing and what it is trying to accomplish :).

Best!
Bluebarry Cat 25 Jun, 2018 @ 4:43pm 
To recreate what I did, I ran the drill labled as [factory] first, and then ran [mag].
Bluebarry Cat 25 Jun, 2018 @ 4:41pm 
New World Upload: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1422727565
I think I may have found a few more bugs. I have two drills, one drill works fine, but the other seems to get stuck on z iteriation 9/9. It just sits there, the drill is on, but the pistons stop moving. i think it may be a problem with two drills on the platform. The drill that works is labled as [factory], and the drill that stops working is labled as [mag], (and I did edit it in a separate programing block). Also, the skip command does not seem to work properly when one drill is running. It moves it into position, but does not start the drill and the pistons do not move after it is in position. Let me know if you need anything.
drag0nsKin  [author] 24 Jun, 2018 @ 12:01pm 
@Bluebarry Cat

Thanks! We made it *sigh of relief*. I made some updates to the script that seem to have resolved your issue. It was a flaw in the logic that totally shredded the script :face-palm:. But it ran very well for me in your world so hopefully it is done right this time!

As an aside I recommend two things:
First - change your PB.CustomData welding_speed variable anywhere between a 1-2. Your drill can go about 8x as fast as it is right now :).
Second - For stability you should have all the pistons set to the "share inertia tensor" setting.

Best!
Bluebarry Cat 20 Jun, 2018 @ 3:20pm 
I will be waiting! 😉 Good luck on your move!
drag0nsKin  [author] 19 Jun, 2018 @ 4:08pm 
Actually in the middle of a move right now!😥. But I'll be on by the end of this week to check it out. Thanks for posting this!
Bluebarry Cat 18 Jun, 2018 @ 5:28pm 
Sorry to take so long to respond, been away! I was not sure what exactly you needed me to post. I have published the world here: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1415874574
Everything is set to share with all, you can spawn in the medbay and it will take you right there. I have not changed anything else. If there is specific info you need just let me know. Ignore the button panels, they are not set up properly. If I use "run" it will go as normal, but the Z interval will continue to increment so it never goes down another layer.
drag0nsKin  [author] 12 Jun, 2018 @ 8:02pm 
@Bluebarry Cat

Hmm... thats no good. Mind helping me reproduce your error? I see your image, but it is hard to say what could be the cause here. Could you post your build with the command you are using?
Bluebarry Cat 12 Jun, 2018 @ 3:38pm 
Multiple drills work as they should, however the Z interval still continues to increment. Sorry bro :(
Bluebarry Cat 12 Jun, 2018 @ 6:59am 
Thank you! Im looking forward to trying out the changes.
drag0nsKin  [author] 11 Jun, 2018 @ 11:20pm 
@Bluebarry Cat

Your keeping me honest :). In my case it was the welder factory and it turned on one of my docked ship's welders that just so happened to be right next to me! XD. I resolved this issue.

I was able to reproduce that Z interval lock, but in the process found other minor issues. I attempted to fix them all, but who knows what mayhem the updates could have caused ;). I am hoping the one I found was yours!

Finally, I updated the output a bit to have some more stuffs :).

Huge thanks for the feedback!
Bluebarry Cat 11 Jun, 2018 @ 6:02pm 
Also, it seems that the code will control all drills that may be attached to the same grid, no matter what they are named.
Bluebarry Cat 11 Jun, 2018 @ 4:28pm 
Thank you! It worked like a charm. But there is a problem that I was able to duplicate. The Z interval continues to increment, so for my drill it does not go down the next layer. I was only able to get it to go down the next layer using the new "skip" command. What would you like from me to troubleshoot if needed?

https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1409377216
drag0nsKin  [author] 10 Jun, 2018 @ 11:07pm 
@Bluebarry Cat

Sorry for the delay! This was something I ran into pretty quickly myself, but lack of time and demand forced me to tolerate it :steambored:.

However , I added the feature to skip to a desired iteration. Simply run the "skip" command with your desired y and z iterations.

For example run the script with the following argument:

skip:3,2

Cheers!:steamhappy:
Bluebarry Cat 9 Jun, 2018 @ 12:59pm 
Is there a way to manually set the intervals? I had to reset it and do not want it to drill into emply air and waiting.
drag0nsKin  [author] 11 May, 2018 @ 6:36pm 
@Roasty my Toasty

It does require a projector to do 3D Printing (weld blueprints) and you setup a projector like you normally would only make sure that the blueprint is in range of the factory's welder. Other than that just follow the normal projector-welding rules like having the blueprint touching a block :)
Roasty my Toasty 11 May, 2018 @ 10:25am 
Do you need a projector to make this work? Where do you put the blueprints?