Massing Tools

Massing Tools

andrew8QEC8
Advocate Advocate
2,381 Views
2 Replies
Message 1 of 3

Massing Tools

andrew8QEC8
Advocate
Advocate

Newb question here:

Apparently Dynamo cannot access the massing tools, the ones where walls and floors get hosted to. 

This seems rather strange and severely limiting as typically dynamo can do anything Revit can do.

Why is this part of the program inaccessible via visual scripting?

It clearly exists coded in the program somewhere in C++ for it to run. So can someone explain to me why it is not callable with Dynamo and more specifically with API.

What exactly is the difference between "API", and the lines of C++ code that the program is written in. 

Lastly is anyone working on this, like is it a bug in the programming, or does it need to be inaccessible for stability?

I always find that working with the massing tools eventually starts generating a lot of warnings and error messages.

0 Likes
Accepted solutions (1)
2,382 Views
2 Replies
Replies (2)
Message 2 of 3

jeremy_tammik
Alumni
Alumni

I am afraid that I cannot answer much of your question. I don't know Dynamo, and I don't know the massing tools. The best place to address Dynamo related questions is the Dynamo forum:

  

  

All I can do is explain the difference between API and the underlying program providing the API (but then, on the other hand, Wikipedia and the rest of the Internet can do so much better): an API is an application programming interface: 

  

  

The person implementing the lines of C++ code that you refer to decided that in addition to a user interface, they also want to provide programmatic access to the underlying functionality, in the case of Revit, via .NET: et voila, the Revit API was born.

  

Happy New Year!

  

Jeremy Tammik Developer Advocacy and Support + The Building Coder + Autodesk Developer Network + ADN Open
0 Likes
Message 3 of 3

RPTHOMAS108
Mentor
Mentor
Accepted solution

There are methods within the API to create mass floors and walls namely:

 

FaceWall

MassInstanceUtils.AddMassLevelDataToMassInstance

...DB.Analysis.MassLevelData (Mass Floor in UI)

 

I believe the functionality you are lacking is the ability to create a Floor from MassLevelData instance (and link and update such). So for that you would probably have to analyse the geometry of the mass floor as inputs into the new floor curve loops (mass floor contains a single face solid).

 

Dynamo has access to API so above methods are likely not out of reach to a Python node etc. (if they don't exist OOTB).

 

The Building Coder: Creating Face Wall and Mass Floor (typepad.com)