algorithmic modeling for Rhino
This script combines:
- Parallel Surfacing
- Curve Profiling
- Point Defined Hole Tap Drilling
into one overall script with simplified and common slider inputs. Individual tasks are clustered for editability, and can be connected/disconnected from the final G-Code Panel to make smaller separate milling operations or one cumulative one.
The results have been tested in NCsim. To be milled in blue foam tomorrow. Plunge Roughing not yet clustered and incorporated into the overall program. Image, source file, gcode, and script attached below.
Enjoy
T.
Comment
Most recent version: http://www.grasshopper3d.com/profiles/blogs/updated-grass-cam-overa...
is there a way of posting files other than in blog posts or conversations? Something like a personal bookshelf of files? I have them on other sites and my local machine, but nowhere on this site.
I'm afraid I am a little confused by your question regarding pockets smaller than the tool diameter. As I see it, from testing that situation, when there is a pocket smaller than the tool diameter, there is invariably a point on that projected tool diameter that resides above pocket, on the surface.
That particular step of the tool will then be located at the centerpoint of the tool diameter projected to the Z-plane of that projected control point. From my understanding, you are describing the exact purpose I am projecting the tool diameter, finding the highest control point on that projection, and only plunging to that Z-plane, to avoid an errant control point being in a pocket, and having the tool plunge to that depth despite it's radius. Image attached. Perhaps you could create the scenario you describe in the script and post an image for my understanding?
Hi Taylor,
Nice thoughts, I am aware that your algorithm may not address walls properly in both directions.
Imagine a circular pocket on a surface, where the diameter of the pocket is smaller then the end mill diameter, your algorithm will hit the walls of that pocket when trying to go into it. Walls that are parallel to the direction of sweep is even more difficult to compute. Check that book out if you have time. It presented a number of famous problems dealing with surface analysis.
I've been thinking about that problem. In the Y axis, the issue is resolved by small enough stepovers as the material left by the cylindrical radius is cut by the following contour. The X axis is a different story. See sketch below.
The first option and perhaps the simplest to program, would be to do a second parallel surfacing perpendicular to the first. In doing so the issue is resolved as in the Y axis, AND the scalloping from the first process is cleaned up.
The second option, which I find interesting for projects that will only receive one finishing pass, would be to:
- check the normal angle of the point following the one being projected
- determine the point of contact on the cutter geometry (in this case a semicircle, viewed in elevation) with that normal
- evaluate the radius of the cutter at that angle
- project THAT radius at the point being cut.
In this way the cutter tool is predicting the normal of the surface to come, by one step, and using a more appropriate tool radius for it's Z offset that a simple tool diameter.
I think for the time being I am going to focus on some other operations of the upcoming internship course, keeping this in the back of my mind as an alternative to multiple parallel surfacing passes for finished pieces.
Thanks for bringing it up, I had rationalized to myself that the stepovers resolved the whole problem, when they only did in the Y axis.
I like the way you use the project cutter method to find the touching point of the surface. As I was thinking about how to write a simple but versatile CAM plugin, I came across this treasure book: http://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/
I didn't have time to read it through yet, but it is definitely interesting.
Not sure, how to best do projection with Ball-end mills though..
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by
You need to be a member of Grasshopper to add comments!