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

 

New version of Human for download

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 / modify block definitions on the fly
  • Ability to embed user data into object attributes, and read it back out
  • Screen-oriented mesh and screen-oriented text for custom glyphs/sprites that always face the viewer
  • Custom per-vertex texture mapping
  • Absolute scale for lineweight, allowing you to set a line's thickness to a constant dimension of 2 meters, for instance - it will scale as you zoom in and out.
  • Curves and Points in "heads up display" components
  • All new example files + documentation

Download the components below! They will also be available on food4rhino as soon as they're approved.

Load Previous Replies
  • up

    Nik Willmore

    Feature requests:

    (1) Dynamic Geometry Pipeline (DPipeline) returns objects in the order they were created, newest on top. But to use layers as an organizing principle, I'd like the option to have the output be sorted by Layers palette order instead. This means I can work on a document and use layers for Illustrator-like stacking when I make 2D graphic art output from my objects.

    (2) The LayerTable component of your plugin also fails to return layers in the stacked order they exist in the Layers palette, but alphabetizes them instead, so I lose the info needed to sort objects by layer order.

    (3) Right now ObjectAttributes visibility output ignores items hidden by turning off a layer, so it's not being honest in a street smart sense. Your LayerTable component does have visibility info though, so I can kludge away to build my own filter. Ideally I need two filters for the pipeline itself, to filter out (a) hidden objects and/or (b) hidden layers.

    The native Geometry Pipeline of Grasshopper has a right click option to filter out hidden objects, but it also happens to be broken and destroys the output ( http://www.grasshopper3d.com/forum/topics/pipeline-breaks-when-hidd... ).

    There's a Group by Layer option as well, but it also seems to alphabetize the layers instead of abiding by their real order.

    It won't grab text either, like yours will.

    9
  • up

    Nick Tyrer

    Firstly Andrew, great addition! New tools are already proving very useful.

    I am however having a strange experience with the Screen-Orientated text. What appears on the model is different to the print preview page, which is again different to the actual final output image.

    In Model (big text):

    Print Setup window (bigger):

    Actual jpg (small):

    5
  • up

    epee du bois

    Hi Andrew,

    Thanks for the great components. I have a bug when I have the dynamic pipeline running, after a bit I can no longer select anything in the grasshopper window. I am still unsure if it is the pipeline or a component from lunchbox which lets you save a referenced object from GH. Any ideas?

    thanks,

    cheyney

    1