I’ve been learning about 3D printing for around 9 months now, and while I’ve printed a fair variety of objects, I still struggle to sit down and properly learn to design my own items[1].
A week ago I learned about an online so-called “AI” tool that can be used to make 3D assets, I think primarily aimed at the digital gaming and metaverse spaces. You can either provide a 2D image or a text description, and Kaedim will provide 3D object files in a variety of formats – including .OBJ, which can be ingested by most 3D printing software, or passed to other software that can massage it appropriately.
My 2D drawing skills and imagination are roughly as terrible as my ability to drive 3D modelling and CAD software, so I turned to the Midjourney generative tool for some additional help.
This was an acceptable and simple enough start, and it looked mostly printable – no giant overhangs or complex angles. Fully removing the background was straightforward using Preview on macOS, leaving me with a PNG image of the robot on a transparency. [side note, a previous version of the robot returned by Midjourney was made up of Amazon boxes, right down to the company logo… I chose not to use that one]
I signed up for Kaedim and uploaded my image. It is not the cheapest tool – it is not free – an object generation on the pay-as-you-go plan was £20 – but I was willing to see how well it did. I was able to compare the image to the model in the online viewer, and then download all of the assets in a zip file, including geometry and texture definitions (Kaedim also allows textures to be added, but I just wanted the model itself). All of this was fairly fast.
It turned out that my slicer (Bambu Slicer in this case, but I checked using others as) did not, in fact, want to load the object file – it reported errors and lack of geometry. However, it was straightforward to check the geometry and mesh using MeshLab, and from there, export an STL file that the slicers were happier with.
Since the model was not uniform – the body, arms and legs are smaller and potentially fragile – I printed with supports. The initial version was completely acceptable for something essentially magicked out of a couple of computer algorithms, but highlighted a number of structural issues that I hadn’t thought about at all: the shoulder joints were completely inappropriate, with the arms barely attached; and of course, since I only provided one angle of view for the 2D image, the other sides were simply blank, leaving a disappointingly asymmetric head.
Some improvements were needed. I ended up using the 3D tools in Xcode to edit the .USD file and move the arms upwards and inwards to improve the jointing. I also mirrored the square detail on the side of the head across onto the opposite side (but, I eyeballed the placement, and they are not strictly symettrical). In the second print I thought I would go with a colour, and used some Vertex silver PLA filament, along with a bit of black and white to add to the details.
At this point I realised that I could make my new robot friend a bit more spiffy, so for the final (?) iteration, I chose a more shiny silver PLA (Ziro PLA Silk) and added some colour to the features using the AMS (multi filament system) on the Bambu. I also sized the model up to 120%.
That’s all I wanted to write about here – purely a learning exercise, and no specific use for the model other than decoration at this stage. I can imagine iterating on it some more, potentially upsizing further and re-creating the head as a hollow space for a small microcontroller and some lights for the eyes, for example.
If you’d like to hear more of my thoughts, I talked about it on our Games at Work dot Biz podcast this week, so give that a listen! In the meantime, I’ve uploaded Helperbot to my profile on Printables, which I find is by far the nicest and most usable 3D model community. Look, they even gave me badges! (OK, OK, I printed the badges… but, I have badges!)
[1] It is not for lack of reading materials, video tutorials, and software options! I’m playing with various tools, from the programmatic (OpenSCAD) to the Open Source (FreeCAD) to the online (Tinkercad) to the commercial (Autodesk Fusion 360). I just need to stop and actually use one of them for enough time to get my head around!