CadQuery Learning Curve Climbing Plan
Reading through CadQuery documentation, I'm getting into topics like software integration. While fascinating and full of possibilities, this is putting the cart before the horse. I don't know if CadQuery will be useful for my own projects. If I end up hating CadQuery, none of the rest would matter. Here are some foreseeable markers to help measure progress ramping up my CadQuery skills, and I'll find out how far I get.
North Star
The long term goal is for CadQuery (or whatever I decide to adopt) is to fulfill my wish list for open-source collaborative CAD which includes not just the CAD aspect but also integration into project reference documentation. I want to pick up my neglected micro Sawppy project with CadQuery plus associated tools, then roll what I've learned (both in the rover design itself, as well as CAD and documentation systems) to revamp standard size Sawppy into a significantly enhanced version 2.0. Even if everything goes perfectly (which it won't) I expect to take at least a year for this to unfold.
Starting Small
Since it would be foolhardy to jump into such a big project with a new platform, I will start small and tackle small 3D printing projects. Solve problems that can be solved with only a few pieces or just a single piece, before I increase complexity with multi-piece assemblies.
External Dimensions
My 3D printing objects are rarely standalone, they almost always fit onto something that already exists or tie multiple existing components together. Which means dealing with measurements of those existing objects, and I don't yet know how well I can handle that with a code CAD platform like CadQuery. This will be interesting to figure out on my own, as CadQuery documentation doesn't cover this topic.
Documentation Updates
When looking at somebody's GitHub repository, I appreciate having a picture to help tie the words and code and other pieces together. I do the same for my mature project repositories. I include a screen shot for a web app project, and the same for a reverse-engineered KiCad schematic. The downside is keeping the image in sync with latest changes to the project. Instead of having to remember to go back and take another screen shot, I should be able to script CadQuery to automate image update.
- Crawl: A Python script I manually run on my own computer to dump out an image file.
- Walk: Translate that to GitHub Actions to run automatically upon every new commit.
- Run: Integrate with full-fledged documentation system (sphinx-doc or equivalent.)
I think it'll take a few months just to cover those beginner goals. If I make it that far (which I failed to do with FreeCAD) then I'll worry about picking some intermediate level goals.