Maciej Główka
Blog Games Contact
revit api dynamo machine learning generative python blender javascript webdev rust bevy gamedev android
Nov. 2, 2020

Onion nodes – tag on multiple views workflow

To continue Revit tagging topic I want to show in this post how to easily tag automatically using our Onion package. The package contains Elements.FindNotTagged node that lets us search for not tagged elements in a list of views, by category. (please keep in mind that this workflow will not work for spatial elements, like rooms or spaces unfortunately).I going to use Revit advanced architectural …
Oct. 10, 2020

Purge view templates in Revit

So, you cannot purge view templates in ‘out of the box’ Revit. I have just learned recently. Probably I have never needed it before, but recently I did.I have no idea why this function would be missing, but it is very easy to implement in API. You can use a C# macro manager for that perfectly fine, but somehow it seemed faster for me just to use a python node in Dynamo.The procedure is simple. Fi…
Aug. 19, 2020

Tag rooms in multiple views

So recently in the comments below post on tagging through multiple views some questions have been asked about doing same for rooms. For some reason room tags in Revit are a different kind of element than other tags.Anyways, I have tried to give an answer in the comments section but it didn’t seem to work. So I have tried one more time and now it works! (at least in Revit 2019). Here is the …
June 8, 2020

Onion nodes – AutoJoin workflows

We have recently released an update to our Dynamo node package – Onion. It can be found in the standard package manager.Now, we want to show some possible workflows with the package – starting with AutoJoin nodes.Join intersecting elements automaticallySo, let’s say you have a large architectural model and want to generate a few sections. One of the things you have to do in order to make it look …
Dec. 11, 2019

Hosts from linked files

Recently there has been a question asked on the Dynamo forums about placing elements on linked hosts in Revit. After some digging it occurred that it is possible with some “reference stable representation” tinkering. Actually, the reference conversion process is similar as in the case of linked element dimensioning. It has been described in detail in an earlier post:…
Nov. 11, 2019

Tagging on multiple views with Dynamo

One of the most useful built-in automations in Revit is the “Tag All Not Tagged” command. However it tags elements in the active view only. In larger projects we often have dozens of views where we have to repeat the procedure. Therefore I have tried to create a Dynamo/Python script that can work on a view list and tag elements missing annotation.The Dynamo definition is really simple here. We ju…
Sept. 18, 2019

Extracting data from OSM file with Dynamo and Python

While there are some great packages available, like Elk or DynaMaps, to do the task – sometimes we need some data that is not possible to obtain with them. In this post I am gonna show a method to extract necessary data using Python.For parsing a XML file I am gonna use a standard Python library called xml.etree.ElementTree. In the example I will extract building boundaries and their floor …
Sept. 10, 2019

Auto-dimensioning rooms with Dynamo and Python

In this post (series I hope) I want to share some thoughts on possibilities of adding dimensions to rooms in Revit automatically. It is not a trivial task in my opinion, especially that there is no single good solution! Today I want to present a script that, in most cases, is going to dimension rooms along their cardinal directions.So, in the example below it would mean measuring each room twice …
May 24, 2019

Finding element location by using Bounding Box in Dynamo

Most of the times Revit element location can be easily found in Dynamo with a help of some standard nodes – such as FamilyInstance.Location. There are some element categories however, that can cause a bit of a problem. For instance walls will return their location as a curve rather than a point. Elements that are generated by a sketched boundary (eg. floors) will not return a location at all. If …
May 10, 2019

Room boundaries from linked documents

Generating room boundaries with Python is relatively easy. It can be done by using following API call: loops = room.GetBoundarySegments(options) Options is a variable of SpatialElementBoundaryOptions type, which states desired boundary line location, eg. for walls it can be a finish line or centreline. As a result of the above we receive a list of loops, where each loop is a list itself…
older →