A 20-Year Revit Veteran on Revit, pyRevit & AI | pyRevit Podcast #8
Transcript
Today I have Tay Otman on the show and just gonna talk about many things related to parade raid API and his journey. So welcome on the pot t. How are you doing? >> Thanks for having me Erik. How are you?
>> I'm good. And you? >> Uh better than what I deserve. Uh >> they framey vibes. >> Yes.
>> Perfect. Uh all right. Hey, could you introduce yourself to my audience? What do you do and well what we should know about you? >> Yeah.
Um uh so I am um an architect, a senior project architect right now in uh working in San Francisco um California. Uh and I'm originally from Iraq. I moved to the United States in 2010. But actually I started with the Revit uh much earlier. So I graduated uh architecture degree over there and I moved to the United States 2010 again.
And then I because of Revit I think that time uh 2010 was the bottom uh the rock bottom of the financial crisis that you know hit the United States >> and when I moved actually to to California it was I couldn't see a single crane. There's like the construction industry for two years were were stagnant. >> Uh and um it was like if you go and search for job openings there's none for architects pretty much that time. Um so um stumbled on an opening for a Revit specialist. >> At that time it's actually when I moved to the United States 20 days later I got the uh Revit certified professional for Revit 2010.
>> Nice. >> And uh that helped me actually getting a job with a very big company uh probably a lot of architects know it's Gendler. And I worked there for 5 years and then I uh worked locally in a company for nine years after that called dees. And now I'm with Boulder Associates doing healthcare architecture, medical office buildings, uh, hospitals, clinics, imaging, um, surgery centers, all of that. And then active on the pyrovate community.
Now, from the background, you can tell me I'm u tell you that I'm actually relatively new to the Revit API world. Uh, I started with Dynamo maybe 10 years ago, but with BIM, I'm 20 plus years. I started with Revit in 25 2005. >> Oh, that's such a long journey but uh so much to unpack here. So, first of all, when you kind of got your job here uh not here but in United States.
Uh how good were you at Revit already? You mentioned you got certification but >> but you were already very solid at Revit, right? >> Yeah. Um I was really solid at Revit. My biggest challenge was switching from metric to imperial system.
That was the probably the hard part. Yeah. >> Um, >> oh, I can't imagine it. >> Um, I'm working with uh with my team member now and he has like a converter. He's from India and he has a converter between I told him like forget about it.
Just reframe your mind around imperial system. It's not perfect. It's probably a step backward for humanity but you know you need to keep going and you know the only good thing about um imperial system it matches the Revit internal uh unit. >> Yeah, probably it ends here, right? I always looked at the metric like I have no idea what's going on.
I kind of get it now because I saw it way too often, but I'm like I don't want to touch it. >> That's where um I'm actually so um I worked it's it's potentially vibe coded for WPF, but um I'm planning to have one uh calculator uh it's probably a part of the extension >> that's actually you can do uh metric and imperial uh calculations uh like mathematical operations at the same time. So you can have uh a 2 m wall plus 5/8 of an inch for the jipboard >> and it will give you the total and you can pick which unit you want the output in. >> Yeah, might might help some people for sure. >> To unify the world together.
>> Yeah, that's the goal of py in general I guess >> especially um I want to go talk about politics but uh we better you know the United States needs to be better you know to our European friends uh and it's not happening recently. So my goal is to fix it. >> I see. We start with calculator then politics. >> Anyway, um let's get jump back to Ravit.
So 2006 it was such early Ravit experience. Yeah, even five. Like what was Ravit back then? Cuz I joined way way later decade later. >> So uh I want to say Revit was such a great tool >> by then.
>> Yeah. The only difference is there is no ribbon. So I started with Revit 7 and uh it's called Revit 7. At that time it wasn't included. I think at that time Autodesk didn't unify uh the numbering of the versions and at that time there's like Revit building, Revit systems and Revit structure.
I think there's three versions of Revit. It's not like one one Revit. >> Oh like separate apps >> separate apps. And I think they modified it in like 20 2009. >> Uh, >> okay.
>> It was toolbars. So there's no ribbon toolbarss, but it's the same status bar, the same, you know, the scale in the bottom, same user interface, same project browser, and same as the properties panel. Um, so it used to be like that. Um, it was great. Um, I had my own complaints about it at that time because, you know, you can't do slanted walls.
Um and I started getting excited about it just because I came before before I was a student before getting into Revit. I was uh in uh AutoCAD it's called architectural desktop which is the AutoCAD architecture now has the AEC objects which um at that point you build in you know wall like like a Revit wall and generates a three dimensional of it. The my biggest concern at that time with with AutoCAD architecture and it's probably still valid that um you can't do um solid operations like booleans um subtract subtract on a between a object and a standard AutoCAD mass >> like standard solid. So >> when I saw Revit I the promise was and this is the the um super exciting moment for me. Two things really caught me is bridging the u gap between uh conceptualization and documentation.
And most of most of us at that time were doing things in 3D studio max get the concept and then start working in AutoCAD right >> uh in 2D and uh >> until now AutoCAD operations to convert a 3D object into 2D like flattening it's not it's not good. So it's actually you need to work in 2D. Okay, you can like work in 3D and slicing through objects. It's not it's not ideal. >> Um >> also um the other topic that really caught me is think the way you think.
So instead of thinking about massing and geometry, it thinks about walls, kernel walls, >> you know, doors like actual building elements. And probably the most important one which is really relevant to what we are talking about today is building as a database and thinking the BIM is the building as a database. You know you can have the manufacturers, the designers, fabricators, contractors, engineers all together dealing with building elements that have parameters and each parameter is an element itself. >> Um and uh that database really uh was fascinating fascinating to me. The only problem is Autodesk since then they didn't expose anything with that database.
I think they added something called Revit DB connection which I think ID8 took advantage of it and generate the uh BIM link and ID8 explorer >> and >> it's like a quick export to DB or something but I never saw it really took off. >> Yeah. 20 2008 I so I got into 2005 by 2007 I lost interest in Revit. I found like this thing is you know very limited. Then ID8 came with their tools and really got me excited again.
And then two years later um I got into uh 2013 I uh I got early preview autoesk at that time when I was with Gendler. They gave us an early preview about two products. One called uh uh project visari and the other one called project dynamo. And when I saw that sorry was >> was an Autodesk take on SketchUp >> within a Revit uh UI application. So it's it's Revit.
It's smaller but you only see is the conceptual massing model and uh I thought that's great and when I saw Dynamo this is Autodesk take on Grasshopper and said this is awesome there. Um at that time I remember all of the team were talking to Autodesk and we asked can we have fix the issue where we have a family document and a project document and we can't really transfer geometries in between and they said they're going to fix it and it's not fixed yet. Uh and no but by understanding how the Revit API is structured it's really hard job. It's not easy to to bridge you know to you know if you think of it you know docs are not exactly like between a family document and u like a Revit project. So >> yeah there's also it runs on so much legacy code so I don't think they are always in so much control unless there's like a lot of resources involved.
>> Yes. Yes. Totally. Um I actually decided to learn Revit API in 2009. So, and um 2009 >> that was before Dynamo or after Dynamo.
>> Before Dynamo >> before Dynamo. All right. >> And uh it was an AU workshop. I think it's three hours long and they said build your first plug-in for Revit. And I said I'm going to do it.
So before that I have so I I I'm before that I'm okay with coding. Um uh I think I have similar path to Hassan and Jean Mara uh when it comes we started with basic and started basic when elementary school so 10 but you know by age of 10 I was uh coding in in basic and >> um in um in in high school we started a language called Pascal I think it's already disappeared that language it's it's uh >> probably declare variables >> you need to declare your variables before you start your your script Basic is more like high level very similar to Python. >> Uh you declare you declare variables on assignment and it's it's just amazing >> and I feel like most people who start with basic actually really like the Python >> but um then basically >> I noticed there are two camps people think very different. I also used used to think that everyone was going to love Python. Some people actually hate Python prefer this kind of defining variables on top because they maybe like extra structure.
it it's definitely less beginner friendly to begin with but there are benefits I think >> I I'm I'm slightly okay with C um I feel C# is very similar to the Pascal which I didn't like in high school I was good at it >> um in college I switched only to max script and lisp and became like a scriptor so didn't really get into any of the development when I got into uh the Revit API uh >> 2009 >> um two things first it was an AU workshop online available and it's free and when you're you know when it's free you save it on your desktop I say I'll come back to it later and it's on my desktop for 10 years. Uh the second thing I started the video and it said well you can use uh Visual Basic or C at that point that we don't have a you know we didn't have the RevitPythonShell at that time. Um, >> so I said, "Well, cool. Um, I know GW Basic or QuickBasic. Um, Visual Basic is just the uh, you know, the .NET version of it.
It was like the object-oriented version of it. Um, but it was completely different. I wasn't expecting, you know, visual basic uh, was completely different from the basic I know. So that was a smoke screen. I said like ah maybe I need to come back to it." I didn't really take the first step and I regret that.
So >> So during this threeh hour presentation you actually didn't finish it as well or >> I think I still have it in my the day still to come. >> So every year I put like uh things to learn and put a folder and put a bunch of videos and by end of the year nothing is done so I move it to the next year. >> So I have it in my I think if I if I if I you know search for it probably I'll find it somewhere. It has the handouts, has a PowerPoint presentation, a bunch of videos, I think also project files. Um, but I think it's irrelevant right now.
Well, maybe not that much. Uh, but it is. So, >> okay. So, this was in 2009 when you kind of almost started but something pushed you away, >> right? >> And then you discovered Dynamo in a few years, right?
>> Yes. So, Dynamo, I started with it in 2014. Uh >> Mhm. First, I think it was it was pre-release 2015. I was in AU and it was only about Dynamo.
Everybody was talking about Dynamo. >> Dynamo is the big hot item. Um, which is unfortunately it's being pushed in the in the back background, but um uh so I got into Dynamo and at that point still like packages were limited and it was all you know version 1.1 and 1.2 too. So, you don't have that com, you know, compatibility issues that you're running into it right now. >> Um, and I decided I'm going to learn it.
And I spent I think the New Year's Eve 200 2004 2005 my friends were hanging out partying and I decided I'm going to stay here and I'm going to learn it. And I think in in few hours I you know it's just that first step you know breaking the smoke barrier and saying I'm going to do it and just get in there. It's the the big the most important aha moment and >> yeah your first win. Right. >> Right.
Otherwise if you just said I wanna I want to learn it one day that that day won't happen >> and that's the issue. >> Yeah. >> So um I started with with Dynamo and I this is where I got into uh the Python node pretty much. Um but it was very linear, no functions, no classes and it's pretty much automating getting a quick access to the you know like this creating like uh quering the sheet list or revisions on sheet and just you know reporting the sheets with this revision on it and getting a list >> um you know it was it was very basic implementation until I think 2018 2017 I wasn't in that AU do. And my coworker at that time, Jessica, she told me, "Have you heard about pyRevit?" And I said, "No, >> but is it like RevitPythonShell?" She said, "No, I think it's better." I said, "Does it mean it's I can write do an a full toolbar with it?" She said, "Yes." >> But also, I didn't look carefully.
My misconception was um part of it is like interpreter on top of a visual studio where you can actually write in Python and compile a an addin like a DLL >> and that was uh something that I should have looked looked earlier into it because um I could have won I could have been probably three four five years earlier in that journey. Uh then so I downloaded pyro uh pyrovate. I like the tools and also >> I kept it waiting and at that point I was like grasshopper doing more like computation design ladybug environmental things. >> Mhm. >> Until 2021 2022 end of 20220 2022 and I was looking at the extensions and I think I start I was looking at your extensions actually.
I think you have you have one in 2022 I think the first installment. Um, and I discovered this uh tool that really changed my life. It's by Jean Makufa and it's called Pyabbit Bundle Creator. >> Mhm. >> And when I got it and it's probably um nobody thought about it.
Uh in five minutes I have a toolbar because it's really create the the buttons for you. And that toolbar that I created, it's all URL buttons. But hey, it it is it is um I got now I I I now I understand what is pyRevit >> and looking at the folder structure of the py the the anatomy of the pyRevit extension >> and then it's like I get it. This thing is super cool. And I think once I started maybe 6 months later Chad GPT showed up and it's just like >> perfect timing where you know you start getting into exploring with the the API >> ambiguity.
You get lucky with that one. >> And I think I started seeing your first initial videos, the videos without beard, like the whole initial, >> right? >> But um I think uh the first tool actually I wrote I had to go to uh Revit Revit API docs. It's the um you click and it will take the hub ID and the project ID and generate a URL where you can go to the uh uh ACC form. And now it's called forma the BIM 360 >> Mhm.
>> link of your project. So sometimes you publish a model and you need to do create a package instead of going to the browser and navigate to your project you click once into in your Revit it will take you to that page directly. >> So um and it's funny that uh like last year somebody from H emailed me and he wants to do the same with desktop connector. You click on it, it will open the folder structure of the desktop connect like auto desktop connector of your project that the active Revit document and uh I think we did it. Um fortunately um Revit has the uh desktop connect.
Jean Makuan called me the ADC expert in this. So that's my niche. >> Yeah, >> that's your niche. Good. I'm the opposite.
I haven't really used this all this former B360 and so on. It's uh it's I think every time you do things you fix you know you p push a PR update next day autodesk will push an update it will break your work you need to be >> I see >> all right so let's just kind of wrap uh >> unwrap it a little bit so while moving from Dynamo to pyit was what what was the main reason for this kind of kind of shift first of all for you >> uh yeah so um my approach to Dynamo every every you know even when I'm in Python I always always treat it as a freelance tool. You're like one lone wolf in your firm and if somebody want to do >> um a specific task uh they reach out to you open your project and do the task for them and build their projects and they will say thank you. That's not an enterprise product and the same I would say the same is actually applies to Grasshopper like it's not these tools are designed with uh freelancer in mind. It's just one person >> um power user as well >> within the company.
Yeah, there's a tool by um Mustafa called um Orchestra that's actually you deploy it it's cloud-based. So you put your your uh companies Dynamo scripts alongside their packages and let their uh users double click on it and it will load Dynamo in the background and and run run the tool and it will you know bring the packages. So it fixed the compatibility. The issue with Dynamo is it's slow. It's, you know, it's a wrapper after a wrapper after a rapper.
So, you know, you need to wait for Dynamo to run in the background to execute things. Um, >> the only advantage I would say for Dynamo is it has its own geometric engine. >> So, you can do like intersections um uh cutting geometries. >> But I think also with with Parvit is just a plug-andplay. It's a enterprise product.
the CLI is amazing and you can deploy it to whole company and uh uh you know it's and um also I want to say you work on the script hit save and click on it and and you don't need to compile anything. Um >> Mhm. >> Uh I got into the I did some fixes on the new uh C loader >> which made me appreciate the the the Pyrovit engine itself because really you need to close Revit, close your project. >> Um do the edits, compile the DLS, put them in the release folder uh and then restart your rev your Revit and then uh it's it's it's a lot of work. So >> also about that I keep hearing there is this hot reload or something like this the feature so you kind of don't have to restart Ravit but people say of often times you still do have you tried using it >> um even the rocket mode >> no not in py ravit when you create the dls for kind of ravit addins there's like a feature like hot hot reload or something like >> oh I don't know because when I try to push the DL it will tell me um I can't like the visual studio doesn't doesn't tell me maybe there is a tool that maybe I need to put in the debug folder and but the problem is the DLS that I need to replace especially for the loader are actually in use so I can't replace these DLS once once they >> but that's probably only applies to the C# loader if you want to do >> a different >> um >> yeah just a question I thought that maybe you tried it because I keep getting this argument like oh you can't use C# without reloading Ravit But at the same time, some people say, "Yeah, but it doesn't always work.
I thought maybe you know about it." >> Actually, you can run C# in pyit in a button. >> So for people who want to prototype something for a bigger plug-in, they can still use pyit for it. >> Mhm. Mhm. >> Yeah.
>> Not many know. I haven't heard anyone really use that, but I know it's an option. >> I I know somebody in the forums actually was talking about it and we he said, "I use it. I use I I only know C#. I don't need to learn Python.
And I'm using pirate now for for you know >> for prototyping >> here for prototyping actually that's a sound idea. >> Yeah. >> Interesting. >> All right. And once you discovered pyra start moving into what was your first tool that me gave you this aha moment about pyrait.
>> Um I think it was so it was the uh it was that uh you know quick link you know open web browser. So it's just I import the web browser and I get the from the doc I get the gith the yeah so um since then I started doing smallers you know and this is what the beauty of pyRevit you don't need to write a major code um it's a 10-minut snippet code snippets that actually can can work for you um >> like quickly creating an Exxon for a room I think we're working on a project and I immediately did or um I had one tool that's actually you just select a bunch of wall. Click on it to give you the total length. Uh this is great if you want to if if you quickly want instead of creating a schedule, you need to know how much linear footage um or or distance of specific wall selected and you get quick area quick volume. Um >> it's it's totally a great tool.
Uh I think the best one is also apply quickly applying view filters to um view templates. Uh that's one of the one of the early tools that uh created. Um but everything was I was all only working low-key and something I discovered when I started searching for you know API questions that there is uh the pyrovate forum start becoming active. I think it was started around covid. Um before that the only sources of Revit API were the building coder or the dynamo forum.
Um, and now we have the pirate forum and you started getting some cool ideas over there. >> U, so I started becoming a little bit more active on the forum >> but without major contributions and things changed until things changed in 2024 when they announced the hackathon. I don't know if you remember that one. M >> so they announced the hackathon and only three of us joined >> but I think um it was for the pre-flight check um >> yeah yeah yeah I remember I think that that was the bottleneck because many people didn't understand it fully what it how to make it for that >> so I did the 10 mile radar on it and a bunch of people like one did the CAD audit which is also I think it's really cool and uh so like three three of them they got it and the the I think what's brilliant about that hackathon is only although three of us it gave us the level of comfort that hey you're welcome here so uh every participant needs to do a PR against >> uh you know the develop branch >> and I think it was the develop develop four because I think they're still working on develop five which is the pyavit 5 I think we oh the pre-flight check was against pyit 4 >> um And this is my first uh not just PR but also uh Jean Mark and u uh the cousins Andrea and uh forgot what's his name BJV um >> they really shredded us um and because I I was coming from a Dynamo all my all my imports were CRL >> and you know import all this revit db >> um are also using the um OS O uh OS.path utilities and instead of path lab which is I think it's probably a little bit more structured within pyrait. Um >> yeah it has >> I had no python um enhancement protocol you know pep 8 uh it was just every every conditional statement uh was like you know 160 lines of yeah or like a row of line uh of characters.
So it was very undisiplined but they started giving me reviews and started doing comments to update and maybe after going back and forth for for a month I start feeling I'm very comfortable dealing with those g with those people. >> So uh and I felt I felt that I'm really welcomed in that group uh which is uh that encouraged me. now return back to the office and every day somebody complained about oh this tool like I think that one one of them is the oh there's one broken it's the um I think it was the inspect oh find tag all untagged or find the untagged objects it was it was throwing an exception so it was I think it was just a syntax error maybe I think it was the >> the migration to the new net one of them like the the way it's handled Revit element that was like a single line of fix and I went and pushed another PR and Jean immediately replied like hey keep this going. >> So in that point I started like doing uh every time something is doesn't look okay I just go and uh participate in that community and uh >> Oh that's great. >> Uh the rest is history.
>> No no that's really good. They also need like more people to kind of chime in and like help with this PR. So because there are lots of this little issues like you know there's like new API comes in like one property instead for example recently they introduced this uh change to element ids now we cannot provide number it has to be integer 64 super annoying change it's it's just kind of adding like three letters and parenthesis >> right >> but it's just so annoying that we have to do it and yeah this really helps what I see >> yes >> I wanted to dive into pirate like to help with the code a little bit here and there for so long but I never found time. I decided you know what I'm going to keep doing my YouTube videos just direct people to parit and that's going to be my thing. I'm not really >> um No, I think what what you're doing is what you're doing is we don't have any voice for this community.
I you know the people I I I was look I looked into this maybe u a year ago. The amount of people who actually contributed code to the pyro repo is only 85 people. >> You know this a solid number. Yeah, it's it's a solid number, but it's 85. It's less than 100.
And I would I would say uh still I think most of the code came from Hassan. Um but I think now I think we got the new um uh uh uh Roman Gov. I think he's doing the uh C# loader. Uh I think >> huge huge shout out to him for that one. >> Yes, he did.
He did. Also, we in in the middle of nowhere, we started getting people I don't know their names. I can't even spell their names. They don't have pictures. they don't have faces and they started doing all these amazing PRs.
Uh it's just like this this uh this community is about about to >> be a different level. Uh it's yeah uh I mean uh I think Jean Mark um told us like hey there there are issues like 91 can we push them a little bit to be lower so if you find things that are fixable and um uh I think we managed to get it down to 60 now I think they're back to 71 we need I need to to jump in back but um >> uh it's it's a it's definitely an amazing community and it's a small And if you think about it, >> um the money raised for uh for part of it is minimal. Uh I think it's still I mean I only few people who contributed well thanks to them. I think my my firm contributed last year. I'm planning to contribute this year.
>> Um every firm should be should be contributing but it's also we don't have a voice. That's for example you you are probably the doing the PR um for >> for the Revit API. We don't have once I think Jeremy Tamik retired I don't think we have anybody is actually actively on the internet preaching the idea of like Revit API >> and >> I mean G before Crown but now Gavin Nichols now he's also doing he shifted to C >> but he also like has the war has the >> family and stuff so he also kind of comes to you and goes over but and I totally understand I do the same like I show up I disappeared and come back but now I try to get it more serious. >> Totally. Totally.
>> No, no, no. But but I know what you mean. Like before I started it was so hard to find information on Ravit API P Ravit. But today many more people come out. I start finding like kind of new creators.
I see new tutorials. I'm like ah who is that? Then also AI super breaking all the barriers of entry. >> Yes. Yes.
>> Yeah. Community definitely grows very nice. The only thing I personally hate is how Autodesk pretends par doesn't exist. Yeah. >> And I thought so many times that for them it would be such a great kind of community move.
Just give py one developer. That's it. Like for them it's not big money. It's going to the par the par community going to be so happy because John Mark mentioned many times that sometimes we just need like C# developer to kind of go in in the engine this kind of higher level code you know like because not everyone want to go into like touching the parate engine. It also takes time to understand.
I never looked at it. So in kind and code wise I have no idea what's going on. I kind of get some ideas here and there but I think if autoes could just give us one developer like here just do whatever they need help with. So like even just kind of rogue one just do yourself what you want >> do proono do proono do have like a community project. >> Yeah.
Yeah. Exact exactly but pirate just pushed aside because I think they don't want to like deal with Python Python engines even though they built Python engine for Dynamo. So they have even that because now they have this IronPython 3.6. 6.6 or whatever the latest version and I think there was some talks to share it with kind of pirate community somehow. I'm not sure exactly how it's working, but I >> think 2027 they switched to Pythonet uh at least when I because I did the uh dev tools for the um for the pirate dev tools.
I did a bunch of uh testing the bundles and I think 2027 they switched away from an IronPython. Um but I think it's a bless it's a blessing that Autodesk doesn't want to intervene in pyRevit and let us do the work or let everybody do the work. Um, Dynamo was supposed to be an open source project, but it's also pushed to the sides. Uh, just because it's probably not a revenue generator. It's probably a community project more and more.
>> I mean, yeah, they have completely different view on this whole Ravit and model. They care about shareholders. They're they're like, you know, like the corporation level, enterprise level. This completely different. But I think Dynamo is still they don't understand that if there wouldn't be Dynamo, if there wouldn't be a Ravit API, Ravbit would fall so long ago because it misses so many basic features.
>> I was so surprised when I started. I remember >> many people going to relate when you select one type in Ravit and you want to select all instances of that, you know, the SS, >> it works. >> You select two types, you couldn't do it for years, >> right? >> I was thinking like it got to be super complicated. There has to be a lot of code involved.
Then I decided to do it. I was still kind of beginner. I was just kind of getting kind of into this whole thing. It took I don't know like 20 lines of code. It started working and I was like what?
Why? >> Yes. And this feature was requested for ages like people like why we can do it. It's so because sometimes you want to take two types of walls or two types of doors whatever in select. Super simple feature.
I wrote it right away and I'm like this works. I just published to the whole company I worked at. Here's how we do it. I pushed it I pushed him in code somewhere on the forum. next year it got implemented.
I was like, "Huh, finally." But it's just like this is the issue with Revit there because it's not they're missing a lot of features everybody needs and they often focus on features that nobody needs. They they try to create a lot of hype always and stuff like that, but we just need like fix the issues we already have before adding all these like AI assistant. Cool. Can we fix something from like 5 years ago first? I think that's what's kind of why py raid getting so popular why Dynamo why C# plugins getting more popular because it gets more accessible plus we finally get to fix this little issues cuz they probably like I don't know they just going to it's too little not even going to care about it.
Uh, I used to go every year and vote for the OGI wish list, the Autodesk user group institute and online like they pick the 15 top 15 wish list and every year nothing gets implemented. So I decided I I'm going to give up I'm going to give up on that one. >> Even the top feature didn't implement. >> Uh, a lot of features did not is not are not implemented. Um I can't remember but it's uh there's a lot of uh maybe a lot of them became you know part of the pyrovate tools um so the firm I work for the they discourage people from using keynotes because they don't want to deal with the text file like this is this is from Brevit 1.0 they didn't really change pretty much the the keynotes >> the keynotes you mean?
>> Mhm. >> Yeah. Um, but also we have a lot of gimmicks being introduced. Like look at the Revit now. It's the accelerated graphics tech preview.
I can tell you this will be a tool that it's the same and it will won't leave the tech preview. Um, generate generative design for Revit. That was a gimmick and I like the time I saw it. It's it's just um I by the way I don't get that one. Generative design was a thing before they touched it.
Before it kind of they created their own version. people did cruel things with Grasshopper Dynamo >> once they touched it and make it their new feature of whatever release that was it just died. >> I I was so confused because before it was actual kind of for facade designs and stuff people were sharing cool stuff once they touched it everybody was like me. >> So actually when we saw that so um I was an attendee I wasn't an active member of it uh but I was like regular attendee um in San Francisco we had uh San Francisco uh Dynamo user group and I think it was also started 2015 2016 >> and we do like monthly meeting um and it's you know meeting with dinner and we have like a guest speaker >> I think son was one of them to introduce Rhino inside Revit uh 2020 2020 right before the co >> um but uh we we get a lot of people who are really into the Dynamo world uh joining us and I think the group of like 2019 they found like this Dynamo going nowhere where Autodesk is not also supporting and it's also that that group Autodesk wasn't actually sponsor stopped sponsoring uh the Dynamo group. So decided I think that point they rebranded to San Francisco computational design group >> because we thought probably let's let's make it you know expand the perspective and have a bigger community than just >> yeah broader reach as well.
Yeah, but I think to your point, I think Autodesk not intervening in Pyrovit is actually good for pyrovate and honestly I think moving to the future and you saw probably you had a hint of 2027 new features. I think this is going to have be the same pace for the next 10 years. Revit will be a stagnant product just because it's not it's saturated market for them. Most of architecture firms are already using it. >> Yeah.
It's so hard to move away. >> Yes. Right. And I I I was thinking because um I was offered a manager position uh 10 years ago by you know I told my boss I don't think Revit is a future. I was wrong.
Revit wasn't Revit's still there. And he said what do you mean? He said I don't see Autodesk is actually taking this product seriously. Um and um he said then what what is the Revit killer? I said I don't know.
And I I think he's he asked me a really good question. Right now there's no Revit killer. But the pro problem is Revit is not progressing. And you know when when things stagnate, it's not going to be good for the industry. Uh >> yeah.
um what I what I feel like 2027 the new features um are clearly uh it's not their main primary u revenue generator. I think their growth perspective is more aligned with forma, ACC, big data and even the AI thing is uh I would I would you know I think MCP server is although I think MCP server is a band-aid mcp server is probably better than having an autodisk AI because really you you're not you're not clawed or open AI we're actually >> versed in LLM and doing a small LLM you're you're getting a quality of, you know, GPT 3.1 probably at at best and you try to run it on that one. >> I think they still made the MCP server for their this AI system because they now released that you can connect cloud somehow and stuff like that. >> I think the issue I just had recent podcast haven't released it yet with um Jonathan Jagabson. Hope I I hope I remember it right.
>> Waiting for it. and he actually had a very solid point that instead of making this whole AI assistant and stuff, they should just give us in infrastructure like with Revit API. We don't need them to make all the features that once they got gave us Revit API, we just started making our own plugins and everybody can customize it. >> And same with this AI thing. It would be so much better if they would just give us proper it's going to MCP connection server how we can modify it how we add more tools like you know the infrastructure so we can take it and build our own stuff on top but instead they kind of make this halfbaked AI assistant nobody knows what kind of model it runs it's not performing well very limited we cannot really expand it at least not yet and as you mentioned it's in preview state so everybody is like yeah yeah just wait with the next update it's going to be >> pre forever >> yeah people already like >> probably it's going to be preview forever Now they have an issue.
How what did they do across the version because it's not supported before it's supported after and we already can make MCP servers even with Pyrait for all the versions. So it's already kind of eh so it's weird and >> but yeah definitely agree with that one. >> I think MCP is also a temporary solution. Uh I think LLMs are working I think the big players are working in native um 3D geometry uh generation instead of executing code through the API to generate an object for example um >> because right now is the if you think about LLMs are good at text images and now videos and I think soon very soon Yeah, text images and some some videos. >> Um, and probably I think coming soon I think sound will be I'm I'm pretty sure that OpenAI is doing training on Spotify like database and >> it's already pretty solid at sound.
It can generate sound and can talk and stuff. So it pretty much >> I think it will be generating music like >> it already does not not directly from them but I saw some some really cool just write a prompt random one it makes music. I just played around even made some par jingles for fun. >> I was thinking maybe add something. >> I see a lot of YouTubers doing that.
Yes. But um also I think what's missing and there is limited data is uh training on a 3D objects. >> Uh I know uh uh uh OpenAI has the point E I remember which is training like a point cloud. >> So it's actually text to point cloud files. Now point cloud I think meshy also used that or maybe a related product to generate points to me like a prompt to mesh.
So uh and I have I have one uh script that I was playing with. You generate a mesh um you get a WPF panel. You generate a mesh. You get a preview and you click on it and it will use Rhino to convert it to an herbs and then you bring it as a direct shape and Revit as a family. like one way of doing like >> prompt point clouds mesh and then at nerbs and there are a family like six steps in one script >> there are so many steps >> right but I think um tools like probably like Rhino I think it's it has the uh the tool like you can say hey create me um a mobius shape and it will create you a moious shape not instructing code for uh Rhino to create a mobius shape so it will generate this this file based on that.
Uh and the problem with Revit is not AI ready. >> Yeah, I think it was never meant for AI. It's for example uh I I you should do um a pyravitate um uh or maybe like you should do a pirate award for somebody who can actually use um MCP server to create a staircase because it's not exposed by the AI uh by the API. It's there's no uh autodesk revit db.stair 3D or you know class. It's not there.
So if people saying >> it's actually there >> is there stair 3D. Do you do you create a stair? Is it possible? >> Uh let me just have a look. I just remember in architect DB.archchitecture there is like stair class.
>> Is there I don't know. Maybe there is one but without a create class. >> I never looked at that one. I hope people get around that by creating their own families which is more superb to native anyway. At least that's what we did because we can control all these notches, perfect connections for the concrete which the native one fails at.
>> Yeah, direct shape maybe. But that's the problem is like you there's no single tool in in the whole Revit ecosystem that's actually created stairs, ramps or railing because they're not exposed by the API. And the best feature Autodesk can actually create for the community is actually exposing these API for the people like we don't need the new features. >> For me, the annoying one is the groups. It's so li we cannot do anything with groups pretty much.
There are some crazy workarounds which are super risky on our large projects because uh we just have to have like something like with context manager just go into the group like edit mode move things around and it apply like manually open the group >> do something close the group >> cannot do this with the API and this drives me crazy because I had so many workflows in mind that then I had to sit in there and think okay what's the workaround how do I go around this and sometimes it means like >> kind of letting groups a little bit go or making something like you know you to kind of find this weird workaround sometimes. But that's part of the Ravit workarounds in Revit. They always you're looking for solution, there's no solution, but there's a workaround. Hear me out. >> Yes, always.
Um, >> always. >> But again, I think it's I think the only the only thing that's needed and the problem is now a lot of the Revit API elements are being migrated to the platform services like with Forge ID and you know, Forge types. Uh yeah. >> So actually this is how I got into the um desktop connector. It's through uh the EF tools.
>> So uh our favorite tool is our set of tools is the DWG where you can open and reload or like save. >> Oh and I thought like this is a great tool. Uh I'm going to use it more. First click didn't work because again our files are on ACC. We don't you we don't store files locally even like even before covid and now it's like mandatory practice here in the United States most most firms you're not allowed to save any file or any link locally it's just peace of mind in case >> it makes sense >> in case a doomsday scenario everybody can take laptops to their home and without the need to worry about VPN or network infrastructure you just go um auto got lucky with that one like that co was >> was like a godsend gift to to Autodesk.
Um >> yeah. >> So at that point I realized uh um external reference uh external references versus external resources and these are two different um API classes and I decided okay I'm going to take your tools >> and I'm going to just create another one. It's like use try except if this is accessible um as external reference let's proceed if it's not that means it's an external resource if it's not there that means it's not available the link is not not available >> um but then I decided I discovered that step by step and then at the end your code is completely different like the you know I pretty much replaced your code >> just to get into the uh external resources because at that point you're dealing with forge type ID instead of like element ids and uh became a bigger problem with that. Um so at that point I decided okay I know how to deal with Autodesk uh desktop connector and then um I think they switched between 16 and version 17 and the way it handles u syncing and locking so um I think asan did it or maybe it's actually started by Asan. the ADC library and and and Pyrovit you it enables you to uh sync download lock open and save and get paths look get local paths of spec specific um uh like a element on a a file on a desktop connector because it's >> hold on a second what is this library you mentioned >> um it's if you go to pyrovate uh pyate lib inter interprobe and it's called ADC Um that one is actually um what you need to do if you want to handle files within desktop connector.
>> Mhm. Mhm. >> And the problem with desktop connector it's if you think about it it's like Google Drive. It's or like a Dropbox. It will give you a a um uh what was called like a f or like a pseudo path.
It says accord your company and for slash um yeah that one. >> Um and then um this um great because you want to transfer it when if you want to do operation open the file you want to transfer this to a local file. So in it should be like C uh users EF tools and then you go to like uh the you know the the hub name and the project number. >> Mhm. So, uh that um that became my obsession for a while and then we started getting a PR or like actually issue um Autodesk switched uh desktop connector to net 10 without telling anybody.
Uh and that update when it showed up it started crashing uh keynote manager on on Rev 2024 and earlier which is which are the uh net frame net framework 4.8 8. Um, so I had to go there and see what's going on. And this is where the keynote manager people started complaining, oh, can you change the interface? Okay, it became like adding AC uh desktop connector functionality and then ch changing the interface and then people started requesting more and more functions until I reach a level that I can't edit it. This becomes so complex.
30% Revit API, 70% WPF and um external handlers because we want we we change it to a modless so you can work on the keyynotes without actually only when you place it it will generate a transaction. So it's pretty much a floating window outside the um the Revit API. I know somebody asked like last week, can I do double click to insert a so people have started being really picky about their uh user requests and uh >> this is my recent obsession with pirate now trying to get the key manager to be >> better shape the thing is that I think also in par what's cool is that from autodesk side I feel like sometimes developers they don't fully understand how ravit is used because we also don't use it just straightforward or sometimes we have our workarounds >> and with parit we often get people who are really know for example like you mentioned you've worked with keynote you understand it and you can speak on the behalf of community how the tool should work because sometimes we get tools which are made by developers not by users and there's this disconnect and they think like oh that's actually a cool button here and users like yeah we never use this feature or oh we don't need it just you know there's like some very basic request like I mentioned like select all types also all users needed it developers probably didn't even know that this issue exists. I don't know. >> Right.
Um one one one one thing that I found like for example McNeel like Rhino um the group is actually very active on the forum is actually they let the developers engage directly with the customers. There is no customer service and marketing and they don't have >> modern teams do that. It's very very efficient >> and I think this is what we you know we have with with the pirate group is we are only you know maybe eight people active at the same time and people start you know uh requesting features. Some features are really unrealistic to implement and others are and a lot of people came with actually a feature that they want to put it as a part of the pyro like they want to donate their tool to be part of the private tool >> and we we we welcomed few I mean few people did some really phenomenal tools I think I I can't pronounce his name I don't think it's his name I don't know it starts with W but he added the measure 3D it's improvement over the Autodesk Measure 3D. >> It's way it's way better and it's more um it gives you the deltas in X, Y, and Z and um it uses the direct context 3D.
So, it's actually it's it's it's really it's really nice interface to use. And I think he did the uh crop um section box uh navigator. It's like a floating window. when you can have a section box assigned to a uh a floor plan, it keeps going back and forth, left and right. That was that was amazing tool.
>> That was amazing. This is like previews of how high it goes, where the cut, where's the B that Yeah. Yeah. Yeah. I saw some LinkedIn post.
I was instantly like that's so good. This is something that this is the thing that >> Autodesk just autoes developers don't always know our issues. Just think, oh, probably everything works. We like when we use this stupid like cut levels every day for a couple for a certain period, we start to hate it so much and then this kind of tools come from py power users who like okay enough I'm just going to do something about it. That's what I love about this whole community because it's it's communitydriven not like this uh kind of >> kind of users driven not like fully developer who don't use the product.
>> Totally. And um I think this is going to continue to be the case. I think if imagine if like for 10 years there's no major features being added to to Revit, how the AEC industry respond. Uh we don't have a product to replace it and all the new uh nextg products are either take you know treating with tackling niche products like parking generator uh >> facade generator uh space planning. we don't get one that's actually do a major uh project documentation and coordination like like you know like what we have with Revit and that vacuum is ready to be filled by the private community.
I think that's why I feel like parrot is going to be the biggest winner >> in the next 10 years for the especially with AI because now even if you're not fully well-rounded developer you can get away in writing a script that is actually if you know what you're doing uh understand the basics of the API I think you can you know create u a solution you know solves your problem and I I think this is going going to be the case >> now a lot of people are slowly gets there. I see more and more people get interested. Also, this AI, >> it's amazing how fast people can get into that without even understanding what they're doing. But also, they don't realize when they hit the limit because AI just gives you a lot of things, but sometimes you still need basics. Maybe not exactly as much syntax, but just understanding kind of Ravit API logic, just Ravit logic in general, so you can at least command what to do correctly.
>> So, I want to say I want to give also some cheat sheets to to the audience here. Um so I use AI a lot. Um I used AI mostly it's the GitHub copilot. Um but I have you know because uh my work they gave me the max account for cloud and I got also >> um and I think the best use of u AI and it's actually I utilize it a lot in the copy paste. So I added the functionality of control ctrl +v for the output window which which was under the wish list for like you know 5 years.
Um we all couldn't we couldn't resolve it initially because it was um it's an HTML in a WPF window and it's there's no way to register like C controlV events uh from the so you need to go right right click and copy the output of that. Uh so what I what I so what I what I added with the uh I added the trace logger >> so it will log my um events into a log file and >> it does >> and then I take it and put it into Gemini and it will tell me where this control C is actually being triggered. So we at the end the conclusion was actually let's do it on the system level. It's like in the operating system level, not on the WPF level, not on the HTML. >> No, not on pretty much.
>> Yeah. >> Okay, perfect. >> Um, same. >> I heard I heard this change. It was so annoying.
I always you select the error message, >> Ctrl C, go back. You paste something previous and you're like what? What? Go back, right click. >> So with 6.4 is actually you can control C control V from the open window.
Um >> but the same thing is actually so WPF it's you know there is a level like creating the interface and you know adding triggers that's cool getting into like external handlers that's becomes like you know this is where the memory leaks happen this is where you know the issues start going like the net crashes and I found like AI is really great if something crash you can just go and take the crash report instead of reporting to autodisk take it and put it in cloud and it will tell you likely what's the cause. >> That's actually a really good use for somebody who really get into the AP like the API development. So I want I don't think the Revit API can actually and this is for example the um the block AI that I worked on is actually help helping me because there's a lot of when when I was trying to run it I tried to figure out the command uh like the post command ID or the command post ID um from the journal and actually AI is actually instead of scrolling down you can just take the journal and >> put in a cloud said hey can you tell me what what command ID is being triggered So it's just it saves you a lot of time. Um >> Yeah. Yeah.
Yeah. >> And uh yeah, logging. Uh definitely it's probably being able to developing a skill around, you know, understanding that things will keep breaking. So let's let's fix it. Uh >> how much do you use do you use clot code or you just kind of rely on the autopilot itself?
The >> native I don't use cloud code just because I I tried it. Um it's just because you don't have enough control. It's just this it will keep coding in the backgrounds in the background for you. Uh cool if you're not really want to control it. But for me I prefer to have a chat session so I understand what is going on like getting it's more a conversation instead of like cloud code just doing your files your extensions in the background and just putting putting it right you know over there.
>> Uh you can do you can do both ways. >> You can do it. Yeah. But I I prefer to to just use the maybe co-work a little bit more but um I prefer just just the chat. >> But uh >> there is chat feature as well for the cloud code as well.
There's like native interfacing ids, VS Code and stuff like that. >> Yeah. Yeah. >> That's that's why I'm asking. >> But most of the work actually I do it within VS Code.
So it's not like I only take it to cloud code if I need to troubleshoot something. >> Oh no, I mean like you can integrate it inside natively in VS Code. you have a separate window like your copilot. There's exact same window for the clo code. >> Yeah, I don't think I have I haven't reached this level of you know in my development environment.
Um >> okay yeah I I suggest you give it a try because from my like full research I'm now diving deep. Um, clot code seems to be like the best one at big multi-step tasks, >> right? >> Because uh it's not just the Oppus level because you can also use this oppus module in your copilot, but their agent also works. It seems to do much better work at the moment and it's really good for this big task where you need to brainstorm, you can plan ahead and so on. So I like really I'm now using that as my main kind of driver especially for all the test with AI I do.
At least that's the conclusion I came up to that now also the Codex catching up with uh CL Oppo. So there's also like OpenAI users and both entropy can do that. But yeah, they they seem to integrate quite nicely now with all IDs. >> I need to take a look at it because I think I have I have the subscription right now. But um it's funny that I still use 4.1 GPT uh for Copilot just because it's fast.
like I want to fix the syntax of something and just you know control I and just say fix it it will just nearly instant >> and because it's probably it's a single step it's definitely I won't rely on this one writing a full function for me >> um it hallucinate a lot and start switching to Python uh like at 3.12 >> and start adding these uh formatting uh like the f like the formatting for >> yeah the f string >> string at to debug. So, uh it's >> every rule file contains forget if string exists. Just use the method. >> Yeah. So, um I I Gemini is good at constructing a function.
I think Gemini is probably better the best in reading the API docs maybe. >> I think so. Okay. >> Uh but I agree for multi-step process. It's probably uh cloud.
So, >> because for me, I default to Oppus 4.7. I do everything even little changes. decides just give Opus to do everything. It's fast enough for me. I like it cuz I just want to see how far I can push it.
I don't want to make sure that the factor of the model is kind of slowing down things. Plus, sometimes I would rather have one prompt and the best model figure out the rest cuz smaller ones they sometimes need a few tries. You're like, "No, you did it a bit wrong." Hope still fails here and there, but I'm still kind of testing everything. One question I have since you are on GitHub copilot, can you also set up like rules files like agent files, skills files? Is it something part of the copilot?
>> I don't think so. >> Yeah, it's not like it's not like uh the markdown that you do with with >> Claude. Yeah, exactly. Okay. So, >> I don't think so, but maybe So, so Claude is uh is managed by my uh company's um IT director.
Mhm. >> So maybe he can do it on a enterprise level of enterprise account. But for me what I'm getting is just I log in with with um >> so kind of an credentials. >> Yeah. >> Okay.
Yeah. >> Um >> because um because now because I teach others and I want to teach more about AI really conscious about what I use because by now I use PyCharm which failing so badly at AI game. So I have to leave it. That's what I'm doing. And the conclusion I come to is that it's right now like the best again if you listen a couple months in the future it might change >> but in general the VS Code and cursor they seem to be like the leaders of the ID there are like cursor else there's anti-gravity so they similar to cursor but these two kind of the main ones especially for their kind of agentic workflows and cursor it also has this kind of cursor rules folders all this kind of bunch of MD files and also clo and in VS Code I kind of solved it for now That's what I use because I use clo code.
I can create this cloud files and I start to notice that it can be much better. >> And the biggest tip I can also maybe you can try it out. When you talk with go uh like coco cop pilot without these files it's always kind of kind of blank state maybe it has some memory about you but not as detailed and so on. With these files you can configure certain things and teach it over time because for example you talk about new topic like how to do I don't know coordinates in ravit API quite tricky topic but once you nail it it's easy >> and it's new chats it's always have to figure it out from the scratch it goes time tokens like output sometimes wrong but once you do it once you can just say like okay you know what now go through all the code conversation we just did create me a skill file add it there and for future reference and it will make a kind of AI tutorial for itself not like a tutorial, but all the important pieces. Here's how coordinates work.
Here's version differences. Here's code sample that actually worked. Next time it just like, oh, let me just reference something. It knows exactly what to do. So, this is the future about AI.
I also noticed that you kind of vanilla AI is great, but once you start training it, it's going to be it start compounding skill because it's going to get more aware about ravit API and specifically to your workflows, your tools and stuff like that. That's why I just keep the co-pilot completely, at least for me. >> So, it's actually I did return back to skills. Um, I have a couple of skills that's actually um I used it more for troubleshooting. Um >> Mhm.
>> Uh I asked Opus 4.6 at that time to go and clone the pirate repo and find all the differences between the legacy um loader and the new C# loader. And the reason why uh we got a lot of functions that work completely the opposite. It's a true false, right? Things >> by by default. Um and that that really developed and then I developed this as a skill file.
Uh that became as actually if if if a bug is there, I can just consult like um like what is going on and it will tell me. But really I didn't go into like fully structured development environment with uh with uh with Claude but I think this is something I need to take a look at it uh very soon. Um I think um >> also what is interesting here is you can build skills on sister libraries for example I I find like pyrovit has the future to expand beyond what's you know the Revit API let's say like other third party uh libraries like topologic pi or like shapely >> like where you can actually doing some graph analysis like geometric analysis instead like just like private API and you know dealing with elements. Um and I think because you can clone the repo of these tools and build a skill on it, Claude will be better in integrating these tools into your pyavit work uh pyate workflow. >> So >> yeah, you're not just going deeper but it's actually going you know wider and making associations.
Yeah, it becomes more context aware which is really great cuz that's it's it's like before we had to to get better outputs in the beginning. We had to actually copy a bunch of codes, paste it in the chat, kind of analyze, get ready for the next question and then we kind of got a little bit out of it more. But this now all these files I I think it's really important not to ignore it. All this MD files, all the uh cloud rules, this cursor rules, all of this, it's really worth setting it up. I'm now I resisted AI for so long.
I don't know why I kind of I cannot really explain it but I just resisted maybe because I like kind of coding and I thought it's going to stay more in manual control. Now it seems to move more into aentic workflows. You still need kind of understand what you're doing but now you can save a lot of time. >> So now I decided it's time to embrace it. >> Um although I think a it's a fun story.
I had um I was working on a a um IO updator uh like a hook uh for um for for the company which will trigger trigger a specific event when you try to do uh some work >> uh and uh Claude told me uh because I I was stuck in an idea of like this is if I cancel it I got unexpected behavior and I told like how you to unsubscribe from this event in this condition. I'm trying to unsubscribe but I couldn't and AI suggested using idling like a timer in the background just running and uh I said like no I don't want this he said well that's this it's just a solution I don't want to go into that rabbit hole and I said no no I want to go into that rabbit hole >> um so sometimes uh it's like you know uh like flow of water sometimes a also prefer to shortcuts >> um which probably not very often not ideal for uh uh quality uh >> when I tested AI assistant, I had really good example where take shortcuts. >> Yes, >> it was very simple example. I just told it something like okay there are like maybe 100 walls or something like that. Go through all of them and modify and expose the ID, right?
Just write the comments comment ID and the number of each element, >> right? MCP took ages and it started okay executing one by one as separate tool okay changing door number one door >> you get like >> it took ages >> uh I mean in MCP didn't expose it as a separate transaction but it looked like okay making the batch of 10 1 2 3 4 5 okay the next batch of 10 1 2 3 4 and so on and eventually it reached like 47 or something and it just gave up there's like okay I did good job what do you think can you continue or something like this right it just kind of stopped working and that then asked me for more or something like This and this is the thing like sometimes AI when you give it way too much work it can pause. >> Aentic workflows seem to get better at that as long as you're talking limits are fine they can keep going but they still try to pause for a second. You still there all good? >> Yeah >> something keep in mind.
Yeah >> I I tested the MCP like over over a year ago the pirate MCP and it really ate my uh Claude because I was on a free account. I think it's it's like after moving a couple of walls, I think I'm out of credits. Um >> Oh, yeah. Yeah. $20 now don't get you far.
>> No. Uh that's that's the issue. Um but for the AI block, I think what what really excites me and I think planning to do it for MCP um at least for for firms if they want to implement it is actually you blocking instead of blocking the assistant you're blocking the transactions. So um right now it's like um for example it will um >> got it >> it will do uh an like an event and then the event will do a failure processing and that failure processing will trigger um a a um like a forms. Like forms alert tells you uh you can't do it without actually contact your uh BIM administrator.
Uh this is what I implemented in the AI block. Um, still I think it's a lot of um a lot of work needs to be done, but I'm planning to expose this into uh or extend this into the MCP. I just need to figure out the post command ID. I haven't >> I haven't used the Autodesk MCP. I only use the uh the parabet one.
>> So, >> yeah, I think that was the right choice. And I looked at your extension. Pretty good thing that you're doing. I think the only thing is that it covers so much ground. you actually have to go like new people like even I when I went there I had to figure out what's going on because you have some controls config files and so on >> and I was like okay so it takes time to figure out how it works >> so I think maybe you also need to maybe make some light version >> to get people in >> cuz right now it's like okay where's I I went in I was like okay what's the password because somewhere it ask you for the password you found it in your GitHub >> password read me >> yeah yeah that one is fine and I was like okay where are the config files oh there are config files how does it work locally So I had to kind of go a little bit there to figure out how it works.
In the end, I just kind of took the base and kind of show like, okay, here's how to do the bare minimum just to block it. But yeah, it's a good thing that you're doing. It's just I think that for people who just open it, it's going to be a bit like whoa many things. It's a good thing, but it it there's like >> how to say it they need there there's like a learning steep curve to start actually using it really well. >> That's what I just wanted to mention.
But really good that you started it. It also made it so much easier to share with others how to block it. it will it will be just you know put it publicly people can can develop their flavors of it um but I still think because I stuck it to to our IT and I think they're you know deleting the island is probably the simplest process but you know um autoesk um they will push things with access >> I think also it told us they can block this addin by name so even if the even future versions of their release they are just blocked like by by uh >> uh by the company's pol security policy. Um >> Mhm. >> Um I I'm a bit concerned.
Well, not for Pyrevate. Pyrovate is ready for it, but um they're migrating existing Revit versions to .NET 10. >> Oh yeah, the Revit 25 and 26 I think. >> Yes. Which >> I'm right during the middle of release.
It gets so many people confused. But I think it's becausen net is running out. Maybe not every plug-in uh developer is ready. >> Yeah. Yeah.
Uh I saw that many people reported it's not as bad. Maybe there are some little issues here and there, but in the beginning, everyone a little bit freaked out. I'm like, does it mean how do we notice changes? How do we know which one to run and stuff? But >> I think now as people start to test it and see how it works, it's maybe not big of an issue.
I hope it won't be, but yeah, it was like very unexpected. But also they just use the latest available version with support because it's the net 8 which is expiring support or something in the end of the year >> and they just don't want a liability probably >> right. So no I think I think also the pirate people did great when they migrate to net core uh couple years ago. I think it's just a huge investment the path forward. >> Yeah.
Yeah. This is also where some people because parit was a bit late with the release for the ravit which was it 26 26 I think >> 25 >> I mean I 25 yeah and many people took it as a sign like we actually depend on developers and many people start looking more into C route and they I don't know I think many people still understood it many companies did their own fix in the first weeks and they could run it internally themselves because well there are ways to fix it but I also noted that Even given uh Nicholls he also switched to C# after that he saw that okay parade might because they didn't like the idea that they kind of have to sit and wait for kind of parade table but now parade kind of is more organized and I see like changes coming much sooner for new versions and stuff because I think they also noticed that this was a big kind of not big but it was kind of hit on community but now it's like more important like okay we have to make sure it's compatible >> 2026 in 2027 I think were released 24 hours later. Uh but they they're ready. So .NET 10 were uh implemented in uh I think November of last year and I think for um for part of it 5 and and Revit 2025 it's actually a working version was there around July. So 3 months after the release actually the people were were but it was >> so not everything was completely figured out but um um it it was a a moving target but I think now I think it's reached the reached a level of stability >> and even with the new loader um 2027 uh I think 4.6 is a very solid build that >> you know >> yep >> ready for the future and this is actually what we did for our company.
So uh couple years ago we are we are fragmented with we have our own tools built in C built by a third um third party um u company that we keep paying them every year to um to pretty much updates based on the new Revit API changes. Um >> and then we also have um a collection of Dynamo scripts that we run um to automate few tasks and uh we decided to to switch all into pyrovit because first we take the burden of having our scripts up to date within latest you know net build and it will be handled by by pyit >> granted you know I'll be participating into that but it's actually we don't have to worry about this technical debt. I think technical debt is the Gavin Nicole's um idea. It's like you if you build a tool uh you're responsible for maintaining it. >> And that's why we we modified our internal company tools and now they're all pirate based >> and uh speed difference is minimal.
It's unperceivable. Uh >> you mean between C# and private or what? >> Yeah. Uh it's it's not that different. I mean for the >> you know Revit it can be as fast as it can I mean it's the bottleneck is Revit itself >> right?
Yeah, >> it's not >> also I wonder since probably you had a discussion in a company why have you decided to double down on pirate instead of C# because many companies they usually start with parade but eventually they when people get more better better with code they get more access and more start to take it seriously some consider switch to C# so wonder what kind of conclusion you came came to >> um because we don't have a full-time software developer >> and the time if you go C# you need like full-time dedicated people Um, again, I'm I'm a project architect right now and I I probably dedicate four hours per week to do all, you know, any of the coding work. >> If I'm slow, if I have like 10 hours some week, I have 20 hours extra for slow, my project is, you know, pending or it's in permits. >> Uh, this is where I get into doing more heavy stuff. Uh but um my my my rule of thumb here, if you automate something, if you automate a task that takes 12 hours and you spend 12 hours to automate it, that's a win because actually you're you're solving a problem differently, but also you're generating a reusable product that you can solve the pro another problem with no time. >> Plus, you also learn on top of that.
>> Plus, yeah, it's learning. Um, so that's that's the formula one to one. Now, if it's if if you take if it takes you 20 hours to solve a 10-hour task, this becomes a little bit hard to sell. Uh, although it's maybe it's still valid win, you know, it's it's a it's a learning, you know, as you said, and also it's probably going to be reusable, but it's also you need to to justify that to the project managers like, hey, >> I spend a little bit more time on this, so I can use it. Um, and a lot of project managers, they really care about their project.
they don't want to be you know bothered about somebody investing in the future of other projects. Um. >> Mhm. >> But um so that's my formula one to one. If you spend in many cases um if I know this task will take me like two hours I really feel encouraged like hey let me set up a Python file.
Let me put a you know a push button here and there and I have I'm comfortable to solve it into ours. Um that's perfect. So um >> that's the reason why we got into power because we try to make it collect collective so people can write their own >> um and I think today I saw somebody is doing some form of like space planning tool and it's clearly a cloud project. So I haven't take took a look on it but I saw a a folder said extension. So somebody's actually know what they're doing.
>> Okay, that's cool. But it says beta and that person's initial. So it's probably they're still working on it. But that person is also not a software developer. But I mean getting into this now being API development becomes more accessible.
>> You don't need to worry about compiling about DLS about setting an addon file and >> it's just a folder structure. I think it's just >> yeah that's the point. >> Yeah. Yeah. I also have a parade starter kit which literally you just download it rename two folders you can even leave it as if you don't want just need to provide the path where you placed it that's it you have extension then alt click modify anything remove add it just so fast to learn this one many people don't realize what they realized no way it's so simp I was like I got to be hard then I start looking I'm like oh my god it's so simple why how what >> get you sucked in there yeah >> I find it now it's much easier than dynam itself >> especially with AI.
>> Yeah, >> what you mentioned about the formula this one to1 ratio like time spent time saved. I had the same thing when I started and this was like one of the biggest levers how what helped me learn but I was a bit more generous with the time I was okay to spend twice as much time on save time because I knew that first of all I'm learning second of all I use it second time I'm already even third time I save time sometimes even more like I could justify spending more time but I had no AI now with AI this one to1 ratio it's actually you can achieve way more >> because AI also do a lot of heavy lifting for you. A lot of thinking, a lot of debugging which I had to do manually. So 2:1 actually sounds like now more kind of a little bit how to say it not optimistic optimistic I would say because with AI it just speeds speeds you up literally 10 times. I'm not kidding about that one.
>> So yeah it's definitely something people need to just think about like just give it a try. See if you can take your 10our task and do it even in 10 hours with code. Sure, in the worst case, you would have to pause it and go do it manually. But sometimes it's really worth giving this little risk if there if time of the project obviously allows and deadlines because next time you're going to save less time, you're also going to get more confident, you're going to learn, each tool going to motivate you to do something more and yeah, it's really good kind of framework to adjust uh to implement. >> Um I think I think so I I had this this thought.
So you mentioned the pyro starter kit but um also my favorite product that you did is actually the FilteredElementCollector handbook. That thing is that thing is uh is probably the best tool that actually explains FilteredElementCollector and >> and the the especially the quick filters because I think for a lot of people sometimes >> achieving quick filters is um you know it it just speeds up your your product and I think it's probably you can take it and build a cloud skill based on that so it becomes like >> because I think in many cases I saw AI really prefers the slow filters just because it's just, you know, it's easier to go just filter element and FilteredElementCollector is probably used in every script. >> So, it's probably the most important uh API >> part of it. Um, but I think quick filters identifying what you know preferring quick filters is definitely a better >> in uh filtering objects. >> Mhm.
But the thing is it's a bit more technical. Maybe not exact for the port, but if people wonder about quick and slow filters, it's not really slow as as it sounds. It just means that it needs more memory of the elements. Cuz quick element, for example, you have a wall. For the quick element, it just looks at the basics.
The ID category, some other things which can be kind of accessed without opening the element. Slow filter, you just have to open the element in the memory. That's why it's called slow. Even though time wise, you won't notice a difference. Sometimes it's like 0000 0 1 second.
Even though they do different things as well because they kind of focus on different information. I just want to throw it out there because people always think slow filters is something bad. It just means that it focuses on more information, right? Therefore, it needs more to get more out of the >> um well Andrea from the you know the private cousin is is really big on on on this like every CPU cycle matters. So um when when review of code it's just like if you >> if you have a duplicate u you know functions needs to be a small and precise >> structure of it but also because he does that you know every day so he's very efficient and uh >> yeah it's in the it's the soft software developers who are like more and more into software >> they they have so many lessons on the um how to structure your code this notations how to understand the scale of the code and so on and they sometimes I heard stories when people spend a lot of time fixing something that changes maybe zero one second and on large like SAS companies like Facebook like met all of this it makes sense we have like billions of users but for the office with 10 people it doesn't matter like we can wait 5 seconds it's okay >> um yeah I think so for >> it's like yeah you're waiting so people doesn't complain about it but uh pirate is actually sometimes load it's around 1 minute if you go to the >> the apps Um, it's we're trying to slow uh to make it faster with a new loader.
We're also trying to um uh this is also probably to your audience. If if you're putting metadata in your um inside your script, we're planning to duplicate that one. So um >> no >> but we're providing we're we're discussing this um because it's actually takes a few loading time for sec a few seconds loading time and you take it to switch to like all bundle dot you know all the bundle uh files. >> I see. >> But we're providing a script for people is actually you run it on your extension.
It will generate the bundle files and transfer the metadata to >> Yeah. Yeah. It shouldn't be hard. I'm just so used to I'm thinking things Mark mentioned before that I should switch to bundle and stuff and I'm like no I'm going to hold to my code >> because I I just don't like having extra file just for this basics. I I don't mind having like title and all of that.
>> I don't know. I didn't know you were like the team trying to depreciate this feature. uh it's um it will be pirate 7.1 maybe it's like maybe air down the line but the idea is so we switched to C# for two reasons first it's becoming more um you know future proof or like upto-date um and I think that's that's a really uh good vision from Jean Mark >> and also um I think um speed although I really got excited first when when the first alpha showed Uh it was like 60% faster and I thought like oh so C# is actually way faster. >> You mean by extension, right? >> Yes.
>> Then I I didn't realize that it's actually faster because it's it's skipping most of the things. It's not loading any of the critical things. Doesn't reload icons properly. So it was it wasn't faster because it's faster. It's faster because it's not fully functional yet.
Once we start adding functionality and make it on par with the um with the legacy loader, it became same speed and in many cases there's a bug with the uh with telemetry server that can push that to telemetry server um entry in the >> pirate config. It will push it by another um like a I think I had private config.ini ini 40 megabytes and that really put my private loading time to like 3 minutes and they discovered there's a bug there's a PR on uh going on you know >> how how did you make it 40 megabytes that's a lot of text >> uh if you go if if you go to par part of it um config.ini INI and try to read you'll see some double spacing like JSON double spacing on the telemetry server entries. That's a bug that's you know we are fixing. >> Mhm. >> So I think I think some people need to test it and then we can um so it it keeps inflating inflating inflating until it becomes really big and it it slows down.
Um there also few few bugs that we solved and I think I think now C# loader is like 10 time 10% faster than the legacy. >> Okay, >> which makes sense but it's not going to be like instant like you know guardian like 1 second. It it will be like you know 20 30 seconds to load but if you compare this to Revit loading and you know opening a project will take you 20 minutes it's probably nothing that's being uh noticeable. >> Yeah. Yeah, it's fine.
Some people complain like how it takes 40 seconds to open it, but yeah, it saves hours later. >> Um, depends on how many how much toolbarss do you have also. >> Of course. Yeah. >> Yeah.
Yeah. There are some. >> I I used to download every extension, but then I decided maybe I I'll keep it to two. >> Yeah. I see.
No, it's interesting to hear from you as well about development, all this kind of behind the scenes what's going on. I want to get developers as well like Roman Go, some others. Um, >> you should get >> Yeah, I'm slowly getting into this podcast. I I don't even know how I find my guest now. I'm just like, who?
I just saw saw you popping up on LinkedIn. I'm like, I should get you on the podcast. >> I'm I'm not very active. I'm slightly I think I'm more active in this is what you I mean, I'm slight you can tell, you know, with 20 years of driving, I'm getting older. My social media is becoming the pretty much the GitHub.
Um, and you're slowly moving from one community to another. And I'm I'm really happy that my community is only like 85 people. >> Um, >> but with LinkedIn sometimes you need to do uh announcements related to to the works being done and uh >> to keep others in the loop. >> Yeah, for me I'm just trying to get a lot of parade developers to share their tools, share how they use it because well pretty much parade podcast that's what I do for now. He's just kind of randomly casually.
I'm going to get Jeremy Tamic on the show. He already agreed. >> Oh, nice. >> Gavin is coming again to talk about his C switch because I think it's going to be interesting to hear >> because he's like making like full first he's like super like Dynamo user then he's like super py and then now he's switching to C#. I see him getting more into software developer kind of mode.
Goes in much deeper this finicky topics like >> right. >> So it'll be interesting. Um once once I get into uh pyit I have every video from Gavin Nicole's the C uh journey. I'm gonna put it in my um in my in my watch list. >> I know that presentation we started with.
Right. >> I think it I think the I I see the benefits of C#. You don't have to deal with lists. Uh but it's I I'll take a look at it. Uh maybe I don't know.
Um I think both both languages are I just I feel like Python is more home for me. >> Yeah, exactly. I think that's the thing about C# and Python. Many people think that it's either one it's kind of one is better than the other. But I think there are just two camps.
>> I for example not planning to go to C#. I understand the syntax I can make like in a week and start making tools and give me a month I'm going to be pretty decent at that. Totally of >> of course there are different things I would have to relearn but I understand opt syntax because I just translated so much C# into Python manually that I just learned C# as a result of that but I just I don't know I don't know it's just it's just not my cup of tea Python I'm just only in Python I even remade the whole rate API documentation website using Python Django it's amazing >> people say Django slow I don't care it's fast for me actually you want me to quickly show you because I'm making a huge update. Maybe I share on the port and with you >> and you can roast it a little or maybe just let me see if Yeah, I think it's running. >> Uh I just need to share.
I think it's going to be cool. Can you see it? >> It's loading. Uh yeah, let me just make the screen slightly larger. >> I don't know.
>> Okay, sounds good. >> Oh, this is local host. Okay. >> Yeah. Yeah, it's local host is haven't pushed.
I can push it quickly, but I'm not finished. So, this is the what people see at ravit.com right now. This is the next one. >> This is what I this is my this is my go-to. Um I switched, you know, from uh Revit API docs to uh to your uh website.
This one I find it's better better search more visually appealing. So, >> yeah, >> I see. Yeah, >> the difference is I'm just going to go this is from Nonica Creator. uh cuz most of them they take the original kind of the layout of these HTMLs. This is what we get and this is all accessible.
>> I kind of hated it. It's fine. We got used to that. But I the thing is here I kind of I parsed all of it, got all the information out and rebuilt HTML. And this was the kind of first iteration worked pretty good.
>> Yeah. >> But now I'm on the second one here. So because now I finally pushed it not in like kind of cold files, it's all in database. Now I have full control of everything. It's going to be similar but I'm adding more and more features.
For example, now >> oh yes >> it's also I can look and say okay what each method is going to return and stuff like that. I can also mark here for example that one is native. You can see no inherited all the graved ones they inherited from somewhere. I'm also decide finally make a community snippets. So now I'm gonna get to that.
Yeah, people were asking for that one. So the comments also for some reason here it broke. I need to look into that. >> So now I'm kind of joining two. So first of all, it's going to be better.
Also, you can open multiple pages. I just went all in. Like since cloth code, I decided let's see how far I can push this. And I I could push it really far. >> The search here super snappy.
>> I can even show you things that's not possible by default. So it's just kind of good to run down what's coming. So I can see for example what is obsolete in that version. These are all obsolete items. Okay.
I can go through I can get better understanding what changed. Later I might do the full page breakdowns between the versions because now I already have this for example uh something changed here. Obsolete status something changed here like and it's missing here. So now I'm going all in into that like I want to make a really good place. I can even search let's say view I'm going to search for inheritance and there are like a lot more things but now it just looks at this box here and says is there like view for example if I go to I don't know view 3D obviously it's based on the view I'm going to go to I don't know I think render note yeah you see there's like view node so it's not you can also make it I think precise but the thing that I'm really really proud of now because I decided can I add gamification and I actually managed to pull this off so Now we we I'm making profiles.
I'm making like all this like I decided steal from G this feature like for activity, shared snippets, shared comments, everything. So I think it's going to be also like achievements. It's so fun to play around with that one. So I don't know how far I'm going to push it, but now I'm going to make a little bit social place for RA API developers, but 100% overkill for documentation, but I think it's fun. >> Um >> and also place to share snippets.
I think that one would be awesome >> because I heard it so many times. >> And another thing is that once you share for example uh can share here, you can write some description if you want to. You can comment on that. But what I really really wanted to do is link to pages because often times when you explore documentation, I heard it so many times people want to leave their own stuff in the docs and now we will be able to do that because this will be just community snippets whatever you want, right? because this syntax yeah is this in this case it's useless but now we will be able to kind of add more into that so your code snippets your thoughts and stuff I don't know how far I'm going to push it but I'm pushing it already beyond what we what anyone asked for this is really helpful especially if for people using AI um because now even AI if hallucinate you have a a a code snippet that is done by somebody and you can use it to >> pretty much provide rails to that AI too.
>> Yeah, that's true. >> Oh, that's that's a huge that's a huge uh step forward for for the API. >> Um >> yeah. Yeah, I think it's going to be fun. I don't know how people going to react to that in terms of do they really need it, but I think there are certain few who will just absolutely love this thing.
So, I hope it's not going to break as much, but I will just fix here and there things overall. also the leaderboards because I think if we make it like more communitydriven, people are more motivated to share. They're going to like, oh, if I share, I'm going to level up. I can also like others and stuff. So, yeah, I'm still kind of playing around, see how far and I can push it and so on.
But so far, I love the idea that maybe also it can turn into marketplace because people sometimes look for rate API developers. I can add here page something people can put themselves out. >> Yep. >> Yeah. If you have any suggestions of what you've been missing from docs in general, would love to hear that.
>> There actually I I don't I don't miss anything. Uh I see the the examples you already implemented. Although I didn't use them that much. The um I think the there's the API docs.co the other the older uh website had some examples, but I didn't really bother with them a lot. >> Oh yeah, you scrape the GitHub.
It's not always perfect, but overall, yeah, it was also good to it's often great to grab some examples. I think later I'm going to just scrape GitHub and try to just kind of either take examples or just full working tools relate to some places. So, you know, we have a lot of reference. So, while Ravit API is mostly C oriented, I think this doc is going to be Python oriented most. >> I have a lot of plans for that.
>> Yeah. So, that's just something I want to share. I thought it was going to be a nice thing to share on the pod as well to show people what's coming. >> Yeah. Yeah.
Uh, of course, that's uh another another since since Revit, I think I'm my excitement is consistent with uh with uh with Revit now. It's always, you know, you get excited a year and then you you you lose it to the next year. But I think this one is, you know, community projects is >> Yeah. Uh, pyRevit also made me so so much more excited about Revit in general >> cuz I started getting once you get to certain point where you get really good at Revit, you start to encounter so many things that needs fixing, needs solution. There are always workarounds.
At certain point, you just get tired of all of that. You're like, come on again. You already know when you have a problem, it's going to be a workaround, not a solution, >> right? And um, I don't know if you so there's a few things coming to Pyrovit as well when it comes to the UI. Um I see that the um so the split button is is being implemented but I think there is the combox button and I think there is a checkbox button and it's it reflects the new ribbon updates in in the latest Revit versions.
I think there's one on the forum. Uh somebody did the combox button. Um >> Oh yeah yeah I know what you mean. I saw it somewhere. Not here.
Where was it? Maybe an issues. >> I think it's probably in this. Yeah. 6.4.
I think it's probably being added. Um. Oops. >> Yeah. >> UI.
UI. Is there like UI? >> If you scroll down a little bit, I think it's uh >> I saw somewhere. So, local. Yeah, I saw some changes also.
I think I need we need to document that. I'm thinking that maybe in the future just go through all of that and kind of show step by step what's going on. But I just need to also myself track what's happening because I was on like five versions behind because when I do tutorials I like to stay a little bit I had times I don't know pirate never gave me issues updating but I just have the habit to not update while everything works and it comes mostly from video editing software. Every time I update, I have to spend like a few weekends fixing some stuff and stuff like that. So, I'm always afraid to update stuff because of recordings.
>> But yeah, I think I need to get back into that because there are many things that I've never heard of. I just hear from people here and there just like what you can change the background now. Oh, just Oh, interesting. >> And stuff like that. So, I miss a lot of updates.
I think there's this is pretty much the best place to get it. Just go straight to GitHub, go through and read it. But it's also well everything is text. It's not always easy to go and read. >> Yeah.
Um, another thing that I'm planning to do is actually uh looking forward is um I still think there is I mean AI can write fancy WPF but for I think for a quick prototype most of my tools actually use a flex form. Uh >> and what I'm missing with the flex form is uh radio button. I saw somebody added on a sample script that they actually >> instead of adding it to the to the uh flex form, they added a >> WPF um radio button to it. But I'm planning to add a slider >> and if you want to like it just like a like an integer a number with a slider. >> I think uh >> I think I had it somewhere.
>> It should it shouldn't be that hard and I know where to steal the code from. Um I think the um Dynamo data shapes it's the similar to flex form it's the WPF tools for building >> Dynamo right >> yeah so I think I can um I I think I remember I saw a slider there I just go there and take the function >> there is an element some kind of slider in VPF it's not hard to just have to kind of set the updater I I get it somewhere I definitely have a tool with some kind of slider just for fun, >> right? >> Uh but I don't think my >> WPF is very easy. Yeah. I just need to to put it put it there.
>> No, it's still not easy. But >> it's a it's a unique thing this BPF. >> Yeah. >> Yeah. Um we are almost two hours in.
I think we need to wrap it up. So I later don't regret editing. Was amazing having you on the show. Just one thing I like to ask in the end kind of all guests also their kind of number one advice to beginners >> right >> so somebody who is just getting into pirate maybe just heard about pirate what would you say >> I think they just need to do it first thing and also don't do my mistakes that uh I I I encourage people to join your um your uh part of a challenge just because um first you get intense focus and actually learning by doing instead of actually waiting and binge watching because I still have the you started this episode I had the uh the Revit API workshop from AU 2009 and it's still there not being implemented. Um so maybe if I paid money for it I probably I should have attended and learned it.
Um, you know, free lunch is not always good lunch. Um, so, um, I think they just need to to lean in and just be get into there and >> Yeah, just make the first step, right? >> Yeah. >> Just a good one. >> Just jump just jump into it.
And I think it's just like if if again it just took one one you just create one button maybe would you know start with the starting kit and I think um the rest will be history. >> Mhm. >> Yeah. >> Yeah definitely. Also the every next tools get so much better and easier to do >> and some people told me that what if you know what what if I learn this and Autodesk decide to pull the plug on Revit.
Mhm. If Autodisk pull the plug in Revit, your problem will be much better much worse than your problem will be much worse than actually learning Revit API or not. At that point probably firms will lose their entire archive you know of their project. uh also I think it's uh it's not going to happen uh because they need to provide product out and uh also I I was thinking yesterday if autodisk do AI does it mean that if the AI needs to go and upgrade every model to the latest Revit version which will take you know hours of compute time. Um, >> I feel like it's going to be a rough moment, but I think it's just the people who are willing to learn are going to be the winners here.
>> Mhm. >> That sounds >> a lot of uncertaintities, but definitely and uh for people who said forma will replace Revit in people 2003, 2023. So 3 years ago people told me in 5 years there will be no Autodesk uh desktop applications because everybody is going to switch to forma. Uh good luck. I don't think it's it's going to happen.
>> I think it's their dream but I don't know going there because once they make the switch people start considering options as well. >> Yeah. I don't know. I also don't believe Ravit is going to disappear. As much as everyone wants Ravit killer and Ravit to just die out.
It's it's a big money maker. It just holds the title of most used beam software. It's it's here to stay for a long time. I don't know what's going to happen with it. Yeah.
>> Also, the reason why the only reason why I think ACC like a former uh like a document management holds advantage over the other competitors is just because it natively works with with Revit. >> Yeah. Compatibility. Um otherwise people will jump to Procore Box you know Dropbox easily if they because I know for sure we tried to utilize um like a Dropbox initially for u syncing central Revit files that was like 2017 and uh that didn't work. It's not doesn't have the native >> um >> like the unified database that Autodesk offers with with ACC.
So um if you lose rabbit I think you'll lose your uh the cloud game as well. >> Yeah they kind of forced it on users as well. There are not not many many alternatives and if there are well you're losing something here or there. >> Yeah. Well the good point is like Python skill here to stay I don't know like I love Python is definitely not moving anywhere.
It's just going forward especially with AI. what I learned from Python. Yeah, what I learned through, you know, from Python through uh Dynamo and um Grasshopper is actually easily transferable to pyrovate and also easily transferable to other applications. >> Yeah. Yeah, definitely.
Funny enough that people still hate Python being inefficient, slow and stuff in comparison to other languages, but funny enough, the whole AI frameworks, the most popular frameworks, they all built on Python. Yeah, I think >> cloud runs Python code when when executing, right? >> Uh I think I don't I don't know. >> I know that all these kind of main kind of frameworks for AI they are in Python which is uh I was always kind of surprised about that but I think they still certain parts still going to be rewritten in C++ where efficiency matters in this kind of stuff but for AI like training and stuff Python seems to be the king which I really really love to hear. It is it is definitely a growing language.
It's actually my first interaction with uh Python was with Maya in 2008 when they released Maya had u like a scripting language called me Maya embedded language and suddenly they added Python and everybody was excited. I didn't really get it that time, but it's actually when you start doing like for loops, while loops, conditional statements and you start doing like you know functions. This is definitely uh a step forward from being just a random scripting language and your expression to actually >> Yeah. Yeah. >> Yeah.
Once you move out of software, the skill is kind of gone. But Python, it it just stays like you can do anything. I even edited videos with Python when I was just like playing around see what I can do. I saw that um I saw your videos about uh the dark theme colors with uh with Python. >> Yeah, that was that was cool video.
>> There's a lot of people who are really um because I think the dark theme was introduced in 2024. Uh before that >> before that if you have a toolbar before that you probably need to recreate your icons and having you know that script that's actually >> generate the the dark theme icons. Now I decided I just gonna take colored icons from default. So they both work in light and dark theme because that that one worked but it becomes I don't know a little bit too flat you know just single color maybe two colors. It's just my initial icons were this kind of just black and white.
Now I like to like in like par challenge for example I have this like colored one for fun and I don't care if it changes like it's red and white and dark same red. I saw somebody's toolbar on LinkedIn where it's actually animated GIF animated GIF. >> Yeah. Yeah. So Nonica has this thing as well.
The thing at least that's where I first saw I'm like oh you can put GIFs there somehow. >> Exposed by the pirate API but um >> not yet. >> Not yet. I think we have bigger problems than animated GIFs. >> I have bigger problems to to solve.
>> Yeah, it's probably low. It adds to the load time as well. So not the best thing to focus on. Yeah. But um I think you just wrap it up here.
So thank you coming on the show, Tai. So it was really good talk. You shared a lot about pirate and just your thoughts in general where it's moving. Really appreciate you joining here. >> Uh could you share your social links where people can find you which if you want people if you want people to contact you anything like so just do your own plug please.
Uh LinkedIn is probably the easiest way to find my name. Um >> and I I talk to everybody. >> Yes. Um anything related to Parvit just go uh you'll find me on the GitHub. You can mention me and into any issue if you have or any questions.
Now issues is not you don't need to go to GitHub to only complain about an issue. You can also go and suggest new features and also you can offer help if you want like anybody can just go and uh go there and uh be part of it. Um yeah um LinkedIn and I I had I had a website I I don't maintain it. I just used it for old design competitions that I stopped doing it. I think you know uh I used to have a lot of time uh before the kids.
So I uh I I I don't do it now. And uh I think it's uh yeah and if you're in San Francisco just you know text me and you know we'll meet over there. >> Very nice. I'm going to leave all the links below. You can send me on LinkedIn or somewhere.
I'm just going to paste all the links you want to like website, GitHub and stuff so people can actually find you and chat with you if you they want to. And also a quick question to the audience. I hope that you enjoyed this episode and just let me know in the comments who else I should bring on the podcast. Maybe you have some expert in mind or maybe even topic, right? If you don't know the person, just let me know what we should explore next.
Maybe some MEP parate users, maybe structure, I don't know. Just let me know. I'm going to find somebody to come in and talk about this. And as usually, thank you for joining and happy coding.
Fully Agentic AI Development for pyRevit with Jonatan Jacobsson | pyRevitPodcast #7
Real-World pyRevit Hooks + PowerBI with David Vadkerti | pyRevit podcast #6
How Aussie BIM Guru became Automation Expert in AEC? pyRevit Podcast #4