Grasshopper

algorithmic modeling for Rhino

Information

Human

Welcome to Human for Grasshopper!

Because humans are animals too!

Any similarity to my own name is, of course, a pure coincidence.

What does it do?

There are two sets of components with different functions:

Human.gha

Extends Grasshopper's ability to create and reference geometry including lights, blocks, and text objects. Also enables access to information about the active Rhino document, pertaining to materials, layers, linetypes, and other settings. 

Includes the following components:

(Those in bold are new components with this release.)

  • Object Creation
    • Bake Geometry with Attributes
    • Create Hatches
    • Create Justified 3d Text
    • Create Lights
    • Define Block
    • Place Blocks
    • Create Object Attributes
  • Display
    • Custom Display with Variable Lineweights
    • Custom Display with Bitmap Textures
    • Render Text to Screen
    • Render Mesh to Screen
    • Render Curve to Screen
    • Render Point to Screen
    • Screen-Oriented Text
    • Screen-Oriented Mesh
  • Document Information
    • Font Table
    • Material Table
    • Layer Table
    • Hatch Pattern Table
    • Linetype Table
  • Document Modifications
    • Create/Modify Layers
    • Create/Modify Materials
  • Miscellaneous
    • Document Units
    • Directory Contents
    • Delete Objects on Layer
    • Dynamic Item Selector
  • ​Reference
    • Dynamic Geometry Pipeline
    • Explode Hatches
    • Explode Blocks
    • Explode Blocks Recursively
    • Get Object Attributes
    • Light Properties
    • Sort Objects by Type
    • Text Object Info
    • Get Objects by Selection
    • Get Objects by Layer
  • Texture Mapping
    • Planar Mapping
    • Box Mapping
    • Spherical Mapping
    • Surface Mapping
    • Cylindrical Mapping
    • Custom Texture Mapping

TreeFrog.gha

This add-on includes a set of components to aid in the advanced manipulation of data tree structures.

Includes the following components:

  • Assign Paths 
  • Graft by Data
  • Match Paths (this is pretty much the same as GH's native "Unflatten" - but it came first so I'm leaving it in :D )
  • Path Description
See the images and reference files for a detailed explanation of the function of these components. 

I'd also like to acknowledge the creators of Horster Reference, the first Grasshopper add-on to expose advanced reference functionality. These components definitely build on the work they have done, although they take a slightly different approach.

To install:

  • In Grasshopper, choose File > Special Folders > Components folder. Make sure you delete all earlier versions of HDTReference.gha, TreeFrog.gha, and Human.gha if there are any. Save the gha file to that directory.
  • Right-click the file > Properties > make sure there is no "blocked" text
  • Restart Rhino and Grasshopper

 

Website: http://www.food4rhino.com/project/human
Members: 360
Latest Activity: Apr 27

Reference Guides

Discussion Forum

New version of Human for download 51 Replies

It's been more than a year since the last release of Human - so I'm excited to share with you the latest version, packed chock-full of new functionality. See the release notes for details on the new features. A few of my favorites:Ability to define…Continue

Started by Andrew Heumann. Last reply by Nick Tyrer Jan 26, 2016.

Comment Wall

Comment

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

Comment by Yuvizzle on February 10, 2013 at 2:34pm

Hi Andrew, 

Thanks for the incredibly quick response!

I am attaching the definition and the rhino file.

Orient%20object%20to%20surface%20normal_BLOCKS.gh
Test.3dm

Comment by Andrew Heumann on February 10, 2013 at 2:03pm

Hi Yuval - can you upload your definition? I'd be happy to take a look, but from your description it's hard for me to tell what the issue is. The box to box transform component requires boxes as input, which can be oriented however you want; if you give it other geometry, it will automatically calculate the world-oriented bounding box around that geometry, which might be the source of the problem. 

Comment by Yuvizzle on February 10, 2013 at 1:54pm

Hi Andrew,

Thanks for sharing this very useful plugin. Just one question- I am trying to get several blocks to orient along a surface by connecting my existing grasshopper definition originally made for a brep to the one that you describe in "create block instances to Rhino." Everything is working except for the vector that orients the brep along the surface is lost when plugged back in to boxB in the Box2Box button- that is, it just creates a block that is rotated about the z axis but distorted about the other axes. Is there anyway to plug in this information into boxB, or can boxB not be rotated about the x or y axis (this might be what you mention in the conversation with Frane below, but I am not sure if there has been an update)? Retroactively turning copied geometry into blocks would also solve my problem, although I guess this is quite a complicated task.

Thanks,

~Yuval

Comment by Andrew Heumann on January 10, 2013 at 2:00pm

hi Phillip -

This is a great question. To be honest I currently have no idea!! Something I'm working on. Thanks for mentioning it - Glad to know it's not only on my machine.

Comment by phillip on January 10, 2013 at 9:24am

Hi Andrew, 

is there a special reason why justified text takes forever, once you input grafted lists?

Thanks,

Phillip

Comment by Erick Vásquez on December 13, 2012 at 4:36pm

Hi Andrew, when I bake JustifiedText3d, the color is lost, that's why I keep using the cluster who published few months ago, but what seems to me useful is the script (getSystemFonts). could help me how to connect the script font to cluster? or fix this please, thanks in advance.

Erick.

Comment by Andrew Heumann on November 13, 2012 at 10:29pm

Hi Remy - at present, the explode blocks component will successfully explode blocks within blocks. It operates recursively, exploding them all the way into usable geometry in one go. Do you simply need to access the geometry, or do you need to be able to somehow address all the layers of hierarchy, as in a structured data tree based on the levels of nesting for instance?

Comment by Rémy Maurcot on November 13, 2012 at 10:30am

Please Andrew,

Can you tell me if I can recover blocks in blocks?

Blocks include children and parents.

Comment by Andrew Heumann on October 8, 2012 at 10:57am

Hi Philip - I will think about this. ZUIs like that are a bit of a nightmare (for me anyway) to code, although I have successfully implemented them in the past. In the meantime, I think if you did a longest list matching with your paths input, it should work - the current requirement is simply that the input data and the paths have the same number of items.

Comment by phillip on October 8, 2012 at 6:13am

Hi Andrew,

Could there be a ZUI for adding Data-Sets to GraftByData?

The Entwine workaround doesn´t seem to work...

Thanks,

Phillip

 

Members (359)

 
 
 

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service