Grasshopper

algorithmic modeling for Rhino

1. The pipe component with caps on, created this original tree type branching geometry.
2. I then Boolean inter sectioned to cut the pipes horizontally, manually in Rhino.
3. I also manually Boolean treated some of the pipe intersections in Rhino
4. I want to create a path for a bulb nose CNC bit to cut all the branch paths to the depth of the half pipe.

Question:1
Does the half pipe path for CNC cutting need to be entirely Boolean free and uninterrupted?
Note: 10 lane pipe intersection at the center of the pic has not been dealt with yet.

Question:2  Are there other GH components that are capable in helping with this type of Boolean pipe cleanup?

TIA!

Views: 1898

Replies to This Discussion

Post your def (In the mean time: are you routing "skin deep" items [NO thickness] for CNC? or this is a negative mold of some sort?).

A friend of mine has a CNC setup, consisting of a 4'x8' Table run by a Galil motion controller.
I have no previous CNC machining experience to draw upon, .....yet! (but we all have to start somewhere, don't we :))
My idea is to create some 4' x 4' Art work, cut the 1/2 pipe profile relief into either High density foam, or layered Plywood.

Attachments:

why not just create a line and program the CNC to follow it with a ball nose cutter? Do you need to model the surfaces?

I can see a center line tool path approach working. if the half pipe were concave to the surface.

Would that also work if a different CNC bit were used that carves the Pipe concave to the surface?

Hi Kim, Do you want to create something like this but then using a ball-nose bit instead of v-bit and not different z-heights? Because then you'd only need to create the 2D curves and load it in your cam-software. (although I gotta admit I don't know Galil motion controller)

Hi Siemen:
Lets take your "this" example. I throw out the pipe component and use whatever bit I want, its regulated by the z height to follow the 2d curve.
1. Can GH and or Rhino help me generate the appropriate g code ?
or
2. Am I tied the Galil controller software to generate the g code ?

Yeah I don't know what Galil needs for gcode. But I guess if you manage to find out how it controls the cnc mill you can try to generate that code in grasshopper.

A possible way to do so is take a basic square shape and use the postprocessor you (or your friend) now use and generate whatever your control software needs. Try to compare the settings to that code to find out what is what in order to recreate that postprocessor in grasshopper. It's a bit hard to tell without knowing more about the Galil controller software, I tried googling it but didn't got much wiser out of that.

I get a clearer picture, from the discussion so far the GH pipe geometry cleanup, has nothing to do with the CNC milling process.
Unless one was actually going to manufacture a pipe branch structure where the pipes needs to be precisely cut to fit the joints so they can be welded together.

But back to my original question, lets say a client wants something much larger, say a 3" dia. half pipe, cut out of some material. A single 2d curve would not work since no CNC bit would be that large. Would I have to generate multiple 2d curves in GH, to cover such an event? or is that the job of programing the Milling software to make those multiple tool paths?

You might have more success if you can boolean union all the pipes and then subtract the result from a block that represents the foam or plywood that you will cut them from.

To generate g-code for a CNC that just moves the tool along straight lines and arcs would be reasonably straight forward... each cnc machine has a certain format of g-codes.

e.g.

G0 X Y Z might mean rapid traverse to co-ordinates (X,Y,Z)

G1 X Y Z F1000 might mean traverse to (X,Y,Z) at a feed rate of 1000 units per minute

There will also be g-code to move the tool in an arc of radius R with a start point and end point and a direction.

Sometimes the coordinates are absolute and sometimes relative to the current position.

You have to be quite careful that you have checked your g-code before running it on a CNC machine in case you crash it!

Beyond just moving the tool along straight lines or arcs, you would need to generate the lines and arcs that would remove the material contained within your surface - the toolpath. One strategy for doing this would be to work out a toolpath that zig-zagged it's way within the boundary of your surfaces in such a way that each pass of the tool overlapped by a predetermined amount (usually 40% of the cutter diameter) and at a depth of cut and feedrate that is suitable for the CNC machine, the tool being used and the material being cut. Then repeat, decreasing Z each time until all the material has been removed. The smaller the step of Z and the tool overlap (sometimes called stepover) the better the result will approximate your surface. The bigger the step, the quicker the job will machine (shorter toolpath) but the more stepped the final surface will be.

Working out the toolpath can be quite complicated before you even turn the toolpath into g-code.

 Some people have attempted this using GH though, even for 5-axis machines, so it's not impossible.

Thanks martyn:

that's very informative. I also understand there is software that lets one visualize the cutting process in 3d. The software requires inputs for the particular CNC bit or bits to be used, a tool path is then generated, based on the bit or bits used, and finally the cutting takes place in 3d. The software then also generates the G code.

Is this becoming the preferred method, or are there still teething problems?

Well there are lots of software that can generate g-code. Some do it from an STL mesh (Like Mayka) some can recognise geometry features instead of just following a mesh so you get a bit more control over the machining strategy. Some can just be programmed from lines, arcs and curves (although many CNC machines get confused by NURBS curves so you need to convert them to lines and arcs) If you are just machining a rectangular pocket, you just need to know the curve representing the boundary of the pocket and the software would offset the toolpath inwards depending on the cutter diameter and generate paths that step down by the depth of cut you wish to make until you reach a specified depth.

Try CamBam software. There is a free demo that gives you 40 uses with full functionality. It can work from a DXF file, an STL file for surfaces or you can create simple lines and curves within the software. Follow a tutorial online - it's easy to use! You will notice one of the settings is which post processor to use... each CNC will be controlled by a processor. My home built, mostly firewood producing, CNC router uses Mach3 software running on an XP pc to control the CNC router so if I use CamBam to generate the g-code I have to tell it to use the Mach3 post processor so it generates g-code that Mach3 will understand. More industrial CNC machines could have FANUC controllers (for example) so you would need to have a FANUC post processor to generate g-code for that. There will be a post for Galil but I don't know if CamBam has this.

If you google for CAM software you will find loads, there is also a RhinoCAM... probably several that integrate with Rhino.

Some CAM software do have a simulation module so you can preview the toolpath and tool motion. Some can do collision detection which may help avoid smashing your CNC machine with an incorrect g-code move!

Nice explaining Martyn.

Have you already been to your friend to see how his cnc works and how he sets toolpaths? If not I suggest doing so, it will help understanding the full process.

In the case of a 3D milling job, like you want to do with that diameter half pipe, you do need a 3D model and let the software generate the toolpaths and gcode. And then I think you do need an uninterrupted surface.

You could do the gcode generating completely in grasshopper, but I suggest getting familiar with the CNC mill before going there.

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service