585,997 active members*
4,844 visitors online*
Register for free
Login
IndustryArena Forum > CAM Software > Uncategorised CAM Discussion > If I were to make a CAM software, what topics would I need to learn?
Results 1 to 8 of 8
  1. #1
    Join Date
    Aug 2014
    Posts
    52

    If I were to make a CAM software, what topics would I need to learn?

    This is more out of curiosity than anything, but I'm wondering what topics I would need to learn to make a basic CAM software. I am thinking I would need to learn computational geometry, planning algorithms, and inverse kinematic control. What am I missing? Any advice? Again, I'm not planning on actually writing a full CAM package, but it seems like it might be interesting to get a few books to browse through, who knows what will happen.

    If this is in the wrong forum please let me know

  2. #2
    Join Date
    Mar 2014
    Posts
    44

    Re: If I were to make a CAM software, what topics would I need to learn?

    Take a look at shapeoko, they made their own cam software in adition ti a very basic cnc machine. As basic as a non miller needs. Learn from thrm

  3. #3
    Join Date
    Aug 2014
    Posts
    52

    Re: If I were to make a CAM software, what topics would I need to learn?

    I can't seem to find any CAM software made by them, they recommend MakerCAM on their wiki. Which CAM software are you referring to?

    Edit: Scratch that, looks like the Shapeko creator updated an old CAM software called PartKAM. So you are right, MakerCAM is Edward Ford's creation. Interesting.

  4. #4
    Join Date
    Mar 2003
    Posts
    35538

    Re: If I were to make a CAM software, what topics would I need to learn?

    It really depends on what you want your software to do.

    Simple CAM programs just convert 2D CAD drawings to g-code. I wrote an AutoCAD macro that does this. Basically, all that you do is parse the file, and write the appropriate g-code commands. All that's needed for this is basic math, and maybe a little trig.

    If you want the CAM to automatically calculate toolpaths, then you need to program algorithms to do what you want. These can range from very simple, to very complex. It's really up to you.

    You shouldn't need to know anything about IK unless you're creating toolpaths for a 5 axis machine.
    Gerry

    UCCNC 2017 Screenset
    http://www.thecncwoodworker.com/2017.html

    Mach3 2010 Screenset
    http://www.thecncwoodworker.com/2010.html

    JointCAM - CNC Dovetails & Box Joints
    http://www.g-forcecnc.com/jointcam.html

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  5. #5
    Join Date
    Jun 2014
    Posts
    39

    Re: If I were to make a CAM software, what topics would I need to learn?

    I'm a professional software engineer who'se gotten old and bored with it, I'm having more fun making stuff that weighs something. I've written CAD and CAM software, I feel like I'm qualified to answer this.

    You'd need to learn low level programming to do things like the motor drivers.
    You'd need C and C++ cause that's what a lot of this stuff is writtten in, or in a language atop them.
    You'd need to know computer graphics, for obvious reasons to display stuff, and because many of the algorithms you'd use would come from there
    It'd be helpful to know some computer vision because many algorithms come from that field
    You should know a modern functional language to actually write the thing in
    You should know constraint programming because lots of algorithms like snaps and thinning depend on it
    And you should know some logic programming because you'll end up needing to reason to resolve constraints
    And if your CAM program ended up having an embedded language you'd want to know some language theory
    You'd want some experience with numerical computing and numerical stability, you could get that by either taking a course in it or by studying some real time physics.

    Now, the list above is sort of 'if I wanted to start my own auto plant what do I need?', You could certainly get by with a lot less. But yes, computational geometry (covered under a couple of my topics) and planning are topics you'll need. You'll only need IK if you plan on doing IK stuff.

  6. #6
    Join Date
    Nov 2007
    Posts
    2151

    Re: If I were to make a CAM software, what topics would I need to learn?

    Quote Originally Posted by Anniepoo View Post
    I'm a professional software engineer who'se gotten old and bored with it, I'm having more fun making stuff that weighs something. I've written CAD and CAM software, I feel like I'm qualified to answer this.

    You'd need to learn low level programming to do things like the motor drivers.
    You'd need C and C++ cause that's what a lot of this stuff is writtten in, or in a language atop them.
    You'd need to know computer graphics, for obvious reasons to display stuff, and because many of the algorithms you'd use would come from there
    It'd be helpful to know some computer vision because many algorithms come from that field
    You should know a modern functional language to actually write the thing in
    You should know constraint programming because lots of algorithms like snaps and thinning depend on it
    And you should know some logic programming because you'll end up needing to reason to resolve constraints
    And if your CAM program ended up having an embedded language you'd want to know some language theory
    You'd want some experience with numerical computing and numerical stability, you could get that by either taking a course in it or by studying some real time physics.

    Now, the list above is sort of 'if I wanted to start my own auto plant what do I need?', You could certainly get by with a lot less. But yes, computational geometry (covered under a couple of my topics) and planning are topics you'll need. You'll only need IK if you plan on doing IK stuff.


    All of the above gives a person a great deal of insight when using other peoples programs also!

  7. #7
    Join Date
    Jun 2014
    Posts
    39

    Re: If I were to make a CAM software, what topics would I need to learn?

    Bizarrely, sometimes not!

    I've been climbing the same learning curve learning all the CAM software that everybody else on this forum is climbing.
    Sometimes it helps - when I 'lost' my XML file (doh, had the software selecting the wrong config file!) I was able to analyze all the backups by writing logic software that reasoned about the config files, but
    it sometimes still takes me a while to figure things out. I'm sitting here with a board with a pretty chewed up surface, trying to figure out what's off in my V carve settings right now, and I've spent a couple hours
    struggling with moving data from Illustrator to Aspire.

    Still, have fun! Read all that stuff! it's interesting! Half the people on here are hobbyist machinists, there's room for hobbyist programmers - it's all about love of turning the regularity of the universe into beautiful things.
    If you run into problems figuring it out, ping me, I'll try to help.

  8. #8
    Join Date
    Mar 2014
    Posts
    44

    Re: If I were to make a CAM software, what topics would I need to learn?

    Is not from Edward Ford but from Inventables, the main part supplier for Shapeoko. Here is a link Using Your CNC Mill Sucks a lot Less With Inventables’ New App | MAKE

Similar Threads

  1. Replies: 0
    Last Post: 03-25-2012, 10:29 PM
  2. new guy, trying to learn the gibbs cam software !
    By frankie al in forum RFQ Feedback
    Replies: 2
    Last Post: 05-17-2010, 04:48 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •