Does anyone know of any Grasshopper styles’s attributes, types, or classifications that I can reference?
Currently,I am trying to create some styles that fit within aligned and structured data.
However, after consulting the official tutorial, I discovered that some default attributes lack a component group for reference.
Does anyone have any ideas or suggestions that could help me recreate these tabs?
Hi @HxH the VisualARQ objects driven by Grasshopper styles are ruled by different parameters as the “system” VisualARQ objects.
For example, the option to select the “Host” type (as in your screenshot) has not been implemented for doors or windows created as Grasshopper styles.
Also the list of components is different for System objects (which have predefined components with limited parameters) than GH Style objects, which can have unlimited components with unlimited custom parameters each.
Hi @fsalla ,
I hope you’re doing well and am glad to see your reply after being away for the holidays. I appreciate the detailed explanation you provided to help me understand the differences between VisualARQ objects driven by Grasshopper styles and system VisualARQ objects in terms of parameters and components.
Specifically, I understand that the “Host” input option is available for Grasshopper-style doors or windows, and that there are significant differences in the component lists between System objects and GH Style objects.
Are there any demos or templates that can demonstrate which parameters are manipulated by different ‘Host’ input options?
BTW,could you provide further insight into how these differences might impact the overall workflow? For instance, how can we manage the unlimited custom parameters in GH Style objects to make them more manageable, similar to how IFC object-oriented approaches work, compared to the predefined components of System objects?
Looking forward to your suggestions!
Hi @HxH
Just to clarify this, the doors and windows created as Grasshopper styled don’t have the option to define the Host Type, unlike “system” doors and windows.
On this page (Doors windows - VisualARQ) you can find a tutorial about how to create a door GH style, where there is a parameter that references the door host thickness:
If you need to retrieve other parameters of the host, you can replace the “thickness” term by other property name in that syntax. You can figure out the property names of objects with the Property Names component.
I recommend you taking a look at some of these tutorials for creating a Grasshopper style: Grasshopper styles - VisualARQ
For example, if you group the input parameters in the Grasshopper definition and give it a name, you will be able to filter these parameters by that group name when you are creating the new style:
I hope that helps!
@fsalla This is a great summary. Could you make it also into the official documentation? It could get easily lost here on forum. Especially the “property names” list and different use cases with “this.host.thickness” alternation. I am not a big fan of “you should figure it out” approach. I use VA for 1,5 year now on different projects and it still feels like a secret knowledge exploration mission. I mean these out of nowhere super tips in random threads… The simpler you make it, the more people will use it
Hi @MichalKrizo thanks for your comment. In the VisualARQ help (vaHelp), there are some examples of input parameters that can help reference properties of the object styles:
There is no mention of the Property Names component though. If you think it would help other users I’ll include that in the Help.
Hi @fsalla
First of all, thank you so much for your detailed response!
I appreciate the link to the tutorial on creating Grasshopper-style doors. I have checked out the page and experimented with retrieving different parameters using the Property Names component.
The advice on filtering input parameters by Property Names in the Grasshopper definition is quite clear. However, the results I’m getting seem to differ slightly from what you demonstrated. Specifically, it looks like the demo you showed does not include input into the “wall” component. In my case, I need to place an object to see it reappear in the output.
For instance, parameters like material, fire resistance, or finish (is it a property ?) .
Could it be that I missed something or accidentally activated the wrong situation?
Additionally, I am not sure if the “vahelp” reference content has different versions. In my version, there are no demo descriptions, so I would recommend that VisualARQ consider providing some public disclosures.
Thanks again for your help!
Hi @HxH,
In your first screenshot, you are referencing a wall in one case (which gives you the list of property names stored in that wall), but in the other case, you have a Wall component that lacks some data (the path curve and Options). That’s why the wall is not generated.
The list of property names mixes the object properties (type, name, description, style, etc), with the custom parameters (material, fire resistance, finish…). Those can be edited from the “Parameters” section, in the Properties panel:
You can also create new parameters and assign values to objects using Grasshopper components, but that’s another story.
My bad. I think my screenshot corresponds to a new version of the Help that is not yet public. It will be public in the next release. Sorry for that.
I copy here the text of that part of the help that is missing in previous version:
Grasshopper Styles
The Input parameters can reference properties of objects in the model or text attributes. Each case varies depending on the object type or parameter to reference. In case the parameter or attribute is not found, the value will be taken from the one in the Input parameter component. These are some examples:
- Object properties:
- Wall thickness: %<this.host.thickness>%: (for door and window styles). The parameter reads the property “Thickness” of the host where the door or window will be located.
- Wall height: %<this.host.height>%: The parameter reads the property “height” of the host where the door or window will be located.
- Text attributes (for documentation objects):
- Text Height: %<component.textHeight>%
- Text Alignment: %<component.textAlignment>%
- Text Font: %<component.fontFamily>%