Grasshopper

algorithmic modeling for Rhino

Information

MetaHopper

Welcome to Metahopper - a tool for controlling Grasshopper with Grasshopper :)

This library contains a number of components and commands for querying and manipulating Grasshopper components dynamically. You can retrieve components and objects based on their type, their library, the group they're in, or by selecting them directly - or even get all the objects in a document at once. You can then retrieve information about these components + parameters, the libraries they belong to. You can also manipulate objects directly: enabling/disabling, turning preview on and off, changing the color of groups, the text and size of scribbles, and the shape of sketch objects.


MetaHopper also adds a new menu to the Grasshopper document editor, that wraps up several functions:

BestPracticize Selection lets you pick a group and auto-insert params for all the inputs and outputs coming into/out of the group. This makes for nice, tidy functional groupings that make your Grasshopper code easier to read. 

Save Snippet improves on an earlier script I released - it lets you select any group of components + objects and save them as a single user object - without needing to cluster them. This is useful when you want things saved that have internal UI elements - like a graph mapper or slider for instance - that you want to be able to manipulate with the reusable chunk of code you're saving.

Bottleneck Navigator opens up a window that lets you see all the components in your definition, sorted by their "Runtime" - how long it took them to execute. You can click on any item in the list and zoom to it instantly - so that you can find opportunities for optimization in your definition.

Download it here!

Members: 168
Latest Activity: on Sunday

Component Listing

Attributes

Set Group Properties

Set the name, color, and style of a group.

Control Wire Display

Control the display of wires for parameters and components.

Set Scribble Properties

Set the text, size, and font of a Scribble.

Hide/Show Object Preview

Programmatically control the preview visibility of specified objects

Rename Object

Programmatically set the nickname of specified objects

Enable/Disable Object

Programmatically enable/disable solving for specified objects

Set Sketch

Modify the form of an existing sketch object.

Bake Object

Programmatically bake the geometry of specified objects

Wire Display Toggle

Switch all document wires between hidden and faint.

Batch

BatchSlider

Converts a standard GH Slider into a variable input to the Batch Driver

Batch Animator

Saves a screenshot of every state of the model in the batch to a folder.

Batch Variable from List

Converts a list of values such as a series or range into a variable input to the Batch Driver

BatchDriver

Run a batch analysis across a range of variable parameters

Document

Param Info

Gets information about param objects

Object Info

Gets basic information from any DocumentObject

Assembly Info

Gets information about an assembly

Component Info

Get information about a component object. Retrieve components with Document Info, Get Attached Component, or Get Selected Component.

Document Info

Get information about the GH document and its components

Object Retrieval

Get Groups

Get all groups in the document

Get Connected Objects

Gets all components and params connected to this component

Get Objects of Same Library

Gets all components and params that are from the same library as the attached.

Get Selected Objects

Get the objects currently selected on the canvas

Get Scribbles

Get all Scribbles in the document

Get Objects of Same Type

Gets all components and params that are of the same type as the attached.

Get Objects in Group

Gets all components and params in the same group as this component (or the specified group if supplied)

Utility

Best Practicizer

Takes a selected group and inserts input and output params at both edges for any data that goes outside the group.

Highlight Objects

Highlight objects by adding them a new group

Set Object Value

Tries to set the value of an object. What value it sets varies by type - it sets a slider’s numeric value, a panel or scribble’s text contents, etc

Relative Path

Appends the directory this definition is saved in to a file path. Auto-converts the contents of a text panel containing an absolute path

Discussion Forum

Request: Instantiate Group

Hi Andrew,would it be possible to have an 'Instantiate Group' component in Metahopper? And a 'Get Last Created' component as well?Thank you for the great plugin!Continue

Started by Samuel Dell'Anna on Friday.

Batch Variable Use 1 Reply

Hello Andrew,I am trying to figure out how to use the Batch Driver / Batch Variable Tool to run an analysis across a definition : changing an input sequentially and recording a specific output. Is…Continue

Tags: Batch, Metahopper

Started by Xavier AM. Last reply by Xavier AM Mar 5.

Save snippets is crashing Rhino..

Hi Andrew,I have Rhino 5 Version 5 SR13 64-bit and the latest GH WIP for windows.I'm running bootcamp for windows on my mac.Save snippets is crashing and shutting down Rhino and GH completely.Any…Continue

Started by Doaa Feb 20.

Save snippet crashes Rhino 1 Reply

Hi Andrew,when I try to create a snippet with components received from a snippet itself my Rhino will crash.Best,phillipContinue

Tags: crash, snippet, save, metahopper

Started by phillip. Last reply by Doaa Feb 18.

Comment Wall

Comment

You need to be a member of MetaHopper to add comments!

Comment by Linluz on April 30, 2017 at 9:29am

The 14_RelativePaths.gh in the Example Files(2017-Mar-08)of  MetaHopper needs Shutterbug, could you please tell me where can I download it?

Comment by Vongsawat Wongkijjalerd on April 10, 2017 at 2:27am

Hm, does get/set-object not interface with the Data Recorder at all? :T

Comment by Jo Kamm on March 2, 2017 at 7:38am

Hi Andrew, 

Have you looked into the possibility of controlling icon/text settings?  A selector like the wire control component would be great.  

I use text settings for parameters acting as inputs and outputs (in a "best practice" style), and icons for pretty much everything else, so a selector would be handy.  

Or perhaps this capacity already exists in Metahopper?  

Thanks!

Comment by Andrew Heumann on February 19, 2017 at 12:42pm
Hi Doaa - that seems strange. What sort of platform setup do you use? Anything unusual like parallels on a mac or something? What version of rhino / gh?
Comment by Doaa on February 19, 2017 at 11:33am
Hey Andrew,
Save snippets crashes Rhino even after reinstalling it.
Any ideas?
Thank you
Comment by Vongsawat Wongkijjalerd on February 7, 2017 at 3:25am

Hi,
I'm finding the Set Obj + Data Dam component invaluable :) I'm wondering if its possible to start/stop as well as clear the recorder remotely with Set Obj or something similar?

Comment by AJ on February 2, 2017 at 2:15am

HI Andrew, while learning the HUI, you have directed me for using the Metahopper plugin. following your video, can i find the exercise files in order to practice? that would be sweet.

A

Comment by Frans Magnusson on January 30, 2017 at 1:27pm

I feel your pain Jens. Have started to write name nick and description in a textpad document that keep around for a couple of days - there is never such a thing as a final version :)

Comment by Andrew Heumann on January 30, 2017 at 12:29pm

Hi Jens - unfortuantely because this uses the same mechanism as UserObjects in Grasshopper, I cannot modify it - it is subject to the same limitations as they are. 

Comment by Jens Buch Johansen on January 30, 2017 at 7:43am

Hi Andrew

Really a fantastic plug-in you have made here - but I have one small request. Is it possible that you could make a way to edit snippets once they have been saved? It's annoying to spend the time writing the description and finding the right icon only to notice that you forgot a small detail and have to start over :)

 

Members (168)

 
 
 

Translate

Search Grasshopper

Photos

  • Add Photos
  • View All

© 2017   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service