I have posted about SysExporter a few times before, but here is a little reminder… You can use SysExporter to grab text from almost any dialog box in any program in Windows. Let’s say you have a list of missing materials in a Revit Render dialog box. You can use SysExporter to grab that list so you can find the material images and rectify the problem.
Render a scene
When the missing material dialog pops up, start SysExporter
Find the dialog in the list (you can use the target to drag and drop onto the Rendering dialog)
Once you find the list of names, you can copy / paste them, or export to a file
Find the missing materials and point your Revit install at them using the Render Appearance Paths in Revit Options.
Interestingly, this hotfix comes in the form of a macro to clean up your files. The issue as stated on the Autodesk Knowledge Network is: In Revit 2015 the performance of some file is very slow. This means that opening material browser may take an extremely long time or Revit will hang. Typically you cannot execute the “Purge unused elements” command as well, because Revit will freeze. … Every time you edit a family and load it back in > overwrite > the number of materials will grow substantially. For example after 5 or so subsequent reloads in our sample file it jumps from 15551 to 186623 materials. … We have seen this most commonly when editing titleblock familes in the German and Japanese version of Revit.
Put the addin and dll here “C:ProgramDataAutodeskRevitAddins2014”
Put the XLSX here “C:RevitAPIMaterialList.xlsx”
Open Revit 2014
Open the sample Revit file from the zip you downloaded in Step 1
Go to External Tools – AddMaterials
You should see something like this:
A couple of things to keep in mind:
the addin will copy an existing material from the CSI column as the ‘base’ material, and then modify the other values accordingly. Therefore, there must be a source material in place.
Similarly, the Revit project file will need Surface and Cut patterns with the appropriate matching names already in the file prior to running the addin. The addin won’t import new Cut / Fill patterns into the project for you.
I posted about Randomizer a while back. I have since seen it used to randomize the colour of panels. One way to do this is to use a integer or numeric Shared Parameter and View Filters (ie. randomize from 1 to 5, have your View Filter apply Red to 1, Yellow to 2 etc). However, could this principle be applied to change the actual Material too?
Philip Chan provides one answer: 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:
Daniel Stine hosted the interestingly named RTC class: Mastering Materials: Getting What You Want from Revit
In a recent Cadalyst article, he gives a few good material tips. Here are just 3 of them:
1) Material Assets Think of a material as a container. Some of the information represents elements you can touch and see when the building is complete, while some does not. Assets are modules, if you will, that better define a material. These modules are optional and can be added or deleted as needed; however, most materials have an appearance asset, which cannot be deleted.
2) Material Transparency in Elevations (vs 3D views) In any elevation view, materials are not transparent, as you can see in the left-hand image below (regardless of what Visual Style is set to). Even turning off the glass material in a view’s Visibility Graphics Overrides (VG) will not allow you to see through the “opening,” as seen in the second image. The trick here is to edit the opening in the family so it is transparent in elevation, as shown in the third image.
To achieve that, simply select the opening and check Elevation on the Options toolbar.
3) Self Illumination A surface with a self-illuminating material will actually add light to a scene. In the image below, the self-illuminating low wall in the center of the room is the only light source. This material can also be used to get a very white surface when nothing else seems to be working.
Filter by this parameter = Yes (now the schedule is only showing painted surfaces)
From here, you can right click on a row in the Schedule and click “Show” – this will open a relevant view and highlight the element that is hosting the Split Face. Nice!
Here’s his workflow: Next window allows me to add fields to my schedule, I then notice there is a field/parameter called “Material: as paint”. Sounds like something suitable in this occasion.
As I move on to the filter tab, something interesting shows up… I can now set the “Material: as paint” to equal to “Yes”, which means I tell Revit that this schedule only look for the “Paint” surface on all walls; the next filter rule, I can even set it to a specific material to be included in this schedule.
The last thing is to tell Revit to calculate total area for this particular material.
Once this is done. Volia! I can now let Revit to keep track on all my “paint” surface.