algorithmic modeling for Rhino

An idea to generate milling path / looking for a smarter point sequence

I am trying to generate a milling trajectory based on meshes produced by MeshMachine from Kangaroo.

The idea is to generate a set of points (the mesh's vertices) which can then be re-ordered to generate a trajectory.

For now, I use the "sequential closest points" component, but ...

In many instances, the sequencing creates "clusters" where indeed the distance between points is close to the mean length of the mesh edges, and when it moves to the next closest point, it crosses through the mesh, which is of course not suitable for a milling strategy.

I'm just throwing that out there to see if someone comes up faster than me with a smarter way of sequencing points ; one in which the line between two successive points never crosses the mesh surface.



Views: 4152


Replies to This Discussion

A version without Millipede.An hour with C# and it was done. 

Here a version with offset so there are not one path but many. 

PS. Millipede has a documentation in pdf, 86 pages. Not to bad. The problem with it is the message at the begining. 


I don't thing this is what you are looking for necessarily, but I got curious.  I used a simpler path to sort the vertices.  Pretty jagged.  You can control the spacing and rotation of the simple path.  I added some of that sweet tree black magic you love.


Hi Luis,


Now let's see how you handle this mesh.



I would like to find a way of programming this : "Spiral strategy" I'd call it.

This is just a fraction of my fin mesh, but it should work on any mesh.

The only drawback is that, from time to time, you need to "go backwards" a step when you are trapped in a "dead end".

This is OK in terms of milling, as long as you always go from a vertice to one of his neighbors, which, thanks to the MeshMachine, will never be very far away.


Yes.  I guess this would work in some, but not all situations, depending on the convexity of your form.  I understand you do not want to install plugins, but Ivy looks promising for this kind of stuff.  It could help you traverse the mesh vertices in a logical manner.

Not a perfect solution, but I might start like this (sorry, but I didn't have time to tidy up the definition):


Aha ! a bijection between the mesh points and a simple rectangular surface using UV coordinates... Very smart indeed !

I hooked this to the MeshMachine and used the average edge length as a spacing between guide curves : it works quite well.

It looks like I've got myself a workflow for surfaçing, hooray !

I'll definitely have a look at Ivy too.

So many tools, so little time...

Cheers !

Great little definition nonetheless.

Lots of stuff to be learned from it.

Thanks Luis.






  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service