Here at the Aussie BIM Guru, my goal was to teach others what I know about professional BIM workflows. Whilst my background is architectural, I've been fortunate to work alongside engineers, contractors and clients during my career; so my knowledge base relates to a the wider AEC industry.
All my videos aim to provide you with real world solutions, with no 'smoke and mirrors' or fake guru talk. I'm not here to flaunt my skills; I'm here to help you be the best BIM user you can be. The more of us there are out there, the faster our industry will improve!
The first "category.byName" node fails on "Warning: Category.ByName operation failed. The category assigned to the map is already set as a different handle." error. I'm not experienced enough to know what that might mean.
Unfortunately I'm not familiar with that warning. Maybe make a thread on dynamo forums about it and see if one of the developers can assist. Alternatively try using a categories dropdown node instead.
Nope havent had a need to automate slab edges to date. The API method seems fairly straightforward but collecting relevant references would be challenging potentially.
Thanks for sharing the video. How to create a mass element with corner coordinates in revit with dynamo? I have a list of coordinates and I want to create a mass element.
Nice Video! is there a way of geting the rotation of the cuboid itself? In my project I am trying to get the rotation of ifc-elements, which were not created in revit. Unfortunatly the node in your video only works for revit elements. Thanks
Not really possible in Revit to make this structure naturally. One workaround is to add a bunch of project parameters into the model of text type and write the revision numbers per sheet to those instead then schedule those values, but it would only be as live as the last time the script set the values.
I'm having this error in the"WriteExcel" out block: "EnvironmentError: System.Runtime.InteropServices.COMException (0x800A03EC): Cannot access 'Doctrans.xlsx'." How to fix it?
Yep that's the right name for them, good pickup! Viewtype in the API is technically the overarching type such as FloorPlan whilst family type is the name of the view type you set.
Hi, Gavin First of all, thank you for your time and great videos, I really appreciated both Got a question, do you know what this error means? ERROR [pyrevit.loader.sessionmgr] Can not find command with unique name: pyrevitcore-pyrevit-pyrevit-tools-reload Thank you again, for your attention!
@@AussieBIMGuru thanks, Gavin. That's exactly what I did, then I modify the structure in the .extension folder and files, and I finally nailed it. Thank you so much for all your support! Greetings from Mexico 🇲🇽
Hi Gavin I'm a bit stuck on the issue of the folder where all the files are placed to create the extension in the toolbar (i.e. where the "pyRoovit" folder is located, so I can create my own extension) I hope I have made myself understood Excellent video and playlist, greetings from Mexico!
Generally you can place it anywhere that can be pathed to in the settings. You will want to path to the folder which contains the .extension folder, not the extension folder itself.
Hi Gavin, I was looking for Dynamo to rename Shared parameter and family parameters. And found this Video. This is what I am looking for. However, I could not find the node in the Crumple package I downloaded. I am using R23, and Crumple package Ver is2022.5. I can see the package nodes have been updated. Can you please advise which nodes can be used to replace the DocumentParameters? Also I can see the namelist from DocumentParameters was the input for String.StartsWith. Where it requires String but not list. This is warning I had when I tried to use namelist for input for String.StartsWith. following your video. Anything I am missing? Thanks
Family parameters can be replaced using the nodes under FamilyDoc, there is one there to replace any with shared. Replacing at the project level is not possible in the Revit API, only family level.
@@AussieBIMGuru Thanks Gavin. I found it. I am following your video to build a Dynamo. I have an issue with last node SharedParameters.Flat and newnames to replace. How can I combine those two to be input as definition for renamed share parameter as I could not find the DSCore.list you used in code block. Thank you for you time.
@@AussieBIMGuru I actually just copied code to code block, but it seems DSCore became as variable on the left , and waring said internal error, dereferencing a non- pointer. Any advice for this? Thanks
Thanks Gavin for the quick response. I mean the code block you used in the video which takes the namelist, definition list and string to replace, as input for final node. That code block did not work. DSCore seems not recognized. Anything I am missing? Thanks
Hi, brother I'm currently reviewing your list of videos about Dynamo; it is my first approach and I am frankly fascinated, what a master you are! Got a question, do you know if there is a version of Dyno compatible with Revit 2024 for now? Greetings from Mexico, take care!
Unfortunately prorubim was disrupted economically by the ukraine invasion I believe, and stopped maintaining prorubim around 2022. Check out my playlist for pyrevit though. In the first few videos I show how you can run dynamo scripts using it. Another alternative with some more input support is Nonica, although the paid version is needed to scale it effectively. And thanks for the kind words!
@@AussieBIMGuru I'm sorry to hear that, but thank you very much for your response; I will review your playlist shortly, and if any questions arise, I will be writing there. And you're welcome! Your work is excellent
I keep families from the channel on github: github.com/aussieBIMguru/Revit-Files/blob/master/Families/ABG_210607_Window%20family.zip My broader windows collection is available on this website, but goes beyond what I cover here: courses.bimguru.education/courses/bg-windows
I believe they produce connectors if they get sufficient demand, best way to get it is to tell the team: speckle.community/t/new-connector-request-vectorworks
Hi Gavin, I have been watching your videos & learning many things. thanks for that, are you still making similar videos? & How are things with you...!! missing that cat in this video 😄😄
I'm currently sorting out a lot of life things, bought first house and marriage in october. I'll probably be working on some paid coursework later this year as I've found RU-vid a bit quiet the last time I was making videos but I might return to videos next year. The cats are doing well and enjoying the new house!
@@AussieBIMGuru Glad to hear all of these. Congratulations on new House and marriage mate☺.. looking forward more of your youtube videos and online courses at affordable prices😊😁 .... Super happy for you my Guru 😁😁
Hi Gavin. I tried using the node 'Areas.CreateByRooms' from your crumple package, but it does not create the area and the area names as expected. I have also gone inside the Python script to compare the lines between your video and the node, and they are the same. I'm using Revit 2024 and the latest Dynamo. My dynamo script can only create the area boundaries from the room. I hope you can help.
@@AussieBIMGuru Thank you for the response. Could you please provide what are the other ways to change sun position using location, date, time as input parameters. I even tried your solar analysis code, but it not working. Thank you
@bhagathmamindlapelly3618 my nodes are based roughly on the python I use in this video for reference: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-9Xu8i809EFE.htmlsi=vE-m5yKNn9ymsdqM Noting my code is in ironpython so youll need the ironpython package installed also to run it in 2023+.
I did the same thing in my dynamo in revit 2024, but in the last node every line appear like null, i have the ironpython 2.7 and 3 and all the organization of the lists are identical of the video. What could be wrong?
I am running into an issue where the sun hours report more than possible hours. I set the time range to be 02:00 and 21:00. Most are reported accurately with 13/14 upper limit hours which I verified with local data and summer solstice hours. However, when I do dynamo player and varying faces - I am seeing that the sun hours are 19/20, which can't be possible since the project isn't located in alaska... Also - my dynamo player is picking up bounces from other panels created :(
I would suggest visualizing the rays as lines to see what is happening as it sounds like an error caused by the sun angles. If you need to divide pitched surfaces you could try working at the plane of the surface although it's a bit different to my approach, would take some extra work beyond what I've covered here.
Great one Gavin, love your transparency sharing your story within the community. As I’ve watched this now, I notice a lot happened after this, so probably it’s time for an episode 3 where you update us on your journey with architectus and how to manage working for a company and running a consultancy on the side. Cheers
thank for sharing this video. I have a toposolid element that is intersected and cutted by some void elements. I want to extract the surfaces, but it is not possible. i try different ways. For example i recive this error: "failed to trim surface with polycurve loop." what should i do?
i have a problem, in false ceiling we generally provide gypsum border and then calcium silicate tile of 600x600 size such that no cutting of tile is needed. can we model it in revit and schedule area of gypsum and calcium silicate separately. Any help would be appreciated. i have already got polycurves showing room perimter. thereafter we need to calculate distance between opposite sides and check whether it is multiple of 600 or not.
An easy way to check the offcut distance will be using the modulo operator (%) which returns a remainder. Automated modelling is much harder as the room might not be square or rotated against the bounding box, in which case using the room edges would be a better approach then developing an algorithm to estimate room orientation and work across that direction instead.
Hello, I want to self teach myself dynamo myself, however I am interested in the MEP side of things. I wonder if I watch this series would be a good start to use Dynamo in general or if you have recommended videos that focus on MEP that would be great
The only channel I know that does dynamo mep regularly is Greg Palermo, although Sigma AEC solutions has some dynamo mep content on their website if you google them. This series is a bit dated now but is ok for a general entry point. I have a more concise general series here also (albeit paid): courses.bimguru.education/courses/course-dynamo-4revit
This is like magic, been wondering about how to get the external leaf of brickwork onto a footing Rather than floating on the slab Then hey presto it appears in my feed Cheers Gavin for your help
Great video, thanks! Let's say that I want to move the elements to as-built coordinates based on the figures received from the surveyors. What can I do to improve the script to allow me to move the elements by editing the coordinates in the table or family parameters?
It will depend on if the elements are point based. You could use similar conversions to get the point/s though (e.g. a beam is guided by two points), then use element.setlocation to update the related element locations. Hopefully they have element Ids or marks you can use in the data source to get the actual revit element.
@@AussieBIMGuru I was trying to do with Manholes but I have created the manhole family as generic model family. I guess they are not point based. Any idea of how can I do in this case? I manage to get the coordinates but I can't move the elements by just editing the coordinates.
@engjohnattan if a generic model it should be point and level based. Element.setlocation should ideally work, if not a transaction start > move element > transaction end should work. Move it to the point itself, revit families dont understand coordinate values.
Well done! Q U E S T I O N: Do you know how to take a Graphic Scale family and have it "married" to the "View Scale" of a plan View? i'd like to have a Graphic Scale on all plan views and have the Graphic scale change to the proper graphic scale if i change the View Scale of a plan view. (ie. 1/8"=1'-0" < 3/16"='-0"). Any help would be awesome! And, i know many others would benefit from knowing how to get that done. :) LET'S SEE A VIDEO ON THAT PLEASE. :)
Unfortunately the view scale parameter cannot be accessed by families. The closest approach is to use dynamo or addins to check for the view scales on sheets and then set parameter values of scale bar/key plans to suit. I have a video using this type of technique here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Gl-qA2RufXA.htmlfeature=shared
Update in 2024! I tried your script. There 2 things: I dont succeed to make it work even the first part at the node of MultipleInputForm. Nothing happens AND I have not error message after trying it. Then, the second part with the message "Run completed" works witout knowing why. An idea ?
You will likely need to install the ironpython 2.7 custom package (v2.5) as i use packages that since 2023 now depend on it. This will be common to most scripts using custom nodes these days.
Thank you for the quality of information you shared ! I have some questions: - I understand that the addins created in pyrevit do have a compilation system in which users cannot see the source code, but can this be added to give limited monthly access if they pay for a membership? That is, in case the payment is not made, access to the addin will be removed, something similar to the addins created with C#. - Is it possible to make an addin in pyrevit that takes advantage of both python dialects (ironpython and cpython)? This way we would take advantage of the native access to the Revit API with ironpython, and at the same time, third-party libraries and tools that can be useful for tasks such as data processing, text analysis and communication with web services.
At the point you want to do subscription apps I think you would be better off writing that system in C#, pyrevit doesnt have one for you to my understanding. If you write in Python that would never be protectable, it would need to be compiled into your dlls etc as part of your compiled code. Pyrevit is an open source addin so there is no guarantee they will support your paid product via keeping it up to date so you put yourself on the line somewhat by working this way. You can specify python3 in the script header but cannot mix and match the engines to my knowledge. So you cant temporarily use modules like pandas/numpy then in the same script go back to ironpython and do a winform. At least to my knowledge.
Hey Gavin! The linked models falls correct on 3D view, but the coordinates pulled from geometry.BoundingBox differ from model to model.. I am thinking that i need to use something with "Traslate" or "transform". Any ideas?
@@AussieBIMGuru Thank you Gavin! Another question 😇 How do you get rid the elements that have index -1 (the elements that are not in a room apparently)
@aalexg13 an equals node and a filter by boolean mask checking for -1 equality is the easiest, although there are more tricky options such as getting the room numbers then adding the item 'N/A' or an empty string to the end of the list, then indexing using code block syntax (list[index]). In a code block -1 will return the last item in a list unlike the itematindex node.
Sorry you feel that way. It's my general approach to this day and has worked for me on many projects. Turn your feedback into constructive action - make a video and show me/others how it is done 😉
You could run from the project but you would need to programatically open the family documents from the model, run the code and then load them back in - quite different. My custom package (Crumple) has nodes that can achieve this.
sorry for stupid questions, do you have this in opensource? i need to extract information, such as components, sizes and materials from .rvt file in python
Most of that information is not possible without cracking the Revit file format/ole. I believe this has been achieved by some companies who sell this as software, but is well beyond what I know how to do with a raw Revit binary interpreter. This article summarizes it: thebuildingcoder.typepad.com/blog/2010/06/open-revit-ole-storage.html If you mean my code, this is on my github: github.com/aussieBIMguru/Misc/blob/master/ABG_260628_RevitBuilds.zip
In the middle 3-8 years right now and this is just what I needed to hear and calibrate my ambitions and expectations. Thanks again Gavin! Always a pleasure to hear your take on it.
@Th1swayD3athgaming if its not im the API scripts cant reach it generally. Shared coords are a relation between models vs something that can be copied so itd have to be coordonate specific API which I cant spot in my searching currently.
Hey Gav, i exportet a Revit Projekt to Navisworks to do the clash detection. Now i want to prozess your updated scipt but due to 0 roation i get an error in the group "Translate points, make adaptives", do you have any recommandation to work around this? Bescause i would like to have ur scipt in case of a rotation but also the oppertunity to work with the script if there is no rotation or different project base point. many thanks in advance and best regards :)