I had written a good A4 rant but ultimately it comes down to this:
a) am i alone in find setting up a Revit Dynamo completely soul crushingly off putting to a new user? It seems so vanilla and unusable? As so much is dependent on user create created content?
b)I’m completely overwhelmed by the nodes and varies inputs that are or are not accepted. Where did others start when learning this for the first time? (I have very little coding knowledge)
c) Packages - Search and manage pop windows are both black, any ideas as to why? As this would likely resolve alot of my pains in setting up and learning how to use this software.
d)Why are there some packages with multiple .dll files? “archilab” in particular has 11 (where only 4 actually appear in the add-ins). Is there a point to this?
Thanks for the advice and help in advance.
It’s a programming language, I don’t know what exactly you’d expect.
Before ranting, try out the primer:
and always feel welcome to ask here on this amazing forum.
Well never expected it to be easy. I started looking at Dynamo awhile ago as i was learning C# to create macros and figured Dynamo (being a Visual Programming tool) might be a mildly easier format for learning the Revit API. Mostly I just been off put by the fact i just can’t seem to get started with it. As i said, adding packages seems to be an issue on my end. As i can’t add them in via the packages tab nor can i review which packages have been added. (as all i get a blank black window)
I started looking at Dynamo to perform two things; firstly, - Bulk upgrade - one exists but it requires Clockwork and Rhythm libraries (as i have 3000 family files i want to upgrade from 2014 to 2017). Got Rhythm to install manually but not Clockwork. I had hope to break down this node as a means of learning as well as using.
The second being adding in a text value in to a parameter’s value field via its types. Tutorials I’ve seen on Youtube all seem to indicate the use of a ArchiLab node called “Get.type.parameter”. Which after adding in the 4 of the 11 .dll files still didn’t add it to my library. Not exactly sure why.
Anyway, from your response my technical knowledge is the issue so will simply continue with the text book approach of reading primer and understand programming before attempting to experiment with Dynamo.
I don’t mean this to be offensive at all, but often times when new users complain about Dynamo being “unusable” or “lacking content” it’s because they haven’t taken the time to learn and understand how Dynamo works. Trust me, it can do a lot, and this amazing community is part of the reason why. You say “so much is dependent on user create created content” but 99% of that user content comes directly from what is available in Dynamo. Dynamo is only as good as the user creating the pieces and parts to use. Relying on other users to create content for you just means that you haven’t taken the time to learn Dynamo yourself.
I will agree with you that there are some parts of Dynamo that are still a little frustrating, but the software is still evolving. We’re only just now on release 2.0. We’ve come a long way even from when I started with 0.6. One of the major issues for new users is that a lot of the example content on the site is outdated. Many of the nodes used in videos have been renamed or completely removed. You’re better off learning from the Primer and by combing through posts here on the forums. Keep practicing and it will get better.
I’ll weigh in here:
a) I’m not sure about the vanilla aspect (I think it’s more butter pecan myself), but it’s usable for what it’s intended for. Open it in sandbox mode and play around, and check out some of the content which doesn’t rely on custom nodes and/or packages. While many new uses are opened up with packages, there is not requirement to use them - you can actually rebuild everything in any package yourself if you were ambitious enough to do so.
b) The primer is the best place to learn. Don’t skip stuff. Do the examples. Play around with them. Understanding data types and list structures is key in the long run, and a Revit tie-in isn’t required for this. You’re learning something new that’s unlike anything you’ve ever done before, so you’re going to have to learn a new foundation of knowledge before you can put anything to use (unless you’re just regurgitating someone else’s work).
c) Can you post an image of what you mean? It’s hard to know which of the updates/fixes will be needed to resolve this. Likely a Revit update or conflicting add-in.
d) I didn’t write those nodes so I’d let the master weigh in, but likely those dlls are called upon by other dlls, without appearing directly as a node. A ‘real world’ example would be getting an email written entirely in a foreign language (let’s use Swedish), which you know has a question in it. You’d first go to a translation site (say google translate) to convert the language to something you know (English), and then you’d know that the question is ‘Can you send me a list of all buildings in Washington DC which were burnt when it was invaded during the 1812 war?’ You’d then go to another website (Wikipedia) to find the list, copy the link, and compose a response in English. You’d then go back to the translation site to turn your English into Swedish and send out the email… Two libraries in use (Google Translate and Wikipedia), but really you only had to share one (Wikipedia) in the response. Hope that made sense.
Although having certain packages (like Clockwork) is pretty standard it’s not like they’re a necessity and you can’t still do about everything without them.
As @Nick_Boyts said, all custom nodes are build from Dynamo graphs themselves, the “worst” things are when they’re of Python code. I also think it’s worth mentioning that I generally work all custom nodes out of my graphs to make them usable for people who do not have these nodes and this is very doable. Like any programming language it just takes time to figure out what’s the value of all individual elements.
Again, the primer is a way to get you started and just ask around on the forum and you will eventually find out that Dynamo is a very powerful tool.
Thanks for the responses! Granted, i find rehashing people’s examples a far more enjoyable way of learning something new than just reading text and doing given examples. Don’t get me wrong, I’m not saying i won’t read Primer and do the examples, just the provided examples will be focusing on things i don’t see myself ever using (however never know might learn something useful for later Certainly was the case with Revit learning).
@Nick_Boyts - I agree with you about people complaining, I too get frustrated with people going on revitforum or Revitcity with such opinion. However, my primary frustration isn’t the willingness to learn or the application itself, its the fact that i cannot following Youtube examples of things i’d like to achieve due to not having the packages (or being able to add them). So i felt I was being ham-stringed before i can gather a pace. Granted, this doesn’t prevent me from learning from primer, but as i said above, I like to mix it up / remind myself what i’m working towards. Thanks for the motivational boost and explanation of things being renamed or removed, that is actually something i hadn’t considered!
@erfajo - Thanks for the instruction to try your package and link to the example given within Adding Shared Parameters. That with your package means I can actually experiment and see how and why it works. Apologies that my last message was poorly written, my intent was not to add a parameter and/or data value to a family file (.rfa) but actually to add a data value to the family files loaded within the project environment.
@jacob.small - I’d like to be ambitious enough to! But that is likely way off for me atm! Sure will provide a screen shot of what i get with Dynamo.
Dynamo Core - 22.214.171.12455
Dynamo Revit - 126.96.36.19965
Your example makes sense in regards to ‘d)’ thank you.
@PauLtus - to confirm, ‘graphs’ are “Home Workspaces” ? So in your examples you would typically break apart a node (within a package) to show how it functions? Is there a means of effectively exploding these nodes to do this or do you just build it yourself from preexisting knowledge?
Thanks again for all of your times and responses. Feeling much more invigorated to jump into the learning seat again.
[Edited to fix link]
Yes, that’s what they’re generally called here, if you were to call them scripts (unless we’re taking Python scripts of course) you’ll get lynched on this forum. (Some people might say: “They’re called graphs”).
The way I do is simply loading in the node, double clicking on it to open the custom node creator and copy the contents of it into the original file. Due to list layers and list lengths (or List.Map and List.Combine, but these generally aren’t used anymore due to the former) this might always be that straightforward but as a beginner those are things you’ll probably won’t have to deal with that often.
I have to say that I’m not much of an “on-paper” learner myself either. For me the primer was mostly handy to see what node (or piece of code) does what. My primary learning tool is this forum, both asking questions and trying to help others. That’s why I’d advice you to simply create a topic for your problem. People will help you and are probably willing to explain why it works as well.
Following the (somewhat broken) YouTube examples might actually be a really good way for you, and others, to learn Dynamo. It would lay everything out for you except for the issues with the missing nodes. This would be a good place to take a break from the video tutorials and try to work out your own mini-solution for the missing node in question. It may just mean searching the node library for a similar but newer node, or it could mean condensing a much larger porting of a graph into a few smarter nodes. It would allow you to follow along with a proper tutorial as well as get some “real life” experience with trying to write your own portion of a graph. Of course all of this can be supplemented with the Primer.
As another beginner i’ll weigh in on this too.
I did find it frustrating watching examples that referenced nodes which have since changed name but i have found some examples that really show the logic behind something and helped me to figure out a solution. There is always more than one way to do something and the best way to learn Dynamo is to use Dynamo.
Just today i managed to put together a graph that has saved us several hours of work which can then be used in future projects as well,
It’s definitely worth persisting with in the long run.
If you’ll ask on that topic about it you’ll probably get an answer.
I know how fantastic that it is, several weeks ago I created a Dynamo script in about an hour which can save people an hour of work a whole lot of times. Really shows how mighty Dynamo can be even if you use it for actions that are incredibly simple.
I’m glad my frustration tread has turn into something more positive!
On that note, I was able to complete my first workable “graph” (not “script” @PauLtus haha). Where i was able to filter through furniture families to filter them out via there type. I was then able to input a specific value based on a furniture’s type into a Project Parameter.
As per second message:
For those joining onto this thread, i did that using primer, experimentation and reviewing of other people’s threads and understanding the issue and solution. Happy days (also happy manager who deemed my efforts a waste of time… laughable as its a)my free/home time and b) Downtime when waiting on information to arrive!
Thanks for the motivation to continue on with it.