Notifications
Clear all

Concrete 3D printing with Slic3r  

  RSS
laurence.f
(@laurence-f)
New Member
Concrete 3D printing with Slic3r

I'm a research & development engineer tasked with developing a concrete 3D printer for application in the construction industry for the UK social housing sector. Since using the Slic3r Slicer for printing extrusion system components on the I3 Mk3 I've noticed realistic potential applicability for use on our prototype 1m^3 concrete printer as Slic3r is said to be a slicer for any printer, not just the Prusa.

Our prototype BAM (Building Automated Manufacture) printer is comprised of 3 heavy duty continuous servos (X,Y,Z) as well as 2 high power steppers to drive the rotating Archimedean screw (extruder/E) and rotation of directional nozzle around Z (C), all operated via a PLC running gcode. While defining all printer parameters should be easy enough, I don't have the background understanding of how slicers write to gcode and what post-processing scripts would need to be implemented in the slicer to automatically write the C axis to run parallel to the direction of travel of the nozzle to ensure correct orientation.

If anyone with experience in writing g code post-processing scrips could provide any insight into how this could be done in Slic3r it would be much appreciated. It seems that most of the other placed that have managed to 3D print concrete have used grasshopper with a complex network of defining nodes which I'd have even less of a clue how to do.

Render of concrete 'extruder' (25x20mm contoured extrusion) for perspective attached.

Napsal : 18/02/2019 5:14 pm
RetireeJay
(@retireejay)
Reputable Member
Re: Concrete 3D printing with Slic3r

Fascinating! I've seen videos of buildings being 3D printed with concrete.
There's a RepRap forum on Slic3r, https://reprap.org/forum/list.php?263

If the mechanics of your system define the "printhead" position in X and Y as the exit of the nozzle, and if the "C" rotation can take place without changing X or Y, then I think the problem of calculating C is fairly simple. It also helps if C can rotate an infinite number of turns in either direction.

The post-processor code in this case isn't terribly complex.

1) Have the "current" positions in X and Y memorized and available, call them X0, Y0
2) Examine the next line of G-code to read the destination values of X1 and Y1. (If necessary, skip ahead to find the next move in X and Y)
3) Take the differences: DeltaX = (X1 - X0) and DeltaY = (Y1 - Y0)
4) DeltaX, DeltaY form a vector with an angle (and a length). The length is irrelevant, but the angle is easily calculated from basic trig. Watch out for the "special cases" of orthogonal moves, and watch out to make sure you end up in the right "quadrant". This will be your C angle.
5) Insert a new line in the G-code calling for the correct C angle just before the line of code that commands going to X1, Y1.
6) The kinematics of your system will certainly be very different from an FDM printer, with speeds and accelerations reduced by an order of magnitude or more. You may need to have a pause every time you rotate C - but that can probably be handled in the PLC by simply waiting until feedback indicates the target C has been reached.
7) The X1, Y1 destination is now the "current destination" X0, Y0.
8) If you have not reached the end of the G-code, resume processing at step 1)

If C can't rotate indefinitely in any direction, then you'll have to keep track of C and force an "unwind" rotation when it would otherwise exceed the allowed rotation limit.

If rotating C changes the position of the nozzle in X and Y (as it appears to from the above render), then the situation gets a lot more complicated, because now the final G-code has to have the values of X and Y modified from what were generated by the Slic3r. The gantry motion will have to compensate for the offset of the nozzle depending on the current angle C. You'll have two sets of X and Y: one for the "print" and one for the gantry; the gantry will always be offset by a constant displacement from the print. Slic3r will generate the Print X & Y, and your post-processor will have to generate the Gantry X & Y, substituting the new coordinates in every line of G-code.

Napsal : 18/02/2019 9:25 pm
misan
(@misan)
Member Moderator
Re: Concrete 3D printing with Slic3r

Or you can use a round nozzle and reduce complexity. That is what was done for the first 3D printed house (concrete) in Spain. Slic3r can do the job. You do not need a PLC just an Arduino Mega and motor drivers that handle step and direction signals. That is how it was done here.

Napsal : 18/02/2019 11:36 pm
--
 --
(@)
Illustrious Member
Re: Concrete 3D printing with Slic3r

Thinking out loud ... Will the slump of the slurry be low enough you can stop the flow by stopping the screw?

As for the extra axis C, I'd try a simpler style rotating nozzle with zero offset (a pipe with an open side). Plus, the drain spout nozzle design has the additional problem of not being able to print gapless seams, unless you do some serious post processing. Anyway - if you solve the slump/flow issue, you may be able to just mimic the Mk3 nozzle... lol.

Napsal : 19/02/2019 9:10 am
laurence.f
(@laurence-f)
New Member
Topic starter answered:
Re: Concrete 3D printing with Slic3r

Many thanks for your rapid response and interest.

To answer a few of your questions:

- We are planning on modelling extrusions to not have any 90 degree turns but have all corners automatically transferred to be a predetermined radius (with continuous unlimited rotation possible). When we come to developing th full scale system it may have up to 3 nozzles mounted on the 'print head' all printing at the same time to produce a braced retaining wall structure in minimal time which will add a whole other 10 layers of complexity (hence the advanced PLC to handle management of all processes). To start off with we will likely use a straight pipe with no rotation just to get to grips with printing concrete.

- The plan is to either have the extruder screw reverse (retraction) at the rate of natural gravitational flow to stop the flow for any positioning movements, or perhaps implement an actuated gate valve to cut off the flow in a future iteration of the design if that doesnt work.

