Monday, November 23, 2009

AU's a comin'....

I'm a goin'. Are you? I hope so.

Although attendance is projected to be down considerably from last year, it looks to shaping up to a great event.

This will be my first time attending, and I am open invitations to share an adult beverage of choice and shoot the .... Revit.

And contrary to popular belief, I'm pretty sure when it's your first time that the rounds not on YOU, but on everyone else. But, I've been wrong before. ;)

Monday, November 16, 2009

Revit X- files

Mechanical and Electrical Reflected Ceiling Plan (RCP) Strangeness

There is a strange behavior, when a RCP’s Discipline parameter is set to either Mechanical or Electrical, that has caused a problem for us on a couple of occasions.

Normally the view parameter Underlay Orientation is grayed out and not available when there is no Underlay selected. However, when a view (any view) is set to Mechanical or Electrical, that parameter becomes active and can be changed. This hasn’t caused a problem with floor plans yet. But I see how it could.

RCP_strangeness

While it’s bad enough that a user could change this parameter to plan in a RCP (or to RCP in plan even) what makes this truly sinister is that the default for a NEW REFLECTED CEILING PLAN is PLAN for this parameter (that’s why it hasn’t caused issues for plans, it’s the default there as well.)

We have had occasions where the ceiling just no longer shows (as expected when set to plan) or in a linked model it was just showing the ceiling grid in the wrong place. Which is far worse, as we found when we went to coordinate light fixtures, air terminals and ceilings. YIKES!!!!!

So, it’s imperative that anyone who makes a new ceiling plan that is to be used for one of these disciplines needs to change that parameter to read Reflected Ceiling Plan.

To make matters more difficult, Revit has decided that this parameter is not something that you would want to set as part of a view template, even though you can set it’s Underlay (hmmmmm, that makes sense. I can’t count the times I’ve wanted to have multiple view have the same Underlay. Well only because it hasn’t happened.)

RPC_inconvience

And to really confuse the user, when the same view (with the incorrect value for Underlay Orientation) is set to COORDINATION or ARCHITECTURAL for it’s Discipline… of course it displays correctly (exactly as you expected, right?) Now, don’t be silly and think that it has somehow magically changed the incorrect value. No, Revit has just decided to ignore it.'

RCP_madness

Have I logged this as a support request? No. I probably should, but I’ve been busy fixing my own issues…

Wednesday, November 11, 2009

All aboard the Boolean Express

Today's post is by a guest blogger. Eric Shappe is a BIM Content Administrator in our office. A Revit Family Guru. He's going to take us on a journey on the Boolean Express.

We have lots of fun with conditional statements in our office. There's no "ifs, ands, or buts but there are plenty of IFs, ANDs, or NOTs.

We have done a lot of experimenting with using YES/NO parameters (Check Boxes) to drive length and visibility parameters. We use IF statements to change multiple aspects of display and size in several of our families.

In this case, the plan was to have a TEXT parameter report one of THREE conditions. Reporting TWO conditions is elementary. I have to hand it to Eric, three was a real challenge.

So yesterday I was trying to figure out how to get glazing in a door to be either “clear”, “wire” or, and here is the kicker “n/a” (or - - as I used). Before I explain how I finally accomplished this I will give you a little background on my existing conditions. First I have a door family which has a nested door panel family inside of it. This door panel has a void that is controlled by 4 yes/no parameters that describe how to cut the door panel and to what dimensions. These 4 yes/no parameters are as follows:

HALF LITE

FULL LITE

8" X 33" LITE

3" X 33" LITE

Then I had created another yes/no parameter that controlled the glazing type from “CLEAR” to “WIRE” named

DOOR WIRE GLASS

Now onto the fun stuff, my first pass at getting this equation to work only yielded two results which were “WIRE” and “CLEAR”. Now that would be fine and dandy if all my doors had some sort of glazing in them, but that isn’t the case. So at first I tried to wrestle with some conditional terms, which basically brought the BIM studio to a screeching halt trying to figure out how to do this. But after an evening to myself and 4 other people trying to take a walk around conditional statement park, our brains had been mugged of any more ideas. All we had ended up with was the following

if(and(DOOR WIRE GLASS, or(HALF LITE, or(FULL LITE, or(3" X 33" LITE, or(8" X 33" LITE))))), "WIRE", “CLEAR”)

As I was driving home trying to parse through this issue it dawned on me, why not just create another parameter driven by each of the glazing parameters, which would give me another yes/no value.

So the next morning I created a WIRE GLASS parameter (pardon the confusing names of some of these parameters) which reads as follows:

if(HALF LITE, "CLEAR", if(FULL LITE, "CLEAR", if(8" X 33" LITE, "CLEAR", if(3" X 33" LITE, "CLEAR", "--"))))

This is basically saying if I have any of the “LITE” parameters checked read “CLEAR” if not then give me “- -“ . Now I had to marry this with my earlier conditional statement that controlled “WIRE” or “CLEAR” which ended up changing to this:

if(and(DOOR WIRE GLASS, or(HALF LITE, or(FULL LITE, or(3" X 33" LITE, or(8" X 33" LITE))))), "WIRE", WIRE GLASS)

This states if both the “WIRE” and any one of the “LITE” parameters are satisfied give me “WIRE” if not then check with the other WIRE GLASS parameter which reads out CLEAR if we have glazing with no wire or “ - -“ which would be no glazing at all.

So in the end I have this: (both are text parameters)

DOOR GLAZING TYPE = if(and(DOOR WIRE GLASS, or(HALF LITE, or(FULL LITE, or(3" X 33" LITE, or(8" X 33" LITE))))), "WIRE", WIRE GLASS)

WIRE GLASS = if(HALF LITE, "CLEAR", if(FULL LITE, "CLEAR", if(8" X 33" LITE, "CLEAR", if(3" X 33" LITE, "CLEAR", "--"))))

Which gives me my 3 conditions WIRE, CLEAR and - -

Enjoy!