Jump to content

[Min KSP 1.12.X] Sandcastle: 3D printing for parts and vessels


Angelo Kerman

Recommended Posts

7 hours ago, linuxgurugamer said:

You realize, of course, that this is going to make me adopt all of his "simple" mods?

Oh dear.  Sorry for the additional workload.

Appreciate your efforts. Thank you!

 

Angel-125 sorry also for derailing this thread somewhat.

On 4/7/2021 at 9:03 AM, Angel-125 said:

Think of it as a clean slate that has the minimum possible dependencies (if any), including my own legacy mods like WildBlueTools and Pathfinder. 

I love this.  Thank you so much.

Peace.

Link to comment
Share on other sites

8 hours ago, linuxgurugamer said:

Can you provide a set of steps which will reliably reproduce the error?

It's most likely my bug, not author's bug. For recompiling i had to change some variables to double(as needed because of 1.7.3-1.8.1 transition), maybe did it wrong.  All what i managed to do(sln, compiled binary, config for stock MPL, etc) is here https://disk.yandex.ru/d/Mt9CbZy2TZV4jg (also, crew requrement and sounds were hardly removed, because i was not skilled enough and was doing it for myself) . Using this DLL with config provided can sometimes produce the bug, if ore is mined/generated on the vessel at the time you press the clone button. Stopping the production and pressing again usually helps. But it works, yes, i use it on 1.11.1.

My humble suggestions, as previously said to Zer0Kerbal, is a part config switch to allow cloning without crew on vessel for some Von Neumann things.

@theJesuit you can start tinkering with it now, plugin and cfg inside.

 

UPD: I apologise for offtopic and maybe we should move to other thread

Edited by Hohmannson
Link to comment
Share on other sites

6 hours ago, Hohmannson said:

UPD: I apologise for offtopic and maybe we should move to other thread

I've started an adoption process, let's move all discussion on the Moar Kerbals mod over here:

and I just released a beta of it

Edited by linuxgurugamer
Link to comment
Share on other sites

@Angel-125

Back to topic :) I've been playing with a SimplexResources config for this, and based on my idea for two simple part types: MetalParts and Custom Parts.  Custom Parts get added for every stock module in 

Spoiler

MATERIALS_LIST			{	name = Aero
							RESOURCE	{	name = MetalParts
											rate = 1
										}
						}

+MATERIALS_LIST[Aero]	{	@name = Cargo	}
+MATERIALS_LIST[Aero]	{	@name = Communication	}
+MATERIALS_LIST[Aero]	{	@name = Control	}
+MATERIALS_LIST[Aero]	{	@name = Coupling	}
+MATERIALS_LIST[Aero]	{	@name = Electrical	}
+MATERIALS_LIST[Aero]	{	@name = Engine	}
+MATERIALS_LIST[Aero]	{	@name = FuelTank	}
+MATERIALS_LIST[Aero]	{	@name = Ground	}
+MATERIALS_LIST[Aero]	{	@name = Payload	}
+MATERIALS_LIST[Aero]	{	@name = Pods	}
+MATERIALS_LIST[Aero]	{	@name = Robotics	}
+MATERIALS_LIST[Aero]	{	@name = Science	}
+MATERIALS_LIST[Aero]	{	@name = Structural	}
+MATERIALS_LIST[Aero]	{	@name = Thermal	}
+MATERIALS_LIST[Aero]	{	@name = Utility	}

 

I have couple of questions question though

The module specific recipes get added to the part config by MM - and so does requiredComponent for probe cores?  What kind of of MM-fu can I use to rid myself of this?

Also, the build times are deliciously fast.  Is there, will there be a way to slow  things down?  I like it for now, but will probably break immersion.  When it is slowed down will the builds continue off rails?

Link to comment
Share on other sites

2 minutes ago, theJesuit said:

@Angel-125

Back to topic :) I've been playing with a SimplexResources config for this, and based on my idea for two simple part types: MetalParts and Custom Parts.  Custom Parts get added for every stock module in 

  Hide contents


MATERIALS_LIST			{	name = Aero
							RESOURCE	{	name = MetalParts
											rate = 1
										}
						}

+MATERIALS_LIST[Aero]	{	@name = Cargo	}
+MATERIALS_LIST[Aero]	{	@name = Communication	}
+MATERIALS_LIST[Aero]	{	@name = Control	}
+MATERIALS_LIST[Aero]	{	@name = Coupling	}
+MATERIALS_LIST[Aero]	{	@name = Electrical	}
+MATERIALS_LIST[Aero]	{	@name = Engine	}
+MATERIALS_LIST[Aero]	{	@name = FuelTank	}
+MATERIALS_LIST[Aero]	{	@name = Ground	}
+MATERIALS_LIST[Aero]	{	@name = Payload	}
+MATERIALS_LIST[Aero]	{	@name = Pods	}
+MATERIALS_LIST[Aero]	{	@name = Robotics	}
+MATERIALS_LIST[Aero]	{	@name = Science	}
+MATERIALS_LIST[Aero]	{	@name = Structural	}
+MATERIALS_LIST[Aero]	{	@name = Thermal	}
+MATERIALS_LIST[Aero]	{	@name = Utility	}

 

