This converts the GUID from the IFC version to the .NET version.
This node is an adaptation of code at https://github.com/hakonhc/IfcGuid/blob/master/IfcGuid/IfcGuid.cs
It’s been a long time since my last post. Today we will use a new technique to get the intersection polygons between Structural Framing and Ducts in Revit using Dynamo.
This topic has been inspired by Matt Wash and we will use the Location Curve property of Line Based families to get the plane at which the intersection points exist. Then we will use this plane to get the intersection polygon from the Ducts.
As we have the polygons we can pass it to the Python script node to let the magic begin.
The sample Revit project file can be downloaded from here.
The Dynamo workflow can be downloaded from here.
For more free Dynamo tutorials please visit us on Facebook: BIM Oasis
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.
I had a simple question recently: How do I get some DWG or DXF geometry into Dynamo to do some simple tasks, like placing families at points in Revit?
I looked for the DWG import nodes, until I realised they only come with Dynamo Studio. Then I realised that Dynamo Studio doesn’t run on top of Revit. Weird, huh?
Then, I came across this little offhand comment from John Pierson:
You can import in Revit> select file> and query geometry.
It can’t be that easy, can it? Yes, it can!
Just like this:
So, by simple selecting the Link or Import element in Revit, we can use Element.Geometry to unpack its geometry. This method would likely work with any other CAD format that Revit can Link or Import, such as SAT, SKP or DGN.
I had tried some more challenging workarounds like going via Flux, but sometimes the easiest option is the best.