Adaptive Parts Environment (Ape) has a grasshopper (GH) components library that helps you to define and manipulate parametric blocks, in this article we will explain additional information on all of them:
Ape Input
This component defines which Grasshopper component will become inputs of the adaptive Part. These exposed Parameters will be later modifiable through the UI Panel in Rhino.
Parameters:
- Input can be of the following Datatypes:
- Box
- Brep
- Boolean
- Circle
- Color
- Curve
- Line
- Mesh
- Plane
- Rectangle
- Surface
- Number Slider
- Text
- Value List
- Vector
- Name [optional]: is the title of the input parameter that should be shown in the panel. If nothing is specified the component will set an automated name. For some Input types (Boolean Toggle, Number Sliders) the name of the component will be used.
- Anchored [false]: If set to true, the block transformation will not be applied to this input. Setting this value makes only sense for geometric inputs.
- Multiple [false]: If set to true, the input will allow working with a list of objects. This parameter will only have an effect on geometric inputs. Please also note that “data trees” aren’t supported yet.
- Category [optional]: several parameters can be grouped into categories, which will be visually highlighted in the UI Panel in Rhino. Several inputs with the same "Category" value, will be grouped.
Ape Attributes
This component defines the attributes of the objects inside your final adaptive part block. They can be set per object
Parameters:
- Name: The object's name inside the adaptive part block. (The name of the adaptive part block is defined in the ApeBake Component)
- LayerName: The object's name inside the adaptive part block. If the layer doesn't exist, it will be created. (The block instance layer is defined during the baking process.)
- LayerColor: The object's name inside the adaptive part block.
- ObjectColor: The object's color, if the color source is set to "Object".
- WireDensity: Wire density of the Isocurves of the object
- ColorSource: The color source of the object.
Output:
- Attributes: All the attributes for your final adaptive part. (Needed for ApeObject)
Ape Object
This component allows you to add Attributes to your (output) geometry.
Parameters:
- Geometry: Any kind of geometry except blocks.
- Attributes: Attributes you prepared
Output:
- Objects: The output ApeObjects for your adaptive part.
Ape ColorSource
This component defines the color source you want to set in the attributes component.
Parameters:
- You can pick between:
- ColorFromLayer
- ColorFromObject
- ColorFromMaterial
Ape Calculated MetaData
This component defines key values for the final adaptive part, these values get recalculated on every change.
Parameters:
- Key: Key for the object's metadata.
- Value: Value needs to be assigned to metadata.
Output:
- MetaData: Metadata of your final adaptive part.
Tipp: By right-clicking the component in the area of the black bar, you can define the Type of Value. The following data types are currently supported:
- Boolean
- DateTime
- String (default)
- Double
- Integer
- Color
Ape Bake
This component bakes your final adaptive part to the current Rhino3D file.
Parameters:
- Objects: Objects that represent your final adaptive part.
- Name [Optional]: name of your final adaptive part, if you have already set this up, a counter will be added to the name.
- Plane [WordlXY]: Plane of the block instance of your final adaptive part.
- MetaData [Optional]: Optional metadata that you can add to your final adaptive part.
Ape Place
This component allows you to place an already existing Adaptive Part at several places inside the document. While doing so, you can set individual parameters for each instance you placing. Rightclick on the component and click "Select A.P.E. Block". This will expose the input parameters.
Follow our quick tutorial for more info.
Parameters:
- SelectAdaptiveBlock: Right-click on the component to activate adaptive block selection.
- Plane: Block’s default plane, you can also set a new one -or multiple-.
- Block Parameters: After selecting your Adaptive block the component will extract all the parameters for you to manipulate. What will show up, depends on the Inputs Selected Adaptive Part.
Output:
- Output: The output geometry.
- Definition: An AdaptiveBlock geometry output.
TIPP: If you added multiple planes to the component and baked, ApeDefinition will populate your initial block on each plane, and you can manipulate all at once from our User Interface.
Note: Extracted parameters will work within their initial range.
Note: If you’re using a value list in the block’s initial parameter, you will need to manipulate it after importing it with a number slider.
Ape Dropdown
This component creates a conditional dropdown list that controls your AdaptiveBlock in our user interface.
Parameters:
- Options: Your desired list values.
- Name: Name of the dropdown.
- Category: Name of the category holding your dropdowns.
Output:
- Output: The output value from the list.
- Index: The output's index.
TIPP: You can use the index as an input value for "APE Dropdown Switch" to create another conditional dropdown list that switches between multiple values depending on your choices, follow this quick tutorial for more info.
Ape Dropdown Switch
This component switches between multiple sets of values to control your AdaptiveBlock in our user interface depending on your choices from "APE Dropdown".
Parameters:
- Index: "APE Dropdown" output's index to extract an equivalent set of values.
- Set: Set of values that get triggered once it's the right index, you can add more sets till it matches your indices.
Output:
- Options: The desired set of values for "APE Dropdown".
- Set Name: The set name.
TIPP: You need to use "APE Dropdown" one more time to create your new dependent conditional dropdown, follow this quick tutorial for more info.
Define Block
This component gives our users the opportunity to define any Rhino3D geometries in the file to blocks in Grasshopper.
Parameters:
- Geometry: The geometry you want to turn into a block.
- Attributes: Set of block attributes that you can define from "Create Attributes" component.
- Name: The desired block name.
- Block Origin: The desired block origin point.
- Overwrite [True]: Boolean value, defines if the block will be overwritten after changes or not.
- Path [Conditional]: By right-clicking the component you have the option to link your block to another Rhino3D file, by enabling this option you'll have "file path" as a new parameter to set.
Output:
- Block: The block you just defined ready to use in Grasshopper.
Create Attributes
This component defines a set of attributes for your block.
Parameters:
- Name: The object's name.
- Layer Name: The object's layer name.
- Color: The object's display color.
- Material Name: The object's render material.
- Linetype Name: The object's linetype.
- Group Indices: The indices of the groups to which your object belongs.
- Plot Weight [mm]: The object's plot weight.
- Plot Color: The object's plot color.
- Visibility [Boolean]: It's a boolean value, set it to True for a visible object or False to hide it.
- UserData Keys: The keys for user data related to the object.
- UserData Values: The values of user data related to the object.
Output:
- Attributes: The final set of attributes for your defined block.
Deconstruct Block
This component extracts multiple parameters and attributes from any block.
Parameters:
- Block: The block you want to extract its parameters.
Output:
- Geometry: The base geometry of the block.
- Attributes: Set of block attributes, you can extract it further using "Explode Attributes" component.
- Name: The block's name.
- Block Origin: The block's origin point.
Explode Attributes
This component defines a set of attributes for your block.
Parameters:
- Attributes: The block's set of attributes.
Output:
- Name: The object's name.
- Layer Name: The object's layer name.
- Color: The object's display color.
- Material Name: The object's render material.
- Linetype Name: The object's linetype.
- Group Indices: The indices of the groups to which your object belongs.
- Plot Weight [mm]: The object's plot weight.
- Plot Color: The object's plot color.
- Visibility [Boolean]: It's a boolean value, set it to True for a visible object or False to hide it.
- UserData Keys: The keys for user data related to the object.
- UserData Values: The values of user data related to the object.
Insert Block
This component inserts a block from the current Rhino3D file or any other file you want.
Parameters:
- Name: The block's name.
- Block Origin: The block's origin point.
- Path [Conditional]: By right-clicking the component you have the option to insert any block from another Rhino3D file, by enabling this option you'll have "file path" as a new parameter to set.
Output:
- Block: The block you inserted.
Block List
This component provides a full list of block names in the current Rhino3D file.
Output:
- Name: Full list of block names in the current Rhino3D file.
Spark Export .CSV
This component empowers our users to export .csv files.
Parameters:
- Name: Name of the control to be shown in our UI.
- Category: Name categorizing controls in our UI.
- Path: File path to export the CSV file.
- Header: Header row of the data.
- Values: Desired values to be added to the CSV file.
- Delimiter [Conditional]: The delimiter to be used in organizing values, by default it's ".".
Output:
- Out: The output log of the component.
- CSV: Generated CSV file to be exported.
Spark Export .TXT
This component empowers our users to export .txt files.
Parameters:
- Name: Name of the control to be shown in our UI.
- Category: Name categorizing controls in our UI.
- Path: File path to export the txt file.
- Contect: Desired values to be added to the txt file.
Output:
- Out: The output log of the component.
Spark Bake
This component adds a bake function that gets triggered by a button in our User Interface.
Parameters:
- Name: Name of the control to be shown in our UI.
- Category: Name categorizing controls in our UI.
- Geometry: Geometry to be baked.
- Attributes: APE Attributes of the geometry.
Output:
- Out: The output log of the component.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article