Friday, August 17, 2018

Quick Way to Identify BIM360 Local File

I stumped on this the other day and thought it is interesting to share. If you have ever worked on any BIM360 (C4R) project, you should know by now that your local file resides on a hidden location other than your default Revit location.

From time to time, if you have sync issue between your local file with the central, you can run into issue where your local file gets corrupted. Autodesk has a KB article to walk you through the process of clearing out the local file. In this hidden location, your local C4R file does not resemble your actual file name; instead, it is named after some GUID number. In other words, you can't just find your corrupted local file and get rid of it. It takes some trial by error to clear out this folder when I first encounter this issue. From the KB, it tells you to open the journal file to determine the filepath of the damage model. I can tell you if you have never understand how to read a journal, this is going to be a tedious process. **You can however always clear everything inside the local cache but sometimes you can't afford to do so if you have a few projects working concurrently.**

The following tip might offer a quicker way to get to the damage model without opening the journal.
Reminder: You are doing this at your own risk!



In the event you have a corrupted local file. Go to Open --> file --> BIM 360, select your project hub folder and hit ENTER on your keyboard. Revit will prompt you with an error "BIM 360://your project hub name/......... File not found. Please verify the correct file name was given."

The one that starts with "{" and ends with "}" is the local file folder of your model.

Next, go to your window explorer and locate your user local data folder such as this:

%LOCALAPPDATA%\Autodesk\Revit\Autodesk Revit 20##\CollaborationCache

*Make sure you locate the correct Revit version.*

From there, your will see the same folder with the exact name ......


Go ahead to either move this folder out of this location or I normally just rename to a different name. Revit will then generate a "New" local file when you try to open the model again.

Hope this helps.
Happy syncing!


Sunday, June 3, 2018

Getting Rid of Stubborn System Family Using Revit Lookup

It all started with a tweet posted few days ago. Kieren Porter (@snowyweston) posted an image about some nasty system family type in the project.


It got my attention simply because I was in the middle of dealing with the exact same issue from one of my projects. I have been told this is a known issue by Autodesk and it is fixable. However, it was going on for weeks to try to have their support team to resolve the issue. 

So, what's the big deal, you might ask!? For some unknown reasons, these "rogue" family types starting to come up from nowhere and it created many types of tick mark, dimension style and text style on its own. All of a sudden, you have these non-company standard styles in your file, it really becomes an annoying issue. 


There is a number of ways to get around these issues, you can rename these dim style with "z" "Do no use" so user will avoid using them. Some dim styles can be purged using "Purge Unused". To get rid of them once and for all, it is not as straightforward. The reason being is that they are system family buried deep down in the Revit file, you can find the instance of the elements but its type will stay within the file.

From the same thread, people have responded with a few solution. Some said to use #dynamoBIM like John Pierson or using a 3rd party solution like Ideate explorer. **(For the record, I have not tried these yet as of the published post)

Out of my curiosity, I thought this could also be done using Revit Lookup.

I was introduced to Revit Lookup by my previous colleague like a year ago. Initially it was for me to understand how Revit organizes each group/type of elements under the hood.


To troubleshoot the issue, I first place a "rogue" type of dimension in a view (it can be any view including drafting view). Select the dimension (or the element), go to Revit lookup and choose Snoop Current Selection.

It reported a list of information associated with this element, it looks something like this...


2 items are important to know:

Id - which is the Revit element ID   (Instance)

GetTypeId - which is the Revit family type element   (Type)

Usually, it is the type ID that is "under the hood" so user would not normally get to it.
Now that I identify the type ID for this rogue dim style, I can use Select elements by ID from Manager tab


Type the type ID number in the field, once it is selected, hit Delete! It prompts me with a warning, hit OK. 


That's it! It is gone for good. (Hopefully)

Like I mentioned above, there are more than one way to resolve this issue, I thought this might offer a different approach.

You can learn more about Revit Lookup from this site to download the tool for yourself and it is free.

From Github

Revit Lookup Builds from 2015 -2019




Sunday, January 21, 2018

Making of Holiday Card - Part 1 (Christmas Light)

Happy New Year 2018! I have waited long enough to start this post to share the making of my holiday greeting card in Revit. I will choose a few components from the scene and I am going to break it down to a few posts. The first one is about the Christmas string light. When I first posted this close-up image, I have a few people asked how I managed to place so many lights. Did I place them one by one? How do I get them on the roof?


Of course I didn't place them one at a time. In fact, I talked about this trick when I presented at RTC North America 2016 (now re-brand to BILT). My class title named Railing, Railing, Railing was about the railing improvement in Revit 2017. (i.e. One could host railing to the top of the wall, floor and roof, etc.)

In the class, I showed some possible use of railing (other than the actual function of railing) in a Revit project.  I talked about how to "hack" the railing support family


The idea is pretty simple. You start a new support family, insert the light fixture as nested family.
Make sure the nested light is set to "Shared".


From the nested light, I have different types family set as different colors. This is to allow me to change the colors of lights in the scene. I wrote this post in 2014 explaining how to use this conditional statement to drive different material which allows me to change to variety of colors. 



Next, I create a new railing type that has no railing profile, baluster; only a Handrail Type. This handrail type has a profile family (Profile Round String: Radius:1/8") that mimic the light's cable; A support family assigned with fixed distance 4" spacing. 


Once this is done, I can place it like any railing. It looks something like this:


Using Pick New Host, I can easily place the light (railing) on the roof. 


Select the light, use array to copy a dozen of times. 


Here's the problem. All the light bulbs are the same color. Since I made the nested light family "shared", I can select each light one at a time to change the color. But who has time for that?


It's time I turn to Dynamo for help. I pulled up an old script I used to randomize material in this post and modified it a bit. Good thing is the Family Types node includes railing support.


Ran the script and I am good to go.


This is what it looks like with night setting in Enscape.


Stay tuned for the next post! Thanks.