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: 230
Latest Activity: Sep 8, 2023

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

how to save snippets... in the new version

plsthe most  attractive functionwheres it nowthank you very muchContinue

Started by weilai Apr 10, 2019.

THIS FORUM NO LONGER IN USE

Please refer all metahopper-related questions to the metahopper category on discourse: …Continue

Started by Andrew Heumann Nov 1, 2018.

Enable/Disable inside of clusters 2 Replies

Hi Andrew,I am attempting to use your Enable/Disable toggle inside of a cluster and it does not appear to work.  Is it possible I am doing something wrong or is this a known issue?Your plug-in is…Continue

Started by Ben Pearce. Last reply by Ben Pearce Jul 11, 2018.

Enable/Disable not working properly inside a Cluster

Hey guys,I'm using the MetaHopper Enable/Disable component inside a Cluster and I realized that it only updates when I change a parameter (check the "Components Inside Cluster" part of the example…Continue

Tags: metahopper

Started by jeffchicarelli Jul 4, 2018.

Comment Wall

Comment

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

Comment by Jo Kamm on May 20, 2016 at 6:47am

Thank you!  No other issues at this time.  

Have you looked into making a component to control/edit Panels?  It seems not entirely different from Set Scribble and Set Group.  It would be potentially useful for setting formatting and color, since it's already possible to set contents using Set Object Value.  

Comment by Andrew Heumann on May 20, 2016 at 4:21am

Jo - was an easy fix. download an updated version from the link above. Let me know if you run into any other issues. Thanks for catching this bug!!

Comment by Andrew Heumann on May 20, 2016 at 4:16am

Good catch Jo - I see this bug, never noticed that before. Will try to issue a fix today!

Comment by Jo Kamm on May 18, 2016 at 9:23am

Thank you, Andrew.  This plugin is fantastic! The Hide/Faint toggle alone is priceless.  All the controls for groups makes them functional, rather than merely aesthetic/organizational units.

I seem to be having a small issue with the Set Group Properties component - selections seem to accumulate, rather than being replaced successively.  This doesn't happen with Set Wires, Hide/Show, or Enable/Disable, but the same issue is present with Set Scribble Properties.  Is this an inherent problem, or might there be a local setting that is affecting this?

Comment by Andrew Heumann on May 9, 2016 at 8:52am

Martin - feed it a reference to an object (use "get selected objects" for instance) - and then supply a value. Here are the currently supported types:

Sliders - number values

Toggles / Buttons - Boolean values

Color swatches - color values 

Panels - text content as a string or as a "Wrapped list" of strings if you want to supply a list

Human Item Selectors / Value Lists - a single item to be selected or a "wrapped list" of items to select

Data Dams - a boolean value (true to "pass" data)

MD Slider - coordinates between 0,0 and 1,1

Comment by Martin Siegrist on May 9, 2016 at 2:54am

How does the Set Object Value command work? I can't figure it out

Comment by Rémy Maurcot on May 3, 2016 at 8:26am

Great job Andrew !

Comment by Andrew Heumann on May 3, 2016 at 6:41am

hey all... new version for download with some goodies :D

Comment by Rafat Ahmed on January 30, 2016 at 5:09am

Thanks Andrew, that's So Great and useful

Comment by Martin Siegrist on January 28, 2016 at 3:15pm

Awesome! Thank you

 

Members (230)

 
 
 

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