He also gave me an inductive proximity sensor (LJ12A3-4-Z/BX) he'd switched away from in favor of a bottom Z end-stop. I would like to use this for the auto-calibration, to take care of the frame size changes. I have a piece of copper tape from him, too. Now I just need to hook it up to appropriate power (comes with a hacked-up 5V adapter), feed it into the controller, and add applicable firmware support.
Problem is the controller is out of inputs. I could theoretically put it on the same input as the existing Z-stop and somehow switch between them - or can the Marlin firmware understand that a Z-endstop input is both ends? Looks like it can (from https://github.com/MarlinFirmware/Marlin/blob/RC/Marlin/Configuration.h#L635):
We did his first print with the E3D hotend, switched from a mk7. While the old one was working fine, the surface quality improved a lot, and temperature setting was lower. E3D rocks!
We also both want to do a bed fan duct. I keep thinking that two separate pieces with tubes between them would reduce a lot of the mounting problems inherent in combinations of different hotends, X beds, mount points, and fans. I haven't seen a design like that, though.
Playing around with FreeCAD some more shows a quirky interface, some weird errors, and a whole new way of thinking about geometry compared with OpenSCAD. On the bright side, it does have proper, if less nicely done than in Dia, Bezier curves. Now if I can make the Bezier curves partake in constraints, I'm all set. Unfortunately, it looks like the constraint solver isn't keep on distance-from-curve constraints. Also, constraining is only inside sketches, which can't be right. More tutorials are needed.