This node allows you to batch-set View Discipline for a list of Revit Views.
View Discipline is pretty important, as this post shows.
In Revit, the View Discipline property is stored as a hash code of the main discipline list (Architectural, Structural, Mechanical, Electrical, Plumbing, Coordination). If you try using GetParameterValueByName, Dynamo will return this hash code.
Bakery package now includes these nodes for View Discipline management:
- Enumerate View Discipline
- Set Discipline Property for Views
- Get View Discipline Code By Name
- Get View Discipline Name by Code
This converts the GUID from the IFC version to the .NET version.
This node grabs the ID values from two IFC files and tries to report the new or deleted items.
This node snips out the ‘ID’ component from an IFC file through simple text methods.
I found some Python IFC schema reading code and adapted it for use in Dynamo. It took a bit of work and isn’t perfect yet, but basically it just takes a path to an IFC file, and a schema definition, and attempts to unpack the information from the IFC file into lists.
The original code was set up to search by dictionary method (which would be faster), but I kept hitting some errors because the schema defines more attributes than are typically defined by a Revit IFC export. I have output these attribute discrepancies in the ‘attribute read status output’. In the end I made some ‘long lists’ which could be queried in various ways.
So the outputs are:
- log – a log of the reading of the schema and the IFC file
- attribute read status – comparison between schema and actual attributes in the IFC file
- line Ids – the id of the line from the IFC text data
- IFC name – the name of the line from the IFC text data
- attributesFromSchema – the official attributes defined for that IFC name
- attribute values – values from the line, as searched by the attributesFromSchema
Here are the basic outputs:
As the main lists are all matched with the amount of lines in the IFC, you can then do filtering and other operations:
I was also looking at making a Dynamo to BimServer connector, possibly adapting this code: https://github.com/aothms/python-bimserver-client(but I didn’t do that yet 🙂
This node will be available in Bakery package, in the IFC group.
This node will take a list of view filters, and a single view, and apply those filters to the view.
The Boolean switch determines if the filter will be automatically ‘unticked’ when it is applied. Setting false will untick, effectively hiding elements that match those filters.
Future versions could look at applying more complicated colour overrides to each filter.
This node will take a filter element and then remove all of the rules, basically just leaving a view filter that has the Category ticked. These ‘category’ filters can be useful for various things, like this Parts override.
This creates a simple view filter based on the following inputs:
· A built in parameter name (not the same as a natural parameter name)
· A parameter value
· Desired filter name
The filter element can then be applied to Views or View Templates.
The type of filter created is a simple “Contains” rule. However, the code could be modified and extended to handle all of the various rule factory conditions (see here).
A Revit vector property is different to a Dynamo vector ‘object’. Dynamo can work with Vector objects to determine angles and so on. This node takes a Revit vector property and tries to make a Dynamo vector from it.