Hi all,
I'm a very green beginner working my way through the Introduction to the Revit API. I have a little bit of programming experience (dangerous! - Does Commodore 64 BASIC count?) so I have some ideas about how I might go about what I want to acheive.
Firstly - are there any API plugins out there that do what I want to do? (I haven't seen any, so I'm asking here)
Goal:
We're not trying to track who is creating crap families (we know who they are, anyway) we are just trying to sift the wheat from the chaff.
I can think of ways to do items 1-4 that are not much beyond what you can do 'by hand' with a Shared Parameter.
Point 5 makes me think the Data Storage Object might be the way to go...
Point 6 - this would likely have to be a purely API thing - check for DSO from point 5, apply shade-by-element in a new view.
Point 7 - this is what stumps me. I can't think of a way to do this except a 'silent' API function that captures an 'un-blessed' user performing a family edit (which in itself is a bit tricky to define) and clearing the DSO field (if it exists).
I'm a bit hesitant to use an API function like that due to my low skill level; 'script-like' functions I think I can cope with, but 'triggered' functions make me feel like I am treading in far deeper water...
Some alternative to the above I have thought of:
We have currently implemented a system of putting hashed MD5 keys into the Type Comments field of each family, generated from a concatenation of family:typename:salt. This is entirely manual, with family:typenames exported, converteed to Excel, hashed, copied by hand back into families. The checking process is similar - export family:typename, import to Excel, compare MD5 key saved with family to 'correct' MD5 key - a mismatch indicates a high probablity of a user-created family. Users aren't going to know how to generate a valid MD5 key, as I 'salt' the keys with another secret value as well.
It works, to a point - if the user modifies a family:type but leaves the typename unchanged edits can slip through - but mostly this process works, as most people seem to do a 'duplicate type' which results in a family:typename1 which then fails the MD5 check.
The problem is that this entire process is
The API seems to be the way to go, but it's a big step to learn it!
By the way, we have a library of 4,500 objects we are trying to maintain which is why user-created itmes are such a big problem.
I have thought about completely disabling the ability to create/edit families but that seems a little bit too restrictive, and besides that we do (oddly enough) allow in-place families - they are easy to spot and filter out.
Any suggestions, or is there an App put there that does all this for me?
Dear aesdaile.w,
Please take a long and deep look at the ample getting started material, and then come back and ask again:
http://thebuildingcoder.typepad.com/blog/2012/07/obj-model-exporter-with-transparency-support.html#4
Thank you!