Helix in Dynamo and communication with Revit

Hi there,

Being new to Dynamo i thank you in advance for putting up with my complete lack of understanding of the details of the communication between Revit and Dynamo. I kinda discovered API existed while reading the Dynamo Primer.

To the case: I’m trying to make a parametric rope to make a fancy railing (made of rope).

So i tried with Revit Families, Massing, trying to import .SAT file from Fusion 360 where i made a fairly good rope. But as you can gess nothing really gives me a “rope with a little bit of curve and adaptative girth”. I then stumbled on Dynamo and my brain translated it by " native add-in to make complex stuff ".
So i got into some details, Python ( sorry IronPython 2.7 which i didn’t really learn) and made complex stuff using a few python-scripted nodes:

Bottom right corner is the ouput i get in Revit. As you can guess i would rather have an actual rope with some materials and parameters i could fiddle with. But i get this shell volume. Maybe i should use some TransactionManager, start in a massing environment or start from a few lines in Revit idk. So my question is what node do i have to use to get my Dynamo solid transfered as is into Revit.

Soapbox moment coming up. Your mileage may vary, but: This level of detailed modeling is not something one should do with Revit (or any BIM software for that matter).

Use a texture to get the twisting, braided feeling of the structure, not a physical deformation of the item itself. It’s a bit silly at the scope/scale you’re showing (coming from a guy who built a tool to model every brick in a wall in his downtime).

If you really want to experiment with the limits of this type of shape, look into the adaptive component environment.

  1. Model a path
  2. Place a series of rotating profiles on the path
  3. Set a repeater to the profile
  4. Loft along the repeater

This can be done manually or I believe you could create it via Dynamo and the API. Best to learn the manual method first as there are no out of the box nodes for it.

1 Like

Hi Jacob,

Great and many thanks for your reply and pointers (my mileage is close to Zero in BIM, i just did a Revit online course a few weeks ago to cover the basic functions but i haven’t used it as a pro yet so i am kind of raising my level by learning how to automate all the tedious tasks and make myself a custom toolbox of custom python script nodes).

As you said using a texture is probably the way to go.

I’ll look into the adaptative component ( i think i already read something about them) it cannot hurt.

The 4 points you gave me are the ones i first did manually to model the rope, it worked but i couldn’t change length, number of ropes, girth etc automatically which is why i turned to Dynamo and it was difficult to place my repeater along the path due to some issue of “axis lock in the profile plane” (when i select the first repeater construction plane it’s locked in the (y,z) plane and i can’t proceed in a straight x line to copy it, i think i found a very roundabout way by making several reference lines and using their respective end-line construction plane).

So i completely forgot that method which is indeed simpler + i probably won’t get axis-locked in Dynamo, thanks for the reminder.

One issue still left is the communication with Revit, using the Solid node do you know why i get a translucent shell as an output in Revit and not the same thing i see in Dynamo (white solid shell/solid). How do i “load” the rope in Revit and close Dynamo (TransactionManager? Persistance command? spring package?). I was told i could also just create a few lines in Revit and then modify it in Dynamo, which keeps the model in Revit but i believe it’s possible to make the transfer directly and i’d be uncomfortable with the idea that i don’t know how to do it.

This is the geometry preview of what you created in Dynamo.

FamilyInstance.ByGeometry node from springs package, or DirectShape.ByGeometry node, or FamilyType.ByGeometry node. Depending on what you are after, you have options.

To close Dynamo when done, just hit the ‘Red X’ in the top right. There is no safe way to force close the active Dynamo session (other than player).

1 Like