I have couple of questions question though

The module specific recipes get added to the part config by MM - and so does requiredComponent for probe cores?  What kind of of MM-fu can I use to rid myself of this?

Also, the build times are deliciously fast.  Is there, will there be a way to slow  things down?  I like it for now, but will probably break immersion.  When it is slowed down will the builds continue off rails?

Maybe try @PART[*]:HAS[@MODULE[ModuleCommand],~CrewCapacity[>0]] { !requiredComponent }

For build times, perhaps @PART[*]:HAS:[@MODULE[WBIPrintShop]]:AFTER[Sandcastle] { @Module[WBIPrintShop] { @printSpeedUSec = 0.1 } }

Link to comment
Share on other sites

3 minutes ago, Angel-125 said:

Maybe try @PART[*]:HAS[@MODULE[ModuleCommand],~CrewCapacity[>0]] { !requiredComponent }

For build times, perhaps @PART[*]:HAS:[@MODULE[WBIPrintShop]]:AFTER[Sandcastle] { @Module[WBIPrintShop] { @printSpeedUSec = 0.1 } }

Ah, the build times are specific to the parts themselves.  Along with a faceplam emoji we need a steepled fingers emoji.

The  suggestion didn't work - perhaps a patching order issue.  I tried a :FINAL and it doesn't like it.  The module specific resources don't then appear, and the icons in the Printshop for only the pods seems to disappear when hovering over some and it doesn't want to print them at all.  I'll keep plugging away, but maybe release just comments it out <quietly hides eyes in a humble way and raises voice in question>

Another suggestion - if say I all command pods to have the battery, a reaction wheel, etc, etc will it conserve mass?  I mean, when using my MetalParts as above, then also adding say

Spoiler

 


@PART[*]:HAS[@MODULE[ModuleCommand],~CrewCapacity[>0]]
    {    PRINT_RESOURCE
            {    name = CustomParts
                rate = 1
            }
    }

 

then  I think it is building the whole mass of the part using twice over.

So, request, could there be a ratio  thing perhaps?

Link to comment
Share on other sites

22 hours ago, theJesuit said:

Ah, the build times are specific to the parts themselves.  Along with a faceplam emoji we need a steepled fingers emoji.

The  suggestion didn't work - perhaps a patching order issue.  I tried a :FINAL and it doesn't like it.  The module specific resources don't then appear, and the icons in the Printshop for only the pods seems to disappear when hovering over some and it doesn't want to print them at all.  I'll keep plugging away, but maybe release just comments it out <quietly hides eyes in a humble way and raises voice in question>

Another suggestion - if say I all command pods to have the battery, a reaction wheel, etc, etc will it conserve mass?  I mean, when using my MetalParts as above, then also adding say

  Hide contents

 



@PART[*]:HAS[@MODULE[ModuleCommand],~CrewCapacity[>0]]
    {    PRINT_RESOURCE
            {    name = CustomParts
                rate = 1
            }
    }

 

then  I think it is building the whole mass of the part using twice over.

So, request, could there be a ratio  thing perhaps?

Build time are specific to the parts such that you take the mass of the resources needed and divide by the build rate. At present mass isn't conserved. It's assumed that there are some things in the required part that you need in order to complete the part that you're printing. Sort of like how Tony Stark pulled apart the Jerrico missiles to get the palladium that he needed. Next update I'll probably remove the required parts from the baseline; it's supposed to be an option.

Link to comment
Share on other sites

1 hour ago, Angel-125 said:

Build time are specific to the parts such that you take the mass of the resources needed and divide by the build rate. At present mass isn't conserved. It's assumed that there are some things in the required part that you need in order to complete the part that you're printing. Sort of like how Tony Stark pulled apart the Jerrico missiles to get the palladium that he needed. Next update I'll probably remove the required parts from the baseline; it's supposed to be an option.

Yup.  I get why they are there, and I think it is a great option, and I may use it, but it wasn't in my original Simplex concept of two build resources  - why build a battery and probe and reaction wheel and monoprop storage and rcs thrusters all with x and y resources, then extra x and y to build the pod itself?   Just build the pod from scratch!  But that is just for Simplex,

I don't see it is a stripping of bits out of existing parts, but rather the duct taping of various components to make a shiny new part.  I think that is very kerbal :).

I wonder how many people out in forums have tried patching the laucnhclamps, printing them and then trying to put them on a base... that's my next piece of play!

Peace.

 

Link to comment
Share on other sites

  • 2 weeks later...

Just an obvious note.  Mm patched a jr clamp, half size and lesser mass.  Added ability for put in an inventory.  Used Bill to weld to to a command capsule.  Hilarity ensued.

