Creating Wall Sweeps by Room

I am trying to create wall sweeps based off a Room. The script takes a selected room and gathers all room boundaries and then filters out everything but walls. The script is successful in dynamo but fails in Revit, and gives an error message: cannot create sweep.

Wall%20Sweeps%20by%20Room
Error

Wall Sweeps by Room.dyn (20.7 KB)

The issue seems difficult to troubleshoot with the info provided.

Please add a watch node to the walls you are feeding into the sweep node.
This could also be a project file specific issue. It would help to upload a Revit file (or portion, I.e. Exported group) if possible.

Cheers,
Matt

This error is not project file specific because I have tried it using multiple Revit files and models. I have uploaded the dyn file for any specific needs to look at. The code collects walls by picking a room. Any walls that are in that room are selected and a wall sweep is created. One problem may be that the wall sweeps are not being fed as an actual component. I have looked into creating python scripts that will choose a wall sweep type and place that on the wall.

The script almost works like it is supposed to. It will create reveals but not sweeps. It also creates individual sweeps for each wall in the room using the entire length of the wall and only on the face of the wall that is described by Revit as its interior face. Also there has to be a sweep already placed on any wall in the project for it to collect the wall sweep data.

I am trying to find a way to Create sweep by profile and path or Create sweep type by profile. Also the sweep should stop when it exits the room area / perimeter and be able to be only placed on inside of the room.

Wall Sweeps by Room.dyn (25.6 KB)

you solved it?

No there are new errors.
It will create reveals but not sweeps. It also creates individual sweeps for each wall in the room using the entire length of the wall and only on the face of the wall that is described by Revit as its interior face. Also there has to be a sweep already placed on any wall in the project for it to collect the wall sweep data.

I was able to make that code place sweeps without issue. The bulk of the problem is that the node you’re using from the datashapes package isn’t built to produce your desired results - it processes individual sweeps per wall, adds them to whichever side is the exterior/side one, and runs them the full length of the wall not constraini g them at the room limit.

To add those features in you’ll have to modify the custom node, or build out your own version from scratch. I am alsonot certain if everything requested is even possible within the Revit API as it currently stands.

1 Like

Would you be able to share your functioning code?

1 Like

I just rebuilt the same concepts from the graph you posted in image form above. Working in a Revit model with a rectangular room in version 2017, 2018, or 2019. Dynamo Version 2.0.1.

If this fails it’s likely your room geometry or sweep profile related.

Making a sweep by room work.dyn (11.5 KB)

6 Likes

Hi,

Thats great @jacob.small

The script works fine.

only problem in my situation is , sweep is created in outer face of the Room wall.

I am just trying to figure out how to change the wall face for sweep.

The script places the sweep on the side of the wall that Revit considers to be the interior side.

1 Like

Hi
WALLSWEEPONWALL belongs to which package?

As @jacob.small indicated above, it is from Data-Shapes.
image

THANK YOU @SeanP

Did you get any solution to change the wall face to sweep?

Thanks