idea for "enhanced machining interface" - semi-automatic physical user interface

More
30 Dec 2022 22:11 #260578 by piflixe
Dear LinuxCNC community!

Maybe I am not the first one to the idea for an interface that would integrate enhanced CNC functionality into a simple-to-use manual interface. At least I don't know of any such a project or available product. I tried to create a short brief of the idea in this Document. It is very brief on purpose - I would like to get some feedback from you and start the discussion and would be very happy to add more details and ideas later. I have been thinking about this for over ten years know but always lacked the capability and ressources to implement something of such complexity.

So my questions:
  1. does anyone know something like this exists already?
  2. what are your thoughts on the idea and functionality? Would you see value in this?
  3. could anyone imagine to help implementing this into LinuxCNC?
My background is more mechanical and in our team the software people do not have sufficient ressources and detailed knowledge of LinuxCNC. So I could only support this by structuring the idea and project and designing and prototyping the actual physical interface. Of couse I would be keen on testing and evaluating this as well! I would like to maintain the opensource character of LinuxCNC and additional components but I could still imagine working commercially on some aspects of this idea like selling the physical interface, integrating this into professional workshops or similar.

Excited to hear your comments and start the discussion!

Please Log in or Create an account to join the conversation.

More
31 Dec 2022 01:49 #260599 by Todd Zuercher
My personal opinion is, if you have a CNC it is simpler to program the movements you are asking for with conventional CNC gcode programed by hand alone or with cad/cam than it would be to try to learn to use the special manual features you are proposing. (A lot of witch more or less already exist as standard features.)

The cost of cad/cam software is virtually a non issue with surprisingly capable options available for as little as free (FreeCad).

Please Log in or Create an account to join the conversation.

More
31 Dec 2022 20:07 #260677 by rodw
I would explore external offsets to achieve this.
Once the mode and origin was set, you could offset the Z axis based on the X axis position by some formula set by the mode.

Please Log in or Create an account to join the conversation.

More
02 Jan 2023 10:19 #260758 by piflixe

My personal opinion is, if you have a CNC it is simpler to program the movements you are asking for with conventional CNC gcode programed by hand alone or with cad/cam than it would be to try to learn to use the special manual features you are proposing. (A lot of witch more or less already exist as standard features.)

The cost of cad/cam software is virtually a non issue with surprisingly capable options available for as little as free (FreeCad).
 

Thanks for the feedback! I agree on the point that this is of course in competition with fully automated cnc machines. Still I think that the interface would be very easy to learn, much easier than using a CAM tool. Maybe I am doing something wrong, but creating a new program always take at least 30min until it really runs on a machine. And there might be parts that can't be manufactured manually due to round corners / chamfers or angles thus requiring a CNC machine and time in the CAM program which might not pay back for prototypes or small series. So what I am proposing clearly only makes sense for prototypes or small series.
Thanks for mentioning the free CAM programs. I did not know that FreeCAD offers CAM as well. We have been using kiriMoto as a plugin for onshape. Normally we use CAMWorks / Solidworks CAM since it is integrated in SolidWorks which is our CAD tool in use. Do you know any more CAM tools or do you have experience with any of these, especially for easy use for simple parts?

Please Log in or Create an account to join the conversation.

More
02 Jan 2023 10:28 #260759 by piflixe

I would explore external offsets to achieve this.
Once the mode and origin was set, you could offset the Z axis based on the X axis position by some formula set by the mode.
 

thanks for the remark! Could you please elaborate a bit further? I think you are referring to this? linuxcnc.org/docs/devel/html/motion/external-offsets.html From what I understood after briefly reading over this I think angles or constant offsets on one axis could be achieved, but what about contours? Still, this might be a good starting point to dive a little deeper into the subject.
I also thought for contour modes, G41 / G42 commands could be used when the contour is imported into linuxCNC. Is there something like a dxf -> gcode importer already available?

Please Log in or Create an account to join the conversation.

More
02 Jan 2023 13:30 - 02 Jan 2023 13:32 #260765 by Aciera
There used to be a conversational cam called 'nativecam' that could be installed which i still use on my machine but is python2 and thus is no longer supported since version 2.9. As mentioned there are features like adaptive feed, external offsets, angle jog, custom kinematics, machine vision and so on.
For dxf to gcode you could use software like sheetcam.
The thing is that LinuxCNC is a gcode interpreter, it eats gcode and puts out the motion commands. So for machine programming your first choice would be to look at/ create your own subroutines with parameters which is what NativeCAM does.
Frankly I doubt you will get anywhere with this if you can't do the programming yourself.

github.com/FernV/NativeCAM
Last edit: 02 Jan 2023 13:32 by Aciera. Reason: Add link

Please Log in or Create an account to join the conversation.

More
02 Jan 2023 21:41 #260801 by rodw
There are a number of sims that demonstrate external offsets. It could do a contour or a cam lobe. Think about a simple ball turner. All it needs to do is to follow a semicircle with the depth of cut defined as the radius. 
There is a formula for a circle.
Also Linuxcnc supports splines via NURBS but I am out of my depth.

Please Log in or Create an account to join the conversation.

More
03 Jan 2023 07:01 #260828 by cmorley
IIRC, angled MPG jogging was added to master recently. ie chamfering an edge on a lathe.

Please Log in or Create an account to join the conversation.

More
03 Jan 2023 14:27 #260845 by Todd Zuercher

