My initial approach was using the Catenary curve component and lofting without Kangaroo, but as I’m trying to create a physical model, there is an issue of attachment angle. I’d like to attach the edges perpendicularly to the base plane so I need to force the lower sections to be straight, and see how that deforms the shape.
So first question! Is it better to model this in Kangaroo using the same approach, creating and lofting the adjusted rods, or creating a catenary mesh? Can/should I convert original lofted surface to a mesh and utilize it? I need to generate about 50 such interactions in a composition, so I’m looking for the most efficient solution.
Second, depending on which method, what goals do I need to add to force edge perpendicularity?
Attached are my original form-finding and my initial Kangaroo experimentation.
I know this is a simple enough shape that I could create this by Interoplating adjusted points on the curve but as I’m prototyping this physically, I’d like to have a feel for the bending limitations using Kangaroo. Thanks!
Not sitting in front of my computer. You don’t need catenary for this. Lofting two curves should work and then use the rod goal. To keep the first segment vertical you can use a on plane goal on the first two or three control points of the curves.
Thank you @oberbichler that is elegant and also solves the next question I was going to ask which is how to force edges to be flat to the ground, the alternative mounting option. It’s very interesting how much these alter the form.
Seems that the surface normal is pointing in another direction then in my last example. Therefore, the sign of the angle within the Python nodes needs to be changed. Moreover, I would use the normal of the undeformed surface as reference (angle = 0). Here a first solution: EQLibs Troubleshooting 1.gh (39.4 KB)
Note that the solution becomes unstable at a certain angle. The trick with such nonlinear structures is to apply deformation and loads in small steps (e.g., by dragging nodes with the mouse). This usually helps the solver to converge. I would suggest modeling the strips in the flat configuration (everything what goes into the Model-component) and deform this model with Python (everything after the Model-component).
@oberbichler Thank you, so with this system if I want to add length (curved height) to the twisted arc I would need to physically bring the points closer together from the original positions? Or rather, start with the original positions further away? Unlike say adding length/gravity/ect to extend a curve in Kangaroo?
Extra steps for the vertical-ish planes because the curves are intentionally skewed to begin with.
Also can I feed both (potentially many) curves through at the same time, or is it a one at a time thing? Like if I wanted to process a lot of curves like this would I need to use a zombie solver with Record Data and cycle through them one at a time?