Thursday, June 9, 2016

Modeling Tips for Assemble Systems Users - Revit Assemble Codes

When we think of modeling tips, most people will probably think about geometry. While that is very important, we often ignore the "I" in BIM. The information or data component of a project is often overlooked but can be extremely valuable when leveraged.

One of the reasons I use Assemble Systems is because it allows non-BIM authors a means to access and consume the data within the model. Some of us might think that Revit and Navisworks are easy to use tools, but for a lot of people, they are very difficult. Potentially there is a lot of value in those models, if you can't access it though, then what's the benefit. Even more intriguing is how Assemble allows the non-BIM user to manipulate data within the model. But this article isn't a sales pitch for Assemble or my consulting services, its about suggestions/tips for modeling for Assemble. In this case, what to do about Assembly Code values.

As with my previous post, this isn't limited to users who are working exclusively with Assemble. Many of these suggestions/tips are just good practice or will allow you to leverage your work for other use cases.

Assembly Codes

Standards for classifying building elements have been around for sometime. There are a number of different classification systems around, including Unifomat, MasterFormat, Uniclass along with several others. Out-of-the-box, Revit uses Uniformat and it stores the classification code in the Assembly Code parameter and the classification description in the Assemble Description.

Assembly Code Use Cases

Use cases for Assembly Codes is an interesting topic. For a designer, I think the low hanging fruit is assisting (no easy button solution) with specification generation from the model. Tools like eSpec will use the Assembly Code values, so accurate assignments are critical. I have also seen a couple firms that use Assembly Codes to help organize/classify clash reports. If you are a contractor and pulling quantities from the model, you might be using Assembly Codes as your cost code in addition to or in place of extracting by Revit category. Regardless of the use case, accurate Assembly Code values are critical.

Assembly Code Assignments

Classifying elements in Revit is not a overwhelming task. People are generating specifications for projects everyday and assigning an Assembly Code value can be part of that process. However, when it comes to Assembly Code values, I suggest erroring on the side of caution.

Assembly Codes can be very useful, but a bad assignment can be worse than no assignment. If you are a designer, think of an Assembly Code like a Room Number. If you don't know the scheme that you will use to number rooms, better to wait before you starting numbering them, so you don't have to re-number later on. Same goes with Assembly Codes and lets take a door for example. In Uniformat there are in the neighborhood of 20+ different classification codes for doors. Uniclass 2015 has well over 30 different classifications.  If you are unsure of the classification to use, then you could be providing a wrong value that could impact nothing to, specification generation or estimating/quantity survey estimates.

What can be annoying and time consuming is the time it takes to add or change an Assembly Code value in Revit. It's even more complicated if you are not using Uniformat and want to use another classification systems like Uniclass or Masterformat. If you are using Assemble or a team member is using Assemble, then making those Assembly Code changes can be very quick and easy and can even be performed by a non-Revit user. Whether you are modifying an existing value or switching from one classification system to another, it can be done at the element level, Type level or Revit Category level.

If you are not using Assemble, other options are to just make changes in Revit or use a Revit to Excel to Revit tool that will allow you to utilize a much more efficient data entry process.

If it is one of my projects and we are using Assemble, then my preference is not to manage Assembly Codes in Revit. I prefer to do this in Assemble. The time, effort and accessibility to perform these tasks is much simpler in Assemble. To load a new structure (Masterformat, Uniclass, etc) is very simple.



1.   Use Manage Assembly Codes to upload your own custom assembly code file with codes, costs, and level of development (LOD) specific to your project.
2.   Import your custom assembly code Excel file or .txt file into Assemble.
  • Click the Import button on the Manage Assembly Codes window.
  • From the Import Assembly Codes window, click the Choose File button and select your file from its saved location. 
  • Requirements for successful importing 
    • If importing a text file (ie- UniformatClassifications.txt from Revit), the values must be separated by tabs instead of spaces.
    • Regardless of whether an Excel or txt file are used for importing, the document must contain entries for the Code, Description and Level fields in the same order as that found in the sample docs.
3.   Export an assembly code template file or download the assembly code file currently in use for the project. The downloaded files can be used to help you create your own custom file or to use from one project to the next. A text file (.txt) can be downloaded, as well, to import into Revit.



4.  Export for Autodesk Revit will provide a UniformatClassifications.txt file that can be imported into Revit using the Assembly Code tool located on the Settings panel under the Manage tab. Performing this function will allow you to modify the assembly codes and descriptions for objects in Revit to reflect your custom coding scheme.

5.  Export Assembly Codes and Unit Costs to Microsoft Excel will provide an Assembly Codes and Unit Costs.xlsx file for Microsoft Excel. Use this file to customize the assembly code, assembly description, category, default unit of measure property, unit cost, and required LOD.

6.  Download an assembly code template for Microsoft Excel. This .xlsx file contains 4 sheets. The first sheet explains how to use the document. The three additional sheets provide examples of Uniformat codes, MasterFormat codes, and OmniClass codes. Use any of the assembly code sheets as a starting point to customize your assembly codes. Once you've customized your own assembly code file, delete the extra sheets before importing into Assemble. This approach reduces the opportunity for formatting errors and allows for the use of text-based categories instead of the numerical Revit references.

