About me


Konrad K Sobon

Currently an entrepreneur, or as my wife likes to call me “unemployed”. 😂 Co-founder of Bad Monkeys and Bimbeats. Writer of code. Formerly an HOK’s Design/BIM Technology Specialist and Grimshaw Architects’ Design/BIM Technology Specialist. At work it’s all about Software Development, Computational Design, BIM Workflows and helping others master the tools of their craft. Outside of work I enjoy cycling, playing basketball (PL Ballers) as well as rooting for my favorite Chicago Bulls. Outside of hoops I always cheer for the current/former world champions in volleyball, the Polish national team, as well as enjoy an occasional game with friends in Chicago area. Hit me up if you need a center! Sports, architecture, traveling and computer programming have been my passion. What you see on this blog is partially what I do at work and partially what I do in my free time at home. I am an architect by education but always enjoyed programming. Whether it’s visual programming with Dynamo/Grasshopper or some hard core Revit API/Rhino Common it’s what keeps me up at night. Open Source is what I believe in so stay tuned as most of the things that I am working on will find their way to this blog sooner or later :-)

Enjoy it!



  1. Alan says:

    I am also into parametric architecture experimenting in 3D tools. Where do I find these theories on the internet?

    • Konrad says:


      This is a very generic/broad question. Please be specific or I will not be able to help you. However, my answer would probably be the same either way: you found! https://www.archi-lab.net is a place to go, but if you don’t like what you see please feel free to GOOGLE things. Good luck!

  2. Joe says:

    Hi Konrad,

    I was hoping you would be able to help me get your Select Room By Level working with 7.1.

    I am struggling to get a Boolean input to work with your filtering unplaced rooms. From what i can see on youtube the Boolean input used to be 1/ 0 values however the new version is True / False. I would have thought that a True would equal a 1 however i cant seem to get it working with your Node. Im totally new to Dynamo so its probably me being stupid.

    Im hoping to develop a method of filtering and grouping rooms by apartment however im cant even get to the point of filtering by level yet!..

    Thank you in advance.


  3. Trey says:

    Looking at trying to apply your element tagging to tagging structural framing and I have run into a couple issues.

    I would also be interested in trying to apply your multiple views on a single sheet to multiple plans on a single sheet.

    Let me know if you can help, thanks.


    • Trey,
      If you want to describe the issues that you are experiencing in a greater detail then I can point you in a right direction. Also, if you could attach images/files/code that is giving you problems that will make the troubleshooting a little easier.

  4. Trey says:

    Do you have an email address I can send the file to?

  5. Ahmad Saad says:

    Hi Konrad,
    I’m writing to you about the “room occupancy” load script.
    I was started a thread on “dynamobim” forum. but for some reasons you didn’t see my reply to you.
    I’m still stuck in this. and I hope you can explain to me more how could you do it in detail if you can.

    • Ahmad,

      This is a really old post. I don’t think I can help you here since Dynamo has been developing rapidly since and this post has simply became outdated. I do not have in my plans to update that post to most recent version of Dynamo, but i will let you know if i find time to do that.

      Good luck!

      • Ahmad Saad says:

        Thanks for your reply Konrad,
        No problem. However; Can you send me the old dyn definition and the revit file of that tag?, I can play with it so that I can understand your concept.
        Thank you.

  6. Shrikrishna says:


    I tried with your Interference check example in dynamo, but nothing worked. I dont know the reason I’m very new to dynamo. Please help

    • Shrikrishna,

      I am sorry this happened, but I know exactly why. You are probably using the latest version of Dynamo and the post was made quite some time ago on a much older build. I currently have no plans to update it to the latest version. My apologies.

      Good luck!

  7. Moses Scott says:

    I am in china and i just saw this video:


    Where do i find the components for Legend and and Analysis that you are using? I have Mantis Shrimp for 11.30.2014 and I do not see any nodes like that.

  8. Moses,

    The Legend Components can be found in the Download section of this blog or via Package Manager in Dynamo. Just search for package called “archi-lab”. Also, there were some recent updates made to both archi-lab and Mantis Shrimp packages, so make sure to install the latest of both. Good luck!

  9. Justin says:

    Hi Konrad,
    I was going to post this to Dynamobim.org, but decided to go straight to the source

    Very new to Dynamo (first day), OK with Revit and programming (VB & C).

    I’m trying to pull in data from an excel file to populate a key schedule with text. Much thanks to your custom nodes (Key schedule & get all views). The problem I’m having is that the strings are being trimmed, that is to say, spaces at the beginning of each string are being trimmed. This is probably desirable to clean up otherwise unformatted data, but in my case, I want the spaces as they provide indentations in my text.

    The spaces show on a watch node at the output of an Excel.ReadFromFile, but they don’t make it to the schedule. Obviously there is something going on inside the Key Schedule custom node, but I don’t yet follow the python script(s) you have in that node. Is there some way to modify the script to get the raw string without trimming leading spaces?

    Thanks in advance,

    • Justin,

      I sure hope so. I am not exactly sure what could be causing this behavior but I will give it a look when I have a second. I havent tried feeding in a string with some leading spaces, but since your description is point on I will be able to quickly narrow down what might be the problem. Thanks for visiting archi-lab and good luck with Dynamo! I will post here if/when I find a source of this issue.

  10. Justin says:

    Thanks for getting back,

    I was looking at some of your other posts, and noted one where you used your own python script to create placeholder sheets because the OOTB nodes required a view input; you also noted that your script cleans white space. So I thought I was on to the answer and started looking at that script for how you clean the string (I think you use “join” and “split”?).
    …unfortunately, these usages don’t show up in the Key Schedule node script.

    • Justin,

      So, I had a look at the code in both of the Python nodes responsible for the row creation and one filling in the data. There is noting there that would cause this behavior. I am not sure what could cause it, but I am going to guess that Revit has some internal behavior that would do that. I will investigate it further, but at this point I would raise that question with the Autodesk Development team.

  11. justin says:


    Thanks for all your help. It’s too bad this doesn’t work. I’m just a “in the trenches” (intern) architect trying to get around revit’s text limitations.

  12. HyunWoo Kim says:

    Thanks for the great articles and sharing.

  13. sheik says:


    First thank you for your existing information in your site.. i enjoyed lot…

    I tried to rename my room number…bounding box node is not working with room,,,but is working with parking and other element,,,

    How you consider room in API,,,annotation or element or else…

    please send your mail..i will forward the dynamo file…i cant upload the dynamo file here
    …it is originally developed by William wong, Case…I modified to get the Custom prefix and suffix text,,,…

    Sheik Uduman…

    • Sheik,

      First of, thank you for your kind comments.
      I am not intricately familiar with the method that William created so its hard for me to answer any questions regarding it.
      Room is an element. It also contains geometry so Bounding Box should work just fine with it.

      Good luck!

  14. Eric says:


    I was looking for a tool that can make me a spreadsheet of all the warnings I get into my revit file, classified by order of importance…

    I saw that you did something with Revit warnings, but is it possible to get what I need with Dynamo and could you help me achieving it?



    • Eric,

      I am sure its possible. I haven’t touched the Warnings Definition in quite some time and honestly I don’t plan on doing anything with it in the near future, but feel free to take it for a ride and post to Dynamo forum any questions that you might have. I am sure if it won’t be me, someone will be able to help. I always tell people to post to the forum because you have a better chance to get your question answered when you ask 100s of people instead just one (myself). I don’t have anything ready for what you described, and it will sure not be the easiest of undertakings but I am sure you can do it. Good luck!

  15. UMUT GÖKÇAY says:

    can u send me your mail address

  16. Jesper Wallaert says:

    Hi Konrad
    On the Dynamo Community I read your response to the Topic/Discussion: Table/List Join???
    I have been working on similar workflow – My definition works fine but its not perfect. It’s a simple match lists and transfer cell information from Excel to Spaces in my case.
    When I started my definition, I search the community for a solution whit a Ecxel crawler whit no luck!
    Will you be kind to share your crawler?
    Best Regard
    Jesper Wallaert

  17. Luke Kvasnicka says:


    I’ve been following your work in Dynamo for awhile now and its really some awesome stuff. Its incredible how often the kind of challenges I am trying to script have already been partially or completely done here on your blog. I have a basic knowledge of Python but I was curious if you have any good resources to recommend. Specifically how do you know when to use functions like UnWrapElement or TryGetFromRoom. I never know the exact syntax to use or which function apply to which Revit elements. Do you have a resource for this?



    • Hi Luke,

      There is a good page on how to wrap or unwrap Revit elements for use inside of Python nodes here: https://github.com/DynamoDS/Dynamo/wiki/Python-0.6.3-to-0.7.x-Migration
      TryGetFromRoom looks like something that I came up with myself. Not every door/window will have this property so I wrote this to avoid errors that would inevitably creep up when dealing with FromRoom and ToRoom property of elements in Revit. There is no particular resource for this. I like to ask questions on Stack Overflow when I don’t know how to implement certain Python functions. I like keeping Revit API SDK handy when I am working in Dynamo as you can search it for most Revit based calls. Other than that, I google things a lot :-)

      Good luck!

  18. Hi Konrad,

    I am an architecture student on the gold coast Australia and I have been heavily involved with rhino and grasshopper my entire education however I am looking to expand my skills in dynamo for revit as i feel it can be super useful in a work place situation. I have been through your YouTube channel and you upload some seriously helpful stuff however I am working on a project at the moment and it is still in quite early stages and I was wondering if you could lead me to a tutorial website or something online that could assist me in using dynamo to its fullest extent for a project.

    For instance – My design, formally, is relatively complex and the floor and ceiling boundaries of each level are different. I can get the structural floors easily enough however I was hoping that dynamo would assist me in intersecting the mass (from rhino) and finding the floor and ceiling boundaries for each room on each level. Does that make sense and if so is it even possible?

    I would really appreciate any advice what so ever – you may even know someone else who could help me.

    Kind Regards,


    • It depends on who’s your favorite basketball player. :-)

      But seriously, I am having a hard time understanding the question. I am guessing you want to use solid masses defined in Rhino to create room boundaries in Revit. Is that it? How about a sample file of what you have tried and maybe a few images? Also I advise to post this question to a DynamoBIM forum if thats what you think you want to use to achieve your goal.

      DynamoBIM.org is a good resource as well as Dynamo Primer. There is a ton of websites that deal with Dynamo, just google them.

      Good luck!

  19. Brian Nickel says:


    I was curious if you had any suggestions for automating assembly sheet view creation and schedule creation on those assembly views? Harry Mattison has a list of commands that are accessible through the API from the 2013 release, but I couldn’t figure out where to start in getting that written into a python script node. I’m new to Dynamo and Python Scripting, and your website seems to provide the best feedback! I also will be attending your Mantis Shrimp course in DC. I’m not sure if you will be going in depth on scripting, but I look forward to it.

    Brian Nickel

    • Brian,

      I am sorry but as an architect I had never had a need to create an assembly sheet nor an assembly schedule. Now, that just means that I don’t have any intimate knowledge about these kinds of schedules and views and unfortunately I am not able to answer your question.
      I am glad to hear that you will be at RTC and attending my presentation. It’s not a lab, and I will only have about 60min to present Mantis Shrimp so I will not be going for an in-depth explanation of code behind it. If that’s however something that you would like to see happen I am sure that RTC organizers will be happy to one day let me teach a hands on lab – that’s where we can get down and dirty with some Dynamo/Python.

      Thanks, good luck and I will see you at the RTC!

  20. Seth Waldman says:

    Hi Konrad,

    I’ve been developing some scripts to help sort messy Revit files. I’m running into an issue where inserting the Get Worksets node causes Revit to pop up with error messages that other add-in programs I have installed have stopped working. Ultimately, I have to restart Revit after I run the script and save my model. I attached an image for reference. Do you know anything about this?


    • This is the first time I am seeing anything like this. Are these other plug-ins running while you are placing that node? I can’t think of any reason that it would cause it, because this particular node is a Read Only node and doesn’t make any changes to Revit DB. It just retrieves all Worksets from the model without making any changes. There should not be a conflict. I would report this on DynamoBIM GitHub page as an Issue for the development team to look at.

  21. Seth Waldman says:

    I haven’t used any of those plug-ins while I was developing that script because I was just working in a test file. I’ll post it to the DynamoBIM GitHub. Thanks!

  22. Chris P says:

    Konrad –

    Absolutely love the ideas and information you’ve posted here. I’m struggling in the creation of the print to PDF and rename function. I’ve read and re-read but I think (well I’m sure) I’m missing the connection where dynamo tells Revit/Adobe to rename the file. I followed everything but I’m missing that last piece. Can you help?


  23. Jasper Wong says:

    Hi Konrad,

    I can’t seem to find Grimshaw package in the package manager. Has it been removed?



  24. Jasper Wong says:

    I reinstalled dynamo and it is there now. Weird. It definitely was not finding and the node was red.
    All good now.


  25. Matt Fleming says:

    Hi Konrad,

    Can you add “Get All Model Groups” to your package?

    I love your add-in and I use it for Model Health Checks all the time.

    I tried modifying the code to get …BuiltInCategory.OST_IOSModelGroups but it keeps coming up with Null.
    Probably has something to do with the Inverted selection but I didn’t spend too much time looking further into it.

    Hopefully you can include this.


  26. pascasio says:

    Hi Konrad,
    I follow your website and it is really nice, thanks for posting these kind of graphics. There are really useful. I tried to use print PDF in Dynamo and is worked very well in my own computer, but when I try the same dynamo graphic at work, it doesn’t work because PDF print node can’t name my pdf and I don’t know the reason. Could you tell any reason for this?
    Kind regards,

    • PDF Print node by default always uses the same name for every sheet printed. The second part of this workflow was where we were re-naming already printed PDFs. This requires some basic level of Admin rights to be able to re-name files on your computer. I am not sure, but you might not have Admin rights to modify files in the location that you saved them at. Please verify that.

  27. David Eady says:

    Hi Konrad,

    I am new to dynamo and probably tying to run before I can walk. I am trying to find your “Get Level by name package” as I am trying to feed the simple “Level 02” string that I have extracted from a set of objects to Excel back the other way into the model. Under pressure to pull the proverbial rabbit out of the hat!
    If you can provide this custom node or give me some pointers as to how to do this I would be most grateful.
    Best regards

    Attachment:  getlevelbyname.jpg

  28. David Eady says:

    Apologies I could not see it on Package Manager. I will look again. Is it on it’s own or in one of your collections of custom nodes?
    Do you have a link?
    Thanks for your speedy reply

    • David,

      Like I said it’s in the Archi-lab_Grimshaw package. To be more specific under Selection. I don’t think I can be any more specific than that, and I am sorry but there is no “link” to it – that’s not how Package Manager works.

  29. David Eady says:

    Thank you Konrad,

    I have got it now, it is great and does exactly as it should (obviously :-) )
    It doesn’t like the inputs that I am giving it from my excel sheet though. Does it need a single value and not a list to function?
    (see image attached showing the test of it at the bottom and my attempt to use it in my workflow, with the error message.
    How can I transform my output to be ready for your custom node.
    Best regards

  30. David Eady says:

    Many, many thanks Konrad for your patience and assistance.
    That element of my project is now working fine.
    Best regards


  31. David Eady says:

    Hi Konrad,

    Thanks for your assistance with my project. I have hit a complete wall and would appreciate any guidance you can give me.
    My project extracts various instance, and type parameters along with top and bottom levels, family and type names for a collection of columns that I am using to represent concept stage risers. This part works fine and I am able to output all of these things to an excel work sheet (see image attached).
    I then have another dynamo project that re-imports this back into the revit model amending / updating the parameters as edited in the spreadsheet. This also works correctly with the exception that I cannot alter the family type in this way. I have followed several posts on setting family types and tried using various “set type custom nodes” from various third parties but am either getting errors or in one case it is creating a new type rather than changing the elements type to the one I want.
    Are you able to help? I can send you images of the project if required.
    Many thanks

    • David,

      I am sorry, but this is starting to look more and more like you are asking me to work on your project. As much as I am happy to help you along the way and suggest solutions I still have to remind you that I don’t work for NDY. If your questions are specific and Dynamo related, I will try to find time and answer them, but this is looking like you need someone to do a consulting job for you and provide a “solution type” service for your company. If that’s what you are interested in, feel free to email me and I will forward you my fee requirements.

      Thank you,

      • David Eady says:

        Hi Konrad,

        I am not looking for someone to work on my project. I provided the detail of the project purely to give the question context.
        I thought that it should be quite simple to set a family type from excel using dynamo, but am not finding it so and the forum posts I have seen haven’t helped me solve it.
        I tried to use your “Change Family Type” custom node but I could not get it to work. (my error I’m sure), I thought you might be able to explain how your custom node works, but I do not wish to bother you if you feel this is beyond what is acceptable help.
        I will have to post to one of the forums.
        Thanks for your assistance.


  32. Roman Sevostianov says:


    Appreciate your help last time, have another question, about AddSharedParameters node. I don’t want to repost it, here is a link to the post: http://dynamobim.org/forums/topic/shared-parameter-creation-from-list/#post-34716 .

    Thank you for your time, really appreciate you package, and all you are doing for the Dynamo community.

  33. Mike Maloney says:

    Cannot Get “Read Excel” node to work, no matter which Excel File simple (Book2) or Complex (Like the one I need for input into RMEP (UF Health Conduit Schedule – Level 1 UG))….I am always getting a null output….see jpg.

    Just learning Dynamo, so I don’t know what’s not working. Can you provide some insight?

    Trying to Follow along with your BB Primer examples.

    Thanks. Hope you have a Happy New Year.


    • Mike,

      Bumblebee has not been updated to Dynamo 0.9.0 yet. I will update it to latest version eventually in the meantime you can just change a single line of code in the Python node from 0.8 to 0.9. It should work fine after that.

      Good luck!

      • Mike Maloney says:

        AH…would explain a great many things…..I’ll give it a shot and let youknow.

        Thanks Much.

        Happy New Year.


  34. BDerrick says:


    I can’t seem to get your polycurve by profile node to work. See attached image, unlike your screenshot here on your website, my watch nodes aren’t coming up with any curves from the profile. Any ideas? Thanks for the help.


    • This node is pretty old. I haven’t looked at it since version 0.7.0 of Dynamo so I am pretty sure it will throw errors. I will have a look when time permits to see if I can fix it.

  35. Kris says:

    Hi Konrad,
    Firstly, thanks for all your tutorial so far! very valuable. Fairly new to dynamo and have a simple problem but challenging for me anyway. I’m trying to setup nodes where you can input the Area for a rectangular filled region. The idea is that the Area remains as a constant but can tweak the height and width which affect each other through sliders. This would be a really useful tool in space planning. Any suggestions / ideas would be greatly appreciated. I can’t seem to even achieve the first step which is the creation of a filled region in dynamo!

    Thanks again!

    • it doesn’t have to be a filled region. make a simple generic model with a box that has width and height parameters and then use Dynamo to adjust one, if the other is changed. Makes sense? That way you don’t have to go into details about creating Filled Regions, which are not exposed to every day Dynamo users, and would require some API savvy. Cheers!

  36. Marcel Rijsmus says:

    Hi Konrad,

    You helped me out with some Python-code the other day regarding hiding of objects in view. (on the Forum)
    Problem is, nothing is happening, no errors occur, just nothing. I cant even Undo (the Dynamo-script) in revit after running it, there’s nothing that can be undone.
    Attached is the Dynamo-file

    Would you be so kind to give it a moment of your time to try to resolve this?
    Im Running Revit 2015 UR8, and Dynamo 0.90


    • Marcel,

      I am sorry but I am currently quite busy and cannot offer my time. I will put that down on my “todo” list but I would not hold your breath while waiting for this. I am heavily booked for the next month or so.

  37. terry says:

    Hi Konrad I can’t install your dynamo package Bumblebee. it give me this message: http://imgur.com/kns4Zwc
    Do you know why/how can I solve it? Thanks

    • Just close Revit, open it again and then try installing it again. Sometimes when you have a package already installed it takes a re-start of Revit to allow Dynamo to uninstall it first.

      • Terry says:

        Thank you very much Konrad! It worked!

        Now I’m trying all your nodes.. Everything is fine but I can’t use the node “new file by template”. It gives me this error http://imgur.com/RDX2Qys

        I’m using BBdata node as the input node.. Is it correct? My doubt is that BBdata is not the right node since I have to say two times the sheet name source. (“datasheetname” and “sheetname”).. But I can’t figure out which node I should use otherwise
        Here’s the configuration: http://imgur.com/inqD9U9

        Thanks if you can help!

  38. Harold Arts says:

    Hi Konrad,
    I’am trying to make the script in dynamo for sheet from excel to revit, the only thing i need is the ELEMENT.id node. i have dynamo 0.9.0 and downloaded your packages. My Question is how to import it all. i tried to add-import library but dynamo gives the error “Build error for library” when openingen the .dll file.
    is something going wrong by importing?
    my experince whith dynamo is 2 days, trying to duplicate your script.
    Could you tell me what i am doing wrong?


  39. Harold Arts says:

    It’s working so for.


  40. Marcus says:

    Where do i find the door handling node definitions to download?

  41. Daniel Hurtubise says:

    First, thanks a LOT for making my life easier :)

    I’m using the Revisions on Sheet node and it doesn’t seem to return the Revision Number if the revision as been Issued. Any chance they can be added or is it an API issue?

    Thanks again for everything, it is MUCH appreciated :)

    • it can be added. i will when i have a min.

      • Daniel Hurtubise says:

        Care to send me an email so i can send you a dataset to test :)

        • i am not going to test this out. I know exactly why its only showing Additional Revisions and not ones that are added to sheets via clouds. It’s all right. Besides, I don’t exactly have time to do any of it now. Like I said. When I have time i will look at it. Thanks!

          • Daniel Hurtubise says:

            Don’t think that it’s related to that actually, been running into empty Revision Numbers on a lot more files. But like you said, when you have a minute :)
            And thanks again

  42. Daniel Hurtubise says:

    Did i mentioned i love you lately? :)

  43. Samuel Morris says:

    Hey Konrad,

    Really great work and I appreciate the time type that you spend to develop these tools. I’m a new comer to Dynamo and have recently been trying to incorporate it into our modelling workflow.

    I’m currently in the process of cleaning up REVIT families and have successfully used your python script to clean up the line patterns, filled regions and materials. Unfortunately I have been less successful with the Line Style purge, I keep getting the below error code.

    Tracebook (most recent call last):
    File “”, line 29, in
    AttributeError: ‘type’ object has no attribute ‘GetCategory’

    I have no previous experience using Python, so I’ve got no idea what this is referring to.

    Any help would be much appreciated.


    Attachment:  Error.png

  44. Tim says:

    Hi Konrad,

    I am curious on how hard is it to build this app:

    Sheet Revisions to Parameters

    I came across a consultant model that were using dots in their drawings index, when clicking in the cell a dropdown appears with a dot in place, that is applied to a particular sheet that was issued.

    Is this custom tool does the similar job ? http://dynamobim.org/forums/topic/building-a-drawing-list-that-shows-revisions/

    Thank you in advance,


    • Tim,

      I am not sure how to answer this question. It’s relative. For someone that has the experience its really easy, but for someone who doesn’t it might be really hard.
      To answer your second question, yes, this tool was developed to do just that: it assigns a dot symbol to a shared parameter and you can keep revisions and these shared parameters in synch.

  45. Tim says:

    I am attaching two snapshots of what was achieved in this instance, I have scoured the whole project but cannot understand on how it was implemented.

    It seems in addition to text parameter that was assigned to index as a revision, there is another probably graphic calculated value with a dot when clicking in the cell brings the dot, which can easily deleted if entered by mistake.

    Anyways, I have found on various forums that there is a formula that can be added to cells for the dot: if(IssueX “●”, ” “), but unfortunately this does not work here.

    That leads me to believe that in the example attached was done something else.

    Attachment:  Rev-Dot.png

    • Yes, you can set this up with bunch of yes/no parameters for each issuance, and then connect a calculated value to them to display a dot in a schedule. I don’t like that approach because it’s a high maintenance approach. It also requires to double number of parameters (yes/no param and respective calculated value param). It’s too much hassle. It can be done, but it’s too much to worry about.

      • Tim says:

        So in short, the plug in you have created addresses this issue and avoids having to create multiple yes/no parameters for each revision.

        Is there in any shape or form this can be shared, i mean not necessarily the graphic interface, but the code ?

        Thanks again

        • I can’t share this particular work as it was done for the company that I am currently working for. I do open source and share a lot of other useful things, including code on this blog.

  46. Tim says:

    Sorry im not sure how attache two images at the same time.

    Attachment:  Rev-Dot-Sheet.png

  47. Tim says:

    Thank you nonetheless, will keep digging.

  48. Peter Hughes says:

    Hi Konrad,

    Looking for the “delete.elements” node from the process below, it mentions it is part of the Grimshaw package, is this within archi-labs?

    Currently not coming up in my nodes search.

  49. Paul Sommer says:

    Hi Konrad,

    re: Id to Element node

    Is there a way for your node to first check the model if the element id string/list (from an excel file) is valid before it does it’s job. I’m working on a project/graph the will set a parameter to these element id numbers. The element id numbers are the clash detected element id numbers from Navisworks’s report “xml” file. But for some reason some of the element id numbers are not valid in the model. I’m not sure why that’s happening.

    It took me a while to figure out why the node was giving the “Traceback” error message…”AttributeError: ‘NoneType’ object has no atttribute ‘ToDSType'”. Some of the numbers in the list were not valid.

    So I was hoping you would be able to add some kind of error checking in the node. First check if the number is valid then process it if it’s good. Hope this can be done. Would really save me lots of time.


    • Paul,

      Yes, this could be done. Also, the reason your IDs don’t match anymore is that (if I am guessing right) your models are workshared (central model + many users). What happens is that Element Id in a workshared model can change during lifetime of the project. Why? Because when you create an Element it gets an id assigned to it. Then when someone else touches it, it will pick up the element id from that persons model when they synch it into central. It basically overrides the original id with the last id used, by the last person that used it. Element id is not a stable reference to an element in a workshared environment. Use GUID for that as those never change, even if id changes.

      Ps. I will not be able to publish a new node, until i find a minute to update it, but I logged that in my to do list.


  50. Paul Sommer says:


    Thank you!..And thank you too for the explanation why the id numbers change. Yes the model is workshared.

    Many Thanks!

  51. Jan says:

    Hi, i’m trying to build a pdf printing tool and found in the description of the archi-lab the tools Print Range and Print Settings, in the actual package these tools are not provided?

  52. Paul Sommer says:

    Hi Konrad,

    re: Id to Element node

    Sorry to bother you but I have the feeling you have a very long to-do list. Can you please maybe send me a python script for the meantime. I keep checking everyday if you updated your package. My dynamo graph is ready and waiting to be use…Or do you know when you think you’ll be able to update your package?

  53. Minoru Izuchi says:

    Hi Konrad.
    Your node “Add shared parameter to project” doesn´t work on Revit2016.
    I don´t know why. Dynamo version is 0.9.2
    Can you check about it if it´s possible?


  54. Sandro says:

    Hi Konrad
    I wrote you because I need your help.
    I am attaching a file. Thank you

    Attachment:  dear-Konrad.doc

  55. Eddie Smith says:

    Hi Konrad,

    I am also interested with the “id to element” node? I installed Dynamo 1.0.0 and I dont think it’s working.
    Any update you can share with us.

  56. Michael Weinholzer says:

    Hey Konrad,

    I am using your archi lab package within Dynamo and was wondering if the package works already for Revit 2016 or 2017? In Revit 2015 I created a script included the Get Rooms by Level Node. In 2016 the node doesn’t seem to work anymore, but it could also be that my stupid german version causes the issues! I checked your python script but didn’t see any noticeable problems regarding translations or so on.

    Could you tell me if you updated your scripts already? Thanks and kind regards

    Michael aka siulum

    • my package is most recently tested on Revit 2016, but I don’t think there were any changes between 2015 and 2016 that would cause any issues. I think there might be some changes coming in 2017, but I haven’t tested on that version yet.

  57. spencer says:

    Hi, Konrad, I am so sorry to ask for your help: I am new to Revit and know nothing about all the stuff but now I need to develop a new function which must be done using Revit. Thank you so much in advance!

    My question is: in Jeremy Tammik’s sample of “Creating and Inserting an Extrusion Family”, he created a new “Stiffener” type under “Structural Stiffener” family and it’s not a wall. How can I change it to a new wall type under the “Walls” family? As a matter of fact, all I want is to create an irregular shape wall, do you think is there any other way to get this done? The “wall.create” have 5 override functions but I tried all and failed. My wall is acturally an extrusion with the same height in Z axis, but in floor plan the shape are complicated such as an irregular shaped closed polyline. Please help me! Thank you very very much!

    I tried to attached a picture, but I am not sure if it will be shown well. Thank you!

    Attachment:  question.png

  58. Brad says:

    Good day Konrad,

    I write to you in respect of this link on the Grasshopper Forum:


    If you still have this definition would you mind sharing it with me please?

    I have tried a similar method using Breps (which was very slow) and have found Mesh outputs to work much faster, however I still have some geometry mismatches.

    Thank you.

  59. Greta says:

    Hi Konrad,

    I am working on a Dynamo 0.7.3 version and …maybe this is a stupid question but I can’t figure out which version of the archi-lab I should use and where to find it.

    Could you give me a hint?

    Kind regards,

    • oh wow, that’s really an old one. I would look at the log of when 7.3 came out since all archi-lab releases are dated you can match the latest release to one immediately preceding release 8.0. Good luck!

  60. Blair says:

    Any chance the Legend duplicator tool will be updated for Revit 2017? I can’t work out how people set up repeating legends etc for multiple sheets without this tool. I used the LMN version then missed it until I saw you had recreated something similar. Works great but one comment would be that if the sheets could automatically sort by number would make the process faster. Look forward to hearing if it’s updated.

    Thanks, Blair

  61. James Chung says:

    Thanks for sharing so much of your knowledge, it’s been incredibly helpful.

    I was wondering if there were any plans to incorporate read/write to Excel tables and/or named ranges in a future release of Bumblebee. This would allow for dynamic ranges of data to be used.

  62. Eddie Smith says:


    Any news when you can share about when you think you can update the “Id to Element” node?

    • It will be good to use in the next release of Archi-lab. I am working on a rather large update/release that will coincide with me heading to ACADIA so maybe in a month.

  63. Leonardo says:

    Hello Konrad,

    I would like to know if you could help to solve an issue. I want to set an added variable that I created in Dynamo with parameters from the Linked File and from Elements of the Linked File. The image bellow can help you to understand what I’m saying:

    So, we have the parameter (“Nome”) in the link; (“1.Bloco”, “2.Área”, “3.Apartamento”, “4.Int/Ext” and “99.Serviço”) in the Elements of the Category Walls which are inside the Linked File. We added all of them and tried to set the final parameter back to the Walls of the Linked File with another parameter called “EAP” which exists in the Walls of Linked File.. The problem is exactly in the final step because apparently Dynamo can’t set parameters to an Element inside of a Linked File.

    Is there anyway that we could solve this problem?


    Attachment:  Capture-2.png

    • As others have already told you, its not possible to push data into Linked Model without opening it. Now, it is however possible to open a model programmatically and write data to it, save and close. Of course Dynamo doesn’t offer that functionality yet, and would require custom development.

  64. Nathan Moore says:

    Are you familiar with anyone in the MEP sector like yourself? I would like to collaborate as I have built a few workflows in Dynamo. MEP is a small subset of the overall offering of Revit but I think it has major potential!!

    • Nathan, I am sorry but I am not familiar with anyone that I could refer you to. However, I do frequently venture to the other side, if that’s what clients need me to do. if you can tell me more of what you have in mind and what kind of collaboration you would expect then I will see if I can help. Feel free to email me instead at sobon[dot]konrad[at]gmail[dot]com. Cheers!

    • Daniel Hurtubise says:

      Nathan you can look up Simon Moreau at http://bim42.com/
      He’s done an MEP dedicated package

  65. dotan says:

    Merge element parts
    Hi Konrad, couldn’t post to the blog…
    First sorry for my English..
    Second I must say that I became addicted to Revit dynamo
    And I find it fascinating fun, and a major progress engine to the AEC industry!!
    Problem I’ve encountered, trying to merge parts of a wall
    Attached the python script..
    Getting the error: CreateMergedParts…..objects is read only
    Does that mean I have no excess to the element?
    Is there any other method?
    Thanks to all…..

    Attachment:  11.jpg

  66. Mark Jolly says:

    Hi Konrad,

    I’m having a problem using your script “Add revisions to sheet” and have a feeling it’s down to me doing something silly/wrong. What value is the ‘Revision’ input looking for I feel this is where the error is occurring? I’ve tried a code block with “1”; & “Seq.1”; only to receive an attribute error. Please refer to attached image. Apologises if I’m being dumb or done something glaringly obvious that’s wrong but I’ve only been working with Dynamo for a few months now.
    I’d also like to take this opportunity to thank you in providing all of us with the scripts you write. It saves a lot of time coming to solutions I’d otherwise fall over and fail.

    Many thanks for any help you can provide.



  67. chiaramello says:

    hello Konrad, i really don’t know if you have already gave the solution of this issue but if you have the .dyf of parameter type to do the list : for example : Text . Integer . Number . Length Area, in that way i will can choose with the good index to connect with the node add shared parameter that you know of course. i really really appreciate. I’m following a previous post in dynamo and the solution was to build a custom node with the copy paste given in this post. something is wrong but my knowledge ends there. can you help me please.
    i want to finish my script node dynamo to add shared parameter to room but it don’t work actually. my revit is 2016 and my dynamo version is the most recent.
    Sorry if my English is not perfect, i’m french. see my attached file.

  68. Arash says:


    Could you please give a quick exampel of how to use “Create Annotation Tag” when the elements to tag is in a Link? I could not make it work, I wanted to tag all doors that is in a Link but got error. Se my picture.

    Best regards Arash

    Attachment:  1-1.jpg

  69. Daniel Hurtubise says:

    Morning Konrad,
    i’m using Get Worksets to get the … worksets :) but it doesn’t seem to update when you create a new workset or when you sync.
    If i close and reopen the definition then it updates, running it manually won’t do it either.
    Is it an API limitation?

    Thanks for everything again

    • No, its a custom Python script in Dynamo limitation. I usually put a Boolean Toggle on my nodes for that reason.

    • Daniel,

      So I went ahead and just re-wrote that node as a C# Zero Touch node which now allows me to utilize automatic updates to watch the Revit model and update the dropdown list when you either add or remove Worksets. I will post that to Archi-lab_Grimshaw package in the next release.

      Here’s a preview.

      Attachment:  Capture-3.png

  70. Daniel Hurtubise says:

    Your the best… but you knew that already :)

  71. Isaias says:

    Hi, I can’t to install these packege, can you help me please?

    Attachment:  cap.png

  72. Rene P. Garcia says:

    Hi Konrad,
    I was wondering if this problem I have would interest you enough so as to spare some time on it… (please see my post requesting help and describing the issue: https://www.linkedin.com/groups/68075/68075-6188655286744547330)
    I just want to make curved+schedulable REAL revit mullions… My fails file so far: http://a360.co/2dlqQRF . Thanks a lot.

    Attachment:  TheCourgette.jpg

  73. Daniel Hurtubise says:

    Morning Konrad,
    im using the Key Schedule node on Dynamo 1.2 with Revit 2017.1. Im reading info from an Excel file but i get
    1 – Extra lines
    2 – I can’t seem to be able to write a 3rd data

    You can find the sample file here, https://www.dropbox.com/s/1jkafsidg0howzg/keyScheduleIssue.zip?dl=0

    Thanks for any help… again

  74. Eddie Smith says:

    Hi Konrad,

    I just installed to your latest package. Did you ever updated your “ID To Element” node to accommodate element id numbers that does that exist in the model?

    Looks like you did not. Are you going to? It’s been a long wait for me.

  75. Eddie Smith says:


    So when do you think your next update will be. Next year?

  76. Eddie Smith says:

    Oh that’s good to hear. Just the “ID to Element” to check first the id number if it’s still valid. Then process it if it’s valid.
    Thank you in advance.

  77. Eddie Smith says:


    How about not even a null. I’m not sure how the node “Element.SetParameterByName” will accept a null value.
    Or can you suggest a way to create a new list of elements excluding the null values. I think I know how to create
    a new list excluding null values but from strings not elements.

    Attachment:  Id-to-Element.png

    • just filter that list before you feed it into the parameter node. That’s not really my concern at this point. I don’t think that a node should be modifying your list structure which is what you are asking me to do by dropping null values from the list. you will have to do that on your end.

  78. Eddie Smith says:

    Okay..Thank you!

  79. Michael says:


    First off, thank so much for all your help and Dynamo packages. I have a question about the SetViewTemplate addon you posted. In a lot of the examples I saw that you used a node called ApplyViewTemplates. I am assuming that the node has just been updated. I am feeding the View Name and the View Template name into the node and it is giving me an error that it cannot accept arrays but in some other posts. I tried to find the old node “Apply View Template” and did but it is from Dynamo 0.6.

    I attached the excel sheet and dyn file for your reference as well.


    Attachment:  Share-Folder.zip

  80. Wojciech Klepacki says:

    Mam problem z Twoim wezlem Rename FIles. W Dynamo 1.2 generuje mi blad. Bylby wdzieczny za pomoc jesli znalazlbys chwile czasu i nie byloby to dla Ciebie problemem. Bardzo Ci dziekuje i pozdrawiam serdecznie.

  81. Beau says:

    I’ve just installed Mantis Shrimp, and am following the YouTube tutorials –

    But every time I try and drag any Mantis Shrimp component into my Grasshopper window, my Grasshopper and Rhino crash.
    Any thoughts on what could be causing this?

  82. Konrad, I’m using your archi-labs package in Revit and in particular the ViewHideElements and ViewUnhideElements tools. Per the attached image, when I set the RunIt to “TRUE”, I get traceback error messages. Do you know what could be causing this?

    Attachment:  Capture2-1.jpg

    • Steven,

      I have no idea what you are doing there since i can only see the last node, but I think that the error message is very clear. It states that an “integer has no attribute…”. This clearly means that instead of a Revit Element you are feeding in an integer (number). Numbers are not real things in Revit, they are abstract constructs. How are you going to hide a number?

  83. Yes I saw that right after I sent the comment. I was sending the index value of the element in a list rather than the element itself. I’ve got that corrected so it is sending the element. Thanks.

  84. Gretchen Schwab says:

    I am trying to find a node that will create an excel spreadsheet listing all the detail tags in a project file and what sheet they are referenced on.
    If there is none that you know of would you be able to refer me to some sites that might be able to help me start to create such a routine.

  85. Jason Masters says:

    Hey Konrad, I’m just getting started with Dynamo and was wondering if you could advise me on what the best practices are regarding modifying and publishing existing nodes / python code?

    I modified your node Elements in Room to do something a little different, modifying both the visual programming part of it as well as the Python script. I noticed that by default nodes are published under the MIT license, my interpretation of this is that I can republish the code/node as long as I give credit back to you (and in this case Peter Kompolschek which your node was based on).

    Is this interpretation correct? Are there any other copyright issues I should be aware of with these nodes / code?

    Cheers – J

    • Nah, you should be ok re-publishing. Question is, why not just post the issue to my github page and post updated code there? that way i can just clean up the code, and re-post it back to my package and all current and new users will enjoy the benefit of it instead of starting a new package. only limited few people will ever know that a new version of this exists somewhere. that’s the imperfect one-way linked internet that we have today.

  86. Dave Plumb says:

    Sorry to be bugging you so much today.
    I’m getting an error that the “Id to Element” node is not found.
    I see the .dyf file in my AppData\Roaming\Dynamo\Dynamo Revit\1.1\packages\archi-lab.net\dyf folder
    but I don’t see the .dyf in the 1.2 version
    I don’t remember which version I had for 1.1, but I’ve got 2016.12.7 for 1.2

    Did Id to Element get deprecated or replaced?

    • in latest archi-lab package that node is no longer called Id to Element. Instead try looking under selection for Element.ById.

      • Dave Plumb says:

        I’ve replaced the Id to Element nodes with Element.ById, but it appears they don’t work quite the same.
        Might be the List@Level function, but I haven’t quite figured out why yet.
        I’ll update once I get it working again.
        Once question I do have is the it seems to be sending my output to the “unmatched” output instead of the “Element” unless I’m doing something wrong. See image attached

        Attachment:  ByID.png

  87. Francesco says:

    hi, can you tell me why your node Id to Element doesn’t want to work?

    Attachment:  id-to-element.png

  88. David Lee says:

    Hi Konrad. I am working with the Shared Parameter Dynamo file and have not been able to get it to work. Can you give me a hand? I’m using Revit 2016 and Dynamo 1.2. It’s from the following link:
    I’m trying to add shared parameters to a family and have been stuck for a couple days on this. The error is in the Python Magic group with the parameter types, parameter groups, and category by name. Any help would be appreciated. Thanks!

  89. BRIGAUD JF says:

    Thank you very much Konrad, your blog helped me start with Dynamo.

  90. Nicolas MARCOT says:

    Hi Korand,
    Thank you all your nodes that I use every day in dynamo.
    Excuse me for this bad English, I’m French.
    I encounter a problem with the Room.AtPoint node that works well with a local model.
    Unfortunately I need to use it on a linked model but it does not work.
    You indicate on your site that it can work with a small modification.
    Can you clarify?

    thank you for your help
    Hello from France

  91. Artur says:

    Hi Konrad,

    Thanks for great nodes!
    I’m struggling with inserting images into excel using Dynamo. I’ve found Bumblebee node: “Embed Image”, but it doesn’t work for me. Could you please show the correct input to that node?


  92. Brad says:

    Good Day Konrad,
    I am just getting started with Dynamo, and I see a lot of your nodes and package(s) being referenced on the forums. I have been tasked to dimension the edges of a floor to the nearest grid line. I have been playing around with it, and I thought maybe I could use the “Dimension By Element” node, but am not having any luck? I have found scripts for columns, and grids online, which I thought maybe I could modify to make it work, but I am having no luck. You have any advice or guidance you could provide? Attached is an image of the end result of what I am trying to accomplish.
    Thank you in advance,

  93. clogboy says:

    Hi, I made a change so I can input a list of tags in your tag element node.
    If you want to see what those changes are, then I’m happy to share them.

  94. fady says:


    Am trying to find the Apply view template .dyf which should be found in archi-lab package but it is not there.

    Appreciate if you can help

    Thank you

    Attachment:  1-2.jpg

  95. Rick Ross says:

    Hi Konrad,

    Many Users, in example on the dynamo forum, have been experiencing issues utilizing your “Create Annotation Tag” for Linked rooms. I’ve had success before so I know it worked at some point but now there is an issue: TypeError: Room is not iterable, referring to line 90 of your code:

    for i, j in zip(elements, locationPts):

    elements being the issue. Any ideas what may be causing this?

  96. Jess says:

    Hi Konrad

    I’m trying to use one of your nodes “Select.ByCategoryAndDesignOption” and then feed the element out put into a Get element ID node. This sometimes works and sometimes it gives me the error “…dereferencing a non-pointer”. It is so super useful to be able to get access to element IDs that are on design options. I’m trying to then write them to an excel sheet but I’m battling because it seems to be glitchy. Closing and opening dynamo sometimes helps but not always. Please help :-)

    (I’m also battling to write the info to excel on one sheet – but that’s due to my rooky status – any advice would be welcome)

  97. been says:

    Hi Konrad

    Special thanks for the bumblebee package. I am trying to find a way how dynamo can help me manage changes in the Revit schedules.
    to give you an example, After we issue a door schedule to the contractor and if it needs updates, we have to issue the whole door package with the updated cells highlighted. Currently I use an excel sheet with some conditional formatting to compare the previous and current data to highlight the updates. Is there a way which can be more efficient and intelligent in managing changes in Revit? Can dynamo be helpful on this?

  98. Kiki says:

    Dear Konrad,

    Here is Kiki from Hong Kong. Currently, I am working on Dynamo and want to use Isolate in View node. Could you kindly share with me the installer package? Thanks.


  99. Robert Allan says:

    Hey Konrad,

    Thanks for all your helpful tutorials you’ve posted over the years, they are a huge help! Currently, I’m trying to get your tutorial working where it automatically places views on sheets for you, and if there is no more space left, it will go onto the next sheet and start populating that (as seen in this tutorial: https://www.youtube.com/watch?v=3SxTmRzm5Kk)

    During this tutorial, at around the 10:00 minute mark, you start showing off a custom python node named ‘Python Script with Variable Number of Inputs’. I am wondering where I can find/download/search for this script as I have no experience in Python and would not be able to duplicate that node. Any help in pointing me to the right direction would be massive in getting this dataset working on my end and saving me and my company loads of time and labour!!!

    Thanks in advance for taking the time to read, and hope to hear back from you soon :)

  100. Alice Santamn says:

    Konrad –
    First – great posts and information as to how to roll in Dynamo and computational design into everyday workflows. But here is my question-
    When Record Modeling large facilities, Revit revisions are no longer needed in a record model environment. Leave them in an As-Built model, but not in the Record model.
    I’d like to find a way to merge all the revision down to just one place-holder revision. I can globally delete all revision clouds and tags, but when there is 150+ revisions in a model which no longer need to be there, is there a way to use Dynamo to globally merge all revisions back down to the one default placeholder?
    Many thanks!

    • There is a method in Revit API called Revision.CombineWithNext() that would combine two revisions. Subsequently, if you run this in a loop over the whole Revision Set you should be left with just one revision. Good luck!

  101. M Oden says:

    Hi Konrad,

    I can’t seem to download your Door Handing Script from your site.
    I’ve tried to recreate your script (still a beginner with this) but can’t seem to get it to work. If you could please assist me with the dynamo file.

    I would like to try this script for us in South Africa.

    Thank you.

  102. Johanna says:

    I have a problem which I don’t know how to approach. I spending a lot of time creating updating legends. I have Door and Window schedules. Which are easy and get updated with the project. But these Schedules are on a sheet with legends to show how each window type and door type looks. The Legends don’t get updated.
    The are no images in the Families to use. The prefer to have the layout the way it is and not a picture in the table/schedule. But a picture with a tag on a sheet for each window and door type. Can you generate legends form the door and window schedules to place in the sheet?

    • Please post this question to the Dynamo Forum. I am sure someone will have an answer there. I don’t have anything ready that I could share with you at the moment.

  103. John says:

    Hi Konrad

    I have a quick question for you. I am new to dynamo and I am modifying your View.Duplicate node to do something a bit different for me. What do you have your View input set to in this node? That’s the only thing holding me up. I have the other strings associated.


    • John,

      View would be any element in Dynamo that inherits from View class. I think if you used a Category node and set it to Sections, then connected All Elements of Category node to it, it would return a list of all Section Views. There are also custom nodes in my package that you can use to collect views. You can use View.GetByType and connect View Types input to it.

    • Jeremy says:

      Where is the source code to this node? Would really like to try get it working with area plans. Or if Konrad could do it, that would be awesome as I’m just taking random guesses in the dark with code.

  104. Chris Innes says:

    Good day Konrad, et al.

    I’ve upgraded to 1.3.1. and reinstalled the latest Archi-labs.net packages, but can’t seem to find the ID to Element node anywhere, has it been excluded from the latest release?

  105. Conan says:

    Hi Konrad,

    you doing a great job !, and i am interested for a python skript that you wrote (get all objects by parameter), but now in my case the skript dosen´t works. I check it 3 times, but i can´t find the mistake. maybe you have the same problem earlier and known a solution.

    the topic is closed so i write you directly on this way.

    thnx for your time

  106. Kim R. says:

    Hi Konrad,

    I am very new to Dynamo but I am trying to use the Add Shared Parameter to Project node to create various visible and invisible parameters to then use to make a custom sheet index schedule in Revit 2016. I am struggling to get the node to work. It either returns “null” or “function” each time I run it. I am very new to python and designscript and was wondering if someone could walk me through how to get the node to work properly.

  107. priya says:

    I am a student and working on dynamo for the first time.
    I went through all the threads on dynamo on the forum but I’m still stuck.
    I am unable to understand why I’m still getting null file. I am attaching a demo file but my actual definition is much longer.
    the python codes provided aren’t working for me. I am using Revit 2018 and Dynamo 1.2
    It would be really helpful if you could elaborate on that and also on the relation between the shared parameter text file and the definition.
    I tried to find the custom nodes for parameter types and parameter groups which need the code block but they aren’t available.
    I would like your comments on the same.
    Thank You

    Attachment:  Untitled.jpg

  108. Epifani says:

    Good night
    I am trying to place a slope arrow (which is just a generic annotation as I’ve read you can place the out of the box slope arrows using dynamo) onto the center line of a pipe. Could you help to me how can do.

  109. elisa ambrassa says:

    Hi Konrad, I’m Elisa, a Civil Engineering student. I’m making my Master Thesis with BIM and I’ve followed your page to built a buttom in Revit. with this buttom I have to make it do some choise, like other buttoms and check box…can I? cause I can with Visual Studio but I can’t putting it in Revit, it doesn’t work.

  110. Stojan says:


    I am relatively new to Dynamo and RevitAPI, I have had great use from archi-lab packages, but I think I managed to improve upon your Print PDF node (the python script within). If you are not sure what I mean, then there was an error setting the printSetting to RevitAPI (it expected different type of object).
    I submitted a code and pictures for you. Maybe this can be implemented in the package? I also suggested the same on Dynamo forum (TypeError: expected IPrintSetting, got UnknownElement).

    Thanks and have a good new year!

    Attachment:  printtopdf.zip

  111. Gjergji says:

    Hi Konrad this is Gjergji we worked together a while back at HOK.
    I’m trying to get a simple script running to remove unused view filters from a project via dynamo.
    I attach if you would like to look at it.
    My question is in regards to the . Elements.Delete button, does it automatically hold true when running the script.
    I cannot seem to be able to check whether it ran or not.

    Thanks In Advance.

  112. Ahmed says:

    Hi Kondrad,

    Quick question about scripting. Would you happen to know where I can learn this? I am architecture/architecture technology double major graduate and love using revit but never got to the point where I can do more with it, such as rhino to revit with actually working parameters and revit native elements. I am currently based in the UK, is there a place u would know? or maybe online even?

    Thanks in advance
    Warm Regards, Ahmed

  113. Aime Breiner says:

    Dear Konrad,
    I am a student at Royal Holloway, University of London and would have a couple of questions on your work, specifically on room tagging, and the shared parameter element that you created. I am currently working on an assignment where I am supposed to create a product and decided to implement an application. To create this assignment I would (as already mentioned) have some questions for you. I hope you would be comfortable in helping me.

    Thanks in advance.

    • You can try asking the actual question. If I have time I will answer it, if not, however I will not. You can also try a Dynamo Forum. There are a lot more people there to ask the same question, so the chance of getting an answer is bigger.

  114. Tyler says:

    I’m looking to speed up my work flow in Revit 2017/2018 by making the “Set Work Plane” and then the “Pick A Plane” option all into one button.

    Basically, when you click the “Set Work Plane” button you then have a prompt that you then need to choose.

    I use the function so much that I would like to make a single button that goes right to “Pick a Plane” without any prompts.

    I already know how to code and I already make my own buttons but I’m not sure how to duplicate the functionality that Revit does.

    Is there a way for me to do this?

    • I think the API allows for setting currently active workplane so in theory you can make a routine that let’s you select a plane, hit a button and it will make it the active one.

  115. Rasmus Holst says:

    Hi Konrad.
    Are you still planning on keeping Mantis Shrimp updated?
    I have been using it before and once I figured out about writing in the python code with correct versions of Dynamo it seemed to work.
    This time around I have been able to do this in Grasshopper and send a .geo file – however I have not been able to import this in Dynamo. As I just get “Null”. My guess is something with the code/version, but I have not been succesful in figuring it out.
    So basically if you have any ideas or plans of updates please let me know :)

    Best regards Rasmus

    • Just updated it to 1.3 version of Dynamo. It was published to the Package Manager. I will also release an update to Dynamo 2.0 sometime in the future. That version of Dynamo is not yet fully functional so no rush.

  116. Ignacio Diaz-Maroto says:

    Hi Konrad,

    I have tried installing Mantis Shrimp in grasshopper. I have revit 2017, revit 2018 and dynamo core 1.3 and dynamo revit 1.2 installed. The export component appears red from the moment i try to use it and I get ‘Solution exception:Could not add reference to assembly ProtoGeometry’. Do you know why this could be the case?

    • There is a new version released for Dynamo 1.3 so make sure to download the latest from Package Manager.

      • Ignacio Diaz-Maroto says:

        Hi Konrad,

        Thank you, it worked a treat. Thanks for the quick reply as well. I really appreciate your work and can’t wait to give this a go!

  117. Gosia says:

    Hi I am trying third day to schedule the Door Handing but I am stuck with the door parameters. I couldn’t match them with the script “Door Set Handing”. I have all yellow boxes “Element.SetParameter by name” .
    Should I create instant text parameter in the door family called “Door Set” ? Then I can’t schedule the instant parameter and also I can’t put formula using instance text parameter to get it scheduled. I am very new to Dynamo I researched dozens of posts but none explains properly for beginners.


    Attachment:  Capture-1.jpg

  118. Gosia says:

    Hi. Sorry Ignore the attachment it was attached accidently. Actually I found the answer for my solution. I had no idea you need to create Project parameter called “Door Set” It is Instant Parameter and can be scheduled. Screen Shot Attached.



  119. Oliver Young says:

    Hi Konrad,

    I am brand spanking new to dynamo, and have been getting alot of help at the Dynamo forum. THere is one issue I thought I would run directly by you to see (and most likely it is some mistake on my end) if you have any light to shine on this issue. I work equipment layouts using the architectural file as a linked background. I use the get all elements from linked file and it pulls all rooms in this case from the linked file. but when I run the elements from linked file it associates my equipment to rooms from the linked file, only until recently to notice that they weren’t being factored as belonging to the correct room. Any clarification you could provide would be super appreciated.

    Attachment:  screenshot.jpg

  120. Juan antonio Rodriguez says:

    Hy Konrad
    I am trying to reproduce the following graph to extract information from a Revit model having a linked ifc file.
    Is there a way to access the actual element geometry in a linked IFC file using dynamo? For example, I have a linked IFC file for curtain wall built of curtain panels, I’d like to extract the curtain panel boundaries or corner points from this linked IFC file but can’t seem to access the geometry. Any help would be great, thanks guys!
    I am using Dynamo 2.0 and I cannot extract the ifc. I found out that the difference is that the Get Document node is producing a list in Dyn v 1.3.2, while, in Dyn 2.0, it is producing a Dyctionary. How should I adapt it to work? Are this type of side-changes in functionality when updating to dynamo 2.0 listed somewhere? It is a bit frustrating in my learning process to try to adapt existing samples, just to find out that they do not work in v 2.0 properly!!2018-05-20_1200


    Attachment:  2018-05-20_1205.png

  121. Juan antonio Rodriguez says:

    The link to the graph

    So, instead of getting the ifc object, I got the reference to the revit.DB….
    I tried changing the code Block (something like link[“link Instance”], but the same object was returned…

    Attachment:  2018-05-20_1200.png

  122. trevor says:

    I work for a software developer. We develop software to run our CC machines. We have also hooked up a gaming engine to our software for VR. It’s really kool. Anyways to the point.

    I have pieced together a dynamo script to export DWGs from Revit. I am new to Dynamo. A vital node in my script was written by you, found here: https://forum.dynamobim.com/t/choose-export-settings-revit-to-dwg/17413. I really appreciate this Python Script. Works like a charm. I would like to share this Dynamo Script, that contains your code, with some of our sales people/non Revit users, so that they may export dwgs. Is this acceptable?

  123. JB says:

    Hi Konrad,

    Thanks for all the great work you’re doing – I saw you at the BILT (RTC) conference in Australia a couple years ago and have been learning Dynamo ever since.

    I have a question about your Revisions on Sheet node. I have installed the latest version (Sheets.Revision) and I’m not getting any value for the Revision Number parameter. All the other parameters are returning values. Is that right?

    I suppose my question could also be – can I access the Revision Number for each revision on a sheet?

    Thanks again.

  124. John says:


    Love the work and the packages! I am using your python coding in dynamo (above link) for exporting out Cad files. Works great for versions 16 and 17 but something changed in RVT 18. Now every time I run it in RVT 18 it exports to AutoCAD 18 even if the settings are set for RVT 13 within Revit. The old school manual method with Revit works, so I have isolated it to my dynamo graph. I am using the same code as the above link and I am a python newbie so any help would be much appreciated! I did read up on the API changes for RVT 18, but does that effect the fetch on the export settings? If you have already addressed this my apologies, thank you for your time and effort in advance!


  125. Stalo Pitta says:

    Hi Konrad,

    Thank you for sharing your knowledge to us Dynamo newbies! I am trying to direct your Door Set Handing node to single doors only and give all of our double doors a door handing value of “n/a”. To achieve this I’ve created a flow that filters out all Single Doors by Family Name (String contains “sgl”). However I seem to be unable to then get all elements of that Family Name so that I can direct them to your Door Set Handing node.
    If possible could please have a quick look at the dynamo file attached and offer your thoughts? I would much appreciated it!

    PS I have also taken up some of your reading recommendations (currently reading “The Brain.The Story of you.” superb book thank you for bringing it up)

    Best Wishes

  126. Liybo says:


    Lovely work on archi-lab pack.
    I use it very often and its really helpful.
    Recently i hit the wall with Clear Content for excel worksheet.
    Script looks OK when i run the node … result is success but in real my excel worksheet is not cleared.
    I try lots of different combinations in dynamo but every time i get successful run and no actual cleared worksheet.
    I try with all excel formats too from 1997 xls to newest formats. Same result :(
    I try with play with macros too. I stop them all and result is same.
    Do you have any ideas what is wrong ?

    Best Regards,

    Attachment:  3.png

  127. Aaron Underwood says:

    Hi Konrad,

    Thanks for all the great work you’re doing!

    I have recently come across a problem using the “View Type” node which adds another connection every time I save the script and run it again,

    I can get around this by replacing the “View Type” node every time I run it, putting it back to 1 connection but was wondering if you might have an idea why this happens or a work around,

    Any help would be appreciated,

    Thank you for your time,

  128. Damir says:

    Good afternoon!
    Please check the work of the ViewSets.ByViewsName node.
    It works well for the creation of one set, and several.
    But overwriting works only if the input is 1 set (1 element per input “name”).
    If there are several sets on the input and they already exist in the Revit model, the overwriting fails:
    “Could not replace existing View Set.”.
    P.S. The node is included in the Interlacing mode – “Longest” – so that the lists of Lists correspond to their Assemblies.

    Is it possible to fix a node in this mode?
    The test was carried out on the package versions: 2018.0.12, 2018.13.13.

  129. Joris Van Bossche says:

    Hi Konrad,

    Is it possible to use the active cell(s) from Excel as a range? Instead of typing the range in a node I want my script to look at the selected cells in Excel.


  130. dror vanger says:

    I have a problem with a dynamo script that you design, and i am really hoping that you can helf me fix it.
    I’m using dynamo
    I have attached a picture.

    Attachment:  111.png

  131. John says:

    Hey Konrad,

    I have a quick question regarding your View Type Node in 2.0. I am getting a double ‘viewType’ out on the node when I run it. Any thoughts on how to fix?

    Attachment:  2018-10-09_1348.png

  132. ERON ORESK says:


    I am trying to run Dynamo code shown in this link .

    The author advises need for Archi Lab.

    I do not know what element or data set needs to be added from your site ?

    Please advise.

    Thank You;

    • You want to go to Dynamo’s Package Manager and install the latest archi-lab.net package. You can also try and reach out to the creator of that video and ask him which version specifically you need for the video.

  133. ERON ORESK says:

    Konrad how do I get download link for archi-lab.net package ?

  134. Randy Williamson says:

    I’m having problems using the Dropdown List Selector node. When I try to use the node, the node it self turns the color red and the error message reads: Method not found:’Boolean Dynamo.Graph.Nodes.NodesModel.HasconnectedInput(Int32)’
    My current versions are:
    Dynamo Core
    Dynamo Revit
    Any help with this problem will be appreciated.

  135. CC says:

    Hi Konrad,

    Is the ScheduleView.CreateAreaSchedule node that you developed on GitHub available in the archi-lab package?

  136. Poornima says:

    Hi Konrad,
    I am not able to find FloorPlan.ByRoom node in archi-lab package.
    Can i know if there is any other mode which i can use it for the same.


  137. Henri de Falco says:

    Hi Konrad,

    I ve a question for programming language.
    I use Dynamo since 2 years now but only nodes or package.
    I would like improve now my own script and i would like to now what it is the best way to begin.
    I m a newbie in programmation. I ve never learned or written a code. So, what language i need to learn first PYHTON or C# ?

    Thank you

  138. Slava says:

    Hey Konrad! I was following you for a while, and I wanted to thank you for what you do. This resource is really helpful.

    I work with point clouds, and I QC models agains to point clouds and mirror balls with 360 photos. The main software in this case is Navisworks. And when I’m walking through models I can get lost in there. So I need to zoom out to identify my location and verify it with scan in ReCap. And then zoom back in.
    Have you ever thought about a minimap within Navis? Just 2D view, similar to ReCap or Autodesk Live. Is it possible to make one?

    Thank you!

  139. Nada says:

    Hello Konrad,

    I really loved your work. It’s amazing!

    I really have a question related to this video https://www.youtube.com/watch?v=OGqgOM4ZPyk&t=1015s

    I know it’s really a long long time… but I need to follow this tutorial in my project… but in the 4:27 min. you mentioned to a previous video “Arduino- TouchOSC controlled servo” under blog 2012… But it seems that you made a big update in your site … It’s a long time… So I will appreciate if there is any link refer to this video.

    Thank you.

    • Yeah, this was a long time ago, and honestly I don’t have a way of verifying that. That previous website is probably gone and I won’t be able to get it back. Sorry.

  140. katherine yoon says:

    Hi Konrad,

    I am trying to merge these two schedules in Revit. Is there a way to do it in Dynamo with Archi-lab?
    So Levels would be in rows and Rentable Area and Parking Area would be columns.
    Any help would be appreciated. thanks!

    • Merge? Why don’t you just put them on the sheet next to each other? Turn off Levels column in one of them, and line them up. I am not sure I would want to invest so much time into presenting the same information in a slightly different format. It seems aesthetic rather than functional.

  141. Frank Smith says:

    Hey Konrad,

    Not sure if this has been answered or not. I’m using your Parameter Groups node to get a list of available shared parameters, and I noticed that a few are missing. I know for Dimensions you use Geometry. Is there a specific one to use for the “Other” group?

  142. Johnathon says:

    Hey Konrad,

    I was wondering if you had a timeline to update your Archilab Package for 2.2.1 dynamo? The only reason why I was asking was because some of the nodes have been yellowed in that version.

    Thanks for your response in advance!


    • I haven’t really thought about that, but I can have a look. It’s just that the Dynamo team has been on a bit of a roll lately, releasing Revit 2020 with a new version of Dynamo and following that up with two new releases since. I do have to catch up with them, but no timeline that I can put a finger on. Will update ASAP though.

  143. Kevin Bruno says:

    Hey Konrad,

    First and foremost, Hope all is well!

    I was working with the Mandrill Package / Trying to create a chart and got the following Error coming from the Create Report Node. If you could let me know if you have seen this issue, I would greatly appreciate it. Thanks again Konrad!

    – Kevin

  144. Jacob says:

    Hey Konrad!

    I do not know if this is the correct place to ask some questions, but I did not find any better! I got a few questions considering in general the computational design. I searched through your page and stuff that you did and are doing. I would like to know what you are thinking as a professional – is there any place for people with computational design skills on the market(for example with architecture education)?
    I know this is super general question, but I just keep asking this myself for a few months so far.

    – Jacob

    • Hey. Yeah, it’s as good as any other place, but I don’t know if I understood your question correctly. It might be easier for you to clarify via email: sobon[dot]konrad[at]gmail[dot]com. The clarification I need is about the statement: “on the market”? Do you mean if there are jobs out there for people with these skills, or rather are there opportunities to start your own company? Please clarify.

  145. Keith Miller says:

    Hey Konrad,

    Do you have or know of a Dynamo script that will Adding Revisions to a Sheet Index.

    Just like this Macro is supposed to do (see link to website page)?


    Keith Miller

  146. Tim says:

    Hi Konrad,

    I came across one of your youtube videos showing how a revit addin could perform area calculations and draw area boundaries at the same time.
    Would this workflow be possible to achieve with Dynamo or there are certain limitations ?

    Thank you,

  147. OLIVES says:

    Hi Conrad,
    I try to mixt two Python
    Fisrt your “GetElementFromLinkedFile” for category “Rooms”
    And Nathan MILLER = LunchBox Room Element Collector

    To do same thing but for liked file
    But i am begginer in Python and i can’t do it
    Is it possible to have Help
    In box I change input [1] by output of your box
    LinkedRooms = IN[1]

    if toggle == True:

    collector = FilteredElementCollector(doc)

    #famtypeitr = collector.GetElementIdIterator()
    #famtypeitr = LinkedRooms.GetElementIdIterator()

    #for item in famtypeitr:
    for item in LinkedRooms:
    Daniel OLIVES

  148. Adrian Sin says:

    Hi Konrad,

    I’ve been using your archi-lab package for a while. Thanks so much for your work. One of the scripts I created used your Elements.Delete node in the past for deleting dimensions by index. But in the 2021 package it seems to be missing. Is there a plan to bring it back? I can’t seem to find a suitable replacement.

    • So the 2021 version of archi-lab, requires that you restart Dynamo so the package loads in properly. It won’t have all of the nodes available right after the install from Package Manager. Once you restart Dynamo, you can find it under archilab>Revit>Elements>Elements.Delete

  149. Cristina Rego says:

    Hi Konrad,

    I do not know if it is possible.. but I have level with 3 different areas, each area have rooms. Now I’m trying to separate the gross area and the net area using a dynamo script.

    PS: When my teammate create the rooms he didn’t separate between rentable or not area, and that’s my problem.

    Many thanks

    • I am sorry Cristina but that kind of question would probably be best posted to a Dynamo forum. Please include sample files etc. I don’t think I can help here without sample files and better explanation.

  150. Jarod Schultz says:

    I have been using your awesome warning nodes in Revit, Thank You! I just stumbled onto an issue on a MEP model where the graph is failing on the node called “WaringElement.Id (v.2020.23.13) “Warning: Internal error, please report: Dereferencing a non-pointer.” The list starts off fine but gets to line 60 and starts throwing “nul” statements. Any ideas? Thanks, Jarod

  151. HELLO! i have NO experience with Dynamo but will be learning if the following is possible-

    we use AutoCAD and is slowly transitioning to Revit. One biggest thing that is needed with AutoCAD: PDF Routine. Every night, we have our server run through the drawings (appx 200? floor plans of our hospital campus) and produce PDFs onto a network folder for others to access when doing field work, contractor adds/deletes, etc.

    I was wondering if Dynamo (or something else) is the way we could achieve this script nightly, to print from Revit and each floor in the model?

    • Marianne,

      Yes, there are ways to achieve this. I think the easiest is to actually look into technology solutions that already offer that workflow as opposed to trying to create it from scratch using something like Dynamo. One that comes to mind is called RTV Tools. https://www.rtvtools.com/rtv-xporter-pro/ Another is called Clarity. https://www.imaginit.com/software/imaginit-utilities-other-products/clarity I can’t speak to how effective and reliable these tools are because I haven’t personally used them, but printing PDFs is what they offer. If you really wanted to get adventurous you could look into things like Design Automation for Revit which is part of the Forge tools. It’s an automation framework for Revit. With that thing you can imagine a scenario where your contractors don’t even need printed PDFs. They could access drawings directly in the model via the Model Viewer if they had access to internet and an iPad.



  152. Hello Konrad,
    Firstly I would like to say thank you for making and sharing the archi-lab package, it makes a difference to users like us without programming skills.
    Secondly I need to ask you something in regards to the key schedule node, I want to use it to feed Area, Integer and YesNo parameter types however it only works with Text.
    Does the node only works with text?
    I have raised the question in the forum but nothing yet.
    Many thanks!

    Attachment:  03.jpg

    • Yes, I think this only works with Text. You can always convert area (double), integer and yes/no (boolean) into text. That would be the quickest way to get it into the schedule.

  153. I’m trying out your GitHub HOK-Revit-Addins repository for inspecting code to help me learn how to build my own simple Revit addins. i cloned the repository and got a successful build in Visual Studio for Revit 2019. But, when I try to run it I still get the errors like “can’t load the assembly HOK-Core.dll”. All the asseblies are referenced properly. I know there are a lot of scripts and XML files involved to get this project running and working properly. Do you have any simple advice or walkthrough for me to be able to get this addin running and working Revit? For example, I can’t locate the file called HOKAddinSettings.XML which is used in the AppCommand code file. No such file seems to exist.


    • You will have to make that file yourself. It contains settings needed by the plugin to access certain private endpoints. Also, build the HOK.Core first, then other projects will build. They all depend on HOK.Core.

  154. Spiz says:

    Hi Konrad.
    The output of the “Fill style” node, which node should it enter?
    I would just like to insert a colored line from B1 to B10 in an excel sheet … How can I use Fill Style?

  155. df says:

    Hi Konrad
    Is there a way to use bumblebee at the end of an excel export from revit to change just the font style and column widths of the resulting spreadsheet?

  156. Barett says:


    I”m having trouble with the Elements in Space dynamo block, I have spaces in my MEP model, I also have elements in my MEP model, but I can’t seem to get the block to work. I also tried Rhythm’s FamilyInstance.Space dynamo block and it returns Null. Any advice on how to get this to work?

    • This is probably because the lighting device is hosted to a ceiling. Space/Room is bound by the underside of the ceiling, hence likely putting the light physically above the room/space. You will have to get the location point from that fixture, then move it down a foot or two, and test what space it is in then.

  157. thirza says:

    Hello konrad, ive been trying to use ur node Schedule sorting grouping for schedules, except all i get in the output is “null” is there maybe a bug in the node? in the python i get a notification on line 108 maybe you can look into it.

    dear regrats
    thirza boessenkool

  158. Eric Nagel says:

    I opened a issue on your github concerning the Speller.Speller node. I am just curious if you’ve had a chance to look into this. Please advise.

    • Eric, you posted 3 messages. If you ever have an urgent issue that needs my immediate attention, I can offer consulting services. If you are interested in reaching me directly you can do that via email at sobon[dot]konrad[at]gmail[dot]com

  159. Adam Bryson says:

    Hey Conrad, thanks for the archi-lab.net dynamo package, we use nodes from it all over our script library! Can you tell me if you’re working on a new version for Revit 2022 and when it might be available?

  160. Rob Sawall says:

    Getting the a warning for node select.GetRoomatPoint

    Warning: Select.GetRoomAtPoint operation failed.
    The call is ambiguous between the following methods or properties: ‘Revit.Elements.ElementWrapper.Wrap(Autodesk.Revit.DB.RoofType, bool)’ and ‘Revit.Elements.ElementWrapper.Wrap(Autodesk.Revit.DB.ScheduleSheetInstance, bool)’

    Using package 2022.210.2522
    with Revit build 20210616_0115(x64)
    Any help would be appreciated!

  161. Amr Hariri says:

    I’m trying to create a callout by your node
    (Create callout view) 2019.2
    But it doesn’t work in a structural view..

  162. Amr Hariri says:

    The node failed because the view is structural plan view..
    But it works in another views as floor plan view

  163. Nicolas Tagle says:


    I was trying to use archi-lab.net on Dynamo version in Revit 2022 but I noticed that the package only works for Dynamo 2.10.1. Any idea of when do you think a new version of archi-lab.net will be available for the newest version of Dynamo? Thanks!

    • Last two (2) digits of the package version correspond to the supported Revit version. that means for Revit 2022 you want a package version that ends with “22”. It’s not always the latest.

  164. Nicholas Azbell says:

    I am using the FloorPlanViews.ByLevelAndType and would like to run this multiple times, each time changing the ViewFamilyTypes node to create a new batch of views per type, however nothing happens after switching it. Even after closing Dynamo and Revit and reopening, new views are not created. Is there a way to release the first run views from Dynamo so that new ones can be created?

  165. Tom Lowe says:

    Hi Konrad,

    I’ve been using your “New File By Template” node to create quotes based on our Excel template (defining the file location and file name using information from the Revit model). This is working great but I’d like to save the Excel document as a macro enabled workbook (as our quote template) rather than a basic Excel workbook. Is this possible?

Leave a Comment