ladybug-tools / honeybee-dynamo

:honeybee: :blue_book: Honeybee library and plugin for Dynamo
GNU General Public License v3.0
17 stars 8 forks source link

What is the best approach to automate taking the geometries from REVIT view? #7

Closed mostaphaRoudsari closed 8 years ago

mostaphaRoudsari commented 8 years ago

@ksobon showed me this workflow which works great to get all the geometries as they are.

image

This will work fine for all the elements but the Window. In window I need to extract the glazing and pick one of the two (or many) to be exported to Radiance. There are solutions like sorting the surfaces by area which is not elegant. I couldn't find an API call to extract glazing surfaces from the Window element but there might be a different way to access it.

The good news is that the prototype is working which means a clean connection from REVIT to Radiance is possible through Dynamo!

image

mostaphaRoudsari commented 8 years ago

I can start here.

image

ksobon commented 8 years ago

dude this is all still a little shaky. Look for how Revit exports to gbxml for energy analysis. I bet there is a way already in there to access these surfaces in some clean and elegant way rather then breaking down walls/windows.

mostaphaRoudsari commented 8 years ago

@ksobon! Haha. I love comments like this. Agreed 100% but where can I look for how Revit exports to gbxml for energy analysis? My best chance was the analytical model which at the time I couldn't figure out how to decompose. Maybe I should give it another try in Revit 2016. Let me know where do you think is the right place to start.

arif-hanif commented 8 years ago

@ksobon gbxml resolution is not water tight which is the issue.

ksobon commented 8 years ago

@mostaphaRoudsari if @arif-hanif says that gbxml is not good for this, then yes, you are back to square one. I just wanted to make sure that you were considering all other options before pursuing the brute force approach. :+1:

mostaphaRoudsari commented 8 years ago

@ksobon I still have time to finalize my decision about this. I know that @arif-hanif has his own approach which uses rooms/spaces which will work fine for energy models but then doesn't give you enough details for daylighting. I have on my list to double check the analytical model for Revit 2016. There might have been changes that makes the process easier. Thank you both for your inputs.

ksobon commented 8 years ago

Look at this: https://boostyourbim.wordpress.com/2013/07/19/net-and-gross-wall-area/

arif-hanif commented 8 years ago

What was the detail you wanted

On Thursday, June 2, 2016, Mostapha Sadeghipour Roudsari < znotifications@github.com javascript:_e(%7B%7D,'cvml','znotifications@github.com');> wrote:

@ksobon https://github.com/ksobon I still have time to finalize my decision about this. I know that @arif-hanif https://github.com/arif-hanif has his own approach which uses rooms/spaces which will work fine for energy models but then doesn't give you enoughr details for daylighting. I have on my list to double check the analytical model for Revit 2016. There might have been changes that makes the process easier. Thank you both for your inputs.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ladybug-analysis-tools/honeybeex/issues/7#issuecomment-223438536, or mute the thread https://github.com/notifications/unsubscribe/AIRV9ndPrUK62U3pwAW9Uq3Xceuh7pgJks5qH1WQgaJpZM4H5Tfl .

ksobon commented 8 years ago

It might be just what you need for getting a wall face with holes in it, and then you can instead of deleting "openings" just collect them and make new faces for "windows".

mostaphaRoudsari commented 8 years ago

@arif-hanif the three to start are cieling details, windows frames and shading geometries.

@ksobon that should work with a couple of exception handling but how do you get the vertices of the openings? Should I duplicate edges, calculate area, sort by area or is there a better API friendly solution?

ksobon commented 8 years ago

at this point in code Face netFace = w.GetGeometryObjectFromReference(sideFaceRef) as Face; you will have a face object. You can query it for edges like so: Face.EdgeLoops which returns a EdgeArrayArray. its basically a nested list of edge curves. Just use these to create surfaces. The largest will be your main wall (outer edge), it might also be the first array in a set, and rest of them will be openings.

mostaphaRoudsari commented 8 years ago

@ksobon thanks! will keep you posted if I made any progress on this. :+1:

arif-hanif commented 8 years ago

That is what I am doing, hope to get time to get into Dynamo soon

On Thursday, June 2, 2016, Mostapha Sadeghipour Roudsari < notifications@github.com> wrote:

@ksobon https://github.com/ksobon thanks! will keep you posted if I made any progress on this. 👍

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ladybug-analysis-tools/honeybeex/issues/7#issuecomment-223444008, or mute the thre https://github.com/notifications/unsubscribe/AIRV9tQEUBsa2sLhvyZkvqHEWTahhnZeks5qH1vmgaJpZM4H5Tfl

mostaphaRoudsari commented 8 years ago

@ksobon I ended up using something between what you have suggested and what I found on BuildingCoder's blog. Here is the code. Thanks for your help. I will probably need to revisit this code so many times going forward but it works for what I need currently.

image

via https://github.com/ladybug-analysis-tools/honeybeex/commit/61b290ad62d3f123385f519b94c5d16b28e76fbb

arif-hanif commented 8 years ago

This will work for individual windows but will not work for curtain walls. I can help you with that. Will get some time to do it next week.

On Wed, Jun 29, 2016 at 10:03 AM, Mostapha Sadeghipour Roudsari < notifications@github.com> wrote:

Closed #7 https://github.com/ladybug-analysis-tools/honeybeex/issues/7.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ladybug-analysis-tools/honeybeex/issues/7#event-707799822, or mute the thread https://github.com/notifications/unsubscribe/AIRV9snPxFHJGEFuXvZymtDSSywKYm9Iks5qQnsygaJpZM4H5Tfl .

mostaphaRoudsari commented 8 years ago

@arif-hanif please do! I don't have an example with curtain wall. I was sure that there will be cases that this will fail. I opened a new issue