Thursday, November 22, 2007

LEED EQ 8.1 Credit (Daylight and Views) for ACA 2008

(Real time daylight design tool for AutoCAD Architecture 2008)

In 2005 when my article on BIM and knowledge management was published, I indicated the opportunity within BIM as a methodology that has the potential to capture cumulative knowledge that aggregates within a firm and to implement the same within any BIM compliant platform.As we all understand the need to evaluate the performance of our buildings, the need for this knowledge integration is even more evident, and one avenue via which we can explore this methodology is in the integration of LEED credits compliance within the BIM model.
The Importance of LEED certification and its necessity for the creation of a sustainable built environment can be debated from several perspectives but considering the integration of real time evaluation tools should be a prerequisite for the creation of any expert system that will be used for instantaneous knowledge (code / rule) feedback.

I have to admit that, besides a few scheduling screen shots in Revit Architecture and some in articles that were relevant to AutoCAD architecture, I have not seen any serious attempt to tie in more closely any application with the concept of LEED credits take-offs or any LEED scheduling framework provided by the software manufacturers.

Now some of you could ask the question why this example is not available in Revit Architecture, and the answer to this is quite simple. I do not know how to make it work, and in this instance I will blame this on my own ignorance unless some one out there can actually explain to me why one has to calculate the area property of an room object as a result of volume by unbound height division as this, in spaces that have a sloped ceiling, will produce an unacceptable inconsistency.

So in order to have an interactive real time daylight factor analysis tool one should work with these ingredients:

Window use classification
Window style
Property Set Definition
Space style Property Set Definition
Display Theme for DF (Daylight Factor)
One not particularly customized schedule
And a few lines of VBS code slowly brewing in the background.

First we start by defining a window object classification category that defines any instance of a style as either an EXTERIOR or INTERIOR window, where only those that the user marks as EXTERIOR will contribute to the EQ8.1 calculation.

The second step is to define three different List Property Definitions whose values represent different window factors that are required for DF calculation. Those factors are:
GF – geometry factor
HF – height factor
TVmin – minimum visibility factor
TV – visibility factor

which are all dependent on window type, location and current glazing visibility as presented in this table.This method assumes that values are associated with a particular window style and in order to vary them from instance to instance one should copy and assign style in place and change the style based property definitions in order to accommodate for these variations.

On the other hand the Space Objects Property Set Definition has been modified in order to perform a required DF analysis by querying the current file for all of the windows that have matching location ID with the space objects for which the calculation is executed. The matching ID within every window object is placed within the Window Styles Property Set Definition via Location Property Definition and thereby the logical spatial link between two objects is established.

For the sake of differentiating from the OOTB Property Set Definition I decided to create two new PSD one for Window Styles and the other one for Window Objects.The object based one is labeled as 01_LEEDWindowObject and this is the one where the link to the Space Object is documented through the “WindowSpaceID” property definition while its relevance for DF calculation is established by the “001WinLocation” classification based property definition. The space based PSD is labeled as 01_LEEDWindowStyles and this is where the previously described window variables are hosted.

LEED_GF”, “LEED_HF”, “LEED_TV” and “LEED_TVmin” are all style bound and this is where the associated space object reads the relevant values for its daylight formula.To visualize DF in real time I have included a basic Display Theme that is providing for a graphical feedback based on the calculated DF.
Tying all this together was executed within Space Objects PSD and in particular within the formula property definition that taps into two ADT libraries in order to make this work.

Set acadApp = GetObject(,"AutoCAD.Application.17.1")

Set AecBaseApplication = acadApp.GetInterfaceObject("AecX.AecArchBaseApplication.5.5")
Set SchBaseApplication = acadApp.GetInterfaceObject("AecX.AecScheduleApplication.5.5")
Set ActiveDoc = AecBaseApplication.ActiveDocument
DF_win = 0
DF = 0
PropValue_GF = 0
PropValue_HF = 0
PropValue_TV = 0
PropValue_TVmin = 0
WinArea = 0
For Each obj In ActiveDoc.ModelSpace
objName = TypeName(obj)
If objName = "IAecWindow" Then
Set objPropSets = SchBaseApplication.PropertySets(obj)
Set objPropSet = objPropSets.Item("01_LEEDWindowObjects")
objWinLocation = objPropSet.Properties.Item("_WindowLocation").value
objWinSpaceID = objPropSet.Properties.Item("_WindowSpaceID").value
If objWinLocation = "EXTERIOR" and objWinSpaceID = "[ObjectID]" Then
Set PropSets = SchBaseApplication.PropertySets(obj.Style)
Set PropSet = PropSets.Item("01_LEEDWindowStyles")
PropValue_H = objPropSet.Properties.Item("Height").value
PropValue_W = objPropSet.Properties.Item("Width").value
WinArea = (PropValue_H * PropValue_W) / 144
PropValue_TV = PropSet.Properties.Item("LEED_TV").value
PropValue_TVmin = PropSet.Properties.Item("LEED_TVmin").value
PropValue_GF = PropSet.Properties.Item("LEED_GF").value
PropValue_HF = PropSet.Properties.Item("LEED_HF").value
DF_win=(WinArea/[BaseArea])*PropValue_GF*(PropValue_TV/PropValue_TVmin )*PropValue_HF
DF = DF + DF_win
End If
End If

RESULT = DF * 100

Without going into a lengthy discussion about what this VBS is doing, I just want to point out that the main loop is using SchBaseApplication object to access the property set of each window instance in ModelSpace object and compare its “_WindowSpaceID” property to the [ObjectID] property of the current Space Object.If the match has been confirmed within the first If statement of the outer For Each – Next loop and the examined ModelSpace object is indeed of IAecWindow type, then the second If statement is comparing “_WindowLocation” and “_WindowSpaceID” properties.
When both of these requirements are met than the set of relevant variables is accessed via SchBaseApplication object and are being channeled to DF_win formula that is being compounded within the primary loop to create the final DF value for this given Space Object.

In order to evaluate the final daylight value for a floor plan I have created a schedule that does it, but similar compounding and property extraction code could have been used to calculate the final result within a Space Object.

The prerequisites for this DF real time calculation method are the following:
ACA 2008 or ADT 2007 due to their capabilities to apply classifications to an AEC object and their use of List definitions.
This code can be retrofitted to operate within ADT 2006 and 2005 in a slightly less sophisticated way.
The code within a Space Object can not query window objects within a x-ref file and therefore both the envelope and spaces have to be part of a same construct, or a plain independent file. It is worth mentioning that the code within these customized SpaceObjects is taking a toll on ACA’s performance, but as I have tested it on a 60000 SF project with the acceptable performance the entire process can be even more streamlined during the initial design by having a zonal approach to DF evaluation.

After downloading this sample file the user should try to rescale the windows associated with their spaces and observe the change in color as the DF for this space crosses the threshold of 2%. It is worth noting that in order to create a window with the different performance values the existing style should be copied into a new style and those values should be adjusted within this new style based Property Definitions.

For any of you that have ever driven a certain French car, and you know the connotation, and especially those that were made between 1955 and 1979 by a company which I will not name but whose creation was closely connected with the architecture of Le Corbusier, you will understand my enthusiasm with this, not officially BIM like, Swiss army knife application that is still quite a useful BIM tool if you know which buttons to push. Thanks to the inspiring work of several people, like David Koch, Jimmy Bergmark, Jay Moore, Robin Capper and few others that are not yet ready to give up on the potential of embedded code within BIM compliant objects, this application proves that a good amount of intelligence can be placed behind a comprehensive BIM model.
For myself, I can not but wonder if ADSK is really listening, as I am quite sure that a few skilled programmers, and ADSK has enough of those, can crank out this code in a matter of minutes and have it become an integral part of the AutoCAD Architecture. The bigger picture is that ADSK should at least make an honest attempt to add the tools so needed in this “non BIM” application so that we can really take the full advantage of the outdated “object” technology.

This file includes all of the above described elements and I am encouraging you to test it on your own LEED projects. Being aware that there is a ton of room for improvement to this proposed code as well as that this can be far more efficient code if executed via VBA or VB, I am looking forward to get some constructive feedback.


leo the builder said...

This example works great. For my use I am trying to make a few minor adjustments. For example, I would rather use "net floor area minus interferences" than the "base area". This will allow me to deduct columns and other items that I think should be deducted from square footage.


Tomislav Zigo said...
This comment has been removed by the author.
Tomislav Zigo said...

Excellent suggestion. Thanks for pointing this out and I will update my example to reflect this change.

Jon Gardzelewski said...

I don't understand, you are using Revit to calculate EQ 8.1 the old fashioned way. Why not take the Revit geometry straight into Ecotect and set up points or a grid for daylighting analysis? Then to be sure that your are compliant export to Radiance and reinsert the data onto the 30" high grid(Ecotect calculations use either a uniform or an overcast sky, but LEED wants a clear sky so you should use Radiance here, or even Daysim if you want it to be based on your local weather file and not your latitude). Has anyone else used this method successfully?

Tomislav Zigo said...


Did you ever take Revit’s geometry straight into Ecotect? Until 5.6 is released and the ability to import the gbXML file, this approach is so far from being integrated into the BIM concept that it really does not make sense, due to the extensive geometry cleanup. Either this should be accomplished within the BIM platform, or Ecotect should be used as the BIM platform. The later is by all means the viable solution. I use and teach Ecotect on daily basis, and I find it to be the most suitable design tool for building performance analysis, but what I was trying to accomplish here is to make the point that this functionality should be and could be an integral part of ADSK BIM supporting platforms. So if ACA is capable of doing it by following LEED EQ8.1 guidelines, I see no reason why the very same thing can not be achieved within the Revit platform, without resorting to one way geometry translation, as this in itself contradicts what BIM as methodology is all about.

Anonymous said...

Yes, Ecotect is a great tool. However, Revit and IES have collaborated to produce a Sustainability Toolkit, which is a toolbar that can be used directly within Revit as an IES interface mechanism. Using this, LEED compliance and performance simulations per LEED guidelines can be generated quite easily with the push of a button. You can also import the gbxml format into IES, which I have heard is relatively accurate for daylighting purposes.

Tomislav Zigo said...

Everything that you stated is correct, and I have used IES to that account and it works great. The key point is that there should be no need for the third party solutions and the additional cost to the user, as this functionality must be the integral part of any BIM platform. The other point I was trying to make is the suitability of ACA, due to its very open API, for the variety of quick software solutions that can reduce the need for the costly upgrades.

Mrgreen said...

Any calculation template available for EQ Credit 8.2 Views for 90% ?

It would be great if anybody could help me on it?

amodekar said...

Why not simply use a specific lighting design software like RELUXPRO?

or they are not allowed under the LEED EQ?