Every now and then, you may find that a package upgrade causes some of your nodes to stop working. This may be because nodes have been removed from the package that you were using. You can use the two DYNs here to quickly check for missing dependencies:

Step 1
This will find dependencies from a selected package or definitions folder and export them to Excel:

Step 2
This will read the Excel file back in, and compare with node names in your Packages folder (may take a while):

Both of these dyns can be run in standalone / sandbox mode.

If there are missing nodes, they should appear in the pink box. You could then go to DynamoPackages website, download previous version that had the dyf you want, and then copy the contents of that dyf into your own custom node.

Let’s say you have a Generic Annotation family with about 60 different view states controlled by visibility Yes/No checkboxes. These visibility states are linked to Sheets, and the Generic Annotation families themselves are placed in the Sheet views in Revit. I’m sure you are thinking “why??” at this point, but let’s skip past that part…

Can we drive the Annotation family visibility states based on its ‘host Sheet’ in Revit? Not really.

Can we create a mapping table in Excel, Dynamo-push a single integer value into the Annotation instances based on the host Sheet, and drive the visibility by formula that way? Yep.

Here’s the basic steps:

  1. I used dir and Notepad++ to make the list, one column in Excel for the lookup value (I used Sheet Number), and one for the parameter I want to get and use
  2. This relied on having the Family parameter list sorted Ascending in the Family Editor

  3. The Excel sheet looked a bit like this – notice how the driving parameter is an Integer?

  4. This is the work in progress in Dynamo – getting the Generic Annotation families, matching them up and getting the related Excel integer value

  5. This is the completed dyn, with the push back into the Element Parameter to drive the visibility – see how the string has to get converted ToNumber before pushing into the Integer parameter?

  6. And here is one instance in the project

  7. After running this once, all visibility states are set properly throughout the project

Yet another example of @dynamobim making the Revit-impossible, possible 🙂

    Let’s say you have a set of Excel files and you want to feed that information into one Excel file, to allow you to do summaries or produce Charts. How would you go about it? Here is one way:

    Install Power Query from:
    https://www.microsoft.com/en-us/download/details.aspx?id=39379&CorrelationId=85f847dd-369e-4417-b604-6a2f3c673084

    Use this function (copied from link below) to import multiple XLSX to one sheet.

     //Define function parameters  
    (#"Directory containing Excel files to combine" as text,
    optional #"Name of each Excel object to combine" as text,
    optional #"Use first rows as headers" as logical) =>
    let
    //If the optional Excel object name parameter is not set, then default to Sheet1
    ExcelName = if #"Name of each Excel object to combine" = null
    then "Sheet1"
    else #"Name of each Excel object to combine",
    //If the optional Use first rows as headers parameter is not set, then default to true
    UseFirstRowsAsHeaders = if #"Use first rows as headers"= null
    then true
    else #"Use first rows as headers",
    //Get a list of all the files in the folder specified
    Source = Folder.Files(#"Directory containing Excel files to combine"),
    //Filter these to only get Excel files
    OnlyGetExcelFiles = Table.SelectRows(Source,
    each ([Extension] = ".xlsx")
    or ([Extension] = ".xls")),
    //Find the full path of each file
    FullPath = Table.CombineColumns(
    OnlyGetExcelFiles ,
    {"Folder Path", "Name"},
    Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),
    //Get a list containing each file path
    ExcelFiles = Table.Column(FullPath, "Merged"),
    //Define a function to get the data from the specified name in each Excel workbook
    GetExcelContents = (FileName as text) =>
    let
    //Connect to the workbook
    Source = Excel.Workbook(File.Contents(FileName), UseFirstRowsAsHeaders),
    //Get a table of data from the name specified
    //If the name doesn't exist catch the error and return null
    ExcelData = try Source{[Item=ExcelName]}[Data]
    otherwise try Source{[Name=ExcelName]}[Data]
    otherwise null
    in
    ExcelData,
    //Call the above function for each Excel file
    ReadAllWorkbooks = List.Transform(ExcelFiles, each GetExcelContents(_)),
    //Remove any null values resulting from errors
    IgnoreNulls = List.RemoveNulls(ReadAllWorkbooks),
    //Combine the data from each workbook into a single table
    CombineData = Table.Combine(IgnoreNulls)
    in
    CombineData

    Here are some of the steps to get the function into Excel:

    Read more at:
    Combining Data From Multiple Excel Workbooks With Power Query–The Easy Way! | Chris Webb’s BI Blog

    Check out this free ‘practice’ screencast from Marcello, demonstrating how to extract points from Dynamo to Excel, among other things:
    PRACTICAL DYNAMO EXERSIZE 4 EXTRACT POINTS TO EXCEL PRACTICE01 – Screencast | Autodesk Research (Embed)

     via
    Simply Complex: Watch a raw uncut Practice Session from my hands on lab at AU2014 “Dynamo For Dummies” Lab Exersize 4

    There are a myriad of ways to link spreadsheet data into Revit, including numerous addins to import and export data to Excel. There is also the Google Sheets connection. Recently, the BIM Troublemaker posted about using Dynamo because, as he puts it, “this was the tool that could give me an on the fly, bi-directional excel link…”

    I enjoyed reading the post, because it explains Dynamo use starting from a basic level, and yet shows a practical example of something that can be built on and adapted to suit your needs.

    Excel out dyn

    The working example uses Dynamo commands to extract data from Revit family instances into Excel, and then push data from Excel back into Revit. Nice job!

    Read the whole post:
    http://bimtroublemaker.blogspot.com/2014/09/practical-dynamo-excel-linking.html

    Adam Sheather, aka gytaco, has put out some pretty interesting content in the past week. He was trying to solve a programming puzzle to do with pre-cast panels, molds, concrete curing etc. Based on his post and video, he punched a heap of programme data in Excel, made Dynamo read and write to his master spreadsheet, and then got Dynamo to push some data into some Revit families with arrays so that he could visualise his pre-cast yard at a given point in time. Very smart stuff!

    As Adam says, the Excel-Dynamo-Revit solution can:
    “effectively give me a week by week view of what the precast yard will look like based on the updated Revit data, installation dates, actual to date and the pre-cast managers forecasting all in one. Plus I would be able to tag and print out if required the information!”

     Video below:
    “example of using Dynamo to update Revit and excel at the same time and push the updated values back into Revit objects”


    via
    https://twitter.com/Gytaco/status/488281607485145089

    And one final Dynamo tip from his post:
    Due to the lack of nodes, familiarity and examples in 7.1 I ended up ditching it and jumping back to 0.6.3 which had alot more examples including both the Solar Optimizer and nodes I thought I needed for input/out of excel files that were not in 7.1.
    Whole post:
    http://stuffandbims.blogspot.com.au/2014/07/introducing-revit-pre-cast-panel.html