I am writing to tell you about a modification I have made to my Longmill that you may be interested in and some areas where I need some help. I have been interested in being able to do milling on the ends of boards in order to do tenons, dovetails, and more complicated joints. The solutions I see on your website all include mounting the boards vertically either through a hole in the table or on the edge of a shortened work table. The obvious disadvantage of this is that the longest board one can use is the height of the table.
It seemed to be that that limitation (and having to modify your table) can be circumvented by simply mounting the router along the y-axis instead of the z-axis (see the picture). Then the length limitation is more like the size of the room, and you can use the full x-axis range, all without modifying the table (vertical range of the tool is 3” to 8”). Another possible advantage of an axis shift is that the tool can now extend over the front of the table so one could work on portions of items of very large size clamped to the table front (for my machine one could work in a 5”X30” area). This may be of interest to people making large signs, for example, or doing inlay in large table tops.
As shown, I have implemented this idea and it works very nicely, creating a perfect tenon. There seems to be no problem with rigidity. However, there are some issues that I came up against where I could use your help. In working this way, one has to swap the y and z axes. That could be done at any of three stages, the CAD program, gSender, or the controller.
a) I have been using Fusion, and there it is possible to specify the tool axis in any direction to the part coordinates. However, when writing g-code it always has the tool axis be z. I have been unable to find any way to change that.
b) There could be a switch in gSender that swaps axes. This would be the ideal way but I have not been able to find it if it exists.
c) One could simply exchange the connectors on the motor controller. That would work swapping the x and z axes because they are both single motors, but does not work for yz because y has two motors.
The way I got the simple demonstration to work is to manually modify the g-code by swapping the Y and Z labels. This works nicely for G0 and G1 by search and replace, but each G2 and G3 requires individual attention, so one would not like to do that on a complicated job.
So my question is this—Is there something I missed and I could easily swap axes with the current set-up? Or would it be worth your while to, for example, modify gSender to put in an axis switch, or put a switch in the controller? I think there might be wide interest in having these capabilities, and you could even sell a right-angle spindle adapter.
@phmjo It’s an ingenious idea. So far, I’ve not needed any lengths longer than the height of my table. I set this up mainly for smaller boxes. I am lucky to have other, more traditional, machines for dovetails, box joints and mortise and tenons, which I can use for longer pieces.
Please keep reporting on your progress.,
Great idea!!! now you got me thinking, you could mill a bowel like that???
Keep up the good work and my apologies for not having a solution for you, but if I come up with something you’ll be the first to know.
This is very clever! I went with a vertical mount myself but I can see uses for this way as you have mentioned.
I can’t remember which software it was in, might have been in my slicer for my 3D printer, but there was an option to not emit G2 and G3 and use short linear moves instead. I wonder if Fusion has that option. It’s not ideal but might help if you are forced to keep editing the code for axis swapping.
Thanks for your comments.
I have worked out how one can rotate the axes by editing the gcode in a way that all the statements, including G2 and G3, seem to stay consistent. One simply swaps Y and Z as well as J and K; changes signs of X and I; and swaps G17 and G18. This can be easily done by search and replace in a text editor (I used NotePad++, a free download) and the whole process can be automated in a macro to be done with a single click, so even very complicated gcode can be easily converted. I have yet to determine whether the specific changes depend upon the choice of axes orientations in Fusion, but I suspect they may not since it always produces code with Z along the tool axis. With this procedure, I have been able to produce good mortices and tenons even with curved corners (and thus a lot of G2s and G3s).
The limiting feature of the rotated router now seems to be zeroing the coordinates in gSender. The touch plate will not work in the new axis system and one must use more old-fashion methods. For that reason, if no other, it would still be really convenient to have a switch in gSender that would allow the Z axis to be in the plane of the table (at least for the touch plate). I am not sure if the gSender developers will read this, or I should post the request in the gSender section of the forum.
@phmjo WRT your last question, I suggest that you post just that in the gsender suggestion category.