Hi guys,
I'm new to Revit programming, and I hope you can help me ...
I want to develop a plugin can let the user select (on screen) a room then select its doors, windows, and opennings
then from those element parameters i can give the program some formulas to calculate :
Wall Finish (Area net) = [ Room peremeter x Clear height ] - [ total doors and windows and opennings areas ]
Base Finish (Lenght net) = [ Room permeter ] - [total of doors, and opennings width ]
I'm lost cos of many functions and methods of the API, my question is :
---------------------------------------------------------------------------------------------------------
1 - how to select on screen just those types only ?? (the room and opennings) not any othe elements like furniture or grids
2 - how to retrieve ID, area of the room selected, and the other parameters like permeter, awall finish, floor finish, cieling finish, wall finish, name ....., and the same things for doors m, windows, and opennings
3- how to highlight the room on screen when i click its row from a report grid ? and also highlight the doors and windows belongs to it ??
4 - is there a function or a trick in revit schedule to do the same job and exclude the doors and windows areas from the wall finsh of the room ?? without developping a new pugin and wasting the time ??
thanks guys
The first thing you should do is check to see if someone has already created an app that does this.
If you do need to make an app check the API documentation and look at the wall class and room class to see what kind of information Revit already has stored in it. Eg. the wall class may already give you a wall area with the doors and windows removed.
I don't think there is a way to hightlight certain items in the project but there is a way to get Revit to zoom in to an item.
If this is your first app, I'd suggest starting small and then working your way up to bigger apps as you learn how the API works. Eg. Create an app that reports back the area of a wall first then work on an app to report all the walls surrounding a room.
In case you do decide to develop a plugin of your own -
The following webpage contains a list of materials you can use in your Revit API Dev efforts:
http://usa.autodesk.com/adsk/servlet/index?id=2484975&siteID=123112
Now for selecting elements specifically of the type you want, please look for ISelectionFilter in the blogs, SDK samples, and Wiki help.
This blog-post shows how you can access Room parameters once you have access to it:
http://thebuildingcoder.typepad.com/blog/2011/11/accessing-room-data.html
Highlighting elements - maybe this can help: http://thebuildingcoder.typepad.com/blog/2010/06/highlight-elements.html
Hope these help in getting started. Good luck!
cheers