585,942 active members*
3,204 visitors online*
Register for free
Login
IndustryArena Forum > WoodWorking Machines > DIY CNC Router Table Machines > Open Source CAM software for DIY (simultaneous 3D movement) CNC machine
Results 1 to 18 of 18
  1. #1
    Join Date
    Aug 2012
    Posts
    0

    Smile Open Source CAM software for DIY (simultaneous 3D movement) CNC machine

    Searching for open-source CAM software with true 3d capability to use on diy CNC machine.

    Background:
    I'm a computer engineering student with little to no experience with CAD/CAM software or CNC machines. As part of a research team, we are building a basic CNC machine which will ultimately be able to print circuits onto 3d surfaces.
    [ame=http://www.youtube.com/watch?v=Ap1xC6vgLoM]Conformal printing of 3D electrically small antennas - YouTube[/ame]

    The CNC design will be very similar to this build.
    Easy to Build Desk Top 3 Axis CNC Milling Machine

    :wee:

    One of the main issues is finding software which will generate the appropriate g-code. All of the 3d printers I am aware of utilize g-code that implements a cross-sectional, layer-by-layer approach to printing (i.e. not truely 3d motor movement). For our build, this isn't an option.

    Idea:
    What I have discovered is CNC machines used for engraving which are capable of having simultaneous 3d movement.
    [ame=http://www.youtube.com/watch?v=zYpkpGfmPgE&feature=fvwrel]human head in maple - YouTube[/ame]

    Is software intended for engraving a viable option for this project? If so, what open-source versions would you recommend for a (poor) beginner? Thank you for any helpful input.

  2. #2
    Join Date
    Feb 2007
    Posts
    711
    that video looks like 5 axis.

    search google for cnc toolkit
    first link is open source cam plugin for free 3d program.

  3. #3
    Join Date
    Jan 2012
    Posts
    0
    Well, if you really want open-source (and/or free), there's HeeksCAD and HeeksCNC. There are also several closed-source commercial products (e.g. Cambam) that are customizable through user-written plugins.

    One thing I must point out: while most CAM and machine-control software allows simultaneous movement in all three axes, it actually isn't required for most 3D objects. That video you linked to showed three-axis movement (looked that way anyhow), but the shape being machined could just as easily be done 'raster style' with motion in X/Z or Y/Z only.

    If you do actually need three-axis motion to machine a shape, it's probably because there are under-cuts that really require a fourth/fifth axis (i.e. tilting the spindle) to do the job properly anyway.

  4. #4
    Join Date
    Apr 2009
    Posts
    5516
    If you use stl files you can try FreeMill though it's very limited, but a lot of folks use it.

  5. #5
    Join Date
    Dec 2006
    Posts
    202
    that video looks like 5 axis.
    ?? Looks like simple simultaneous 3 axis to me. Am I missing something?

    but the shape being machined could just as easily be done 'raster style' with motion in X/Z or Y/Z only.
    True, but it depends how smooth you would want it. And this strategy wouldn't work for what he is describing. He needs a continuous 3d path for a smooth flowing deposition of material. He's working with an additive process, not a subtractive one.

    You can do exactly what you are describing in software like MasterCam. But I'm guessing access or cost is a factor, that's why your looking for something open source? I'm going to suggest another possibility. Since you're a computer guy, you could write your own. If you have some scripting skills, this isn't necessarily as daunting as it might sound. Presumably you are 3d modeling (or scanning) the surfaces that you'll be printing the circuit boards onto. Since you'll already have that geometry in some sort of 3d modeling software, investigate whether it has a scripting language within it. Most do.

    The general strategy would be to draw lines onto this surface, where you want the tip of your 3d printer to travel (toolpaths.) You then use a script to travel along these lines and output a text file that translates 3d points in space into G-code. The CNCtoolkit software that was mentioned above does this, but it works in 5 axes. It also outputs rotational information to keep the spindle normal to the surface as it travels along the toolpath. If you do a search on this site, you'll find a script that someone wrote for Rhino3d that does this for 3 axis. Exactly what you are looking for. It works quite well and is very simple. It is written in RhinoScript, which is a variation on VBscript. These days you could do something similar in Rhino by using Grasshopper. In fact if you do some internet searching you'll probably find that this already exists. As another example, you might also want to look at Phlatscript, which is a 2 1/2 axis CAM plug-in for SketchUp. I think it is written in RubyScript. Any of these might be a good starting point to help you write a script that does what you need. Or you might be able to just use one directly, or make minor modifications to suit your exact needs.

    One thing to keep in mind is that these are probably very simple scripts, in that they do not do any calculations to compensate for the diameter or shape of the tool (I think phlatscript does, but it is only 2 1/2 axis so that is straightforward.) So if your 3d print head needs some amount of offset from the surface, you'll have to figure out how to add that either to the toolpath you draw, or as calculations that modify the X,Y,Z coordinates for the G-code.

    You may also need to very slightly tailor the G-code that is output to match the needs of the machine control software you are using. Not sure how many will function perfectly with canonical G-code?

    Since you are doing somewhat of a specialized task, it makes some sense to write your own code. You could also add information to the code that could control actions such as starting and stopping the deposition of your material.

    -Bob

  6. #6
    Join Date
    Jan 2012
    Posts
    0
    The only free multiaxis (more than 3 axis) CAM software for milling is the CNC toolkit.

    The CNC Toolkit - Creative Toolpath Control

    heekscnc is also free for 3 axis machines. im not entirely updated but i believe they have output capability for additive printing also. otherwise learn g code yourself and program manually. how is your print nozzle actuated?

    For additive processes, i know some commercial CAD/CAM systems have it, like catia (not free but cheaper for students).

    Other people have used matlab for scripting and controlling their robot for simpler stuff. see

    [ame=http://www.youtube.com/watch?v=cnO9EOacWUs&feature=plcp]Ballz Bot - YouTube[/ame]

  7. #7
    Join Date
    Dec 2006
    Posts
    202
    The only free multiaxis (more than 3 axis) CAM software for milling is the CNC toolkit.
    Yes, but it sounds like he is just planning on building a very simple 3 axis machine. The link to the instructables page is a 3 axis machine. The first video looks to be a 3 axis machine with the nozzle set at a constant angle. The nozzle does not appear to be rotating to stay normal to the surface. Whether a 3 axis machine will work for the OP's application might depend on how far around a curved surface he is planning to print.

    -Bob

  8. #8
    Join Date
    Jan 2012
    Posts
    0
    i dont think the first video is their work or related to their group's prior work. its something that is an inspiration for their current work?

  9. #9
    Join Date
    Jan 2012
    Posts
    0
    Quote Originally Posted by momus_cnc View Post
    ?? Looks like simple simultaneous 3 axis to me. Am I missing something?

    they are using a 4 axis system with the syringe nozzle at an angle to deposit those antennas.

  10. #10
    Join Date
    Dec 2006
    Posts
    202
    i dont think the first video is their work or related to their group's prior work. its something that is an inspiration for their current work?
    Agreed. And the OP only mentioned printing on "3d surfaces." We don't know what the topography of those surfaces might be. The video example happens to be half of a sphere, but they could be doing something with far less shape to it.

    they are using a 4 axis system with the syringe nozzle at an angle to deposit those antennas.
    There is at least a 4th axis of movement someplace, but the video or webpage gives no evidence of where it happens and no evidence that it is capable of anything other than 3 axes of simultaneous movement. We don't know if the nozzle is capable of changing its angle, which could give a 4th and possibly 5th axis. Since the part they are printing onto is spherical, which is a surface of revolution, the simplest solution would be rotating the part around its centerline between each pass. The article mentions being able to print on to both convex and concave spheres, but they could have simply chosen a fixed nozzle angle that could accommodate either scenario. So I'd guess they are programming 3 axes of simultaneous movement, and simple index moves in the 4th (something which can be very easily scripted.) Is this what you are envisioning as their 4 axis system?

    -Bob

  11. #11
    Join Date
    Jan 2012
    Posts
    0
    yep their system is an aerotech 3 cartesian axis stage and a newport rotary table. the semispherical shape sits on the rotary axis and rotates around for indexed priting. the 3 axis stage moves the syringe. the syringe needle is bent at an angle.

  12. #12
    Join Date
    Dec 2006
    Posts
    202
    Ah, good information!

  13. #13
    Join Date
    Aug 2012
    Posts
    0

    Smile more information

    Thank you all for your insightful advice. I will need to continue researching each of the individual options provided to determine the best approach. Scripting customized code may turn out to be the best method.

    As for the controlling the dispensing of silver ink from the print head, I have no idea. We will be using the same dispenser as used by the team in the first video.
    manual:
    http://www.nordson.com/en-us/divisio...ing-Manual.pdf

    According to page 13 of the manual, the dispenser can have commands sent to it via a 8-pin din port. We will need to come up with a way to interface between the main controller (sanguino) and the dispenser and squirt out ink based on the print head's current position.

    Also, is it an issue if the design of our CNC machine features a platform mobile in 2 dimensions (x and y axes) with the dispenser moving in 1 dimension (z) as opposed to a system with a stationary platform and the dispenser moving in 3 dimensions? This will have an effect on the type of g-code that should be generated, correct? It seems the platform will need to move in the opposite direction as supposed to position the print head correctly. Hopefully this makes sense.

  14. #14
    Join Date
    Jan 2012
    Posts
    0
    I believe the EFD nozzle is pneumatically actuated.

    If youre going what i call 'full circle', i.e. make and do everything in house, then g-code may not mean much to you anyway unless u adobt a similar motion control scheme. G-code is just a standardized control language that standardized motion controllers and software understand and turn into motion, often involving moving rotational elements like motors to create rotational or translated linear motion etc. If you are using a commercial motion controller, then you can probably still adopt the g-code. But CAM software does help with the trajectory planning though instead of figuring out the code yourself manually.

    kinematically it doesnt matter. as long as all 3 axis are orthogonal to each other and you have suitable workspace its the same. this is called a cartesian robot. how each one axis moves doesnt really matter, just make sure you are thinking in terms of the fabricated geometry axis. You want the motion (whichever direction the stage moves) to be + when you want to move in the + direction of the geometry, for example.

  15. #15
    Join Date
    Sep 2012
    Posts
    0
    Designing your own control system for a CNC, especially a 5-axis is incredibly difficult... Are you sure you know what you're getting into? I hope you have some Mechanical engineers on your team!

    Either way, this is a good book if you want to learn about the actual systems modelling, dynamics, and control involved in a CNC machine. [ame="http://www.amazon.com/Manufacturing-Automation-Cutting-Mechanics-Vibrations/dp/110700148X/ref=sr_1_1?ie=UTF8&qid=1347648092&sr=8-1&keywords=manufacturing+automation"]Amazon.com: Manufacturing Automation: Metal Cutting Mechanics, Machine Tool Vibrations, and CNC Design (9781107001480): Yusuf Altintas: Books[/ame]

  16. #16
    Join Date
    Oct 2005
    Posts
    2392
    Moving the ink dispenser in 3D can be done on a normal 3 axis machine running standard gcode, no problem there. It may need a 4th or 5th axis if you need to rotate the ink nozzle, but for many surfaces that might not be needed.

    I think the hard part will be to get or create software that will map the flat 2D circuit design onto the chosen non-flat 3d surface.

    The best approximation would be engraving software that maps a 2D text or logo onto a complex 3D surface, for engraving stuff onto trophies etc. That software is commonly available but needs 3D mapping of the object (so you need scanning or digitising hardware) and the engraving software is not cheap and will generally cost a few thousand dollars.

    The OP might not realise that their task for a "basic CNC machine" will be extremely difficult and cost a big bundle of time/skill or a big bundle of money (likely both!).

  17. #17
    Join Date
    Apr 2009
    Posts
    5516
    There is a shareware program that will take g-code and "warp" it on an STL relief or such, I don't remember the name. CNC Toolkit has this ability; one member here has used it to engravev on irregular surfaces.

    On my CAM software, it would be a trivial thing to take a pattern such as a PCB layout, and "project" it onto a 3D surface. You should be able to do this in CAD as well...

  18. #18
    Join Date
    Aug 2011
    Posts
    999
    The Planet-CNC machine controller (MK2 or MK2/4) has features that lets you scan a 3D surface with a touch probe in a specified grid, optionally save the result as .stl, and then "warp" (i.e. project) any flat toolpath to conform with this surface.

    You can also "wrap" a toolpath around a cylinder for a rotary axis.

Similar Threads

  1. Looking for open source or free CAM software that support 4 axis machine
    By Nont in forum CNC (Mill / Lathe) Control Software (NC)
    Replies: 9
    Last Post: 11-13-2010, 02:43 AM
  2. Open-source foam cutting software for XP.
    By moreil in forum CNC Wire Foam Cutter Machines
    Replies: 52
    Last Post: 08-27-2009, 04:02 PM
  3. Blender 3D CAD, Freeware, Open Source Software
    By der_fisherman in forum Uncategorised CAD Discussion
    Replies: 8
    Last Post: 06-04-2009, 04:58 PM
  4. electronics software ( open source/ free)
    By visky in forum OpenSource Software
    Replies: 0
    Last Post: 08-15-2008, 09:53 AM
  5. Replies: 16
    Last Post: 01-08-2007, 03:16 AM

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
  •