/GrasshopperArsenal

Rhino/Grasshopper components to share / play with.

Primary LanguagePython

GrasshopperArsenal

Rhino / Grasshopper GHX components to share / play with.

If you'd like to add, please send a pull request! If you'd like to chat, I'm at @dantaeyoung on Twitter!

List of components

  • GoogleTranslate: Use Google Translate to........... translate text! GoogleTranslate.png
  • GrasshopperToFirebase: Use FirebaseListener to connect Grasshopper and Firebase!
  • PoseNet: Use PoseOSC to send realtime pose estimation data from your camera to Grasshopper!
  • FaceOSC: Use FaceOSC to send facial tracking data to Grasshopper!
  • reacTIVision: Use reacTIVision to detect fiducial tags and their movement!
  • PostUploader: Use C# to do a POST request to a REST api (namely, to upload a file to imagebin.ca).
  • ScreenshotTaker: Python-activated Rhino command to do ViewCaptureToFile.
  • LispHopper: Lisp (Hy), Python, and Grasshopper. What's not to like? LispHopper.gif
  • HungarianAlgorithm: Assignment problem between sets of points (for turning Owl T-SNE data to a grid) hungarian3.jpg
  • MetaDataWriter: Writing and reading metadata into Rhino geometry
  • SlackNotifier: Posting to Slack with Grasshopper & Slack Web API
  • TimerLocker: Enable/Disable timers with Grasshopper Boolean values TimerLocker.gif
  • GeometrySelector: Select Geometry with the mouse and send that info to others
  • SwivelFigures: Place scale figures and rotate them to align with camera, Sketchup-Style SwivelFigures.gif
  • JsonReader: Read JSON data from web APIS (and display lat/long info) JsonReader.gif
  • GisReader: Read GIS shapefiles as Rhino geometry (using localcode/finches)
  • SnippetTransferer: Using Andrew Heumann's Create Snippets code, send snippet as data SnippetTransferer.gif
  • FunctionalReduce: Reduce/Foldl in Grasshopper FunctionalReduce.PNG

Experimental / playful:

  • CameraTracer: Turns scribbles, captured via the webcam, into polylines CameraTracer.gif

Setup:

Before running the scripts,

  • Install IronPython: http://ironpython.net/
  • Run 'EditPythonScript' in Rhino; under Tools > Options, and in the 'Script Engine' tab, make sure that 'Frames Enabled' is checked.

Troubleshooting:

  • If you get the error: 'ScopeStorage' object has no attribute 'scriptcontext', Restart Rhino.

Note for future self about using libraries

Put this code at the start of your Python code to import libraries in '_LIBRARIES'.

## MAKE LIBRARIES IMPORTABLE ##
import sys, os
libraryPath = os.path.dirname(sys.path[0]) + "\_LIBRARIES"
if not libraryPath in sys.path:
    sys.path.append(libraryPath)
################################

Related:

Grasshopper Challenges: A set of challenges designed to teach Grasshopper by creating a set of active learning / problem-solving challenges -- learning-by-doing-and-solving, rather than learning-by-watching-videos.