Experiments in digital making

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.

Screenshot of Midjourney in Discord, with the prompt "a small boxy helper robot, cartoon animation style. Plain background." and the resulting image of an orange, blocky, basic robot.

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.

Screenshot of the previous robot image inset in the left bottom corner, alongside a 3D untextured plain grey model of the same robot in a white space

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.

Screenshot of a plain grey blocky robot model in a 3D modelling editor

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.

A hand holding a small cuboid robot head printed in white PLA plastic, next to a computer screen showing the original 2D image of the same robot A white blocky robot resting on a black and grey keyboard. One arm is hanging limply downwards due to a weak joint.

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.

A silvery grey robot standing inside a 3D printer, surrounded by tree supports A silver/grey boxy robot with black eyes and a black line for a mouth.

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%.

Three robots in a row. The right-hand model is larger and has red eyes and green details on the silver chest plate.

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!)

Three Printables.com achievement badges in grey and orange, on a black pegboard

[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!

Leave a Reply