So my CNC design is coming along nicely now, and I'm really liking developing it in OpenSCAD. I'm trying to organize everything well to make the design easy to modify and come up with a good work flow for going from designing individual components, to fitting them together into assemblies, to actually generating the toolpaths to cut out the parts on a CNC router.
One of the cool things you can do if you build full assemblies from your individual parts in OpenSCAD (or any CAD program, really) is do a quick first pass of your design and make sure everything fits together nicely. Here's an example issue I caught when looking at my X-axis assembly:
One of the pipes that span the X-axis frame intersects the spans of the gantry. To fix this I can open the include file for the X-axis and change a single line that defines how wide the spans are or the spacing of the guide rods, recompile, and end up with this:
Problem fixed! If I extend this approach and make an assembly for each full functional unit, each axis, each tool head, etc., I can throw them all together and see how my whole final machine will look and identify problems with the design before I start cutting parts. Moreover, others can also easily see how the hole thing fits together, make changes, and check their mods easily as well. That's the plan at least.