Grasshopper

algorithmic modeling for Rhino

Can anybody help me please. I have a stl format file. I need to import it to Monolith (vol format). How can I do that? I found Rhino and Grosshopper useful in converting stl to vol format, but the problem is Grosshopper as I do not know how can I import stl to Grasshopper. Can you please guide me and let me know how can I convert stl to vol. Thank you very much guys.

Views: 5474

Replies to This Discussion

Background: "The Monolith plugin for Grasshopper (which is included with the installer) provides features for importing, exporting, and modifying voxel files."

http://www.monolith.zone

The Monolith site claims a Grasshopper plugin is included, but I don't see anything like that nor anything new in my special folders, or anything in the install folder which was oddly in the 32 bit Program Files.

More background:

http://3dprint.com/40553/monolith-photoshop-on-steroids/

http://moi3d.com/forum/lmessages.php?webtag=MOI&msg=7250.1

http://paulbourke.net/dataformats/vol/

I'm interested, with some Python component skills in file reading/writing, but I don't know how to find the Monolith on switch, what actual buttons to push to make it appear. The program itself lacks any example files, and won't even itself just voxel fill an STL, which is kind of lame, and thus your dilemma I guess.

I also have the Geomagic Freeform voxel modeler that eats bad STLs for breakfast to turn them into voxels, but don't think I can translate files for that easily, despite a few formats:

Here is the first half of an answer, how to import the actual raw STL file, but now it will need a script to convert it to a Rhino/Grasshopper mesh. STL files specify each face separately as three vertices, whereas Grasshopper wants a list of all unique vertices then a separate list of connectivity that is lists of vertex numbers that define each face.

As for scripting, you can either operate on the text STL (ascii format, not binary!) directly, or you can also just issue Rhino command lines so Rhino itself does the work, which may be simpler and perhaps faster too.

Here I awkwardly convert an STL file to a mesh, which takes 2 seconds by parsing the text file into extracted numbers paired with a contructed vertex list of faces:

Avoid spaces in your file name, as good practice.

Attachments:

Python is a bit faster (1.6 seconds) if I read the file directly from code, but very slow if I use the Grasshopper Read File component to grab the STL file as text to input into Python via wire, which alone takes 8 seconds minus any other code:

Thanks to Google, Python coding is damn easy since English language questions about how to do something immediately gives peer reviewed and rated answers from stackoverflow.com and other sites. Much better than long reference manuals by single authors! My 19 lines of code were thus a lot easier and less frustrating then the 22 Grasshopper components with assigned numbers and wire input modifiers.

You do have to reverse the Windows backslashes with forward slashes in the file path Panel.

OK I was being dumb for historical reasons of how I learned to build a mesh for a different quirky application, and am now down to 15 lines and it only takes 0.3 seconds, so after all Python is much faster than Grasshopper alone:

The Append command is a direct Rhinocommon command that lets me take individual faces from the STL treated as an entire mesh and add them one at a time to a real Rhino mesh with redundant vertices combined.

Attachments:

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