Floortype by Dynamo not good enough for Rebar host?

Hi All,

I’m trying to create a Revit element with rebar via Dynamo by input from excel.
However…when I create a floor in Dynamo via Rectangle.ByCornerPoints and then a Floor.ByOutlineTypeAndLevel and feed that to element ID and then in the hostElementId input from Rebar.ByCurve…the node doesn’t like this!
I get an error saying that the given hostElementId isn’t a valid one.

When I create a floor (same floortype as I created via Dynamo) and use the Select Model Element node…the error is gone and Dynamo has no problem.

Is anybody able to explain why this is??

Hi @Mike_Wellink

You need to sequentially order your execution. You can use the below node.

1 Like

Hi Kulkul,

Thanks for your reply. I’ll give your option a shot.

You happen to know why Dynamo doesn’t like this?

Kind regards,

Hi @Kulkul,

I’m trying to incorporate that node but It’s not working.
To be honest I even don’t know were to put the node. I’ve placed it at different places in the script with different things as the “waitfor” input. But I even don’t know what needs to go into the input “waitFor”.

I do think I understand the function of the node and what you by “sequentially”.
I can use the passthrough output only when the watfor info is created…am I right?

Rebar Test.dyn (48.7 KB)

@Mike_Wellink I saw your script. You need to use actual element surface. You where connecting Dynamo surface.

HOLY and CRAP!!!
I never got that on my own!
I’ll copy your code block and hope it works! :grin:

Thanks for your help on this.
Is this piece of code a bit of the general way to get a surface?
Because this floor is just a test to understand what’s involved in creating rebar.
The form I realy want to use (in the end) is this (the windmill foundation not the piles):

Hmmmmm…I’ve added you code block and checked for typo errors but still the node "Rebar.ByCurve"
give me the error:

Warning: Rebar.ByCurve operation failed.
host is not a valid rebar host.
Parameter name: host

Yet…as far as I can tell the “Element.Id” has gained a valid Interger ID from the “Floor.ByOutlineTypeAndLevel”.

Hi Mike,
The reason is that Rebar can only be hosted by Structural elements. In Dynamo the Floor creation nodes generate an architectural floor (sigh :slight_smile: ). So it can be corrected very simply by setting the “Structural” parameter of the Floor to “True” within Dynamo after the floor creation and before the rebar generation. See screen shot below.


Dieter Vermeulen

1 Like