Archive of the former Yahoo!Groups mailing list: Homebrew PCBs

previous by date index next by date
previous in topic topic list next in topic

Subject: Re: [Homebrew_PCBs] Anyone milling PCBs?

From: Bob Butcher <bbutcher85@...>
Date: 2016-01-04

That is a good idea. You must have at least Windows 7 and must have a 64 bit system for it to work however.

Bob


On Sunday, January 3, 2016 4:05 PM, "Aaron Turner synfinatic@... [Homebrew_PCBs]" <Homebrew_PCBs@yahoogroups.com> wrote:


 
I'm curious- has anyone tried using Fusion360 for CAD/CAM for milling PCB's?  I've used Fusion360 with great results for designing parts for my 3D printer and it includes a pretty decent CAM module I'm told.  And unlike BobCAD, it's free if you make less then $100k/year using the software which makes it a great choice for non-professionals.

--
Aaron Turner
https://synfin.net/         Twitter: @synfinatic
Those who would give up essential Liberty, to purchase a little temporary
Safety, deserve neither Liberty nor Safety.
    -- Benjamin Franklin

On Sun, Jan 3, 2016 at 11:39 AM, Bob Butcher bbutcher85@... [Homebrew_PCBs] <Homebrew_PCBs@yahoogroups.com> wrote:
 
I purchased BobCad CAM a couple of years ago, and find it very helpful. All you need to do is define the origin when starting a layout (I use the left rear corner of the board) and move your tool to that position and set X & Y to zero. BobCad CAM is quite expensive (I paid $800), but I do quite a bit of CNC machining in metal as well, so it does save a lot of time. I am using Mach3 to run my milling machine, and BobCad CAM has a post processor that makes it easy to create GCode files. BobCad CAM allows you to chose a toolpath and a tool and if you need to change tools, you can add a few lines of code to the NC file to remind you to change tools at the correct time. Mach3 does include a CAM converter called EasyCam, but I have not tried it. There is a learning curve to using the software, but that is always true to some extent.
 
Before I purchased BobCad and Mach3, I used a JAVA program that I wrote to convert DXF files to native Galil code which I could run using my Galil DMC 1850 interface board in my PC. It was quite time consuming to do this conversion,. but it did work most of the time.

For very simple boards you could probably manually write your own GCode, but that will sometimes lead to errors and broken tools or destroyed boards when you make a mistake.

If you have a program to create DXF files of the layout, you can open them in any program that reads text and extract the co-ordinates easily (well maybe not so easily). Try opening a DXF file sometime and search for ENTITIES. The text following that keyword has all the information you need, but it can be a bit of a job to interpret. For example a series of lines reading:
LINE
  5
6E0
330
1F
100
AcDbEntity
  8
ROW1
100
AcDbLine
 10
-0.1750000000000043
 20
1.830865704890999
 30
0.0
 11
-0.1750000000000131
 21
3.136198601993994
 31
0.0
  0

First this is a line. The layer is ROW1 if you care. The number 10 means the next line of data contains the starting X value,

The number 20 means the next line of data contains the starting Y value, The number 30 means the next line of data contains the starting Z value. The number 11 means the next line of data contains the ending X value,
The number 21 means the next line of data contains the ending Y value, The number 31 means the next line of data contains the ending Z value.
So this is a line from point -0.1750000000000043, 1.830865704890999, 0.0 to -0.1750000000000131, 3.136198601993994, 0.0
The final entry of zero indented one space means the end of that entity.

Circles and Arcs get kind of weird, since the DXF standard uses starting point, radius, and bulge to define am arc. I avoid curved lines and pads in my layout when trying to interpret DXF files.

If you really want to pursue this subject, you can Google DXF and find the protocol used to define various items.

Another potential (or real) problem is the DXF file lists the entities in the order drawn in your CAD program, so any motion may not be optimized very well. Another pitfall in hand coding is that you need to manually determine when to raise and lower the tool. Typically I lower the tool and cut a full island, then raise the tool for the move to the next island start.