KSP don't like that.  Capsule is no more.

Peace.

Link to comment
Share on other sites

On 4/27/2021 at 5:44 PM, Lach_01298 said:

Just a small but annoying bug. The print shop modules don't display in the VAB/SPH part info panel, so it's hard to tell what parts have a printshop and what its stats are without looking at the config files.

0.2.1 should fix that:

fl81hjD.png

I'm busy working on boat parts so Sandcastle is on the backburner, but the two mods are related... :)

Link to comment
Share on other sites

Oh, wow. I am so happy I found this.

The other day I was thinking how awesome it would be to have a mod that would let you produce 'blocks' in one way or the other in game. Basically go full Lego/Minecraft. With these blocks you would be able to build structures like radiation shielding or landing pads or hangars or....

To keep weight down and Kerbals able to handle the blocks, I would make them from 'polymer' (foam), which you can make from liquid fuel.

I really lack the talent and knowledge to model and code everything to make such a feature. But with you doing all the hard work... I may give it a shot. Thanks @Angel-125

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...
On 3/20/2021 at 4:31 PM, Angel-125 said:

If you mean have the ability to do construction without kerbals, no. Stock EVA Construction is built around kerbals doing the construction. At present there is no way to get around that unless Squad changes something under the hood. But that's where @taniwha's Extraplanetary Launchpads comes in. With EL, you can design your base in the VAB/SPH, then send a printing robot out to the site and print the base. I have some ideas on how kerbals and robots can work together to build bases in situ, but I have a few things to work out first.

Meanwhile, my time is split between Sandcastle and one other mod, so it may be a bit before a trove of parts appear. But next up will be a cargo part recycler so you can clean up your inventories.

so i wont have to constantly switch between VAb, tracking station, base, realize i missed a part and do it all over again?!

Link to comment
Share on other sites

  • 1 month later...
On 7/22/2021 at 1:36 PM, Creepi said:

This is exactly what I've been waiting for!

When do you think will this mod be available on CKAN?

It's going to be awhile, since SunkWorks is taking up all of my time. The basic printer is working though. :)

Link to comment
Share on other sites

4 hours ago, Angel-125 said:

It's going to be awhile, since SunkWorks is taking up all of my time. The basic printer is working though. :)

all good :)

I have an entire warehouse of mods to queue through - will get to this idea when I give KDVA another pass (which it still needs)

Link to comment
Share on other sites

  • 2 weeks later...
On 8/12/2021 at 11:33 AM, theJesuit said:

Question:  Does the 3D printing allow you to create parts that have the inventory in them?  Or is it just other parts?  I.e. can you print the mk1pod or a cargo container?

You can print any part that has a ModuleCargoPart or ModuleGroundPart or any part that uses a module derived from those two. So if it fits in a stock inventory container then it can be printed.

Also, a heads up that the scope of Sandcastle has changed. I'm getting pretty burned out from all the pandemic madness, work, and such, and I want to be finished modding KSP 1 by end of the year, so this mod will change focus to just printing up parts. So you'll be able to use the 3D printer and recycler, and I plan to add some dedicated print shops to handle them. You'll also have support for @taniwha' Extraplanetary Launchpads with an upcoming external 3D printer, but I won't be adding new habitats and such. I expect SunkWorks to take the majority of the next 4-5 months to complete, and I have a couple of parts to wrap up for other mods, but that's all the energy that I have.

So, a bit sad, but the core functionality for Sandworks remains. :)

Link to comment
Share on other sites

@Angel-125 Excellent thanks! The functionality is all I'm looking for.  What is great is that i can provide my own containers and manipulate the configs to do what i want... except print new containers!:confused:

Sounds like many modders such as Nertea, taniwha, yourself are out of energy.  This totally understandable.  Thanks for the effort you have put in to provide this.

I assume an external 3d printer will print a part directly to the outside?  Or will it print a craft file?  I couldnt see an EL patch anywhere, and i assume it is hard coded.  So does this bypass the EL gui which seems to be issue people are having in 1.12.x with EL?

Edited by theJesuit
Link to comment
Share on other sites

5 hours ago, theJesuit said:

@Angel-125 Excellent thanks! The functionality is all I'm looking for.  What is great is that i can provide my own containers and manipulate the configs to do what i want... except print new containers!:confused:

Sounds like many modders such as Nertea, taniwha, yourself are out of energy.  This totally understandable.  Thanks for the effort you have put in to provide this.

I assume an external 3d printer will print a part directly to the outside?  Or will it print a craft file?  I couldnt see an EL patch anywhere, and i assume it is hard coded.  So does this bypass the EL gui which seems to be issue people are having in 1.12.x with EL?

People are having issues with 1.12 EL? Eek! The idea is that EL's plugin will drive the 3D printer such that you don't need kerbals to print up a vessel. Just select the craft you want to make as you do now, and let the robots do the work. This is similar to NASA's 3D habitat challenge where robots build the homes for astronauts before they arrive.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...