Tag Archives: drop-cutter

Drop-Cutter examples

I’ve experimented with using OpenMP to calculate drop-cutter toolpaths on a quad-core machine. These now run reasonably fast. There are obvious lurking bugs with BallCutter and BullCutter still… Code is here: code.google.com/p/opencamlib/ (if you know C++, computational geometry, and cnc-machining, or are willing to learn, this project needs your help!) See also: styrofoam spider

Toroidal drop-cutter

A one-triangle test of drop-cutter for toroidal tools (a.k.a. filleted-endmills, or bull-nose). The blue points are contacts with the facet, and the green points are contacts with the vertices. These are easy. The edges-contacts (red-points) are a bit more involved, and are done with the offset-ellipse solver presented earlier here(the initial geometry) and here(offset-ellipse construction) [...]

Offset ellipse, part 2

More on the offset-ellipse calculation, which is related to contacting toroidal cutters against edges(lines). An ellipse aligned with the x- and y-axes, with axes a and b can be given in parametric form asĀ (a*cos(theta) , b*sin(theta) ). The ellipse is shown as the dotted oval, in four different colours. Now the sin() and cos() are [...]

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 [...]

Drop-cutter Tux

After the kd-tree search is done, I’ve added an overlap-check which leaves only triangles with a bounding box intersecting the cutter’s bounding box for the drop-cutter algorithm. It’s seems like a band-aid kind of hack to get it working, I think if the tree-search would be bug free the overlap check would not be needed… [...]

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 [...]

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 [...]