There are two methods for including quantity and cost info in the Assembly Code Tree. Either the Uniformatclassification.txt file from Revit can be augmented or a properly formatted Excel spreadsheet can be imported with the required information. Regardless of the selected method, each document will need to order its information according to the following column headers:
    • Code: This is the actual assembly code value itself.
    • Description: This is the short description that is married to the assembly code.
    • Level: This is a numerical value that identifies which branch level (ie- “how far down”) the code can be found within the code tree.
    • Category (Optional): This is a numerical value in the Revit file but can be a text value in the Excel document. It identifies the category that a specific item is related to. For example: “Walls” or “-2000011”.
    • Quantity (Optional): This is a user provided value that specifies which unit of measure should be associated with the specific code and unit cost value. For example: “Volume” or “Count”. 
    • Unit Cost (Optional): This is the per-unit cost value that is associated with the specific assembly code. Note: If the tree file contains Unit Cost information but no Quantity value is included next to each cost, the Automated Estimation feature will not assign the costs to the model information.
    • Required LOD (Optional): This is a user provided value that specifies what the required level of development is for each assembly code and description.
SPECIAL NOTE: To utilize Assemble's custom fields "Weight by Length" and "Weight by Volume" the assembly code file quantity should be listed as WeightbyLength and WeightbyVolume (no spaces).

With a new Assembly Code structure imported into Assemble, making new Assembly Code assignments in very quick. The process is to:
  1. Select the elements in either the 3D View or the Model Inventory view. You can select a single or multiple elements, single or multiple Types or single or multiple Categories or a combination of any of those.
  2. In the Properties menu, under Model Properties, Type tab, click in the Assembly Code field. This will open up the Select am Assembly Code dialog.


In the Select an Assembly Code dialog, you can search and select your appropriate code and assign that to the model element.
Once you complete your data conditioning by updating the Assembly codes, with Assemble you can then push this information back to the Revit model.

As I mentioned, you can perform these tasks in Revit, Assemble just makes the process easier, especially for those who do not know how to use REvit or use it well.





 





BIMForum - Call for Speakers and Spnsors

The BIMForum is not accepting proposals for the Fall BIMForum conference, October 17-19, 2016 in Atlanta, Georgia, USA.



The Fall BIMForum will explore best practices in professional coordination from Architects, Engineers, Builders and Owners. We encourage proposals to thoughtfully consider how project stakeholders have addressed the following:

Establishing a collaborative environment
Organizing the coordination process
Conducting truly effective coordination meetings
Measuring the real-world results of professional coordination
Owners’ engagement in the coordination process
Design Assist and its impact on coordination
Handoff from design coordination to construction
Use of LOD (Levels of Development)

Submission Deadline: Friday, July 1, 2016 at 5:00pm EST
To submit, click here.






Wednesday, June 8, 2016

Tuesday, June 7, 2016

Friday, June 3, 2016

Evacuation Path Analysis with Dynamo and Revit

Report from BIM Toolbox

04/22/2016

Evacuation Path Analysis with Dynamo and Revit

More and more we face challenges to find new ways to perform custom architectural analysis. In this post I want to share with you a short and simple (for once) Dynamo script that can be used to analyze the evacuation paths in your building design in Revit. The script (that you can download at the bottom of this post) will calculate the accumulated distance from several points to a selected emergency exit and display the results in a selected Revit view.
Evacuation Path Analysis - 07

A detailed explanation and full script and dataset can be found on this link.
Dieter Vermeulen

Thursday, June 2, 2016

Revit OpEd: Revit 2017 - Text Editor Features

Revit OpEd: Revit 2017 - Text Editor Features: Long awaited, much rejoicing was heard when Revit users heard the news, there is a new text editor. Really? Can it be true? Yes they've ...

Tuesday, May 31, 2016

Combining the Power of ITO with a Model Comparison Check

From the Solibri blog.

In addition to using the Model Comparison Ruleset to compare model versions, this article defines the steps to create an Information Takeoff (ITO) that displays the changes in Quantities in the ITO table format. This allows for easy review of any changes in the model quantities, in real-time.

A model recreating the screenshots and model conditions in this article is available here: SMC Building – ITO Model Comparision.smc

For tutorial information about using the ITO tool, please see our previous article on the topic:  Understanding Information Takeoff (ITO)

In Solibri Model Checker, with two different IFC versions of the same model loaded, create an ITO sorting the model by Components. ITO sorts elements within the model by the values of their properties of the left most columns.

Now, create an ITO column for the “Model” property of the “Identification” column type and ensure that “Grouping” is checked.  By doing this, ITO will create an individual row for each type of component in each model.  In other words, one type of component will be listed twice: one row representing the component(s) in Model A, and a second row representing the component(s) in Model B.

ISSUE_15_TT_04_01

Next, decide which quantities are relevant for the comparison.  In this example, we have added columns for length, width, height, area, volume, and count.  For each column, ensure that “Grouping” is turned OFF, and the function is set to “SUM”.  This means that ITO will not use these columns as a sorted grouping mechanism and that the quantity displayed in the column will be a sum for the components.

ISSUE_15_TT_04_02

The resulting ITO will resemble the results below.  Each Component type is listed on two rows, representing the components and their quantities from each of the respective two model versions.

ISSUE_15_TT_04_03

Please use the example model to explore the screenshots from this article, and to experiment with the settings in ITO.

Saturday, April 16, 2016

Revit OpEd: Revit 2017 - New Features and Enhancements

Revit OpEd: Revit 2017 - New Features and Enhancements: Long Post Warning, worth it I hope. Last night I was able to download and install Building Design Suite 2017 from my Autodesk subscription...

Thursday, April 14, 2016

New COBie for Navisworks tool now available

Over at Beyond Design, they have an interesting blog post on the new COBie tool for Autodesk Navisworks. Even if you don't intend on using Navisworks as part of your COBie delivery process, the post is interesting.

Wednesday, April 13, 2016

Model Checking - What Tools Do You Use?

Working on updating my Modeling checking presentation for RTC EU. There are a lot of good model checking tools on the market including but not limited to:
I am interested in hearing about other tools that people might be using for model checking in addition to those listed above.

Tuesday, April 12, 2016

Is anyone using Deep Space for analytics? https://www.deepspacesync.com/