Hi! I have a problem with Bolt Arrays. Any explanation why the Bolt component output is four different Bolt Arrays and not only two? It seems like adding an extra Bolt Group Attributes OR another Bolt Position to the Bolt component input will create additional Bolt Arrays. The Bolt component does not really understand data trees?
Hi Henri,
I’m afraid you’d need to create these bolts with two separate Bolt components. The reason is that currently you can only have one single Group Attribute item plugged into a Bolt component. Any more will cause the component to run multiple times and duplicate the output.
Obviously this isn’t ideal. We’ll need to try and address this in the upcoming version.
I’m noting that if you had only a single Group Attribute item connected, the solution would be to flatten the 3 attribute inputs as well as the position input - then everything would be matched correctly.
To expand a bit further, the access types of the inputs are different, and this can cause problems. You can hover the inputs to see their access type. The geometry inputs are trees, while the attributes are lists - except for the above mentioned Group Attributes input which is just an item. If you provide trees as input to list or item type inputs, the component will run multiple times. For many components that could be fine and expected, but in this case the geometry inputs are already trees, so they will be fully re-parsed for each iteration rather than getting branch-matched.
See this FAQ entry about the reason we prefer to use tree access as input types even though it can cause a bit of confusion - note that the info here won’t help to solve this case though.
Cheers,
Sebastian
Thank you for the answer Sebastian. First question, I would like to know what is currently the most suitable solution for modeling hundreds of plates with hundreds of different Bolt Group spacings from Grasshopper to Tekla?
I also tried the Autobolt component for this but encountered an error trying to use it for Lofted plate (As I do not only have straight plates). The Plate component for the Plugin input component works fine, but Lofted plate leads to an error (shown in the picture). Also need help with this second question? I think Autobolt component can handle many Groups for the Bolts within a tree structure.
It seems the Auto Bolt component doesn’t like Lofted plates no, I didn’t manage to pick them as input manually either ![]()
For the Bolt component in GH, because the group input is item access, there needs to be a separate component for every different type/spacing setup ![]()
Therefore I don’t currently have best practices if the spacing varies between every group but we’ll need to take another look at this ASAP. With Easter coming up that’s probably after next week.
Cheers,
-b
@Henri_GH Hi again, we now published another wip in warehouse that should address this:
https://warehouse.tekla.com/#/packages/b940f663-806a-413d-a25f-8353d16a2f9d
To recap, the problem with the old bolt component is that the Group Attributes input was single item input only, so any list or tree would make the component run multiple times and you’d get duplications. In the wip above the access is list like the rest of the attribute inputs.
You’d need to insert a new Bolt component and replace the old one that’s now marked as obsolete. Keep the attribute inputs (including group attributes) flattened to lists and you should be able to make it work.

