Skip to main content

Grasshopper Setup for InForm

This guide will help you set up Grasshopper and the necessary components for developing parametric models that work seamlessly with the InForm platform.

Prerequisites​

System Requirements​

  • Windows 10 or later (Rhino/Grasshopper requirement)
  • Rhino 7 or later (Rhino 8 recommended for best performance)
  • At least 8GB RAM (16GB recommended for complex models)
  • Dedicated graphics card (for 3D modeling and visualization)
  • Stable internet connection (for cloud-based computation)

Software Prerequisites​

  • Rhino 3D: Licensed version 7.0 or later
  • Grasshopper: Included with Rhino (ensure it's enabled)
  • Git: For version control of your models
  • Text editor: Visual Studio Code or similar for script development

Rhino and Grasshopper Installation​

Installing Rhino​

  1. Download Rhino from the official McNeel website
  2. Install with administrative privileges
  3. Activate your license (commercial, educational, or trial)
  4. Update to the latest service release
  5. Verify installation by launching Rhino successfully

Enabling Grasshopper​

  1. Open Rhino
  2. Type Grasshopper in the command line, or
  3. Use the Grasshopper icon in the toolbar
  4. Verify Grasshopper opens without errors
  5. Check that all standard components are available

InForm-Specific Components​

Required Plugins​

InForm Grasshopper Toolkit​

The InForm Grasshopper Toolkit provides specialized components for InForm integration:

  1. Download the toolkit from the InForm developer portal
  2. Extract to Grasshopper components folder:
    • Default location: %APPDATA%\Grasshopper\Libraries\
    • Custom location: Use Grasshopper File > Special Folders > Components Folder
  3. Restart Grasshopper to load new components
  4. Verify installation by checking for InForm tab in component palette

Essential Third-Party Plugins​

Install these commonly used plugins for enhanced functionality:

Structural Analysis:

  • Karamba3D: Structural analysis and optimization
  • GSA Grasshopper: Integration with Oasys GSA

Optimization:

  • Galapagos: Built-in evolutionary solver (included with Grasshopper)
  • Wallacei: Multi-objective optimization
  • Optimus: Advanced optimization algorithms

Geometry and Modeling:

  • Mesh+: Advanced mesh operations
  • Weaverbird: Mesh subdivision and smoothing
  • Kangaroo: Physics simulation and form-finding

Data and Visualization:

  • Human: UI components and data visualization
  • Speckle: Data exchange and collaboration
  • Excel components: Read/write Excel files

Component Installation Process​

Manual Installation​

  1. Download plugin files (usually .gha files)
  2. Unblock files (Right-click > Properties > Unblock)
  3. Copy to components folder:
    %APPDATA%\Grasshopper\Libraries\
  4. Restart Grasshopper
  5. Verify in component palette

Package Manager Installation​

  1. Use Rhino Package Manager (Rhino 8+)
  2. Search for required plugins
  3. Install with one click
  4. Manage updates automatically

InForm Component Configuration​

Parameter Setup Components​

InForm Parameter​

Use this component to define parameters that will be exposed in the InForm interface:

Properties:

  • Name: Display name in InForm interface
  • Description: Help text for users
  • Type: Number, Integer, Boolean, Text, or List
  • Range: Minimum and maximum values (for numeric types)
  • Default: Starting value
  • Units: Display units (meters, degrees, etc.)

Usage:

  1. Add InForm Parameter component to your definition
  2. Configure properties in the component panel
  3. Connect to your parametric logic
  4. Test parameter behavior in Grasshopper

InForm Output​

Define what geometry and data will be sent to InForm:

Geometry Outputs:

  • 3D Models: Meshes, BREP surfaces, curves
  • Analysis Results: Colored meshes, vector fields
  • Annotations: Text, dimensions, labels

Data Outputs:

  • Performance Metrics: Scalar values, costs, areas
  • Analysis Results: Forces, stresses, temperatures
  • Constraint Status: Pass/fail, warnings, errors

Validation Components​

InForm Validator​

Ensure your model meets InForm requirements:

Checks:

  • Parameter ranges: Valid minimum/maximum values
  • Geometry validity: Closed meshes, proper normals
  • Performance: Execution time within limits
  • Data format: Correct units and data types

Configuration:

  1. Add validator component at end of definition
  2. Connect all outputs to validation
  3. Set performance targets (execution time, complexity)
  4. Review validation report for issues

Model Development Best Practices​

Parameter Organization​

Grouping and Naming​

  • Use clear, descriptive names: "Floor Height" instead of "H1"
  • Group related parameters: Structure, envelope, systems
  • Use consistent naming: CamelCase or underscore_case
  • Include units in names: "SpanLength_m" for clarity

Parameter Types and Ranges​

// Example parameter definitions
Building_Height: 3.0 to 50.0 (meters)
Number_Floors: 1 to 20 (integer)
Use_Basement: True/False (boolean)
Structural_System: ["Steel", "Concrete", "Timber"] (list)

Model Structure​

Logical Organization​

  1. Input Parameters: All InForm parameters at the beginning
  2. Geometric Generation: Create base geometry
  3. Analysis and Calculation: Perform computations
  4. Output Preparation: Format results for InForm
  5. Validation: Check results and flag issues

Performance Optimization​

  • Minimize heavy operations: Reduce mesh complexity where possible
  • Cache expensive calculations: Use data parameters for reuse
  • Conditional logic: Skip unnecessary calculations
  • Efficient algorithms: Choose appropriate methods for scale

Testing and Validation​

Local Testing​

  1. Parameter sweeps: Test across full parameter ranges
  2. Edge case testing: Minimum/maximum values, extreme combinations
  3. Performance testing: Measure execution time for typical cases
  4. Geometry validation: Check for invalid or degenerate geometry

InForm Integration Testing​

  1. Upload test model: Deploy to InForm development environment
  2. Parameter testing: Verify all parameters work correctly
  3. Visualization testing: Check 3D model display and interaction
  4. Performance validation: Confirm acceptable response times

Development Workflow​

Version Control​

Git Setup for Grasshopper​

  1. Initialize Git repository in your project folder
  2. Create .gitignore for Grasshopper files:
    # Grasshopper backup files
    *.gh~
    *.ghx~

    # Rhino autosave files
    *.3dm.bak
    *.3dm.rhl

    # InForm temporary files
    inform_temp/
  3. Commit frequently with descriptive messages
  4. Use branches for experimental features
  5. Tag releases for deployed versions

File Organization​

project_name/
├── models/
│ ├── grasshopper/
│ │ ├── main_model.gh
│ │ └── components/
│ ├── rhino/
│ │ └── base_geometry.3dm
│ └── reference/
├── documentation/
│ ├── README.md
│ ├── parameters.md
│ └── user_guide.md
├── tests/
│ ├── test_cases.xlsx
│ └── validation_results/
└── deployment/
├── config.json
└── upload_script.py

Collaborative Development​

Team Workflows​

  • Shared repositories: Use Git for collaboration
  • Component libraries: Shared Grasshopper components
  • Standards document: Coding and naming conventions
  • Review process: Peer review before deployment

Documentation Standards​

  • Model documentation: Architecture and design decisions
  • Parameter documentation: Clear descriptions and ranges
  • User guides: How to explore the design effectively
  • Technical notes: Performance considerations and limitations

Advanced Configuration​

Custom Components​

Creating Custom Components​

  1. Use Grasshopper SDK for .NET development
  2. Follow InForm component standards
  3. Implement required interfaces
  4. Test thoroughly before distribution
  5. Document usage and examples

Component Development Tools​

  • Visual Studio: .NET development environment
  • Grasshopper SDK: Component development framework
  • InForm API: Integration specifications
  • Testing framework: Automated component testing

Integration with External Tools​

Database Connections​

  • Connect to corporate databases for material properties
  • Pull design standards and constraints
  • Access project-specific data (site conditions, requirements)

API Integrations​

  • Weather data: Climate information for analysis
  • Cost databases: Real-time pricing information
  • Structural analysis: Integration with FEA software
  • Environmental analysis: Energy and lighting simulation

Troubleshooting​

Common Setup Issues​

Component Loading Problems​

Symptoms: Components don't appear in Grasshopper palette

Solutions:

  1. Check file location: Ensure components are in correct folder
  2. Unblock files: Right-click properties and unblock
  3. Check permissions: Ensure read/write access to components folder
  4. Restart Grasshopper: Close and reopen Grasshopper
  5. Check compatibility: Verify components are for your Rhino version

Performance Issues​

Symptoms: Slow model execution, memory errors

Solutions:

  1. Simplify geometry: Reduce mesh density and complexity
  2. Optimize algorithms: Use efficient calculation methods
  3. Cache results: Avoid recalculating unchanged results
  4. Profile performance: Use Grasshopper profiler to identify bottlenecks

InForm Integration Issues​

Symptoms: Parameters don't work in InForm, geometry doesn't display

Solutions:

  1. Validate parameters: Check InForm parameter component configuration
  2. Test locally: Verify model works in Grasshopper before upload
  3. Check data formats: Ensure outputs match InForm requirements
  4. Review logs: Check InForm deployment logs for errors

Getting Help​

Support Resources​

  • InForm developer documentation: Comprehensive technical guides
  • Community forums: Connect with other developers
  • Training sessions: Regular workshops and tutorials
  • Expert consultation: Direct access to InForm development team

Diagnostic Tools​

  • Grasshopper profiler: Identify performance bottlenecks
  • InForm validator: Check model compatibility
  • Log files: Detailed error information
  • Test framework: Automated validation tools

Next Steps​

Once you have Grasshopper properly configured:

  1. Learn the script upload process: Deploy your first model
  2. Configure project settings: Set up user access and parameters
  3. Test and validate: Ensure everything works correctly
  4. Optimize performance: Improve model speed and reliability

Additional Resources​