I have placed a receptacle and assigned 1000va. I circuit it as the only item on the circuit. I fill in the circuit description on the panel schedule. How can I create a tag that reads the circuit description (called 'Load Name' in the properties of the circuit) so that when I tag the receptacle it displays this info?
I'm not electrical.
I assume that Load Name is one of those built-in parameters which can't be included in a tag?
If that's the case then the solution I think would be:-
Actually from a sample file I'm not seeing a Load Name parameter for devices:
I see a Circuit Load Name for wires:
Could you share some screenshots of the items and properties to clarify what you are aiming for?
@iainsavage You're on the right path (I believe) that it is a parameter that is not fully exposed. I would like to tag the device directly without creating a wire, to tag the Load Name - in the image below, that would be 'COPIER' (note, Properties is displaying the circuit properties, not the device properties, but the device is on that circuit).
Right so the Load Name is applied to the circuit but you want it to be applied to the device?
As far as I can see it is only the Panel and Circuit Number which shows in the device properties.
So I think you'd need (with Dynamo) to get the Panel, Load Name and Circuit Number for each way on the panel, sort lists, get index value of Load Name from "n" circuit number. Pass to another shared parameter. Then for devices get circuit number, then based on the value of the circuit number set the value of the load references shared parameter in the device family.
I don't immediately know how to code that in Dynamo but someone else could probably help more quickly @robert2JCCH
I agree that dynamo could solve the problem, but I'm hoping for an easy solution that my engineers won't have to jump through a ton of hoops to do something as simple as display data that is already connected. Does anyone else have suggestions other than Dynamo?
I'm also not electrical, so I don't know about the Dynamo route immediately.. panel schedules are weird behavior relative to most other elements. I'll take a quick look to see if it's readily accessible. Worst case I think I have some AU presentations saved that I had intended to pass over to an elec colleague that covers a similar topic.
In regards to the comment about preferring not to use Dynamo, I'm not seeing the parameter information noted directly in the electrical device element, so I don't believe it's taggable through the Revit standard UI. You'd need a macro or third party add-in if you don't want to take a Dynamo approach.
Okay, so far I've got:-
Now I need to do some sort of comparison to find matching pairs i.e. when Panel AND Circuit Number in the fixture list match those values in the circuit list then get the corresponding value of Load Name from the circuit list.
Any ideas how to do this? @robert2JCCH
I'd probably try to use a dictionary for this, built off the circuit panel:
The input lists and shuffles are just dummy values to simulate pulling the information from the project, which @iainsavage 's already demonstrated how to do.
Dictionaries are good for using common matching values to re-populate lists. We're creating our own common matching value by compressing the data that 'should' be matching to single string items. I tossed in a 'what if' scenario for having fixtures that somehow don't have corresponding circuits as a way to stress-test this example, but I don't know if this is a real case issue that can happen. Regardless, stress-testing for corner cases is always good.
Hi @iainsavage and @robert2JCCH Thank you both for the effort put into this! I think I'm going to move it over to Revit Ideas, because I'd really like to see a native Revit solution to this, especially considering that it's already 90% of the way there, a device/fixture can tag the connected Panel/Circuit, so obviously expanding it to more information points would be quite easy for Autodesk to accomplish. Thanks again!
Good idea and best of luck. Generally speaking I think Revit would be well served with more system data exposed at the component level for tagging.
I'd been playing with that script over rhe past few days but had to give up, my Dynamo skills just aren't good enough at the moment.
One hurdle that I fell at was that there are a number of blank circuits in the sample file and they cause one of the nodes to fail because it causes duplicate keys in the dictionary.bykeysvalues node.
@iainsavage I know what you mean about 'dynamo skills', it always seems to be just a bit more complex that I would've envisioned... have you asked ChatGPT to write the dynamo script ?? 😁
Just an update on this, I appear to now have the script working for electrical fixtures and lighting fixtures.
For simplicity I have used the Comments field to take the value for the Load Name.
Additional family categories can be added by copying the node groups, changing the element category and changing the connections between certain nodes.
Instead of Comments field you could use your own shared parameter. To do this create the shared parameter, load into your project/template and associate it to the requisite categories. Then load the same shared parameter into a tag family and include it in the label, then load the tag into the project/template. In the Dynamo script change the value of the pink code block to match your shared parameter name.
Hope this helps you.
Major Kudos to @robert2JCCH for the pointers, I woud never have worked this out on my own.
PS: the script will throw up errors if there are unassigned fixtures but should still work for the assigned ones.
Try it on a small sample project of your own and let me know if it gives you the correct values for each circuit/fixture.
Wow, thanks for this @iainsavage ! I will give it a try.
Can't find what you're looking for? Ask the community or share your knowledge.