Arckit is a fab architectural construction kit for older children and adults. It's great for STEAM education and maker families. The Arckit description says "Arckit can work as a stand alone model building system while also becoming a platform to 'Build Off' using your own bespoke 3D printed components or traditional materials." Well that sounds like a challenge!
One of the things my younger son noticed was that you can't put flat floor tiles at the edges of internal floors as the walls get in the way. We thought we'd have a go at 3D printing internal floors so that we could have coloured floors or stick Arckit stickers on top to easily create different flooring effects.
What is Arckit?
Arckit is an architectural construction tool for older children to use as a learning tool and for architects to use as a professional modelling tool. It comes in classic white and clear as well as bright colours.
Arckit is a fantastic base for STEAM projects as you get a professional looking result (yeah cardboard boxes are fun too, but sometimes ...)
Beetle BlocksI wanted this to be a project that the kids could understand so I decided to try out the Beetle Blocks graphical 3D modelling tool with my 8 year old. Beetle Blocks allows you to model 3D structures using graphical drag and drop commands. It's kid friendly and runs in the browser so you don't have to download anything.
Designing the FloorsWe decided that we wouldn't make our floors raised like the Arckit ones. This means that you must place connector pieces underneath the floor rather than on top of it. If we didn't do this then we would loose too much floor height. The floor itself acts as one big connector.
We drew a quick sketch on the back of an envelope (literally) and my son worked out the dimensions of the 'cuboid' that would act as the floor. Beetle Blocks works in mm. The Arckit walls have a piece at the bottom that comes into the room so you need to allow for this. My son calculated the dimensions of the square we would need for a 2x2 floor.
Each Arckit square measures 25mm (and corresponds to 1.2m in real life) so a 2x2 floor needs a 'carpet' of 25*2 - 10 = 40 mm.<
We made the depth of the floor match the height of the inner tabs on the Arckit walls so we could place furniture against the walls. We could have made it lower but then we wouldn't be able to place furniture flush against the walls.
CodingIt's easy to draw a cuboid with specific dimensions in Beetle Blocks.
Then we manually calculated the positions of squares to slot into the squares on the floor of ArcKit. We did this together as it was a little bit tricky, but my son was able to understand it.
For each square we moved to the centre of that grid square and then placed a 9.5mm square cuboid 1.5mm deep - the ArcKit squares are around 1cm across but have curved corners. A better solution would be to have rounded corners or at least octogons, but this was okay for a first approximation.
We ran the code in Beetle Blocks to see what it would look like and fixed any problems. Initially we didn't realise that the cuboids are centered around the Beetle (current position) and needed to account for that.
Beetle Blocks is so easy to work with as you can see the result immediately and quickly fix any mistakes.
3D Printing and RefiningOnce we were happy with the model we exported to STL and 3D printed it. We used yellow as it was already on the printer and is nice and bright so it will show up clearly. Obviously you could use something more subtle like white or clear filament.
We tried a test print and found that the floor was slightly too large. We wanted to have enough clearance to make sure that the floor wouldn't push the walls out and put pressure on the connecting pins.
We also found that the print had a few knobbly bits that needed filing off - easy enough to do with PLA plastic.
We adjusted the model to use a slightly smaller cuboid for the outline and reprinted, again filing off any overextruded bits. Success! We had a 2 x 2 floor that could be placed inside a 2 x 2 room with walls and a roof.
Parameterizing the CodeWe adapted the code to create a parameterized block which takes the number of x and y grid squares and generates a floor to fit. I had to help my son with this as he hadn't used parameters before but be quickly got the idea. We worked on the maths together.
Next we tried a 4 x 4 grid. This was on a printer without a heated print bed and it came out a little bit warped. But this didn't seem to matter too much. Again we needed to file off a few bits that were over-extruded. But then it was possible to push to floor into place and have it stay reasonably flat. If this hadn't worked we would have placed the 3D printed part in warm water to make it pliable and then flattened it. As it was the result was good enough.
We found that one the floors have been pushed into place they stay firm even if you turn the building upside down. The PLA plastic is very soft compared with Arckit pieces.
If you try this project you may need to adapt it to your printer. You'll need your printer to be well calibrated as the tolerance is pretty small on a project like this. Alternatively you can scale the model before printing. We'd recommend starting with a small 2 x 2 floor first and getting that working well.
My son of course loved that he could make a 100 x 100 floor on screen just by changing the parameters. Printing floors is limited by the size of your print bed and how big you can print flat surfaces, though you can always break up a large floor into parts and could write code to help with that.
Arckit also has curved floors and walls and you can create interesting non-rectangular designs. We'll have a look at creating floors for rooms using those in a future project.
Adding Floor StickersA 3D printed floor panel acts as a good base for applying Arckit stickers to an internal room. For this purpose you'd want to print using white or clear filament.
These floors were created by 3D printing 3x4 bases and then adding Arckit adhesive stickers cut to size.
This was a great STEAM project that used lots of skills. My 8 year old got to do some practical maths and learn how to use his coding skills to create models for 3D printing. Creating 3D models programmatically can actually be easier for kids with good maths and spatial awareness than using a visual design tool where you often have to do a lot of precision mouse work to create accurate models and it can be hard to make changes.