Closed mostaphaRoudsari closed 10 years ago
https://github.com/DynamoDS/Dynamo/issues/1048 see this error
Thanks! I agree that the error can be more explanatory.
I know this is not a bug but I thought you may know the answer. How do you manipulate a solid in project then? I want to add the floors to it as a mass. similar to what create mass floors does in Vasari. Thanks
For manual placement the process seems same in Revit and Vasari.( http://www.onlinerevit.com/home/training-course-for-beginners/massing-studies/184-creating-building-elements-from-mass lists the steps). In Dynamo there is "Floor By Outline" node, so if graph has curves at floor outline, you could use this node.
Hi @LevL! Thanks. Yes and no. I can do it from the interface but I want to do it inside the Dynamo.I have created the levels and I have the solid. Now I need to do what Create Mass Floors button does.
Here is the node:
But the node will remake Floor elements on each run, so do not work with those elements in Revit and re-run the graph.
Thanks. You guys are so fast. I tested this before asking. It says that it only works in Revit!
If you just want 3d shapes to represent the floors in Vasari, nest them as "baked solids" into Mass family. If you need Floor as BIM element, you indeed need Revit.
I need floors as BIM elements. I think for now I just move to REVIT. I'm not sure if I understand what you mean by "nest them as "baked solids" into Mass family". Thanks.
I meant: use the original graph while mass family doc is open.
I got the floors as "BIM elements", and now I understand that's not really what I wanted. What I want based on REVIT menu is a mass floor. I will try what you suggested. Just to make sure we both know what I'm looking after. I captured these images. My understanding is that I have the solid (mass) and the levels in Dynamo, and I should be able to do what Create Mass Floor does in REVIT/Vasari.
I think I am missing something. It should be such a simple thing to do.
I see: you want node to add levels to Mass Instance to generate Mass Floors. There is MassInstanceUtils.AddMassLevelDataToMassInstance method in Revit API which adds level to Mass Instance to generate floors. You could wrap it in python node and submit via Package Manager.
That's what I should have done at the first step. ;) I was hoping I can leave all this to the users but it seems that I should take care of it inside the nodes. I will give it a try. My gut feeling is that finding the mass instance for Solid object will be tricky. Just thinking of the original post.
I couldn't get the solid to work but it works with Mass Families. Thanks. http://www.youtube.com/watch?v=uKwiRF-o9mU
One more idea (if you need it): "Element Geometry Objects" node will give solid of the mass, exploding the solid will give list of faces. Each face could be intersected with plane of the level and resulting curves could be used to make floor element in the graph.
The subtleties of where and when solids can be created is a little strange in Revit, and it impacts the downstream process with Mass Zones and Conceptual Energy Model creation. Basically, when you get into creation of “mass floors” (as a very distinct entity from “floors”) you are really manipulating parameters rather than geometry. Levels (which you can create and manipulate in Dynamo) are just applied to a mass, and the rest of the Mass Zone geometry results from this interaction.
@kronz! Thank you for the explanation. I spent some time yesterday and checked the Solid Class in REVIT. As @LevL mentioned you can get the faces and edges of the solid but that doesn't help. I needed a mass family to create the "mass floors". I think one solution is to create a family from the Solid on the fly and insert it into the project. I have done something similar for adaptive components which worked pretty well.
I think you are pointing at something that is a fundamental issue in the Mass workflow. If I understand correctly, you want to make any old kind of Mass shape via Dynamo, and then run it directly into a Dynamo driven energy analysis process. Unfortunately there are 2 roadblocks: 1. You cannot create naked blobs of stuff in Revit, only placed components, in-place families, and specific system families like floors and walls. 2. the In-Place family functionality does not allow for API access, so you also can't make an In-Place Mass on the fly. For your workflow you can do a couple things.
a. You can manually make an in-place mass and add parameters to it, then use Dynamo to manipulate the parameters.
b. you can manually make a loaded family, place instances of it and manipulate the parameters with Dynamo
c. you can use Dynamo to make forms in the family environment, load these families into the project, and then use another Dynamo definition to run analysis workflows.
All of these workflows require a hybrid workflow, some work done directly in Revit, and some driven by Dynamo. If you have a relatively stable building typology you are working with ("L" shape, donut, cylinder, what have you) a. or b. with parameters to manipulate hte geometry should work nicely. A quick way to get into this is to use Vasari and try this out with the pre-loaded Mass families that have various forms with parameters already set up.
That's exactly what I wanted to do. I think issue 1 is solvable by asking the user for the information that you mentioned. A node with 3 inputs can do it. SolidGeometry, BasePoint, InsertionPoint. Number 2 is tricky though.
Your suggestion for the quick try is what I did in the Video. Just used the Vasari pre-loaded mass families and manipulated them. I think for the next step I will give families with inbuilt parameters a try. Thanks again.
I'm using the latest build version and tried both in Vasari Beta 3 and Revit2014.