Grasshopper

algorithmic modeling for Rhino

I'd been looking for a good way to automate the instantiation of text elements in a cut file for CNC-milling, and found many of the currently available single-stroke font solutions unsatisfactory.  I checked out this discussion, which provided a good starting point:

 

http://www.grasshopper3d.com/forum/topics/invalid-text-lines-single...

 

But I found that when I was trying to array a few thousand text elements with the tools I found there, calling the text command from vb in gh was making the whole process really pretty slow, so I developed a way to bypass standard text calls by making my own simple set of curves that represent different characters and dynamically arraying them on target planes.

 

I've attached both the Rhino file that I used to generate the base curves, as well as the GH file, which has both the means for making your own font and a cluster that should work standalone for anyone that wants to more easily array character tool paths with the curves I've already defined.  It's a bit of a hack, but the results are a lot cleaner and faster than the other solutions I've seen, so hopefully it can help a few people out.

 

Right now it just does spaces and:

 

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ/_- 

 

(keep in mind, it's case sensitive, so it will only recognize these exactly)

 

I just used these because they're all I need right now.  But the definition has all of the steps you need to build your own "font", or add onto this one if you like.

Views: 1730

Attachments:

Replies to This Discussion

Awesome this will help tremendously with the labeling, is there a way to to measure the length and width and height of each individual piece? I know I can physically measure them via grasshopper however that task would be tedious because each  2'x2' square contains 576 pieces :/.  

are you starting from a Rhino file?  Or are you generating your geometry entirely in Grasshopper?  It might be easier if you supply the file of what you're working with...

Awesome thanks for all your help David..I'm at work currently I will upload the definition as soon as a get home

David attached is the grasshopper file

Attachments:

Okay...so looking at your file, I'm curious about how you plan to mill these...although I don't have your reference geometry, in taking surface patches and extruding them you're actually generating a series of rectangular columns.  Typically, if you're using a standard flat-bed mill, you're either taking flat sheets of some material (like plywood or mdf or some type of acrylic/plastic/composite sheeting) and using the bit to rout out edge curves, OR you're taking a material (generally softer, like styrofoam) with some significant thickness and creating a sort of depth-topology on it with the routing bit.

If you want to do the latter, you really won't need much in the way of labeling, because your entire assembly would essentially be milled out a single piece of material.  If you want to do the former...you'll either have to quite a bit of complexity if you assemble each of your little extruded boxes from individual elements...or you'll need to use a material whose thickness is essentially the width of each subdivided element.

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