Programming "smart-Revit" add-on

Programming "smart-Revit" add-on

Anonymous
Not applicable
854 Views
3 Replies
Message 1 of 4

Programming "smart-Revit" add-on

Anonymous
Not applicable

Short: Would like to know how, if possible, to make an add-on which updates a table based on the symbol added to the layout.

 

Details:  For example, lets assume we have a floor plan of a building needing alarm systems.  For every alarm system added, a table in word/excel/revit (dont really care which) would automatically update based on the symbol added.  The symbol already has all the information needed, such as height placed, type of alarm, manufacturer, etc.  All that needs to be done is the transferring of data, but I am completely lost.  I am currently interning at a firm as an engineer and have extensive programming knowledge, including and beyond data structures.  I would like to use c# to create better Revit add-ons, however I just began programming in Revit and have not a clue as to where to start in the autodesk library.  I would like to know how to access things listed under "Annotate" using the programming library.  It would also be extremely helpful to know how to access external documents, such as word/excel, as I assume it is not as easy as just using ostream for a text file as I do in college courses. Any suggestions?

 

I give my thanks to any help on this puzzle.

0 Likes
Accepted solutions (1)
855 Views
3 Replies
Replies (3)
Message 2 of 4

Anonymous
Not applicable
Dear Bryan,

you can learn development of Add-Ins by two way.

1. Create Add-Ins (You should Know C# ). For this you can visit below link.

http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=16777469

2. Using Dynamo (No need to Know Programming). For this you can visit below link

http://dynamobim.org/learn/

I hope this will help you.
0 Likes
Message 3 of 4

Anonymous
Not applicable
Look up revitlookup add in. That will help you with datastructure within revit. As far as exporting data to excel. Just look up how to write to excel via c#.
0 Likes
Message 4 of 4

Anonymous
Not applicable
Accepted solution

If I correctly understand the end result, I believe Revit will do exactly what you want out of the box without any add-in program. What you are talking about is a schedule with possibly an embedded schedule to break out details. It may be that you want to automate the device data entry (i.e. what model number, manufacturer, etc.) from an external file. I do not think you need to involve anything dealing with Annotation. Annotation ("tag") is typically set up to display information it finds contained as data within the item it is associated with. In other words it automatically displays what it is setup to display. Your add-in might populate the device instances with the correct specific data. The Revit schedule would automatically reflect that data and so also would the annotation associated with any device instance. You would need to first develop the scheme details. Starting with each device instance you would need to decide what device differences (the manufacturer for a particular initiating device for example)  are handled as shared parameters in different family types or are handled as shared instance parameters in a family type. The data needs to be a shared parameter because the annotation and the schedule have no way of knowing about a non-builtin piece of data to find without a common association key. The shared parameter file provides that key value. 

 

Your add-in could find the family device instances and reset the instance family type (referred to as FamilySymbol, not type.) if the chosen scheme involves changing the family instance type (FamilySymbol). It can also change the values of the parameters in those device family instances. If your scheme also involves manipulating the Annotation (tag) that might be associated, say by either changing the family instance or changing the family type (FamilySymbol) in the family instance, then you should know that there are methods that return a family instances's associated tags or the other way around. You can change the tag that was used and you can change the type (FamilySymbol) within the tag. I would think you want to make the scheme as simple as possible. If this is a typical fire alarm system, you really have only a device summary table and devices shown with their circuit numbers and possibly a unique id. The unique id is the kicker.

 

The Revit interface, and I'll blame it on Windows going to the Ribbon interface years ago, is not specific task oriented. It serves only broad tasks. So for example many user steps are involved to simply place a fire alarm device with its tag. It should be a two pick process (not including the command start). The command start should already know the device, its data, its tag type, how the tag should be and so on. All that is needed is where the device is placed on the screen and where the annotation (tag) goes. That is two points total. I can provide something like that that if that is part of what you are wanting to do.

 

Good luck.