Showing posts with label Materials. Show all posts
Showing posts with label Materials. Show all posts

Saturday, April 16, 2022

Finding (Material) Neverland

Have you ever experienced your Material Browser taking forever to open the second you click that icon? 

One of the known issues I come across is if the project has a custom image map used for material Appearance but they are nowhere to be found, Revit is trying to find them through the path originated in its location. It will try to find them until it times out. In other words, the more missing material you have in the project, the longer for Revit to try to find them (i.e. the stalling). 

An Autodesk Knowledge Base post offers a similar explanation. 


This has become a serious headache for the user when:

  • The Revit file was upgraded many versions ago and the material referenced location does not exist.
  • The Revit file has material borrowed (or transferred) from other projects. 
  • Custom material assigned to family content from other sources (e.g. manufacturer content)

How do you resolve an issue like this?

While I haven't found an easy solution, the only way is to identify which material via Material Browser has the missing image, and replace (or repath) with the image that Revit can access. Once that is done, the material browser can operate normally. 

This can be a daunting task if the project has hundreds if not thousands of material. Can I use Purge Unused to get rid of those materials? The short answer is yes but it is only possible to purge out material that is not assigned to any Revit system or component families. Even with purge unused, there could still be a lot of missing images referenced with the rest of the material. 

There have been some postings using Dynamo to help find these images. The process still has its shortcoming. 

I came across a tweet the other day when someone mentioned using a Revit add-in Ideate BIMLink tool. I started researching that solution. 

What's interesting is this tool and its feature has been around for years. While BIMLink is a licensed Revit tool, I haven't had the chance to use it until recently. What's more, the original intent of using a BIMLink feature is to swap material assignments for custom families to aid in a quick iteration of rendered design options for casework, furniture, and lighting.


Using BIMLink
Start Ideate BIMLink (I am using the 2022 version)

Click New


Then select \06 Project Standards > Project_Stds-Materials > Next



Under the Properties tab, you can add any additional properties to the right. You can also include materials from the linked Revit model by choosing Include linked elements.
Click Done to go back to the setting. 


Once you are back to the setting, click Export
This will generate the entire inventory of the materials list from a single (or multiple) Revit files whether the material is in use or not. 



Choose a destination location to save the excel spreadsheet. 




Open the exported file in Excel. 
The image path is under Appearance: Image


This is where you can see if there are any invalid paths that are no longer accessible by the Revit file. 

Another interesting fact, I was able to identify the material pathing if these custom materials from manufacturer content are ever loaded into the file. 

This example shows the content creator from the furniture company Steelcase placed the custom image map under the person's desktop?? Seriously!?



This is another reason why I have a trusting issue with third-party content downloaded from the internet even if they are from well-known companies. 

I wrote this post years ago that explains why it is important to have a vetting process in place if your office decides to use content generated by a third party. 


In Closing

I hope this helps to resolve the issue with Material Browser which is slow to open. While the process is still tedious, it offers a more manageable way to track down a specific material with this issue. 



Tuesday, February 10, 2015

Randomize Color and Material in Revit - Dynamo Style!

I made a post almost a year ago about how to use a third party app to randomize color and material for curtain panel in Revit. I have been wanting to do more study on how to this in Dynamo. Dynamo has gained so much attention recently and there are always new builds coming out every other week or so. I saw a post from Zach Kron some time ago and haven't got time to look into that until recently. He even made a YouTube video to show his process. First of all, huge thanks to Zach and now I am able to make my own twist and use that on my Randomized Curtain Panel family and have some fun with it.



Below are some images that show by moving the Integer Slider back and forth to change the color of the curtain panels.








Check out this video to see how the slider works in action:

You can find the sample file in this link also.
Enjoy and more to come later!

Saturday, March 1, 2014

More Fun with Randomized Plug-in and Curtain Panel

Continue to do more studies with the dp Stuff Randomizer. This time I add a little twist to the curtain panel family. Pretty much using the same principle from the last example with nested family within the curtain panel and have an integer parameter driving the nested family types, I have added a rotation parameter using one of my tricks to create the nested family. Again, let the plug-in do the rest and see the result...




