← All episodes

The Journey of pyRevit Challenge Hackathon Winner [pyRevit Podcast #12]

GUESTDimitris Koumantakis
HOSTErik Frits
DATEAug 2026
DURATION1:37:41
EPISODEpyRevit-Pod #12
WATCHON YOUTUBE

Transcript

Are we live? Yes, we are live. Hello everybody. Welcome, welcome. So today we have parade podcast number 12 and I have a guest quite special I think to me because I recently ran a par challenge hackathon >> live and this is the first winner of the first par challenge hackathon so we're going to talk about this more this is not coming from parv team I think I should mention that it's coming directly from me I teach parade I'm not part of par development team not part of par let's say we're just friends with parade so the guest his name is uh Dimmitri and I just need to bring him on the screen.

So Dmitri commentis sorry if I pronounce it that but I hope that was good. [clears throat] >> It's fine. >> Welcome to the show. How you doing? >> Hi Erik.

Thank you for having me on the podcast. I'm very happy about it. >> Likewise. Likewise. >> Super excited to have you here.

Where are you right now? >> It's nice. Um, right now I'm actually living in Copenhagen, Denmark, so I think we actually have the same time. >> The weather is nice. >> Yeah, >> today is good.

Yeah. >> Yeah, that's awesome. So, uh, recently, I think when was it? It was like one and a half months ago. We run the spirit challenge hackathon and we had about I think 13 people participated and you won that thing.

So I think it would be great start to just kind of share what kind of tool you made and show people what is the tool, how it works and then later we're actually going to focus on you go in your journey that led to that one. So they have kind of the baseline to see where it all kind of started. Uh just give me a second now. Yeah, now we can see your screen. >> Yeah.

>> Yeah. So I'm not sure if I should do the introduction now in a way why I'm actually you know I was thinking what to actually when I saw your you know challenge I was like I have to you know [clears throat] come up with something but in my everyday work I'm you know usually doing MEP stuff in Revit and I had some tools already and I was like maybe I can do something similar or a new one but I was like I have to find an idea that speaks to everyone you know a problem that everyone but you know every user regard you know have if you are an architect on MEP designer or anything so I was like what's the most thing I have felt in the past that annoyed me a lot and of course it was you know trying to find things that appear in one view and then you go to a floor plan and it's not there and you're like why why this happens I can see it on the other view it's fine and then it's you know one thing that is missing or two things or a whole category of things so what that's where the idea actually came from so without going into specifics maybe from now what it actually does for example This is a floor plan view. I just opened the the sample [clears throat] actually modeled. So let's see something here. Now everything is you know visible in a way but let's let's make another view.

I cannot do it the resting. Don't worry. Sometimes I I forget where the [clears throat] buttons and >> that selection box doesn't want to open. See, maybe I need to find >> Yeah. While you do that, I just want to comment that >> you mentioned that you're trying to find the problem to >> Yeah.

Yeah. Take your time. mentioned that you're trying to find a problem to actually focus on to solve and you really nailed that part. >> There is nothing in me here. >> Let me open another file.

This one that should be fine. Yeah, let's give a moment to Dimmitri to >> so the tool >> Oh, you're showing it. >> You know, we had this idea in in principle. So, you miss something from one of you and you try to find it in the other. You know, usually you have to look into if a category is on and off, filters, model, model categories, sometimes annotation categories, maybe the view range, sometimes it's off and you cannot [clears throat] find anything.

So let's see. So we have these view. Okay, this architectural so should work. [snorts] So let's say these tables. We have a 3D view, but we can see them.

All right. And let's start with the most annoying thing for me. You know, people sometimes like to just go and just right click and because they don't like something to hide it. I'm sure you have seen that a lot of times. >> Oh, I've I've done it a lot of [laughter] times.

>> So, you actually like Okay, I'm not seeing these ones, but I can see the other tables. So, what's the difference? So, you double check the view. Of course, there is maybe a view template you're not sure about. So, you go in just remove the template.

So you just check okay furniture is on it should see everything everything is open. So you don't know what it is exactly now we know but so let's start the tool. So the first thing we have to do is to pick the element we want to actually find out why it's hidden. I selected the specific table and now we have to select where it is actually missing and we can either search the view and it should be this one L1 floor plan I think and we press analyze and then we get some blockers as I called them. So element is hidden is in view.

So it says that this element is hidden in individually and in some cases most cases I have put an button that can fix that automatically. >> Mhm. >> It also saying that it's outside the crop region. Sometimes I think it gets that even if it's not exactly true. But if I just press fix just press okay and it returns me to the previous view.

And now you can actually see that it's back. So in a way that's the that's the tool. Oops. It is checking I have also put like a list of what is actually checking. So it's checking if the element can actually appear in other views.

So some tags for example are view specific so they will not appear in another view and they shouldn't appear in another view. Now the element is not individually hidden because we actually fixed that. It checks if the category of the picked element is visible in the view. It also checks about if there is a special view filter and when there is one it can usually say which one and you can also change it. >> Mhm.

>> Yeah. If it's a if the object is in a closed workshet in that specific view the phase is off you know all kind of things you can maybe >> Yeah. So pretty much what your tool does is kind of goes one check check check by check and like okay this works this works this works. Oh category is not showing. Oh, maybe it's hidden in view.

Because that's what we do manually anyway. Like when something is not showing, we go through this endless list. A lot of people, I'm sure, have it somewhere on their desk. There's like a little paper. Okay.

Like follow these steps to find it. I had this paper for a while then I just got used to that. Yeah. >> Now this is really amazing too when when people make these kind of tools and like you mentioned you focused on the problem first of all and you you nailed it because I personally was like swearing at Autodesk why there is no such feature. It shouldn't be like for them well it's not that complicated but alo not that simple but for them it shouldn't be complicated at all and I was just like oh come on there should be something like that.

when you just submitted this tool, I saw it for the first time. I'm like, finally, I I was wanted to see something like this. >> Yeah, that's that's great. And I actually didn't expect to, you know, I had very low expectations on how what we will actually take, but then it you could grow it bigger and bigger and it was I tried to expand it as much as possible in that few days. was two weeks I think maybe but okay like >> quite a while >> I think I worked like oh I mean the pirate challenge it was running for two weeks maybe if I remember correctly >> h you mean the hackathon itself or >> yeah the the hackathon sorry >> uh yeah I think so I gave some extra time so people can have more weekends because uh a lot of people had very busy schedules couldn't participate it also was like vacation times a lot of people went on vacation like before, after, during and like a lot more people wanted to participate.

But yeah, actually it turned quite well. I think we were 13 participants and I think it's also worth maybe sharing all the tools or would you like to share something else about this tool in general or that's the main target of the main you know synopsis of what it does but uh I think I maybe showed the most easy fix but you can also recheck stuff if you need to. Mhm. >> You may get some errors. Of course, it's a hackathon results.

So, >> oh yeah, things may not work, you know, perfectly, >> but that's the main thing. It tries to check everything. I most of the things, >> but the only thing that it doesn't work, and I actually had that today at my work, a colleague said to me, can I use it? And I was like, yeah, of course. But uh it was a linked element so it doesn't work with links because >> I couldn't find a way to expose you know visibility settings from things.

>> Mhm. >> But I I to be honest I didn't try that much but I thought let's leave linked elements for you know for another time or you know next. >> Yeah that's totally fair. >> Yeah but that's that's the main idea. >> No no it's great.

I mean, I love it once you submit it. I knew that it's going to be top three. Didn't know if it wins or not because also I haven't seen a lot of other tools before that. But I just saw like it's just like the pain itself. I was like, "Oh, this this really hits the right kind of pain point for a lot of people." And we saw it like a lot of people actually based on it kind of worked.

Just going to quickly share a little bit more context maybe about the hackathon itself. This is skipped it a little bit too fast. Just going to show you. So I'm also going to give a little history to what's even happening. So I had a training which is called pyro challenge where we went through 21 tools and it took way longer than 21 days to produce it because I I made it few tools.

I launched it got the first group and started doing so it took a bit longer but the idea was like we focused on actually creating tools from scratch. we kind of skip the theory and my idea was like if you just start doing it and you see how it's done and I provide all the support people learn faster and it worked but it was definitely more challenging and effort and in the end we just made the hackathon people I just pretty much said like hey the only criteria is just make useful tool for ravit users that's it and this is the submissions we got so Dimmitri is the winner with a why not here and then there are also the Marin Marik the second place with the filterman there's a uh everything is available right here on www.vote.learnabi.com. There's no login, nothing. You just go in there. Maybe I show from the start.

Just click here on hackathon number one. You're going to get inside. You're going to see all the tools, all the source code available. You can download everything. So, Marcen Mark made uh very neat tool for selecting elements also.

Welld deserved. Second place. So, this is very advanced kind of element selection based on parameters. He also embedded somehow kind of the sort of like exo link inside of there. He really pushed it like to the limits.

Uh just to save time I'm just going to briefly explain but you can see here gave some parameters this category. I think there's also parameter values and just isolated colored it and stuff like that. Very cool tool. Congratulations. >> Congratulation Marson.

And the third one won it was by Justin B. And this is family purify. Another very kind of this painful topic for people who work with families a lot. Oops. Maybe sound off.

Just going to briefly go through the winners and then the others uh the video. So this one pretty much goes through the families sees okay this is the current state. These are the things we can clean up the parameters we can clean up. Can see here is the UI image. So there's like different cleanups.

Remove CAD imports. Remove images and use materials. Advanced cleanup. There's also parameter standardization. Uh this is also a very cool tool again for people who manage families.

This one is really really a good thing. So yeah, these are the winners. The other tools I have I had a whole kind of live video going through all the tools kind of showing but all the others want they are not in the winning. They're just random. I just don't want to show like this is the fourth, this is the last one.

I think it's more fair to see like all of them like that. And yeah and people voted. It's not me. I just voted everyone 10 because for me everybody who submits a winner because it takes the effort it takes how to put it um it's an accomplishment in itself just to submit the tool to see like you went for the training you submitted the tool you're like okay I made it that's done and now it's public because many people made the tools but some of them did not want to put it in public there's some kind of fear what if people look at my code and think it's horrible or something But two works that's great in my book. Yeah.

So that's shortly about the hackathon and par challenge in general. Not going to go really into that. Today we are mostly focusing on Dimmitri the winner because I really want to get into his journey see where he comes from and stuff like that. Um we jumped a little bit maybe too quick right into the tool because I was a bit stressed because of the technical issues we had. So could you maybe introduce yourself a little bit better?

Like not not better but just introduce yourself because we skipped it by accident. >> Yeah, of course. You already know my name is Dimitris. I come originally from Greece and the last five years I'm here in Copenhagen working. I'm also I studied civil engineering or structural engineer you could say and [clears throat] >> Mhm.

Where do you where do you work right now? >> Right now I'm working at a consulting company here in Copenhagen and engineering consulting and I'm actually working as a beam specialist. >> Um you know I have Revit open every day. the first thing I open maybe even before teams or outlook. >> Oh yeah.

>> But yeah, I'm working mostly with any fee but also construction and a little bit less architectural. But Revit is kind of life now. >> But uh it's funny because it wasn't before. I was, you know, as a civil engineering engineer was actually using a lot of AutoCat >> in Greece and, you know, Revit was an idea that was flying around, you know, there is a tool that is 3D and can make things, you know, like actual walls and objects and not just lines and like, yeah, I should learn it at some point. And now here we are >> every day using Revit.

>> So if I create a timeline, what year are we talking about? This kind of when you worked in AutoCAD before you started with Revit. >> I actually I think I actually started working, you know, more seriously with Revit the last five years. Five, six, maybe, maybe five. I I knew some but you know I never you know went into it that much because it wasn't needed back then.

Uh everything was mostly you know auto back in Greece. I know now they are using it a lot maybe much more. >> Mhm. >> But uh I mean I mean I still use auto every day almost. >> Okay.

>> But uh so the last five years you could say sums up my Revit experience. >> All right. So you worked in Greece. You didn't really touch Ravit. I assume Ravit came along as you started moving to Denmark or what?

>> It was actually one thing that I thought you know I have to get on top of it so I can actually get hired because it was a requirement I think for you know and it's difficult when you do not have work experience to actually build enough work experience with Revit to you know >> persuade someone that you actually know how to use it. I started making some portfolio, you know, tutorials and everything. >> So, you did like personal projects at home in the evenings, it wasn't part of the your professional job. >> Yeah. Yeah.

Exactly. >> And that landed you a job in straight into Ravit. >> Yeah. Because if you think about it, if I start after university, >> uh then after civil engineering, I did a master's degree in it was called tech, [clears throat] it's called technomic systems. So it was kind of an MBA for engineers.

So but it was in the school of electrical engineering. So it had a lot of you know for courses also in so not software exactly but the logic behind algorithms and systems and stuff like that. >> Mhm. >> But it was very and multi-in disciplinary thing. So actually after that I started working as a you know regular civil engineer with going out on the site with a laser measure and start measuring buildings and then go back to my house and started drafting up plans and I was like oh why this rectangle doesn't close now and you know go back to the site so it was mostly making drawings in order that sitting around to make the lines fit perfectly and calculate areas and stuff and it was that was life for some years and then I started working on a small renovation company.

So I actually had to go on site, help out a little bit there, see how things progress. But I was doing a lot of plans and maybe you know cost estimation, you know, after after making up the drawing started, you know, to measure wall surfaces and how much painting will cost and materials and stuff like that. >> And that was my big step before I went to I came to to Denmark which I actually followed my wife now which was she was already studying here and later found a job. So it was a big decision to come here and uh in the first years of course you know changing a country is kind of tough in finding job of course especially when you are not speaking the language and Danish are quite tough the Danish language so I'm still struggling of course I'm not really speaking Danish I could say but I do understand some things so it helps with for but the good thing uh you know Dan are talking perfect English so you can >> oh yeah >> communicate very [clears throat] easily so it wasn't that that bad but it was a blogger >> to in order to actually land a job >> yeah it's a funny language it's like look how it's I I I studied in Denmark so I I can relate a little I forgot almost all my well not almost all my Danish I don't remember even though I didn't speak it well but I I remember like on one of the first lessons of Danish they were like look at this how it's written and I think it was like my name is like or something like this look at how it's written forget how it's written this is how it sounds this was our teacher and I'm like okay welcome to Denmark >> exactly >> yeah the language is a bit tough but I never had issues like with English everyone's like says like oh no my English is bad and then they speak perfect English like they're from England and I'm like >> yeah yeah >> that's also there is like a It amazed me sometimes, you know, I went to banks, you know, to set up bank accounts and I was like, I think I saw, you know, an old lady. I was like, she's not going to speak English.

I will have a problem now. What should I do? And then she spoke much better than me and I was so embarrassed that I thought, you know, >> but it's that's also very helpful. But >> Oh, yeah. Yeah.

It's amazing. Yeah. Yeah, what you mention also what you mentioned is interesting that you studied Ravit on your own before coming to Denmark because in Denmark they learn Ravit pretty much in universities right away. I studied there there's like it's not architecture not engineering something in between. It's like construction management and architectural technology and construction management.

>> So they this specific training that's very common one it trains you sort of to be between like client architect and engineer. So you can understand a little bit of all the world and you can actually put it in Ravit and do all the calculations all the analysis sheets and stuff like that apply. So, it's a lot of things. And uh even though we started using Ravit right away, almost nobody knew anything about construction at first. Like it was just like using software to build buildings without knowing how to build buildings.

And I treat it like a game so it kind of worked. But some people struggled a lot more with RA because we had it was like weird learning how to build buildings without knowing how to build buildings like I mean like in software. So I think you had like the engineering background behind you when you started learning Ravit. You just learned it completely different than people who just kind of start learning everything at the same time. >> Yeah, I think it was but to be honest it wasn't because of the actual you know studying.

I think it was actually when I started renovation work then I actually understood what happens inside a building because you know in university when you're studying civil engineering or architectural engineering engineering or anything you are not it's so much about how what is going on in the building like you know there are also pipes in the building that have to be taken care of or something like that >> or spaces for that. So I think it help a lot to understand you know how things are built and be able to draw a little bit better >> you know in Revit >> it helps to have a better understanding of what you are drawing. >> Oh yeah 100%. >> Yeah. >> It's night and day once you actually realize.

I'm like oh that's why they were telling us to do that and I always ignored it. [laughter] [snorts] >> Yeah. Yeah. And you know things starting to click. Oh, that's why they told us that's in university.

But I think I'm still trying to learn a lot. I mean, >> construction as well. And MEP was, you know, a complete dive into something unknown to me because before I didn't, you know, I didn't know I I did know that pipes existing in the building, but I never thought about where they actually go. >> Oh, so you learned MEP on the go at the job? >> Yeah.

Yeah. Ah, I thought you had an additional training on that. >> No, I actually I think it was, you know, just dive into the work. >> No, that's cool. >> To be honest, it's a little bit embarrassing, but I think I actually, you know, had to ask how to draw a pipe.

Which tab do you use the first time? I think I started using it. But uh yeah, it was a whole different experience because you know I think everyone that starts learning Revit is usually just using the architecture tab. I don't think a lot of people actually click the other tabs and it was the same for me. So you know architecture structure so I never actually had gone to systems before >> and so it was an experience of course.

Yeah, I had this also. I click on the pipe, I draw it, it's not in the view. I'm like, great, now I need to find it because it goes sometimes. >> Exactly. You start to look at it and you're like, what is that?

What is a pipe accessory? What is a flex pipe? Of course, now it's, you know, everyday life, but >> Yeah. >> Yeah. So, and so you started working in RO getting better, you switched to MEP, where does kind of programming come in?

you already had any did you have any kind of Python knowledge before or you just kind of learned it al also on the go >> kind of but uh I was actually thinking because I was thinking hard to actually pinpoint how my programming journey started in a way because I know you asked me that question. I was really thinking, you know, what was the first thing I actually did that had to do with programming? And I was thinking and thinking, you know, I always like to be, you know, a computer enthusiast, you could say, you know, trying uh setting up stuff in the computer, games, everything or meddling with files to do different stuff. I think in high school I started my main PC experience was games and video editing. You know, >> back then it was the big thing to just have video effects, you know, special effects like with After Effects and stuff.

Simple things, you know, like I think >> like lightsabers, it was kind of a cool thing back then. and uh >> lightsabers. You mean like VR game or >> No, no, actually, you know, >> yourself with like a stick and then actually make it into a lightsaber in post editing. >> Uh ah you talk about Oh, got it. Got it.

I thought you just switched to another game. I was >> you know I think it was Adobe After Effects or something like that. So I had quite close you know connection to working with a computer and playing and I could pinpoint actually my first experience with programming. Maybe you know it. It was a website that was called Scratch.

I think it was developed by MIT in 20 2003 to >> 2007. It was actually, you know, code blocks that you could put together, very simple one, and it was actually made for children, kids back in the day work in a different screen it and I think that was my actually first, you know, I I have no idea. I can't even remember how I some friend probably told, you know, you could go to this website or something. >> Yeah, it's there's an option for that. Let's just see if we're actually going to reconnect.

Oh, did it actually work? Are we back? I >> think so. >> Hello everybody. I think we are back.

I am deeply sorry for what happened. Honestly, I don't know why, but OBS just crashed and our stream almost ended. Luckily, YouTube somehow keeps it and OBS is able to reconnect. So, we are back online. I think I'm not going to touch anything.

I'm not going to show you a Scratch website anymore. I cannot recommend that. But yeah, um just to recap, we were talking about Dimitris' um programming journey and he mentioned that somewhere early he went to the Scratch website. You can think of Dynamo but for kids without like like there's like literally like blocks of little logic you connect and something comes out of it. Um >> and I think it sums it up.

>> Yeah, pretty much. So Dynamo without raid for kids. >> Yeah. Yeah. Exactly.

>> So um yeah, I think I'm just gonna Yeah. >> Yeah. Yeah. Yeah. That was the first start I think with first contact with programming.

But then I think it was actually in high school, you know, we had like a before university we had a lesson we had to do like I think it was mostly algorithm logic. So just write things down how to do stuff. So it was a pseudo >> code coding in a way if I'm pronouncing that correctly. >> Oh yeah yeah point for people who are new to programming. Pseudo code is like you're defining logic of your software without code.

You can literally write on like paper. So kind of get walls look at parameters read these parameter do. So it literally can be in plain English and then later you figure out okay how do I convert it to actual logic. >> Yeah. >> Yeah.

Exactly. But uh then I think the big you know uh start with programming was in university where I think it was a I joined a research group that was you know dealing with like structural calculations you could say. So they were actually there was a group of uh some uh prof you know professors want to be and some students that we were actually trying to program a software that does some structural calculations with a it was back then it was with a new type of calculation you could say a new method. So we were using actually MATLAB if you know it was a >> Mhm. >> not sure how to describe MATLAB exactly it was >> kind of graph graph analysis made with code I would say because the whole I think the whole point is like you get your data in whatever format inside your code and it can be I think MATLAB is compatible across all languages because it's most popular.

>> Yeah. And then you just very easy to yeah read and understand and everything. >> I think you can also analyze it right do or use something else for analysis. >> Yeah. Yeah.

You could you probably had you know you can use it for everything it was uh you had to run it from you know the it software back then. I think you could run it you know like a standalone Excel or something like that. >> Okay. But it was very go-to for university I think back then. So you could have you know quick calculations with something that is more you know uh advanced or something like that.

And it was fun because you know back then it was using for creating graphs and also make some calculations but we were actually trying to make kind of a Revit software you could say back then in a very beginner way. So I think I actually dealt a lot with trying to make a UI back then, you know, very manually like, you know, creating windows and then close something and then so something in the same screen in in a different view and then try to load some 3D solids back then. >> Was it was it done all in Python or what language did you use back then? >> It was all mat actually. >> Mhm.

And uh you know back then you had to search for everything in Google and >> Oh yeah find something similar to something that you want to do and try to make it work. >> Yeah. I think new people new developers will never understand what is stack overflow and why it's so amazing. [snorts] >> Yeah. Yeah.

and you know people arguing oh that's the better idea to do better approach uh but it it was fun nonetheless because we just uh I think back then we just did whatever anyway >> but uh yeah it was Matlab along the way during university years and I think later Python came uh you know came on stage for me I can't even remember how Exactly. But you know it was something that was going around like you know Python is great to do scientific calculation and it's very easy to learn and you know easy to understand and >> did you did you work in Denmark Denmark already with Ravit or it was way before >> it was way before like 2015 maybe so during university years. >> Okay. So you had already a good start with Python before all of that. Yeah, but I think it was I can't remember actually why I used it.

Maybe to do some very simple stuff, but it was, you know, when you work with computers and stuff, it's always maybe a little bit Python, maybe we all I also used a little bit C back in the day for Unity. We were trying to make some games and stuff. It was C mostly. And that was a a big leap because that was like, you know, now we [snorts] go into deep waters with C. >> It was interesting.

So a little bit C# and then a little bit Python to actually try things out. But when I actually started looking into Python was when you know when I started using Revit at my work now I was actually starting to miss things you know things that you know functionality that Revit didn't have. >> Oh yeah. >> And uh I actually saw from people that were using pyRevit. I was like that seems cool but I had no idea back then what it was.

And I saw a you can make custom buttons and do things like whatever. Because back then I was split in between, you know, choosing Dynamo to start learning Dynamo or going to pyRevit. I was, you know, I was really [snorts] I was really conflicted about it, but u I thought Dynino was very like a closed system in Revit. So I I was I was very you know reluctant to start learning it. >> I was like okay I will go the private way and see where it goes.

>> Yeah. Do you remember the first kind of problem or tool you tried to create problem to solve like with a tool or something? [snorts] >> I think it was insulation on pipes because uh we had a lot of you know pipes and different sizes and different kind of insulation on everything. And then of course someone came to me okay we have to change a lot of insulation. And I was like, "Oo, I should manually select everything or, you know, make schedules and select them." And I was like, "There should be a better way to do that." >> Oh, yeah.

This phrase, there should be a better way. Everyone went for that. >> These specific words I hear it over and over. >> Yeah. So I started looking into that and then to be honest I stumbled upon your lessons and your courses and yeah I was like you know that course seems cool.

So I signed up for it and started learning stuff and it was you know like a you know a whole new world you know opened in front of me. >> Mhm. >> Okay. So you started straight with the training. You didn't try to manually hack through this, copy a bunch of code.

See, I also went through this phase. >> No, I actually, you know, tried to find things that were ready back then. So, you know, either Dynamo scripts that worked and they worked most of the time, but you know, you also had to install some uh packages in order to work and it was like that. And of course I was using pyro edit as the main toolbar you know I was using just for the functionality so I was really liking you know color tabing having different colors and >> that was a game changer >> that's my favorite too in private >> every morning click click now I'm ready >> and I think it's actually maybe the most you know when people come to your screen and see your Revit and see why do you have colors that's I It's maybe the most recognizable thing that you're using pyRevit. >> Yeah, it could be.

>> Yeah, in a in a way that's my my view. But I was I also had some contact with some people that were using Fire with some custom buttons. So that was what made me actually start looking how to do it. >> Mhm. Because I guess you of course you know that it was the C# way and making custom mattings directly but I could sense that that was a little bit harder and it was the py that you know it for me it was that you can write something run it and then if something doesn't work you know edit it and run it again that was the biggest game changer instead of having to compile something again and all that stuff.

So for me in my mind it was okay private is rapid prototyping in a way and if later I want to do something more serious maybe I can >> make a C tool you know the official way. I never did actually. I think I maybe tried once to make a you know a tool with C in Revit. >> I see. But >> how did it go?

>> That was it went well. It was a print hello world warn >> the classic >> to you know a warning bar like saying something but but it worked. But to be honest I didn't feel the need afterwards to do it again. So I just I'm really sticking to fire for now. >> Yeah, most people use it nowadays.

you know, if a beam designer actually, you know, works some years, they will have private installed, I think. >> Yeah, it's crazy how popular it grew and auto still pretends, well, there's it doesn't exist or something. I don't know. It's funny you mentioned the rap rapid prototyping because on parade GitHub, it says that parate is a RAD and they describe it as rapid application development. That was the initial goal of like parade because it's quick.

When I talked to Ashan, he also first he just he had a bunch of Python scripts that he had to go and load in this kind of Python inside ravit shell and it just went from there like okay how do I make it faster and that's was pretty much the birth of py ravit and yeah I agree with you on the but for me also I never saw a need to go beyond pyrait I for me it's personal decision that I love pi python py ravit I don't really I I could switch to car It's it's not kind of something that holds me in terms of like I couldn't learn it or something. It wouldn't be an issue just like a few give me a few weeks and I will be very comfortable but also realize that for us like ravit users we're not as well for most of us like we mostly working in Ravit and the goal of software is just to solve a problem and if py ravit solves the problem and it works well then for most of us that's more than enough. I see a good use for C for like very big companies where they actually have also where they can hire people who are more into software development world because you need to learn more about programming in general to start with C. You need to understand like classes and stuff like that. But also I'm not going to say here like Python is the only way to go.

I just want to be transparent with people. Like I heard some people say to me it still sounds surprising but for them learning C is easier and use C# is easier. I get when like experienced people say that but when for beginners said that I was like whoa some people just like to learn things differently. I just want to like throw it out there as well. >> Yeah.

Maybe for some people it is. But yeah, I mean uh especially I think uh when I was thinking about it that you know I started actually developing you know I was learning uh through your course of course uh pyRevit and how to make some stuff but I actually started when I started having problems at work like I have to solve this. I'm sure I can do it with py ravit but back then it was how quick I could make it because of course you didn't have a lot of time to actually dwell on it and develop and so it was no you know couldn't even think another way of you know going to the car way because I really needed something very quick and it's it was very fortunate for me that it was also kind kind kind of AI era in a way developing at the same time because you know for >> oh yeah >> quick stuff I start you know just started with simple things like I think my I made a very small tool you know I had you know when you are using Revit and you have a workshet you have a lot a lot of models need work sets and uh we had to set it up every time you know a new works and then close the window it's a little bit tricky key in Revit for some reason. I don't know why that you have to close the window when you close the works and then you want to create a new one or something like that. So I just made a I just say to chat CPD back then okay I want to make a py ravit script and then of course you had to describe a lot okay it's make sure it's IronPython it's make sure you use you know f uh >> s strings >> not the other ones you had to go a lot back and forth so I just said to can you make just a single you text input where I can paste, you know, the names of the work set and then just create them.

And that was and it it made it, you know, very quickly. I was really amazed about it. But, uh, back then, I mean, back then was like one and a half one year ago, maybe one and a half year ago, but you had a lot of, you know, back and forth, you know, this didn't work. I get this error. Okay, what is it?

Okay, now you know is very confident like okay now you know I have this code will work for sure and then it was like ah no it didn't work again and you had you know to go back and forth it bugging in a way I'm not sure if normal deep [laughter] >> yeah kind of [snorts] or arguing with AI >> not arguing but uh but uh and then you actually went to the solution but I I think nowadays it's >> it's really good. >> Makes a lot of mistakes but uh it can be yeah give you results very quickly. >> Yeah. Now I started like pretty much everybody who connects with me on LinkedIn I just quickly ask kind of a few questions where they at and stuff like that and I noticed there's a pattern now there are a lot of people they jump into power raid fully with AI they don't understand the code at all or a little bit they just pump out a few tools here and there and for especially simple tools it's quick and easy it works and then it I noticed another pattern that as they go they create a bunch of tools it works but then the question pops up like how does it actually work because on most serious work, you don't want to just kind of prompt and hope you want to have a little bit maybe like understanding because I come from like old days when we actually learned it the hard way manual like it was like I sometimes like one question would take you a week to solve like if it's like VPF how do I connect it there's no tutorials no resources that was like not the best experience but now you can get all the answers but at certain point I see that people also they they want to understand what they do and I think it's al also because on the big projects well you cannot point to the your chat window and say he did it. So if something like doesn't really work well or something usually it's not that critical but I see there people getting more interested in programming after AI because AI gives you this kind of first rush of adrenaline like oh I did it works there's a button something happens but then after that some people like fully stay white coded as well.

So I wonder what's your kind of opinion on that in terms of like let's say people who just discovered AI and just go fully AI and people who like kind of take a step back into the coding world. Do you think it's still necessary? >> I think at least for me it's actually one thing that I'm thinking most of the time when I'm doing both because you know at some point I was progressing my you know Python skills but at the same time I could see that I could do this faster but you know when you are starting to use AI that much I started feeling a little bit uh I should know how to code that not you know totally depend on AI because I was feeling like an impostor you could say >> but at the same time you felt you are feeling like you will be left behind and you know people just uh publishing shiny tools and like and I'm still learning how to you know do basic stuff so for me it was what I promised myself it's I will use AI as much as the rest but at the same time I will try to develop my actual programming skills. So because you can easily just go full vibe coding and never have to understand code. Even a slight understanding of how programming and coding works, I think it will it helps you tremendously huge code >> because at least you understand the logic behind what you [snorts] make and you can you know and especially with Revit is one thing is understanding how Revit works one and the other one is how to actually because when you try to v code you have to give AI the correct prompt as well.

So because some people I guess they can just say you know I want you to make a tool that does that. >> I usually just you know break down how I will do it. You know first you will select some elements then you will maybe filter somehow blah blah blah. So I I'm trying to you know write down the logic behind it and then give it to AI so it doesn't you know hallucinate things or try things that do not work or at least make sure it's my mistakes it's making >> you know following you know maybe my logic is wrong >> so I can actually control it a little bit more but uh I think I went off a little bit here. >> No, no, that's fine.

>> For me, it's a little bit in between using AI as much as possible so I can actually be in front but at the same time trying to develop as much as possible the manual way you could say. [clears throat] >> Yeah. Yeah. >> And trying to find the time to do both in a way. But because I think if you leave AI out of it completely and you say, you know, I'm not sure if that's the best idea.

>> I'm still conflicted. >> Yeah, I see that. I I can also relate for like a more than a year I had this internal struggle because in my case I also like a bit more unique situation because I also teach and people kind of just many people would just when they start watching my tutorials they get on board and especially if they like my teaching and what I teach they're just going to follow kind of the same workflows and ideas like at least I I will plant the beginning later of course they can decide something like better or worse but still because of that I was I felt extra pressure and I didn't really was on board. I was using AI every day. I was kind of in kind of following the trends.

I wasn't pushing it to the limits. When the harnesses came out like close code and stuff like that, I was like, do I really want to jump on it? Like because I knew that if I jump on something like that, I would have to go really really deep into that and I was like really battling with myself. It was might sound stupid to many people. There like why would you skip on such technology?

But when you also teach it stuff like that, I also wanted to understand like is it something that I want to really dive into really deep because back then they're like developers really split into multiple camps especially newer developers and people who never coded just started they were all full vibe coding because they prompt they get results they say coding is that real developers who like kind of build up the skills they still use AI but they stay a lot in control try to do as much as manual and at the short term web coders will win. In like two days, I made like 60 prototypes of my website, 30 prototypes of my wife's website just to kind of well, that's how I just like to make a lot of volume, see what's possible, see like it's literally like, hey, I might make a website, I spend 5 seconds looking at it, I'm like, delete, I don't like it. But now I see more and more developers realize that it's good for prototyping but when you actually want to build more robust tools and stuff like that like a software like let's say like not just us like a real developers they still see a lot of value doing it more manually because the code stays more robust it works it bugs out less because recently there started appearing bugs in like large websites and bugs they're like super stupid and this is because some mistake and people start always calling it AI slopes. But also for parit what I see this we are a bit also in unique situation because we're not fully kind of developers in terms of we're not creating software from scratch. We're not like creating like very very like you know like tens and hundreds of thousands of code like per module and stuff like that.

Oftent times parate what gives us we focus on one single problem and here's one simple solution and it's very simple task AI is like super capable. Uh I see a lot of like okay we can pretty much wipe code it. It depends on the task. Sometimes you need to kind of go back and forward as you say sometimes you need to provide your own context say like look this is how it works. So you teach AI as well but I think still on like larger automations and just in general if you want to kind of be in automations it's really good to kind of understand it.

For example, one scenario. Imagine you make a tool, you ship it across the office, everybody's happy, and then somebody comes to you. That's cool, Demetrius. How does it work? You have like no idea.

They're like, well, I prompt it and I got a button. That's already kind of I don't know. Many people would not be very comfortable with answering like that. And this kind of question might come up once you once you become the automation guy. an issue but I can see that you know in the future maybe of course AI will become better and better but I think it could be a value on you know having knowledge on how to set up systems behind developing everything.

So, so not just you know prompting and having something you know AI to develop something maybe having you know specific overflows on how AI is doing stuff and documenting stuff at the same time and maybe also have review checks and >> you know having a complete system of >> AI again but in a more robust fast workflow. >> I'm not sure if that's even something that makes sense. >> Oh, it makes total sense because right now like like year year ago it already was happening but let's two years ago it was all about prompting better prompts like give it more information. do that, do this, like dropped like I saw prompts which is I actually used it and it kind of worked a few years ago when it somebody gave me like 40 50 page word document where I had to just copy and give it to AI to teach it how a certain framework works. This was just for creating a little component on framer UI and AI didn't know anything about that.

So you fill it that word document and it actually kind of makes it smarter in this regards but that's not very efficient system by any means today with like harnesses skills like hooks and all of that it's become so much more you can create these systems where you again you don't feed everything to AI but AI has access to all this information I think what you're saying is 100% there but to create the systems even without code it's still possible once you know code you understand computational logic. So there are like bigger concepts behind which is like fundamentals and in everything I just keep confirming that well you always have to kind of have fundamentals to kind of begin with set up a nice architecture of how things should work and yeah it could be yeah interesting to do. >> Yeah. Yeah. Well I'm also experimenting with all of that kind of setting this up right now.

Well, you are inside as well because I'm working on this new training and this is kind of the goal to kind of focus more on the system, not just kind of prompting back and forward because well, people don't need me for prompting back and forward. And what I have in mind is just kind of create this not just kind of dump information but also allow it to verify. So you give it like access to like documentation. Here's like really in depth. when it writes code it can before giving it to you run it back through documentation make sure that everything exists right so the hallucinations we need to address it somehow means we need to give it like a source of truth and stuff like that so there is like a lot of these components but yeah I am really sometimes having like this tough monologues like where it's all going and I think like everybody right now going through that like whatever like the profession even outside of AC it's gets scary because everything is over high but then at certain point and you realize well AI is not it's like at the same time super smart but sometimes it becomes so dumb that you I get confused like how far it goes.

I still try to pinpoint the limit and seems like it keeps jumping and jumping and jumping. That's why I'm now kind of okay I need to go full in on any kind of AI but I still want to kind of stay in control. I don't like like fully wipe coded stuff even though >> Yeah, I understand what you're saying and coming from and it's a And it's actually interesting to see where AI is going to you know what's the limit and I mean I'm not sure how it will progress but uh I was actually reading an interesting thing that you know AI kind of tries to you know the output that you get is the average of all the material out there in a way. [clears throat] >> Yeah. >> I was actually looking about renderings in architecture and stuff.

So because it was it kind of you get the rendering of the other ads of what's out there and a lot of people were questioning like in the end are we just getting the average out as output. So don't know if that's the same for coding. So you know what AI right now is you know uh exporting is the average of everything. So what if we need higher standards of doing stuff? Is it going to be always just good enough?

>> Yeah, that's a very good point. >> I'm not sure. Yeah, >> that's a good point. I have a few things to add. Well, first of all, when you like you said like your code is going to be like average based on all the information.

Still going to be higher than I think the average, but it's based on the average let's say. There's also now it's slowly becoming another issue. I see it sometimes because before like AI went for the internet got all of this human input kind of sucked it in and became smart. Now they keep doing that but now it doesn't work as good because now most of the stuff online is like AI generated and all the blog post everything is just like now it like AI also starts to uh also struggle to understand like what's a good information what's not because you know like the garbage in garbage out and I think some some new models they like experiencing that as well and I think that's also the reason for the watermarking they now start the watermarking Everyone starts thinking ah it's to like flag all the LinkedIn post or like social media. I think they do it just for themselves so they can kick it out of the training sets easier so they don't have to like guess is it good is it bad.

But now we're also at this time where like human input on the internet is becoming way less and less and AI is just like 100 times faster more and like we all experience that we open LinkedIn you scroll through like there's like AI AI AI oh this person has something to say. I noticed I started reading random topics that I'm not even interested because it just looks human. I'm like, "Oh, that's definitely human wrote." And I start reading about some cold calling or something like that. I I will never do cold calls, but I'm like, "It was nice for written." I start noticing like I this this >> at least in my case, but at the same time, I'm fully on board with AI in terms of like using it. I try to like my pretty much mot is just try to abuse it and learn how to abuse it even more because then you start to think, okay, how can I max it out?

How can I do this? You learn some cool things about it. >> Yeah. But the information out there is is crazy how much is generated by AI. I think 90% of my LinkedIn posts I can see it's like generated and it's pretty obvious to, you know, to see that.

And maybe now I think it was something that you actually said back before some time that you know now you actually look around for wrong writing and stuff that feels genuine and I know that you are you were trying to yeah I know only all people that try to post things on LinkedIn try to you know write better but now it's very difficult to see is it AI or is it just writes good? >> I I often spend like one hour just writing some kind of post here and there and it doesn't often make sense because well I don't get like as much like attention and stuff like that to justify it. But for me it was I kind of enjoyed writing in the process of learning it. But now when I learn when I write stuff now I have to consciously think how do I dump it down? How do I because some what I learned about writing a lot of it AI AI does it even better.

But now when I do something and write nicely, before I would be really proud of that. Now I look at that, I'm like that looks a little bit AI. I just started to hate this game. >> Let's make a mistake in the words and stuff like that. >> Yeah.

I mean I intentionally sometimes leave mistake. I'm like I cannot be bothered to fix it. It's only going to make it better now. I don't do it like intentionally like going and breaking words. But if I did something I I'm chill about this now.

>> Yeah. I think a very, you know, easy giveaway of if something is AI is commas, you know, usually we just keep them and but then you see something perfectly with every comma correctly like >> for me it's m dashes now people who used m dashes they hate everyone because they they were always unique for using them. I still don't know even words on the keyboard. >> Yeah, I actually have a secret. I actually said you know a lot of times I try to rewrite some stuff with AI and I just have a general uh you know guideline never use dised there like when I just make website prototypes I just cannot even see that I'm like no don't even show it to me.

Yeah, going going a bit off topic. Um, so how do you actually build tools like today? Like when you would build like you would start probably with like MP using AI, you would still can actually go and kind of write out all the steps. >> I'm actually unfortunately now because of you know time and when you need something developed it's usually very don't have a lot of time in project to do that. >> I'm just using Well, yeah, I'm full on AI right now.

I'm just thinking of how to you would solve it manually. So, I'm trying to think the steps behind and then, you know, try to set a a long enough and correct prompt to start doing that and then build on that. So I still prefer to make a you know a small prototype of something that kind of works and then build top of that. >> Oh >> I have created you know some tools especially MEP ones >> but I can't take credit that you know I did it manually. I the big change for me was actually setting up you know before I was mostly using the chat person would say of sacibility then I was like okay I have to learn the agent way >> and then went into you know making the workflow and making using skills and everything and set up something that works and that was the the big game changer for me having a system that you know I can actually I was actually planning to show my it's a very basic setup but it works >> and I really wish at some point to you know develop on that more and connected to you know better databases or you know things like that and I do actually made small presentation with AI of course.

Oh. Oh, yeah. >> But to understand how it works, my work. So, >> should I should I share a screen? >> Uh, yes, we could do that.

>> How d workspace work? >> ENK is my name in a way because I have a second first name. >> Uh, just one thing. Can we make it bigger? I'm just trying to check it.

>> Oh, yeah. Looks good. But let me start actually from where things are happening. So, so at first you know I had I had created one folder and made an AI workflow. I used AI to just make everything.

So I said to it, no I want to make a AI workspace where you have some agents and skills so I can develop private tools and stuff. So it created everything you know it created some skills, some agent files, some empty files with some basic guidelines but uh during work I actually thought to actually split everything. So I have two folders. One folder is the actual, you know, addin file with the tab and the tools and I had a complete different folder with everything that has to do with the development part of everything. So in my work pens folder you could say I have all the agent files and all the steel files and all >> kind of I split it up like that development and output in a way.

So I won't go into that that much. >> What a what agent are you using? CL code uh codex whatever >> I started with codex but now I'm going to you know experiment a little bit with code I guess you could see it I remember that agent MD is codeex stuff right or >> it's like cloud MD agent MD it works for everything except cloud code >> in in cloud cut you have to create cloud MD and then you shouldn't also for people who doing that you shouldn't say go and read agents MD cuz it's not ideal. You should put like ad symbol like an email and then reference this file then it actually imports it then then you can kind of use it side by side. Fine.

>> Just a quick tip. >> Yeah. But that's you know that's my main agency. It actually says you know this workspace is it's two siblings in a way. One folder here and one folder there because they actually split it up.

So it I have two different kits for each folder I know it's maybe a little bit unorthodox but um having one kit for the development and one for the output don't ask me why but I had to do it >> by by git you mean like set of AI instructions or >> I mean a git >> ah the g version control so I have got for every folder >> publish is this one you know separately in a way. >> So this you know this is split into two folders >> but and I will show you how it works in a way a very simple you know uh presentation you could say. So I have two folders and here of course are all my tools in the first one and then the important one for development is the workbench one. So I have an HTMD file you know which it's the main rules of how to do stuff and what you know that it is a bioavit developing agent that it has to do stuff like that and that. So it actually starts by asking when you start to develop something which Revit version or what versions you want to you know develop with.

So is it Revit 24 and up or an older version or something like that which pyRevit version that's maybe not very good. Um it's also asking me the first if I want to use you know the standard pyRevit UI you know the helper tools they have or >> Oh yeah for the forms. Yeah. >> Yeah. the form or actually make a WPF window.

uh because there are after using it a little bit I thought that you know when I start the process it's important to different is it a new tool that we want to do is it an existing one that we want to you know further develop or is it something that doesn't work and I have a template you know I started like you know it should be nice to have a small pyRevit python template like you know here are the functions here are the main code and stuff. So, I actually said to it, you know, starts with the template. >> Of course, it goes crazy, but at least it starts with some. >> Mhm. >> And uh, of course, if it's going to be compatible with older things and the new thing for me, it was like, you know, I wanted to create directly into Revit.

So when I said try to make something it will automatically put it in the folder which privit is actually seeing in Revit. So it will actually I can actually see it after it develops. So I just reload pyRevit and then I get it. >> So I actually said to you know create icons if you want some icons if you want you know for light or just skip the whole icon generation. >> Mhm.

So you have to set some basic information about it and then I guess the main thing is the how the skills work. It's it's actually I put a simple system in a way. So >> it's a skill for bio development which deals with the actual Python uh scripting. There is a skill, you know, making the WPF forms if I say that I need that. And then there is a skill after that that tries to check that everything is compatible with each other that the WBF form is working with the five rabbit code and vice versa and make some you know review of what is there and what I have started to double you know of course with a lot of development I had a lot of back and forth you know this didn't work let's make it that way >> so I you know and this information wasn't saved anywhere.

You know, you had of course the context window >> but this disappears afterwards of course. >> So I thought okay let's capture everything. So I started to make you know to say to the main agent MD file to write everything that it does. So it has a more documented you know process of everything. So you can actually find empty files for each tools.

So for example, you have tool ideas. So I have a the why not here. So you can >> is it like a build spec or just the idea? >> It's both. >> Mhm.

>> So here you will see what status it is. The tool explains something. So it's kind of documenting the way you work things. So you have some known constraints, some decision that we made like uh for example let's let me remember this is not a very good example actually because it's more complicated but it documents everything. So >> mhm >> yeah try to document everything that it does for every tool I have and uh the most important for me was to make a skill that actually you know when I thought you know sometimes we have something important so I made a skill that it tries to recognize that you know we went back and forth so this is important let's document that so it doesn't make the same mistake the next >> [snorts] >> Yeah, that's a very very good workflow >> and it's to upload not upload update the other skills uh based on the you know interaction we had.

Uh a big example was the WPF forms. You know, I was trying to use WPF forms that are modeless >> and linear, I think they're called, and of course, it didn't work. You know, Revit crust and stuff like that. And >> yeah, it's it's tricky, but >> yeah, that works. And I said, okay, now we do it like that.

And now, every time I do a modless W4, it doesn't crash. And I'm very happy about it. Yeah, >> that's kind of it in a way. >> No, no, it's really good. This knowledge capture, there are like a lot of variations of the skill.

Some call it crystal, crystallize, like learn capture. Like there's all these words. I also used capture for a while. I don't even remember what to change it to. I sometimes I get too focused on the name of the skill and then I realize like, oh, it doesn't matter what you call your skill.

It matters how it works. >> Yeah. No, >> that's very basic. I mean, it's something that it was my first experimenting with an AI workspace, you could say, or I'm not sure if I should call it something else. >> Yeah, that's totally fine, I would say.

>> But, uh, to be honest, I think I would totally do it differently now, but it works. So, I'm just going with that for now until it hits something hits a limit. Uh there's also a thing that the creator of cloth cloth code recently came out and said like you should delete all your skills every six months. There's like made huge headlines. But the point is like as model grow sometimes we keep very old kind of skills for very basic things that AI is getting more and more capable of.

And I'm not sure about this kind of deleting. He didn't mean like delete forever. He just meant like disable it and see what happens. just see the model the kind of row capability and it gets better it can do a lot more it's like handles VPF way better than before but also there's so much more information now >> but you feel like you lose control over what it does in a way at least with skills even if it's you know not the perfect skill you still >> have the sense that you control what it does in a way >> it does like you like it that's what also matters because otherwise it has so many options to choose from And in the end of the day, LLM is just kind of word prediction kind of software, but I don't know how to really put it abstractly and therefore I just always kind of even like the same problem can give you two different results like if you just ask it in two chats, which is also sometimes very funny. But with skills, I see that they also often unify.

Do you also have like a all the issues and gotas and stuff like that? Do you capture it or you just capture the good stuff? >> No, I actually capture the issues as well and uh things that need you know further development. >> Yeah. >> But uh yeah, sorry.

>> I I often notice that for me when I when I start when AI gets more issues gets it starts to work much better when I just give it like good stuff because in the beginning I was just like feeding like good stuff stuff like that. It was still failing. When I started saying about the fails, then it's just like, okay, no, no, no, no. And it just so if I had to choose between the two, I would just give the bad stuff. But both works pretty good.

Even better, not just good. >> But to be honest, it's always fun to just try to, you know, break what AI, you know, makes and then say to, you know, this doesn't work that >> and then you get back to you try yourself. You're like, sorry. I prefer [laughter] to be to you know break it myself. It's more fun that way.

>> Also another thing I was experimenting with is I made a bunch of skills and you can also so I wanted AI to test skills as well and then it has some kind of evaluations and it started kind of AI on its own. It would kind of ask it questions and it would have some expectations. It would just ask fairly specific questions just to see if it gets it and it just did it by itself. all the tests and stuff. I just kind of said like I just saying like I want to test try like different ways.

What it started doing it started creating like a bunch of test files and stuff like that running with skills against skills and then comparing the two. It's not the perfect test because ideally you have to also go in raveit and that's a big workflow on its own but even without it it just captured a few things that were not like okay this doesn't work this is bad. It just marked me good ones versus bad. I was like okay let's look. I looked at the bad ones.

I'm like, "Okay, they are bad." [snorts] Cuz most of us, we don't write the skills anyway. It just kind of keeps auto updating at certain point. It becomes a mess. Kind of a very solid kind of workflow. It's also it's it's not it's not complicated.

This is where like I see this is where we just have to begin. Just also separate by topics because VPF you don't always use and you don't have to always load it. This is what some people do also. Um they try to over complicate skills when like the smaller ones I find it nicer but when you have too many of them that's also not nice because now AI needs to know everything about them like description >> and the WPF forms a whole different thing. I mean I have tried you know to save it in specific styles I need I like and how to do stuff and you can lose yourself just messing around with the forms and how things look.

Mhm. >> Yeah. But it's also pretty fun to just experiment with it. But it did create some tools. My and to be honest, my next big step it would be you know in the main files I tried to say you know to get information from uh you know ravit API sites and double reference everything.

But the biggest change for this I think is to connect it to an actual database that doesn't you know hallucinate and that's what I'm hoping to do with the course as well. I mean like raid API py ra all of these yeah definitely going to be a good thing. I sometimes like I I tend to over complicate things and sometimes I'm not even sure if that's the best way because I see that some people just keep it simple it works and people over complicate it works and I'm still kind of trying to get a hang of it. what is how much over because once you create your system you rarely test it against without using it. So it always feels like nice and you just keep building.

So I I think there should be a limit somewhere how far we should kind of when we need to go back and say like kick out the things. This is what I'm trying to kind of also get a grasp on better. >> Yeah. Yeah. I totally understand and agree.

>> Is it difficult to find the limit? Should they stop or should they develop more? >> But yeah. >> All right. >> For me, simpler is easier to, you know, at least maintain.

>> Mhm. >> Yeah. And I made some tools. That's the next thing I wanted to actually >> Yeah. >> I mean, I I think the first tools I made, these are actually tools I started making, you know, completely manually.

So I made my WPF form back in the day, you know, from scratch, coding from scratch. But then I saw, you know, I have to make it now. I have to use AI to do it. So I made some, you know, rename with still using the old style, but afterwards it goes to a much, you know, complicated WPF form. >> Mhm.

>> So one thing was renaming. You can already see see the style I chose for the coloring. But my biggest MEP stuff, I think it's pipe insulation manager, which actually should open the MEP model better to do that. It actually tries to manage all these relations. There's no pipes here.

That's interesting. So not sure is the HA mode. >> Anyway, >> so what I would love to show it, but I guess it doesn't have pipes in this one. It's actually you can see every pipe system and every pipe size grouped. So you can actually change the insulation on specific size.

So you have a 32 pipe you need to put like 30 insulation a 50 mm pipe you need to >> put in you can open there is a sample plumbing model >> is it? >> Yeah. So we can try that. Uh >> ah yeah >> so you missed that one. the colors [laughter] of them.

Yeah, but that's the area I was dealing mostly with insulation and piping and of course I made also a lot of you know small tools but these are the main ones like very specific project specific like you know I had to copy some parameters to another uh to another parameter field and stuff like that. Let's see. So for example, so let's see it should work. Yeah. So so you get the system.

So for example you have cold water and you see that you have two different type of pipes with you know different sets of sizes and then you can just you know select the insulation type that you want to put and then you can manually like I want 15 20 maybe 30 I don't know 50 mm insulation and it and you just press apply. Oops. And it's per system. It's per system or >> Yeah, exactly. It's per system, per type, and per size as well.

So, it has three levels you could say. And then you apply to a lot. It will apply the insulation on all of these pipes and fittings on that specific one. And I guess it will take a lot. So, it's a good test because I haven't tested for so many bikes, >> but that's what it should do.

And of course, you can select different systems. So, heating, cooling, water, and everything. And it start doing something and it probably will update because you can see that current. Before it had none. Now, you can see the actual insulation that it has on the pipes.

So that's one tool you can do it for, you know, every type of system. And the other one we had a lot of problems with it was phase matching. You know, when you create a when you create a pipe, it's new construction in a new construction phase. But when you make an existing piping and you want to put insulation, a lot of people when they put the insulation because they're in a view with the face set as new, >> the insulation is new but the pipe is existing >> and uh I was doing that a lot of times myself wrong. >> So I you know we had a lot of times that we had pipes in a different phase that the actual insulation and ducts also of a different phase of the actual insulation.

So I just made a tool that sees okay the the host is existing and try to match the insulation to match the actual host. So the actual pipe and that's what this does. So this one is fine because there is nothing here. For example, let's try to make one. Is that a pipe?

But you get what what it does in a way. >> Mhm. And see pipe a pipe. Sorry. I'm sure we will see pipes now.

It's a lot of pipes. So this copper pipe for example, it's new construction. Let's say it's existing. If I put insulation on it. There is insulation on it but let's remove it.

If I put insulation, it will be probably in new. So you can see insulation type the pipe insulation is in a different phase. >> So if I actually click the insulation phase m it will pop up. So you can see there is a pipe insulation that is in different phase than the pipe. So I can I can select that and it actually you know >> shows the insulation.

So you can >> also review before you do changes and after you review okay that's a pipe that I really want to change then you just select it match and then it will update the insulation phase. That's a neat. >> This is also for Y. >> Yeah. >> No, that's a cool tool because again it's all like this kind of I never really worked with MEP.

I didn't even know about that one. I would assume that it would go to the same one, but it kind of makes sense the way Ravit works that it often goes to like whatever you have selected instead of pipe. >> Yeah, exactly. So, it does that. And also sometimes we have insulations that for some reason are without the host pipe.

I don't know how it happens but sometimes it can happen. >> Okay. >> Yeah, this you cannot select. You can only select from schedules. So I just made a small script to you know if you see an installation that it doesn't have a host >> okay >> list it there and so we can actually delete them from there.

Could it be with linked elements? Like if you make linked model, select pipe linked pipe and but make insulation in your model. >> H you cannot do it unfortunately. >> Yeah. >> You have a pipe from a link model.

>> I would assume you cannot do it. But the way you describe the bug, I just start think how can I create this bug then that's >> I try I had that problem. I don't know if they fixed it in, you know, newer versions, but it sometimes it happened with work sets, you know, having the pipe in a different work set and the insulation for some reason putting it. >> Oh, yeah. I saw I saw that.

>> And uh then yeah, all groups sometimes they mess things up. So I think it was either work sets or groups but >> uh group groups is very common just like normally everything should be the same one but there's like a whole work around how to change it and we we kind of forced it a few times because it was just more useful to us but it's clunky. >> Yeah. >> No, pretty cool. >> Yeah.

But uh that's the main thing and I'm still you know now the good the good thing with AI is that you can focus a little bit on the ideas. So I think a lot of people are making you know a lot of tools but I think you we will get a lot of tools out there but uh I think the good ideas will be more important than the actual implementation because you know everyone can use AI and and they will get a decent result I guess but uh you need to actually solve problems and not you know make That's a valid point because recently there were also these talks that uh there are still the talks like about programmers in general and all this kind of I mean Nvidia co was saying our programmers are obsolete it's going to be obsolete but now he changed a little bit how he talks about it now he says like well the coding itself might become obsolete but software developers they're going to stay they just like kind of change how they work so instead of focusing like on writing code we're focusing on the problems which now becomes more important you still need to like understand like how to actually solve it better. [snorts] But not very valid thing. Did you? No, that was good.

I just noticed the time. I It's already getting quite late. So, I think we're just going to start wrapping up here. And I always like to ask all my guests regardless like of kind of their background stuff like that. What is their kind of advice to normally learning to code but nowadays with AI I'm always like I think I should ask more like combined if somebody wants to get into par development based on your journey where do what kind of advice would you give them like number one in your opinion?

I think the the most important stuff for me it was you know there is a lot of information out there and of course you ji and everything but the most important for me it was to find something like a course or something and stick to it so you're not overstimulated by every source out there and just do the work in a way and see you know stick to something and see where it goes because it's very easy to lose track and you know oh I should look into that and that and then you know you give up or because I have given up a lot of times because I started looking in several things at the same time >> that's actually >> stick to something in a way >> it's such a good thing for me I relate a lot outside of programming to that so there's like this thing called shiny object syndrome and this is where you try to keep jumping and you just you just start building skills and something you jump to another thing again and you never kind of reach the level where all of them would work and I did it in different things as well a lot so that's a very very good advice I'm still thinking about it but uh yeah and it's yeah it's very difficult to see because for me it was very difficult to you know convince myself that this is the best way to do that because I was trying to find okay is that the best way to turn five private or should I do something differently? >> Mhm. >> But in the end, I think if you just stick to one way, you will get somewhere at least. >> Yeah, you you need to start that that the issue. >> Yeah.

>> No, that's a very good one. No, thank you for that. Uh would you like to share like the socials where people can find you also if somebody wants to get your where is not here tool? Uh do you have it? Is it the one during the hackathon up the latest version?

Do you have like up to date something? >> Yeah, actually the one that's, you know, uploaded on the hackathon page. It's the last updated. I'm actually thinking that if I actually continue developing it, I will probably make a GitHub page about it, >> but uh yeah, it's not in the very near future. >> Yeah, that's fair.

So yeah, and of course you can find LinkedIn. >> Mhm. And I'm just going to I need to find where it is. But the name spelled like this. Dimitris commandis.

I'm also going to leave it in description. I don't know why I focused that. I'm just going to leave a link in description. You can find it there. There's going to be a very simple click.

You can find me at him. Say hello to him. Yeah. And thank you very much for coming on the show. And also everybody who is watching, thank you for sticking with us to the end, even if you joined later.

We had a few technical issues during the port, but we went through, we reached the end, which is I'm really happy about, and I love the conversation. Thank you for coming. It was great talking to you. >> Thank you. Bye.

My everybody.

GUEST The Journey of pyRevit Challenge Hackathon Winner [pyRevit Podcast #12] TermsPrivacyImpressum