October 2022: CAD! (and also spreadsheets technically)
I've always avoided using spreadsheets if I could help it, meaning I've never learned how to use it. My plan for this month then was to learn the stuff about spreadsheets I'd need, and maybe try my hand at programmatically populate a spreadsheet, but then I noticed that my spreadsheet software can already populate itself from a variety of datatypes (unencrypted datatypes at least) and that with a manual, using the spreadsheets software is not only boring, it's also not especially challenging. Suddenly I couldn't really justify putting whatever rest of the month I still had into that. Even though I'm more or less done with what I wanted to learn about spreadsheets with that one sessions I did in about the middle of the month, I can't say I could say anything interesting about the process. However, that same day I learned that LibreOffice also has a CAD software, and that sounds just about the right amount of interesting and useless to a theoretician like myself that could make learning it fun.
I've seen CAD around in engineering videos that make is seem like an interesting tool to have around when designing parts. I don't really work with hardware, so I don't have use for it, but that doesn't mean I can't know how to use it. So I find the git repo, clone it, spend about half an hour building it and am greeted with this.
Perfect. I have no idea what I'm supposed to do with this. That merits a well defined mini-project to understand what this things has to offer. Let's say, I'll design a wheel.
A 2D-wheel, turns out. LibreCAD is a 2D CAD tool, which suddenly doesn't tickle my fancy as much as when I saw that CAD was even an option. As I understand it, CAD is commonly used for designing parts for engineering. 2D-CAD works alright for circuit-boards and such, but it simplifies it more than I would like. After all, 2D-CAD is just knowing precise measurements, and I'll probably gain more just shooting for a 3D model. So I'll pivot once more. Wow, this month is chaotic... Anyway, the linux community does not disappoint. There's a few open source CAD tools around, and I suspect there's enough engineers out there that prefer linux over MacOS or Windows to warrant most of them having a linux client that won't shit the bed over small infractions on the side of the user. That makes it convenient to try a couple of things. My next attempt landed me with FreeCAD, the interface of which baffled me even more than that of LibreCAD. For one, nothing I tried did anything, so I had to check the documentation again. This is Blender all over again.
It turns out, FreeCAD divides its features into workbenches that favour certain approaches to design. Beginners are recommended to go with the PartDesign Workbench, which one finds... where exactly?
There's that drop-down menu that tells me I'm in the PartDesign workbench, once I accidentally got there, which tells me that there's better ways of getting there than doing a depth-first sift of the menus. I do think I'd be forgiven for not checking that, as it looked like this when I started up the software.
The lack of buttons is about as intimidating to me as the abundance can be sometimes. I know, I know, I want a lot. Anyways, here's the PartDesign workbench in all its glory.
This workbench can only interpret blocks at first, so this, for example won't register as a part, because the tool won't know which edges to pad along.
Instead, a flat circle will have to do, and I'll have to keep the radius of it in mind. Once that's done, I can pad it automatically and tell the tool at the left side how far I want it to pad. I went with a 50mm radius and a 15mm height. It's kinda small, but that's fine by me. It'll be a wheel for a toy wagon.
I now have to hollow out this slab and add another ring to hold the spokes in the inside. Or rather, I'll have to try. If I can, I'd like the inside ring to be centered, but slightly smaller, meaning I can't just rest it on the x-y-plane as I have the outer part. Let's see, if it'll let me build two concentric rings first.
First, I'll draw another circle on the slab with the same center point. It turns out, using constraints, I can fix the radius to something precise, so I'll do that. That's gonna be important going forward. Then I fix the center point in the plane. Maybe I'll find an option to set its coordinates next.
This is how it looks hollowed out. There's a subtractive tool called "pocket", which I can tell to take away 15mm, which is the entire height of the padding. For the inner ring, it turns out, I'll have to make a separate part, which is sensible, I suppose. You can't really machine two separate rings as one part, so I guess I should've guessed as much. I can still create it though, and it ends up looking like this.
I've got error messages in the bottom there, and a circle sketch that I can't get rid off. Now comes the hard part: Adding spokes. I don't really know how they're actually made, but before I'll go look at reference, I'm deciding to just wing it this time around. It's more fun this way.
The first spoke. Next time I do this, I either have to find out how to scale with variables, which I haven't found anywhere yet. I more or less eyeballed the dimensions, since I forgot the dimensions of the circles and couldn't find a way to retrieve them. At the same time, coordinate translation also don't work quite as well as I had hoped, mainly since the drag and drop option is much more reliable than inputting the transformation parameters. Each spoke is a separate part, but I ended up copying them and putting them into place one by one.
All in all this wasn't that bad, actually. You can get by with basic tools, if precision isn't your concern, though of course finding options to construct the geometry via command line would be much appreciated on my part. I know FreeCAD has a python interface (why does this sound familiar...?), but I'll leave that for future me to discover in detail. Maybe when I've gotten more familiar with the PartDesign workbench. It's silly really, but having this object to play with is strangely satisfying. Simple pleasures, I suppose.
I'll link the FreeCAD file here just in case somebody isn't up for building their own oddly small wheel or wants to use it as a template for something. It's a .FCStd file, which I'm assuming is a FreeCAD specific file format. There's also a .3mf file format I can export to, which I'm assuming is industry standard by the name. Either way, this was fun. I'll see what I'll do for next month. Hopefully it'll be less hectic than this one, but I might have an idea or two. Somebody pointed me to an open source matlab alternative that looks worth checking out.