My personal opinion is, if you have a CNC it is simpler to program the movements you are asking for with conventional CNC gcode programed by hand alone or with cad/cam than it would be to try to learn to use the special manual features you are proposing. (A lot of witch more or less already exist as standard features.)

The cost of cad/cam software is virtually a non issue with surprisingly capable options available for as little as free (FreeCad).
 
Thanks for the feedback! I agree on the point that this is of course in competition with fully automated cnc machines. Still I think that the interface would be very easy to learn, much easier than using a CAM tool. Maybe I am doing something wrong, but creating a new program always take at least 30min until it really runs on a machine. And there might be parts that can't be manufactured manually due to round corners / chamfers or angles thus requiring a CNC machine and time in the CAM program which might not pay back for prototypes or small series. So what I am proposing clearly only makes sense for prototypes or small series.
Thanks for mentioning the free CAM programs. I did not know that FreeCAD offers CAM as well. We have been using kiriMoto as a plugin for onshape. Normally we use CAMWorks / Solidworks CAM since it is integrated in SolidWorks which is our CAD tool in use. Do you know any more CAM tools or do you have experience with any of these, especially for easy use for simple parts?


My day job is performing all the CNC machine maintenance, setup, and programming of the CNCs at a CNC woodworking shop (primarily sign making oriented). I don't use FreeCAD a lot. I only use it occasionally for setting up things i can't use the CAM software I normally use for. The software I'm most familiar with and use every day at work is a wood working oriented package called Enroute. It is very good at tool pathing for router tooling and is simple to use with rudimentary 2d CAD capability. It is what I have at work and it is what I know how to use. We/I have been using it for a very long time (more than 20yrs) and the amount of existing work we have saved with it kind of has us locked into keeping it.) That said I'm not sure I'd recommend it to anyone starting out, there are much cheaper equally capable options out there that do the same thing (such as offerings from Vetric.)

I use FreeCAD for occasionally generating HSM style tool paths (which Enroute doesn't do) and for some basic 3d modeling. Such as finding the center of gravity of an irregular shape I need to mill out to find where to place the hanger on the back so the sign will hang straight. Generally I don't do design or CAD work in FreeCAD, I find it tedious to use. Mostly because I don't use it a whole lot and I'm just not good at it. I'm sure if I had to use it a lot it wouldn't be so bad, but for what I do everyday it really isn't the right tool for the job.

A wood working router tool path file, I can generally setup, output, and run confidently on one of our milling or carving machines in a short period of time without any testing, because I do it a lot. However if it is a metal milling program for our VMC that will take me much longer to set up appropriate tool paths and output correct g-code to run the part. Because I am less familiar with the processes and the software. But that is just how it is with anything. You know what use regularly, anything else is going to take a lot more time with trial and error type fiddling about to get what you need.

I think one of the most important things about setting up machining code is to be a perfectionist. Be persistent in bending that CAD/CAM program to your will and polish your skills to produce exactly the g-code you want and need. Once you learn how, keep at it, practice makes perfect. And knowing and understanding basic G-code is the first and most important step to learning how run a CAM program. You need to be able to see what is wrong with the code so that you can make it right.

Being able to efficiently run any CAD/CAM software isn't going to happen overnight for any person or any software package. There is a lot to learn and the curve is steep. Just like you aren't becoming an expert machinist over night either, and the best way to learn is by doing.

(I use Linuxcnc at work, most of our light duty carving machines, I converted to Linuxcnc. I don't have any machines of my own.)

I kind of chuckle at people who want to dream up all of the semi automatic "manual" processes and conversational tool pathing dialects. IMHO, it doesn't simply anything, it makes the machine more complicated and therefore more expensive and is just as much work to learn how to use as learning a traditional CAD/CAM package. There is noting magical about G-code and in it's most basic form is the simplest way to tell a machine to move from point A to point B. And that is all that virtually all CAM programs are doing, creating code using only the simplest of G-codes G0-G3, stringing together line segments and arcs.

(Sorry this message may have turn into something ugly, sorry if I might have offended you.)
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

More
03 Jan 2023 20:05 #260868 by cakeslob
The idea itself is interesting, I like the idea of record/replay. the angle jog thing was recently implemented also. Some of the things like corner radii and chamfers can probably be done in ngcgui/conversational

As a solution to reduced CAM time for prototype and smallrun jobs, you would get more value added time from optimizing your cam workflow, as opposed to offloading that wasted time onto the cnc machine. especially for small runs.

I mostly do 1 off parts and sometimes small runs, and generally spend more time doing CAM than doing CNC. I find any extra time spent doing CAM is worth it to minimize mistakes/ screwing around time. If you share a computer with people this might not be ideal.

Some tips for improving your CAM workflow:
- Toolpath macros/Importing toolpaths , Preprogram all your common toolpaths. I have files based on material, with preprogrammed drill,tap, circle milling, chamfer, counterbore, finish path, with all speeds/feeds/parameters set, so I only import the toolpath, select the geometry, and set the depth. this has reduced my CAM time by so much.
- Transform operations , I dont know what other CAM call this, but basically turing one toolpath into a subroutine and using it in multiple locations.
- Spend more time on your CAM program, so you can run the job unattended.
- Get several parts ahead of the queue, so you can program new parts while the current part it running.
- Use HSM toolpaths. contour roughing is slow and hard on the tools. COnstant chipload toolpaths are designed to be fast and remove lots of material. You could probably do CAM HSM toolpath of a complex contour and finish machining faster than the proposed method with the following contour thing.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

Time to create page: 0.211 seconds
Powered by Kunena Forum