Tag Archives: CAM

Spherical drop-cutter

For spherical cutters (a.k.a. ball-nose), the vertex-test (green dots), and the facet-test (blue dots), are fairly trivial. The edge-test (red-dots) is slightly more involved. Here, unlike before, I tried doing it without too many calls to “expensive” functions like sin(), cos() and sqrt(). The final result of taking the maximum of all tests is shown [...]

Kd-tree visualization

When vimeo has had time to process the video, this will show a visualization of the kd-tree search: http://vimeo.com/10241672 the code is probably still a bit buggy…

Youtube vs. Vimeo

I’ve continued to translate into C++ the old cam-experiments I wrote in C#. The kd-tree search for which triangles lie under the cutter seems to work, and the best way to visualize what is going on is through a video. Trying Vimeo for a change, to see if it’s any better than youtube for these [...]

Drop-cutter again

This is about my third rewrite of this fairly simple cam-algorithm where the cutter is dropped from above until it touches a triangle. It’s now in C++ with Boost-python bindings and with visualization using vtk. The cutter-location points are calculated by bringing the cutter into contact with the vertices of the triangle (green cl-points), the [...]

Mowing video moved

Jumpcut is closing, so I needed to move this video to youtube. This relates to my earlier posts here http://www.anderswallin.net/2007/12/mowing-tactics/ and here http://www.anderswallin.net/2007/06/an-emergent-spiral/ When I find time to work on this next, there are many ideas for improvements: How to specify only climb/conventional milling (allowing only the right or left side of the cutter to [...]

drop-cutter with kd-tree

First test with drop-cutter aided by the kd-tree. The output toolpath looks very much like the one without kd-tree, which is good. Less great is that I expected a speed-up of the algorithm – but in fact when I use kd-tree the program slows down! Something to investigate over the next few days.

Timing build_kdtree()

Drop-cutter requires a fast way of searching for triangles under the tool. A kd-tree (4-dimensional in this case) is suggested by Yau et al. I’ve tried to implement one here (look in trunk/Project2). Just ran some timing tests using Stopwatch() on it, and indeed the build_kdtree() function which takes a pile of triangles as input [...]

Z-map model for 3-axis machining

I’ve been reading about the z-map model for 3-axis milling. A working simulation environment would be very useful for CAM algorithm development. Coarse errors in the algorithms can be spotted by eye from the simulation, and a comparison of the z-map with the original CAD model can be used to see if the machining really [...]

Mowing Foam

Dan Egnor sent me this nice example of bitmap-based toolpath generation, or ‘pixel mowing’. It’s a slightly exaggerated topographic relief of San Francisco machined in tooling board using a very simple ‘lawn mowing’ toolpath generator. The explanation of how it works below is mostly Dan’s, not mine. This is the input to the toolpath generator [...]

Mowing tactics

Moving forward with the CAM coding, the sensible thing would probably be to work on mundane things like 2D offset generation, a kd-tree for faster drop-cutter searches, and zigzag-paths from 2D outlines… There’s again been some talk about open-source CAM on cnczone, but not much in terms of results or actual descriptions or implementations of [...]