- The purpose of the contoured extrusion is to try and form the extrusion to have smooth sides so as to reduce the manual post processing and smoothing of walls, similair to that of contour crafting in the US http://contourcrafting.com/media/ .

- We are cunducting our research and testing in collaboration with northumbria university where we have a PHd researcher as well as concrete experts and industry partners to assist in getting the concrete mixture right. It should be possible once scaled up to control metered superplasticiser to control set times for each layer dependant on weather conditions while prining a whole terrace of houses in situ in one shot(... hopefully... eventually).

- The nozzle is designed to be easily interchangable so we can easily swap it out for one with zero x&y offset from the Z axis. The one shown is designed primarily just for smooth flow and contouring of the extrusion profile.

We will nodoubt need substantial support for software & CAD from Autodesk or someone at some point in the future but for now we are just trying to get the prototype operational to learn about operational limits & overhangs etc.

Napsal : 19/02/2019 10:08 am
Chocki
(@chocki)
Prominent Member
Re: Concrete 3D printing with Slic3r

Looks interesting, I take it the liquid is added just prior to dispensing?, if you used cement based upon calcium sulphoaluminate (CSA), which sets within 20 minutes, you could build a whole floor of a house in one go since by the time you have got round the first layer, it would probably take at least 20 minutes. Rebar supports could be challenging so as not to hit them, then crane in a pre-made concrete floor and continue.
Wow, you could potentially build a house in a day!.

Normal people believe that if it ain’t broke, don’t fix it. Engineers believe that if it ain’t broke, it doesn’t have enough features yet.

Napsal : 19/02/2019 12:45 pm
RetireeJay
(@retireejay)
Reputable Member
Re: Concrete 3D printing with Slic3r

Hmm... In our FDM printing of plastic, one of the failure modes is insufficient bonding between layers. Essentially, each new layer of plastic must be hot enough to slightly melt the top of the cooled preceding layer, so that the two layers get welded together.

How will this be done with concrete? Heat won't bond the layers. And as the cement in a given layer cures, its ability to bond with the next layer decreases in proportion to the amount of curing that has happened. So your ideal concrete for inter-layer bonding must cure slowly. But on the other hand, concrete is very heavy. You need it to be soft enough to extrude through your nozzle, but an instant later it needs to be firm enough to hold its shape without sagging, and by the time the next layer is printed then it needs to be firm enough to support that next layer without getting squished out of shape. It seems like you have several conflicting constraints here. The magic is going to be in the materials you use to formulate the concrete; the programming of the extruder motion is almost trivial by comparison. But I'm speaking as an electronics engineer with some mechanical experience, not as a chemist or materials scientist; maybe the materials scientist has a different perspective. 💡 😆

Napsal : 19/02/2019 3:05 pm
--
 --
(@)
Illustrious Member
Re: Concrete 3D printing with Slic3r

I'd think using a straight end will make life a lot simpler. After all, concrete will slump no matter what you do unless you use an exotic fiber-filled class of materials. If you really want to try for square extrusions, an idea like this might be simpler than dealing with an offset and it allows gapless builds. It could be round, square, whatever, even act as a trapazoidal trowel shape to form true verticals based on known slump.

Napsal : 19/02/2019 7:50 pm
laurence.f
(@laurence-f)
New Member
Topic starter answered:
Re: Concrete 3D printing with Slic3r

Thanks again for the responses.

Chocki- Yes its highly probable that specific additives are introduced just before the archimedean screw to control the concrete properties while maintaining sufficient mixing. We would probably have the foundations finished before setting up the system on site and printing directly onto a 'levelled bed', however we may need to integrate some form of scanners to analyse the ground and update the bed mesh to counteract any deviations and avoid nozzle collisions. The hope is to achieve a whole terrace of 10 houses within a week which should be easily achievable with a multi nozzle head and the perfect concrete mixture designs and supporting firmware. At the moment we're some way off that being a reality though. There have been plenty of companies worldwide that have been successfull in printing single storey in under 24 hours. Take a look into Apis Corr (Russia), New Story & ICON (US), BetAbram (Slovenia), 3D Wasp (Italy), WinSun (China), 3D Printhuset (Eindhoven), CyBe Construction (Netherlands) and MIT to name a few.

RetireeJay- The layer adhesion should be possible by simply adjusting the admixtures relative to the time it takes to print each layer so that the previous layer has not completely set. Generally cement to cement has a much better bond than plastics so should be possible to acheive through testing and calculation. The materials aspec of it is vertainly going to be challenging and key to successful prints but we've got a large industrial supplier assisting as well as some great concrete experts at the university so I'm confidant that we'll be able to get it right over the next 6-12 months.

tim.m30- Unfortunately I cant go into any great level of detail into the exact concrete mixture to be used as we havnt yet started testing as there may be necessity for IP protection further down the line. You may be surprised to know that fibre reinforced concrete is actually not that exotic and commonplace in many concrete applications so will likely be essential to minimise short term cracking due to the exothermic reaction of the fast setting mixture. The truth is that we dont yet have a clue exactly what nozzle design we will end up using but I've modelled a universal nozzle housing so we can 3d print and test a large variety of nozzles to see which produce the best results from the prototype system. Behrokh Khoshnevis has an excellend TEDx talk which showccases some of the controured extrusions they are capable of acheiving here:

Napsal : 20/02/2019 9:54 am
Share: