Wednesday, August 30, 2006

Knowing What You Don't Know About CAD

Knowing What You Don't Know About CAD
Just discovered this blog while googling for revit stuff. Nice work Mike!


Monday, August 28, 2006

Revit Bldg 9.0 Speed Test

As part of my preparation plans for a series of pilot projects designed to explore the applicability of Building Information Modeling processes and software, I conducted some hardware tests to identify the best workstation platform for designing with Revit. I had the opportunity to test Revit Building 9.0 on a series of machines.

The machines tested were an HP XW9300 with dual AMD opteron 2.2 GHZ processors, a BOXX technologies single AMD 2.86 GHZ processor system, and an Intel single core 3.8 GHZ HP XW4300. All three machines used the Nvidia 7950 GX2 video card with a whopping 1 GB of RAM and dual GPU's. All three machines were also running identical 80GB SATA-300 hard drives.

The testing was done in three variations with the results charted as shown. A working BIM model was opened in Revit Bldg 9.0, all annotation in the Revit model and an attached AutoCAD drawing were turned on through visibility settings. Then the model was placed in a walkthrough mode and an AVI export was conducted to simulate a designer manipulating the model. The results were recorded in an excel spreadsheet and then compared. Note: All times shown are in minutes and seconds. The tests were run with OpenGL and Overlay Planes turned on. The tests were then re-run with OpenGL and Overlay Planes disabled.

Next the annotation and AutoCAD file visibility settings were turned off and the tests were run again with OpenGL and Overlay planes turned off. The test was then run again with OpenGL and Overlay Planes settings enabled. The results were quite illuminating. Disabling the visibility for annotation and linked cad files had a profound effect on the usability of the software and the results of the tests verified that in export times that were 300% higher than the same export with the visibility settings optimized. There was also a demonstrated improvement in export times when comparing OpenGL and Overlay Planes on and off settings.

Conclusions: Optimize your views so that you are only viewing annotation and linked CAD files when absolutely necessary. Also, get the fastest processor (speed not GHZ rating) you can afford, give it at least 2 GB of RAM, and keep the data flowing with a fast harddrive and a decent video card.

Saturday, August 19, 2006

Design-Build is best for clients

A recent article, "The Contractor's Job is to Protect the Client", in the Management Issues area at McGraw Hill's Southeast Construction site extolls the virtues of contractors and makes the suggestion that it is in the best interest of the contractor to protect his client. I would offer that it is the Integrated Design-Build firm, one that has both design and construction staff in the same company, that is best suited and motivated to protect the client interests in any building venture.

The article suggested that low wages for craft workers were the direct result of the "low-bid" environment. This adversarial environment results in lower quality work and places the parties at odds with each other when problems occur. What makes this even worse is when the problem could have been fixed early in the game by an observant, initiative taking craft worker. Unfortunately, the relationship itself motivates the contractor to first qualify and document the problem and then quantify it through the change order process, where the contractor gains and the client ends up paying for the fix.

Design-Build is the delivery system that is best suited to providing best value to their clients. Rather than suffering through a potentially adversarial relationship, the client and Design-Builder get on the same team early in the project by basing their relationship on performance and value. This encourages the team to work together to deliver the best result where everyone wins. It is this team environment that results in more profitable projects for the Design-Builder and better quality and functionality in the delivered project for the owner. This "best-value" mentality extends into every part of the team motivating each party to bring their best efforts to the table. From the design staff to the site personnel, the focus is on delivery of best value through quality service. It is this dedication to the best outcome for the project that delivers the most value to the client.

For more information visit:

The Design-Build Institute of America
The Haskell Company, America's Design Build Leader

Wednesday, August 16, 2006

A little VBA helps 3D Solids

A member of the Jacksonville AutoCAD User Group, an AUGI registered local user group, recently asked how to get meaningful information from 3D solids he was working with on a daily basis. As a structural designer of pre-cast panels, he would model his concrete panels inside AutoCAD but couldn't find an easy way to report the volume in a usable form. AutoCAD does a great job of delivering the true volume of the panels, but it does it in basic units only. This requires additional math to deliver the industry standard volume typically reported and calculated in cubic yards rather than cubic inches.

Enter VBA to the rescue! Here is the result of a few minutes of code. Of course, this code could be extended to automatically sum all solids found and even export a meaningful spreadsheet or report if needed. For the purposes of this blog entry, I will limit the code to a very simple example. Rather than use the inquiry tool button and cut and paste it into a conversion calculator, we will create a vba routine and call it from a toolbar button. Now the lucky member can simply pick a toolbar button, then pick an AutoCAD 3D solid and find out immediately the volume of the panel selected. Here is the resulting code.

Public Sub DisplayVolume()
'Declare your variables: a solid, an insertion point, a
'generic autocad object and a message variable
Dim mySolid As Acad3DSolid
Dim myInsertionPt As Variant
Dim tempObj As AcadObject
Dim myMsg As String
On Error Resume Next
RETRY: 'Label for simple error looping
'Use the built-in utility:GetEntity to select an object
ThisDrawing.Utility.GetEntity tempObj, myInsertionPt, "Select Panel"
'Check for errors and allow user to reselect
If Err <> 0 Then
'Check selection for type of object
If TypeOf tempObj Is Acad3DSolid Then
'if the right type of object is found
'assign it to correct type variable
Set mySolid = tempObj
'perform simple math and save result as string
myMsg = ((mySolid.Volume / 1728) / 27)
'display string for user
MsgBox FormatNumber(myMsg, 2) & " Cu. Yds", vbInformation, "VBA Rocks"
'wrong object type allow reselection
myMsg = "Only 3D Solids please" & vbCrLf & _
"Care to try again?"
If MsgBox(myMsg, vbYesNo, "Beside The Cursor!") = vbYes Then
'if yes then go to retry
ThisDrawing.Utility.Prompt vbCrLf & "VBA is so Cool!"
End If
End If
End If
End Sub

The code above was only a few lines of code when completed during the LUG meeting. I have since added some error trapping, notification, and additional comments to make it more user friendly and self documenting. Feel free to use this code as you see fit and extend it to be even more useful in your work environment.

Click this link to download zip file containing this macro and a menu containing the loading code and tool button to run it.