
08-14-2007, 01:47 AM
|
| | | Join Date: Nov 2004 Location: US
Posts: 23
| |
Ok. So I haven't really done anything for over a year on this. I stopped working on the PerlCAM program a long time ago. I'm a student and during the school year, I don't get a lot of time to work on this stuff.
Anyway, last night, I started working on writing a CAM program again. This time in Java. So far I've written a 3D viewer, STL parser, depth calculator, and a bunch of code for handling solid geometry. At the moment, it can produce depth maps suitable for 3-axis milling, but it is buggy and extremely slow at processing.
I hope to have usable 3 axis surface milling working by the end of the week. My planned algorithm actually supports an arbitrary number of axis and non-Cartesian coordinate systems. It also supports arbitrary tool shapes which can be loaded from mesh models (would be particularly useful for EDM). The trade off is that it is very slow. Realistically though, I will probably have to limit the functionality to improve processing speed. At the very least, I expect it will support 5 axis milling (or 6 axis, if there was any reason for it) by repeating the 3 axis calculation with various rotations. However, since my MaxNC mill only have 3 axis, I probably won't be spending that much time getting it working for more than that.
I am somewhat new to dealing with solid geometry in programs, so I am probably doing a lot of things the (computationally) hard way. Right now, if there is a 20,000 triangle model loaded, to create a 300x300 depth map the program must solve 10.8 billion parametric line equations (I just did that and it took about 30 minutes). I am considering a few methods to limit this search, any of which should speed up the process hundreds of times. |