Thursday, May 10, 2007

Revit, Random, and different platforms...

One thing i always "ASSumed" about 3D modeling and Consultant Coordination, was that in some way shape or form, everyone would "see" your model, and could derive object locations based on it. So when i heard that (for some reason), we had to provide actual coordinates for a floor opening that is (somewhat) random in design, i was curious. "Aren't they working with our model overlayed?" "Well yes, but..."

I digress. Its not the point anyway. A couple of people in the office began wondering how an object in Revit would report coordinates relative to a structural grid. Granted, the Spot Dim. tool reports coordinates, but our structural grid was not aligned with the coordinate system (and we couldn't adjust, there was another coord. system, etc...) So anyway...

My solution was a simple one, its been done many times. We use Parameters to Drive geometry, so i thought id just reverse engineer a family, so the geometry could drive the Parameters, giving a dimension. Its NOT a 100% intelligent tool, and its certainly not "user-proof," but i don't believe we'll ever be "User proof" :-)

All the family entailed, was two Crosshairs, which i just made from Specialty Equipment Families to be consistent. (The whole assembly is a Spec. Equip. family so it can be scheduled...) In any event, the Distance Parameters have to be shared, obviously... That way they can be reported in a schedule.
Where its UNintelligent, is in the smaller crosshair. Ideally, we could intelligently have it report where it lies, but i dont know of a way to accomplish this. So the accuracy of this tool rests in someone aligning the smaller crosshair to a common "origin" from which to report. With Revit's Multiple Alignment tool, this takes about two seconds. :) The DIMS go to the reference planes, which the Crosshair is locked to. In the project, this gives us pull tabs, which are great for this application.
For ease of use, i prefer to insert them and copy them around so they're already on the "random" points i need coordinates for. You can put them on the "origin" first, and stretch/align them, but then you have a number of points in different locations to deal with. Since they're all connected to the same Critical Origin, i like to get the random points out of the way when i drop them in. Then i can multiple align to the "origin". (I'm using the term in quotes because its not an origin, its just a base point... Just wanted to clarify). the little "legs" hanging out in space are what need to be aligned to a common point. Because of the pull tabs, you can literally just "align" with the Crosshair.

There are the pull tabs, if you choose to go that route... I prefer the align tool for this application, but i can see why it may not be ideal. The align tool is tough if your object isn't parallel with the Crosshair, so i was using a Component that was just an empty crosshair, that i placed on all the Floor Edges ahead of time. Again, not a perfect solution, as it requires of you to accurately pick the points to be located and scheduled.

I think a better solution could be had of those Spot Coordinates... I don't believe we can schedule them, but if we could... Wow, that could go places. Calculated values accounting for the grid orientation shift and/or the "origin" in use... And it would all stay live... BUT, you'd still have to clock the points. So I'm not sure its possible to eliminate us from the game. I guess we all get to keep our jobs today. :) So anyway, i put a bunch of them in, and did the multiple align to the two grids I'm using as my Benchmark.

I have to admit... After a few years at UB doing Ink on Mylar of obscure objects, part of me wanted to print this... for no practical use. But alas, save a tree, hit Print Screen, lol.

Those are all the markers after having the crosshair aligned to the "origin." About ten minutes of work, then i tagged them. That took a while, because we cant specify in the family, WHERE the tag goes in, so it defaults to the center of the family... Which makes me cry in this instance. I had to move the tags, which also is a liability in the fidelity of the model... But, since the coordinates and the schedule will always be right, its a visual mis-cue, if anything.

In the family, i put in a Visibility Parameter for the Connecting Line, so i could shut them off in the end. Here are the markers, with the lines disabled. Pretty simple, really.

Here's the schedule with the values reported. Some of them are horrible numbers (Rays rule for precision...), but that's what it actually is, right? Id like to play around with something similar in principle, but much bigger in design. Maybe take something like one of the Morphosis Buildings, and try breaking it down.
Gehry Tech.'s Digital Project is great at documenting complex relationships, where structure is based on form, which is based on some mathematical algorithm... But one has to wonder: What happens in a case like this, where someone ELSE'S software, that DOESN'T read the formulas, needs values for location off something like that? I liked this exercise for that reason alone... Its easy to say CAD standards are heading by the way side, and Schedules are live, and information now has to be displayed and conveyed in a fashion that doesn't compromise the integrity of our models... But with ArchiCAD, Revit, DP, RISA3D, Solidworks, and on and on and on... There is obviously a communication breakdown, save for things like IFC (which i know little about at this point). So what do we have to look forward to, in terms of breaking down information in to values everyone can appreciate? Because at the end of the day, I'm betting that a gorgeous 3D model isn't turning in to a building unless the Structural guy knows where to put the Steel. :-)