Freecad Modeling of my Sherline ballscrew conversion has been moving right along. I find myself writing down coordinates and retyping them when I needed to create a new sketch for a new object that I was drawing out. At some point the assembly workbench will be packed full of super awesomeness that will have all the possible tools for what I need, but that day is not here yet.
It seems that this is an excellent opportunity to create a macro. Since one of the objectives in this project is to improve my FreeCad skills, hopefully it won’t be too much of a side trip. (I’m a little wary on this, since on my first big FreeCad adventure, I was bummed Freecad didn’t have a polyline arc feature that Heekscad had. No problem, I thought I have a little fun with some C++ coding. That little adventure was took multiple months).
Here’s what I’m thinking about. In the screen shot in this post, I imported my modded saddle as a step file. The counter bore represents the minor diameter of a thread that the ball-nut will screw into. I want to start modeling the x-axis ball screw. Thankfully, mill axes are inline with the world coordinate system of the model so this will all be easier to explain. So in this instance what I need to to is to create an unlinked sketch in the x-z plane that intersects the centerline of the counterbore. Basically, I want to draw the centerline of the lead screw and 1/2 the outline of the shaft and revolve to to form the solid.
Regardless of whether I do this through a macro or manually, I think the steps would be basically the same in this instance.
1 Find a point on the sketch plan that needs to be created and save the values.
2) Create a sketch in the x-z plan and offset it so it intersects the point
3) Create a line whose start point on the sketch that intersects the point in step 1(but is not linked to that point) the endpoint and the line are left constraint free while the starting point has a lock constraint applied.
I was yakking a bit with Daniel Falck on the IRC about how to write a macro for this. He provide some links of some freecad python macros that he’s collected and thought the solution might be in there somewhere.
These links are:
So at the moment, I’m working with step 1)