I overlooked one thing from my last experiment using this plug-in. As it turns out, it can perform this randomization with more than one set of parameter simultaneously. I also notice one strange thing the Randomizer does to the "Rotation" parameter. Since I have the minimum angle and maximum angle set to 0 and 360 respectively, all the "angle rotation" parameter from the panels should stay within the range. It, however, sets the angle to 4 digits value to many of the panels.


Applying the same panel to the Slope Glazing system (roof version of the Curtain Wall system) and I was able to make an interesting form as ceiling.





Throw it to the cloud rendering and get a nice perspective view for a group of random "ceiling" panels


I didn't stop there. I went on and used the same concept to come up with a "pattern" out of it. I create 4 different shapes of nested families and nest them to the curtain panel.


Click "Randomize" again...





Coincidentally, the result of this "pattern" reminds me of a famous monogram pattern from Louis Vuitton; maybe this could open up some good use for further study in the future. I am interested to investigate more by using curtain pattern based panel and adaptive components along with Dynamo. After taking the tex-fab workshop last week, I see a great potential of using Dynamo in Revit. Stay tuned to see my future post about my experiment.



Thursday, February 13, 2014

Randomize Color and Material in Revit

Over the past few years I have been using curtain wall system for many different things beside storefront and curtain wall, and yet there is an easy way to mimic a design with a random pattern. Since the introduction with reporting parameters, I was able to build in some of the intelligence in the curtain panel. I have come across an plug-in called Randomizer from dp Stuff for some time and really didn't have the opportunity to investigate more in depth until recently. I thought I would take a stab and see how this plug-in can do for me.

According to the description from the site:
"The way it (the Randomizer) works – it lets you locate the instance parameter that you want to randomize among the family instances in your document by selecting the Category, then Family and then Type of your objects." In other words, it will generate a numerical value in the instance parameter for you without doing this manually.

What I am trying to do is to use the plug-in to randomize the color (hint: material) in the curtain panel to create random/mosaic pattern. Since we are talking about a material, not a number, it probably won't work with the plug-in!? I, however, have another challenge to overcome. In the component family environment, Revit won't allow you to formulate the material parameter. All you can do is to set the material as a parameter; in the formula field, you won't be able to input formula like you can for other type of parameter (e.g. Length). I recall a trick from Alfredo Medina that you can parametrize a material with conditional statement using nested family. So, I ended up rigging up a curtain panel family with a setup that looks like this:


Here's the run down of the setup. I have a nested family with 4 types (each type assigned different colors) inside the curtain panel. In the curtain panel family, set up the nested family with a Generic Model type as instance parameter.

I set up an integer parameter called "Driver" (instance parameter). Use the "Driver" parameter as part of conditional statement. The integer is associated with a specific Generic Model type parameter (color):

1 = Green
2 = Yellow
3 = Red
4 = Blue

Now, I have an numerical value (integer) that the randomizer plug-in would recognize in order to run a random integer (material) in the project.

I start off running this plug-in on a curtain wall with grid divided by 60"x60". Select the "Driver" instance parameter; from the value range, I set my minimum value to 1 and my maximum value to 4, which it will randomly choose the color among the 4 types that I assign. Click the Randomize button and let the plug-in do the rest. A nice feature of the Randomizer is I could keep hitting the button and the plug-in will continue to run.





Next, I double up the grid number with the size of 30"x30".




I also have a parameter "Thickness", throw in to the mix with the Randomizer and it gets more interesting...
Note: I set the material with transparency of 20% as the panels appear to be somewhat opaque.




One thing that I wish for this plug-in to work better is to be able to randomize two sets of instance parameters simultaneously. As of now, I have to run the instance parameter one after another one, it will do just fine.

Double up the grid again to 15"x15" at last, this time Revit takes much longer to generate the results.






This has been a great experiment for me to explore this Randomizer to a different use in design without using the more advanced plug-in like Dynamo. On the other hand, I am sure there are other ways to do this using other plug-in.
Next week I will attend the tex-fab workshop up in Austin, Texas to learn more about Dynamo, we will see what I'll be able to get out from this event.

If you are interested in reverse engineer this curtain panel family, you can download it from the link below:

Randomized Panel rfa