Floor Shape Edit is not working

Hi Dynamo !

I’m struggling with the Clockwork SlabShapeByPoints node. My floor elevation is not modified.

I’m playing with Revit 26 and Dynamo 3.6.

I’m trying to:

  • From a linked cad file, get a 3dpolyline (different elevation at every vertex) and use it to create a floor with the same elevation.

This is my Dynamo:

I tried to:

  • Change type to CPython3 to IronPython 2 or 3
  • Make an offset of the outline just to be sure that the elevation points are included in the boundary and not on the boundary
  • Use Toposolid/Roof instead…

I looked everywhere in the forums to find the answers but unfortunately, I wasn’t able to get it ! If you have any idea to make it work. Big thanks !

Hi @CMANEL and welcome :wink: perhaps…Floor.AddPoint ottb could be better, and maybe flatten the point list before feed in

That’s working well, thank you a lot ! Now, it’s with a Z offset (from projected curve) and not absolute anymore but that’s an easy fix.

Now, to go on the next step: how should I do if I would like to not make the curve offset to avoid the kind of loft between the boundary the added points and keep a constant width?

Any idea ?

dont think i really understand…guess all is controlled by these floor points ??? and your floor boundary

I’m sorry. I’ll try to explain myself a bit better.

If I remove the offset on the curve (used as floor boundary), the node AddPoint is not working on 70% of the boundary. See below:

Do you have an idea to prevent that to happen?

nope not sure, but you are welcome to share that cad…and we can take a look

Sure, unfortunately, I can’t upload files (new account) but if you want here is the WeTransfer link:

Thanks for your time! I really appreciate it.

thanks…not sure as here, just a fast test, but it work as i expected…

Ahah not for me… :slight_smile: Which version of Revit are you using?

probaly you have some binding i have when i test…so try disconnect floor or point input…run…connect again run…maybe it could do it
PolyToFloor.dyn (47.6 KB)

Indeed… It just worked for me. I removed the link and reimported it and I have no more issues.

There is still something with the levels and the offset, but I can deal with that!

Thanks a lot! Have a great evening.

right over :wink: you can try this version here and see if it more stable,but no guarantee :wink:


PolyToFloor.dyn (30.1 KB)

It’s more stable now, but it still doesn’t work correctly on the first execution on my side.

On the first run, the script creates the floor on the XY plane using the Z‑offset, but the floor is not placed at the correct elevation. It’s as if the geometry is being generated before the floor creation is fully ready, so the Shape Editor doesn’t get the right elevation values.

If I rerun the loop, nothing changes.
However, if I manually reconnect Point.ByCoordinates to IN[1], run it, and then reconnect List.Flatten to IN[1] and run again, it works properly.

It feels like the coordinate node computes faster than the floor creation step, so the Shape Editor is not using the updated geometry on the first try.

Also, it’s not working with structural slab.

1 Like

Hi @CMANEL i can take a look in next week im not at dyn, on vacation…but not really sure, try with some transaction or passthrough…another way mabe could create the floor in plane and set the slope.without play with subelement…maybe.. PS is it the ootb create floor there dont work on struc floors,btw you can set it to struc after…not sure if in other post you could find out why…or maybee @jacob.small have an idea,i give it a go later :wink:

Guessing it needs a Transaction.End between the creation of the floor and the Python.

2 Likes

yeah what i think so :wink: but not 100 it will work in this case

1 Like

I tried with only Transaction.End or Passthrough. It wasn’t a success :confused:

But after getting a bit deeper in the definition of both, in my case it was mandatory to use both at the same time. If I have well understood, it needed to commit the data to Revit with Transaction.End (between Floor and Python script) and only after the commit, to restart the process with the points to finally use it in the Python script.

PolyToFloor_V2.dyn (28.8 KB)

Thanks to you guys!

EDIT : sometimes it’s not working properly :slight_smile: