Using Landform to pull Shape Edited Floor Points to other Shape Edited Floors

Hey Dynamo folks!

A couple of nights ago i was reading on LandArchBIM.com and saw Lauren’s nodes for converting points in a Revit Topo to a Shape Edited Floor or Roof, and i downloaded the samples from her blog (Thanks a ton!).

What i wanted to do though, was retrofit it to work from another Shape Edited Floor. So, i make one large shape edited floor, that has all the slopes correct. Then i make several smaller floors with shape editing enabled. Then i run the graph, and the smaller ones inherit the shape edited slopes from the Control Surface.

The attached DYN works on the SMALL sample thats in the attached sample file, but not on the larger sample. The only difference is the larger sample only has a few points that overlap. But the smaller sample is a false sense of success, since its got dense points everywhere, which isnt realistic.

Obviously i screwed up the graph somewhere.

It manages to generate all the intersecting points in the geometry preview, it just doesnt ever put them on the smaller floor. If i make the smaller floor large enough to cross a ridge in the bigger floor, it gets THOSE points, but not any of the valleys or coincident edges. It seems like im losing the Z values of the points somewhere.

And it shows a bunch of empty lists.Which i dont fully understand.

Attached is the graph. Also the sample Revit file. There are three “samples” in that file: The big one (and smaller floor within it) that wont work. Smaller sample already finished. Smaller sample not done yet. Also a screen shot of Laurens original graph i started from.

Im not even sure the current graph makes sense. I thought if i took the surfaces of the floor and broke that down to curves and then points, that would replace the edges and interior points of the topo.Parallax Team-32-Site Modeling-FloorFollowFloor-V5.dyn (24.5 KB)
Dynamo-FloorFollowFloor-R17.rvt (708 KB)

EDITED because i goofed up and wrote Laura instead of Lauren. Im such a jerk. Thats the trouble with Social Media where we all have alternate handles/screen names. You have to remember two names for everyone! So sorry Lauren, many apologies!!!

Looks like you had a couple of the vectors backwards. Also, the graph you uploaded didn’t have the prune duplicates but I see your image did.

Try this and see if resolves your issues. I might try and look for a way to have Dynamo determine which way to project the points considering you may not always know ahead of time which way is up, so to speak.


Parallax Team-32-Site Modeling-FloorFollowFloor-V5 (jr).dyn (23.5 KB)

Nuts. MIght depend on when i took the screen capture. I was in various states of troubleshooting, and i had removed the prune duplicates portion to see if i was screwing up and removing all the valid points, LOL. Thanks man, ill try this one ASAP.

Interesting… So now it works for my project sample, but it doesnt work for the small sample. Is the vector direction based on which floor is higher in the model? i tried raising and lowering the floor, to no avail, lol…

Yeah, thats why. So i can just keep both Vector.ZAxis and Vector.ZAxisNegative near the last Point.Project, and switch them based on whether it works or not. Ideally, ill learn a way to wrap both vectors in an if statement, and have it try one or the other. But thats for another day.

Now that i know the thing is functional, i can use this approach to put in the Pavers. Thanks man!

Welcome! When you’re done with the paver example I’d like to see it. Curious about what you’re doing now…

You can have the graph compare the z value for each floor to figure out when to switch. Or have it do both up and down, join the results and dump the null.

I need to post a picture or a section, to give you the whole idea. Basically, there is a “normal” shape edited sloping concrete structure, below the pavers (about a foot below). Typical bathtub style structural bays sloped to drains. The Pavers from the landscape documents show High points, and low points, and trench drains, but they are broken up in to smaller footprints of paver types, and not ALL paver types have elevations, just the ridges and valleys. So im going to build ONE control surface, and then sketch the others with the footprints per the layout document. Then im going to inherit the shape editing from the control surface.

Then the REAL dynamo fun begins, since i want to generate a solid for the void between the two floors, to help the GC lay out insulation sheets to build up to the Pavers, lol…

cool - yeah, that sounds doable in Dynamo - connect the edges of the top/bottom polysurface to create more surfaces and generate a solid from them - push the solid back into Revit

1 Like

You know, i wouldnt have honestly known where to start. But now that you say that, it makes sense. Will have to try it once i get the pavers all modeled. They arent yet. I was hedging until i was sure i would be able to make them all follow a Control surface. Phew!

I had to add back in the RemoveIfNotPoints, and the Remove Nulls. My guess is thats because some of the floors have coincident edges. Finaly screenshot of graph is attached, as well as some images of the WIP. This (seriously) will help with Site coordination, since the underlying surface and the slope of the finished surface have no relation to one another. Thanks man!

1 Like