Grasshopper drawing in layout space workflow

Hello everyone, I am developing a new workflow for automating the title block and borders for layout pages, let me know your thoughts:

That’s a brilliant workflow! You’re essentially combining Rhino, Grasshopper, and Excel to automate and parametrize your drawing information blocks, which could significantly streamline reissuing and updating tasks. Let’s break down and enhance your process to ensure it’s as smooth and reliable as possible.

1. Conceptual Workflow Overview

  1. Excel Sheet: Contains your drawing information (titles, revision numbers, dates, etc.).
  2. Rhino File + Grasshopper Definition:
    • Grasshopper reads the Excel data and generates borders and text information automatically.
    • Converts them into block instances for layout use.
  3. Rhino Layouts (Product Model File):
    • Place the block instances on layouts.
    • When updates are needed, the blocks are refreshed with new data from Excel.

2. Implementation Steps

Step 1: Prepare Your Excel Sheet

  • Structure your Excel data logically. Example columns:
    • Sheet Number (e.g., A1, A2)
    • Title (e.g., Plan View, Section)
    • Revision Number
    • Date
    • Approved By

This ensures that the Grasshopper script reads consistent inputs.

Step 2: Grasshopper Script Setup

  1. Reading Data from Excel:

    • Use the LunchBox or TT Toolbox plugin to import data from Excel into Grasshopper.
  2. Generating Title Blocks:

    • Use text tags in Grasshopper to create dynamic labels (sheet number, title, revision, etc.).
    • Set borders as curves or polylines within Grasshopper, aligned with your preferred drawing style.
  3. Creating Blocks:

    • Use Human or Elefront plugins to:
      • Generate block definitions inside Grasshopper.
      • Create multiple block instances for each sheet’s data.
  4. Export Blocks to Rhino:

    • Bake these blocks into a separate Rhino file.
    • Optionally, you can name each block logically (e.g., Sheet_A1, Sheet_A2).

Step 3: Inserting Blocks into the Product Model File

  1. Place Blocks in Layouts:

    • In your product model file, insert these block instances into the corresponding layouts.
    • Use Rhino’s block manager to link to the external Rhino file containing the blocks. This ensures that when the blocks are updated, the product model layouts get updated as well.
  2. Automating Block Refresh:

    • Every time you reissue the drawings:
      • Update the Excel sheet.
      • Open the Grasshopper definition to regenerate the blocks.
      • Bake the updated blocks to the Rhino file.
      • In the product model file, refresh the linked blocks (using the block manager).

Step 4: Automation Tips

  • Use Python scripts inside Grasshopper or RhinoScript to further automate the bake-and-update process.
  • You could also explore Batch Update plugins that detect changes in linked Rhino files and auto-refresh blocks in your product model.

3. Potential Challenges & Solutions

  • Excel Formatting Issues: Ensure your Excel file stays consistent in structure to avoid errors when Grasshopper reads it.
  • Block Updates Not Reflecting Automatically: Rhino might need manual refreshing of external block references.
    • Solution: Use RhinoScript or Python scripts to force updates via the block manager.
  • Layout Block Positioning: You could script the insertion points for the blocks based on a layout naming convention.

4. Conclusion

This approach will save you a lot of time during revisions. By making the title blocks parametric and linked to Excel, you can eliminate the need for manual edits across multiple layouts, reducing errors and ensuring consistency.

1 Like