Skip to main content

Grasshopper | TTX API

Introducing the Brute Force Solver



The Brute Force component, now included in TT Toolbox (release 1.4 and newer), provides an alternative means of running optimization routines in your Grasshopper workflows. Optimization is used loosely here, as this tool is not using an algorithm to find the most optimal combination of sliders, but instead it solves ALL possible combinations of sliders that are connected to the input S. This component and method help to provide a means of looking at design space where you either want to see all possible permutations, or the total possible number of iterations is not so large that it warrants running the study in Galapagos or another optimization algorithm.


Brute Force Grasshopper setup, with Listener component (all TT Toolbox components shown in orange).

We have found this tool to work wonderfully when synced with our Galapagos Listenercomponent (possibly hinting at a name change there). The setup above allows you to run through all of the possible combinations of sliders “u” and “v” while also recording the corresponding numeric fitness value. The Listener component will store these values after the Brute Force component is done solving so that you may then use those values to determine the good, bad and everything in between.


Brute Force Grasshopper setup utilizing the Write to Excel component (all TT Toolbox components shown in orange).

Taking that one step further, you may then write those values to Excel. This gives you a reliable location to save the variable combinations and their fitness values. These values may then be brought back into Grasshopper for sorting based on fitness values enabling you to reconstruct your definition to view not only the single best performing set of input variables, but also letting you reconstruct the top 5, 10, 15 or more.

Being able to investigate a number of strong performers opens the door to seeing a variety of good options, which may have merit outside of what was solved in the fitness function. Here is a short video of this workflow in action solving a façade paneling system for the fewest total number of panels, where all fit within a 5ft x 10ft sheet.



TT ToolBox Brute Force Optimization

Popular posts from this blog

Scheduling | Managing Schedule using Dynamo

Schedules on Sheets This node will query all schedules in your project and create two lists. One list will contain all schedules that are currently placed on sheet(s) and one list with schedules that have not yet been placed on sheet(s). Keep in mind that Revision Table built into a Titleblock is really a schedule and will display on the list of schedules on sheets. It might even create more than one instance of such. Schedule Appearance This node allows you to modify schedule appearance settings. Due to my limited Revit API knowledge for now you can only override Title, Header and Body Text type by feeding it an id of a Text Type that you want to use. Use, Get Text Note Type by Name from the archi-lab package to get the appropriate text style. Schedule Formatting This node will allow you to control schedule formatting. Just like in the Revit UI you can control some basic visibility settings per parameter (column) in a schedule. Parameter inputs are: Schedule – thi

Executive | Kinetic | Al-bahar Tower Open Proportion Controlling

1. Extracting 'Panel Instance Value' & 'SunSetting Instance Value', Albahar_SunScript.dyn 2. South View, 3D View, Shadow View 3. In Case of Adjusting to semi-Sphere Order of Albahar_SunScript 1. Make Family 'Albahar_Panel.rfa' 2. Start with 'Mockup-Panel.rfa' or 'Mockup-Panel_Origin' (Upload Panel family) 3. Open Dynamo API 'Albahar_SunScript.dyn' ====================================================== 4. According to the Sun Location, Panel will be changed the feature by the opening proportion  * Opening Proportion = Normalized_Curve_Parameter

SAP2000 | SAP2000-v16.1.1 & Dynamo-v0.7.5

1. SAP2000 - Bounding Box Algorithm  2. SAP2000 - Bounding Box Model 3. SAP2000 - ShellStructure - Algorithm 4. SAP2000 - ShellStructure - Model 5. SAP2000 - SpaceStructure - Algorithm 6. SAP2000 - SpaceStructure - Model 7. SAP2000 - ReadDoam + Decomposition 8. SAP2000 - ReadShell + Decomposition 9. SAP2000 - RunAnalysis-ReadResult 10. SAP2000 - Read_Edit_AddGroup  11. SAP2000 - Read_Edit_AddLoadCase Overview DynamoSAP is an open-source project and is currently available on Dynamo’s package manager . We developed the project in C# using Visual Studio, and tested it with Dynamo 0.7.5 and SAP2000 version 16. The package prescribes a few common workflows, which are outlined in the package’s sample files. The library provides a wide range of opportunities for automation of typical tasks in SAP, such as: a. Creating a structural model. The package allows users to generate structural members by using th