Tuesday, November 12, 2013

Rotate Tool

When we start the rotate tool the first task is to decide if the origin of the rotation is correct. Revit usually places the origin at the center of the extents of the selected elements. Put another way it's rarely where we really want it, but then how could it really know what I want. We've got three techniques to choose from to put the origin where we want it:
  • Place button (Options Bar)
  • Space Bar (equal to clicking Place button)
  • Click + Drag the origin icon.


Using the Place button or Space bar we just have to click where the origin ought to be. Using Click + Drag we need to click on the origin icon (left mouse button), click + drag it to the correct location.

Once we're satisfied with the origin we can enter a specific angle value on the Options Bar and press the Enter key. The rotation uses a counter-clockwise rotation from 0 through 360 degrees. Entering 45 degrees will cause this wall to end up like this. To get the reverse we just provide a negative value instead.


If we prefer a more visual approach we can rotate by defining an angle with two clicks. The first pick/click defines the start ray of an angle and the second the end ray. If we know the angle value we can just type the value after the first click (start ray), the listening dimension that appears when we move our cursor away from the start ray will accept the value. If we are attempting to rotate elements based on other elements then we just need to click on them with the start and end ray pick/clicks.


An often overlooked option is Copy, located on the Options Bar. This turns Rotate into Rotate AND Copy. Just remember to check the box for Copy before you make your last Pick/Click to define the angle of rotation. Edit: Andreas reminded me in a comment that we can activate the Copy option by pressing the CTRL key. Lot's of subtle options for just one little command eh?


Monday, November 11, 2013

Adjusting Automatic Sketch Dimensions

When we are working on families Revit hides Automatic Sketch Dimensions (ASD's) from us unless we use Visibility/Graphics to turn them on (Annotation Categories tab). Revit guesses are often close enough when it creates ASD's. For example the profile of a skirt/apron beneath a table top is adequately constrained by the ASD's in this image.


When I add another sketch inside the first to define the thickness of the skirt/apron Revit guesses correctly again. If you select ASD's Revit doesn't let us delete them. If we add our own dimensions and either assign a parameter or invoke the EQ or Padlock constraints Revit will remove the corresponding ASD.


If Revit places a ASD incorrectly we can change what it's referencing. Select it and click on the witness line grip (dot icon) and drag it to a correct reference. For example, in this image Revit guessed that it's more important to reference the Center (Front/Back) Reference Plane. That's not what I had in mind.


In the little bubble of the image I've revised it so that the ASD is referencing the correct elements. Revit will respect this change unless we change the family and cause it to revisit the constraints, such as deleting a form or altering an existing sketch. Remember to keep an eye on ASD's.

Saturday, November 09, 2013

Foundations and Insulation Calculation

I got involved in a thread at RevitForum.org that asked about calculating the total bitumen insulation required to cover concrete foundation surfaces. The original post described using the Paint tool and how much time it took. I always wonder if people are responsible for the calculations or just curious whenever I read such requests. Sometimes I ask. Intellectual exercises might be interesting but they can waste a lot of time if the results don't actually get used by someone.

Since I put the effort into it already I decided to use this post to share the example project I created in response. I shared an earlier version in the thread but this one has more ideas expressed.


I'm inclined to try to use schedules and formulas to calculate/predict the insulation material required instead of using paint and a material takeoff. The Isolated Foundations (footings) have one form (most of them) so there aren't compound layers like foundation slabs, floors or walls.

It isn't as simple as just reporting all the surface area of each kind of foundation. It isn't even simple to do just that. The surface touching the ground doesn't get the insulation (my understanding in this situation). No insulation is required where a column sits on a footing so we need to subtract the column base area from the top of footing surface area. No insulation is required where a wall sits on a footing either.

We also have parameter inequity. Isolated Footings don't have a "thickness" parameter. Foundation Slabs and floors do. Inconsistent application of dimensional values is the sort of trouble we face when we use the provided family categories (as their naming/behavior implies we should) and try to compile their information using the "same" notion of dimensional criteria. They just aren't all equal, they don't have the same "beliefs".

My approach started out with a foundation schedule that includes footings and slabs, a schedule for walls and a third for columns. I needed to distinguish between footings and slabs so that I could create formulas to figure out the area for the top and sides of each kind of footing. Floors and Slabs have Default Thickness and Perimeter. When they are rectangular they also have Width and Length. If they are irregular they don't. Foundation footings don't have thickness but have Width and Length.

I used a formula to divide the Volume to arrive at an Approximate Height to use to calculate surface area for top and sides. I used a parameter called Is Slab (an integer) so my Bitumen formula could decide which formula technique applied. I just enter a 1 for slabs and 0 for footings. This is the foundation schedule for wall footings, isolated footings and slabs/floors.


As you can see I added some rows to the header to explain the empty cells in the schedule. I also added the formulas (after capturing the images) to the comments so it's possible to validate the results without having the model.

Here's the schedule for the walls. I've not resolved the overlap of walls onto footings or the walls and their own footings in the schedule above. I'd probably create another schedule for subtracting the bottom surface area of the walls, or if possible include it in this one.


And here's the schedule for the columns, I put the (-) in the header to make it a little more obvious that the area should be subtracted from the other totals.


You may already know that columns don't have a base width or length parameter that we can see in schedules. They have a type name but the parameters that govern their base dimensions are called "b" and "h", like the corresponding graphic in some structural design manuals I've seen. I added two shared parameters, Base Width and Base Length, to the column family and just made them equal to "b" and "h". That's probably the easiest way to resolve content that fails to use system parameters that are compatible with other families, as well as content that you download and find the same conflict between other content of the same category.

Assuming the approach above is completely uninteresting these are some possible alternatives we could consider.
  • We can "paint" on materials and there is a Split Face tool which will work on floors, foundation slabs and walls but not structural foundations or columns. We can model all foundation elements as floors and/or foundation slabs which would make it easier to use the Split Face tool and then paint on the insulation.
  • Use a combination of the schedules above and some use of the Paint tool and material takeoffs.
  • We can create separate families for the insulation conditions that can be scheduled by themselves, or at least for the foundations that can't be "painted" with Revit's paint tool.
  • We can build more complex footing families that have an additional form(s) for insulated surfaces and these can in turn be used to define them in a material takeoff, instead of a regular schedule.
  • A talented programmer with the Revit API could take into account all sorts of permutations and generate a pretty comprehensive summary).
I've posted the project file if you'd like to DOWNLOAD IT. Happy insulating!

Friday, November 08, 2013

Project Version Wish Revisited

Blogging, twitter and otherwise working "on the line" is cool!! I complained in a blog post just two days ago about not knowing the version of a Revit project file. Sean Burke via Twitter suggested the API might be harnessed to provide a solution, specifically tagging Harry of Boost Your BIM. Harry took up the challenge and within a few hours provided a solution and a video to demonstrate how cool working with the Revit API can be (yes Harry is cool too).

Here's the video he shared via his Blog Post response.


Harry's solution looks great and I'm off to download it!! Of course this means I'll have to whine on my blog more often.

Thursday, November 07, 2013

Level Matching in Schedules

If you've used the Level parameter in a door or room schedule to sort and group them you may have also been surprised when you attempt to do the same thing including a linked file's elements. The Level parameter becomes unavailable in the filter tab of Schedule properties when it includes linked elements.

Behind the scenes Revit doesn't look at a Level the same way we do. We see a name like ground or second floor but Revit sees a unique ID instead. That means a linked project might have the same levels, the names we read, but they aren't the same ID. To a computer they couldn't be more different.

Revit reconciles this same situation with phases by providing a phase mapping tool in the properties of each linked model. When we use that dialog we are telling Revit that "this" is the same as "that". It seems pretty reasonable to me to do the same thing for levels. Provide a level mapping button right next to phase mapping, or combine them into a project mapping dialog. Maybe it doesn't have to be a mapping dialog. We could just interact with them in a view to map them to each other. We do this when we use Copy/Monitor.

The current workaround is to filter a schedule based on some other data that is uniquely level related or worse, actually entering "level" information into each element so they can be filtered by it. Add to the un-Revityness is that we now have to encourage people to add the same info to their model so we can use it in our schedule. Especially frustrating when the "same" info is already in the model.

Wednesday, November 06, 2013

Project Version Wish

You may have experienced this too, maybe just once or forty times. I received a file to look over and it's not obvious which version of Revit it was created in. Naturally by the time I got a chance to look at it I couldn't just ask. The file name doesn't give me a clue. Some firms include a version designation in the project file name, for example "1234 Our Big Project-A-13.rvt". The "13" tells me that its a Revit 2013 file. There are plenty of annoying things in life, waiting for a Revit project to upgrade unnecessarily because I don't know what version it was created in is a drag.


Recently a tip was offered (but I can't remember who or where I read it, sorry) that you can use Show History on a project file instead of fully opening it. It helps you catch when you are attempting to open a project in a older version of Revit than the file was created with. It does not help with an older file being opened with a newer version though. Sadly I didn't remember this tip (even though it wouldn't have helped) until I got the dreaded "This is a one time upgrade process" message. Nuts!

I've got a couple wishes. First I'd love it if Revit would store a value in the file properties that indicates Revit version. Second I'd love for Revit to ask first, "Do You WANT to UPGRADE? and a "NO, NOOOO, please on all things holy NOOOO" button.

Tuesday, November 05, 2013

Monitor a Multiple-Segment Grid

When multi-segment grids were introduced they were not able to include them in the Copy/Monitor "loop" for Grids. We can monitor them, sort of. Since Copy/Monitor won't cooperate we can create our own "copy" of multi-segment grids by selecting them in the linked model and using Copy to Clipboard and Paste Aligned to Current View. We just need to remember to use the TAB key to cycle "in" to select elements in a linked model. Alternatively we can sketch our own version over the grid(s) in the linked model.

Once we have our own version we can use the Monitor part of C/M to let Revit watch over it, sadly...only sort of.

When we just use Monitor Revit recognizes the individual segments, not the whole multi-segment grid as a complete grid. If their original changes the process break downs even further. We do get a warning that the monitored grid has changed. If we select our version of the grid we don't get the Stop Monitoring button that normally allows us to sever the relationship. Our version also doesn't trigger the Coordination Monitor button when we select it after getting the warning when we reload the link or open our project fresh. If we just delete our version the coordination monitor warning is still lurking and I find that it will show up again later complaining about the deleted grids (ours). At this point it is messier to use Monitor than just watching for changes ourselves.

If we are willing to place individual grid segments over their multi-segment we can use Monitor and get normal results if we monitor each of their grid segments against our own individual segments, just not if ours are also are a multi-segment sketch based grid.

Short story, even using monitor only on multi-segment grids leaves us wishing for better. Hopefully the Copy/Monitor tool will get smarter and work with Multi-Segment grids too!

Monday, November 04, 2013

Change a Level Association for a Room

I read a wish at AUGI asking to be able to change the associated level of a room via the Properties Palette. My initial reaction was, "Yeah I can see that".

As I thought about it a bit more I believe that the process has been limited to using Delete and then placing the room again or using Cut to Clipboard and then using Paste elsewhere because simply changing the level relationship in properties does not ensure that Revit or the room will find boundaries.

If there are no boundaries to be found Revit would generate a warning and the room would have a record against it in Review Warnings. To resolve that the room would either have to be re-positioned or walls would need to be created to provide the boundaries. If we compare that effort with deleting the room from a plan view and placing it again on a different level it doesn't seem like much difference to me.

In general I think it would be nice to have more flexibility to alter element properties via the properties palette. The context we often need to appreciate how they work in the model may not be represented by a list in the palette though. Changing the value might be easier but it might not be less work overall.

Friday, November 01, 2013

Finishing Text

I read a post at AUGI tonight that mentioned using the Modify button on the ribbon to finish typing or editing text. The intended technique to finish typing text is to click out side the text box. If you look at the Status Bar when you are typing text you should see this instruction: "Edit the text and click anywhere in the view to finish editing".


In my opinion "anywhere" isn't accurate, technically you have to click anywhere but within the text box. I think it's more accurate to say, "click outside or away from the text to finish".

The complaint in the post was that using the Modify button sometimes results in the text vanishing. It is still there but not visible until you manage to select it again or refresh the view or do something else that refreshes the view. I find that the text vanishes IF I am creating the text and click Modify. If I just edit existing text the text doesn't disappear when I click Modify to finish.

I don't think clicking Modify is "intended" behavior or that it is supposed to properly finish editing the text. It does work if we've begun typing some text, or edit some text. If we've only clicked on screen and then click on Modify the "empty" text box is not left behind. A similar result will occur if I just start another command like Wall, or Door. My observations are based on using Revit 2014.

I'm sticking with the intended "...click away from text to finish...".

Thursday, October 31, 2013

Revit 2014 Web Update 2

Revit tells me there is a new update available. At first when I clicked on the link it reported web update 1. Well I checked again and it seems to be working now. Here are some links so you don't have to wait to get told via Revit communication center (especially if it is off for you).

Revit 2014 Update 2 Links
Revit 2014 (Onebox)
Revit Architecture 2014
Revit Structure 2014
Revit MEP 2014

Column and Beam Relationship Macro Idea

I wrote a post that described the parameters (Start Attachment Type and End Attachment Type) that can be harnessed to make beams respond to column changes, specifically the height of the column to cause a beam to slope. While chatting with some Revit Structure users it occurred to me that it would nice if a macro existed that could automate the process a bit. As it stands now we often need to deal with each beam carefully to determine which end of the beam is actually attached to the column. It is easy to see now with the addition of colored ends (green for start and red for end) when Show Analytical Model is used.

That written, we could just select all of the beams, say for a roof structure, and change both parameters, Start and End Attachment Type, from End Elevation to Distance. If their supporting column's Top Constraint or Top Offset values don't change then the beams won't either. In that context it's not hard to just select them all and apply the same parameter values regardless of whether they will need to change or not.

If we want to be more selective, I imagine it would be nicer to start a macro, select a column and let the macro determine which end is connected, for each beam, and alter the required parameters. Alternatively the macro could let us select beams and then the related column we want the beams to follow. Ideally the macro could let us choose between the two approaches. Technically the macro doesn't need to know which column to change the parameter if we just want to change both parameter values. It matters if we'd prefer to only change the parameter relevant to a specific column.

Perhaps such a macro exists individually or as part of a collection I haven't noticed yet? If so, enlighten me. If not I'd be happy to brag about the developer that creates it. Second guessing...is it even worthwhile?

Wednesday, October 30, 2013

Elements are not Displayed or Missing

Some time ago Dave Jones started a thread at RevitForum.org regarding finding elements that have gone missing, don't show up. Grant Doherty replied that most situations can be reduced to these major concepts: Visibility Graphics (Model, Links, FILTERS), View Range, Reveal Hidden Elements (The light bulb), Phases, Worksets and Design Options. Later Nancy McClure summarized things by asking if the problem is: Project Wide, By View, By Family (Project Wide) or By Object (per view).

I think troubleshooting also depends on circumstance, meaning did I just get an error message or am I unable to find something "now" based on the belief/experience that it used to "be there".

This is my version of the list, based on Dave's and taking into account some later posts in the thread. Naturally I've added my two cents.

This warning message occurs when we are actively creating something in a view. It confirms that we've just created something but it can't be shown in the view. The following list applies to conditions that cause this message to appear.


Modelling Actions
  1. The wall we created is using Depth, not height (typical of Structural Walls)
  2. The column we created is using Depth, not height
Visibility/Graphics
  1. The element's Category is currently off
  2. The view's Detail Level is not compatible with the missing element
  3. A filter applied to the view excludes the element
  4. The Active Workset is not visible (V/G override)
  5. The Active Design Option for editing is not visible in the view
  6. The governing View Template prevents changing the above
  7. The Imported Categories > Imports in Families is not checked and DWG data is used in a family
View Properties
  1. Depth clipping settings are not compatible
  2. View Range settings are incompatible
  3. A family's offset/elevation parameter places the element beyond the view range
  4. Placing the element outside the view's crop region
  5. The view's Discipline is not compatible
  6. The view's Display Model setting is not compatible
  7. The view's Phase and Phase Filter settings are incompatible
These apply to elements that were visible once but no longer are. When elements are missing remember to use Reveal Hidden Elements to see if anyone has done something in the view or to the elements to prevent them from being visible.

Element Overrides in View (often resolved with Reveal Hidden Elements)
  1. Visibility/Graphics overrides applied to element's category
  2. The Linework tool, Invisible lines applied to part of or all of the element
  3. User applied Right click Hide in View > by Element
  4. User applied Right click Hide in View > by Category
  5. User applied Right click Hide in View > by Filter
  6. User applied Right click Override Graphics in View > by Element
  7. User applied Right click Override Graphics in View > by Category
  8. User applied Right click Override Graphics in View > by Filter
  9. The View's Parts Visibility setting is in conflict
  10. User applied Temporary Hide/Isolate > Apply Hide/Isolate to View
Modelling or Documentation Actions
  1. The missing Element was deleted by someone
  2. The family's detail level
  3. The element is being obscured by another element
  4. The element resides within a group and it has been excluded from the group
  5. The element is part of a design option that is not visible in the view
  6. The family was created with nothing visible in this view's orientation
  7. The family uses a yes/no parameter to control visibility, set to off
  8. The family uses an offset parameter than can shift it out of view vertically
  9. DWG data is used in a family and V/G settings don't show it
  10. The element is constrained to a scope boxes that is not visible in the view (datum elements only)
  11. The element  is a mass, and 'Show Mass' is turned off, or mass category is off
  12. The element's host view has been deleted (area boundaries)
  13. Wall is consumed by another wall, join/cut geometry
  14. Random element located far from project affects zoom to fit
  15. The view's scale, element is too large or much too small to see
  16. The element is an annotation element and is not entirely within the annotation crop region
Using Worksets
  1. The Active Workset is not visible (V/G override)
  2. Workset that is not visible in the view (V/G override)
  3. Workset is Closed using the Workset dialog
  4. Workset of a linked file was not loaded during import
  5. Workset that is not visible in a linked file (V/G override)
  6. Workset is not Visible in All Views (Workset dialog setting)
Using Phases
  1. The element's phase settings prevent the object from being shown
  2.  The view's phase settings prevent the element from being shown
Using Design Options
  1. The element has been placed in a design option that isn't visible
  2. The element has been cut and pasted to a different design option that isn't visible
  3. The design option is not visible in the view
  4. Accept Primary has been applied to a design option
  5. The view's design option has been changed, deleting annotation specific to the option
  6. User applied Make Primary, altering the view's display of elements and annotation
Using Linked Files
  1. The element is part of a linked file that is not visible in the view
  2. The user has incorrectly identified the link instance to which the element belongs
  3. The element is in a link that is not in its correct position
  4. User applied Right Click Hide in View > by Element to element(s) in a linked file
  5. The element is a linked instance with coordinates too great for Revit to handle, affects zooming

As with any list, I'm sure I've missed or overlooked something. The more complicated any given project gets, the more features of Revit that it engages, the more opportunity for elements to go missing. Happy hunting?

Friday, October 25, 2013

Opening Views

This is an echo of something I wrote in 2011.

If you are in a plan view, when you open a new floor plan view (any "plan" view) Revit will attempt to respect what you were just looking at in the previous view. For example, if you zoom in to look at a specific room or door family and then open a floor plan for another level, Revit will open the new view zoomed to the same area of the model (but on the other level).

As another example you might have two floor plans, one for furniture and one without. If you are looking at the furniture plan, zoomed in to see a single room and then open the other floor plan for the same floor you'll find Revit opens that new view focused on the same place.

The key is the view you open can't already be open, just in the background. I've posted a video to explain visually...

If you are in the habit of closing hidden windows then this can be quite effective as you transition from one plan to another.

Thursday, October 24, 2013

Autodesk WikiHelp is not a Wiki Anymore

For the last month or so the Autodesk Revit documentation team has been transitioning to a new system for help documentation. When you click the help icon (?) on the Info Bar in Revit you'll find a new format and different help web domain: help.autodesk.com.


You probably are well aware that a couple years ago they changed things to focus on a wiki based format that moved product help resources to a web based approach instead of the past Windows based .CHM help file format. This affords them an ongoing ability to deal with documentation. The results of their work appears online immediately and the very next time you click to access it. It's no longer tied only to software release cycles. It's certainly necessary to make documentation available as new releases become available but editing and additions no longer have to wait for the next release, nor do they have to consider issuing software updates just to distribute help documentation changes.

Wandering off on a tangent, people are often reticent to rely on help documentation or manuals, and not just for software. I'm sure there are plenty of reasons for that bad habit. Personally, many times the quality of the information is lacking so it's tempting to ignore what I don't find useful. Overall, I find that the quality of the documentation for Revit has been steadily improving. They revisit topics and that means ignoring the information means I miss those changes. That written, I still think the help documentation tends to explain things without useful context. For example, Levels have a parameter called Story Above.


This is the description for the Story Above parameter on the help site (with my snarky comments inline).

"From Revit Help"
Used in conjunction with the Building Story parameter, this parameter indicates the next building story for the level. (Implied by the name) By default, Story Above is the next highest level for which Building Story is enabled (NOT necessarily the relevant floor above). To access a list of all building stories above the current one, click in the field. (Ooh, I have to click on it??) The Story Above does not need to be the next higher level or building story. (Cool, anything else I should know?) If the selected level is deleted later or if Building Story is disabled, any levels with this level as their Story Above will revert to default behavior. (Still confused, why should I care again?)

That description does not really tell me why I should care about this parameter. It does tell us that it has something to do with this other parameter called Building Story. The first time I saw these I imagined that the stair tools might use them to guess more accurately what the base and top constraints should be. You may have noticed that Revit just assigns whatever the next higher level is to the top constraint. This means that if I've got an intermediate level for something like a stage platform that isn't really a building story on its own the stair tool thinks that's the next level instead of the next real building story.

If I happen to read further down in the topic I notice that there is a link for Exporting a Project to IFC. Fwiw, if I use search for Building Story the first result is also Exporting a Project to IFC. When I read about that I learn from this section:

"From Revit Help"
Split walls and columns by level allows you to divide multi-level walls and columns by level. When you use this option, Revit cuts the walls and columns by each level that is defined as a building story {my emphasis}. (See Level Instance Properties.) For elements whose base level is a non-building story level, Revit exports them using the next lower building story as their base level, with an appropriate offset. Revit only exports levels for which the Building Story parameter is enabled, unless no levels are defined as building stories. In that case, Revit exports all levels that are used as base levels for walls and columns.

It would be a LOT more "helpful" if the description for Story Above mentioned that our day to day work inside Revit won't be affected in the slightest by this parameter BUT if we export to IFC it becomes important. The same is true of the Building Story parameter. Features and additions like these that have very specific implementation but opaque intentions just add to the complexity of Revit. If I wrote the documentation I'd have started off with something like, "This is only relevant for Exporting to IFC", if in fact that is true. If it isn't then what else are they not telling us?

Back to the subject of the help format. So far so good. It looks pretty good. The search results provide a portion of the subject to help see if it is relevant enough to focus on. The speed is pretty good. I don't like it's preference for Internet Explorer which I only use when forced to. {Per Jeff's comment this is defined by the browser setting in the Revit.ini (there is one for default and one per user profile) and we can choose which browser we prefer.}

At the moment the lack of access to a unique URL for each topic is annoying. I've read that this is something they are working on so eventually it won't be an issue. For now we have to rely on the Share widget to access one of the social networking share options.


I find that Twitter and Delicious are the only two options the show the unique URL without having to log into the social site first.


This means a Twitter account isn't required to access the URL so I can share it with someone else. Just be careful not to include the "Reading:" portion of the URL information (see the image above). As a member of online Revit user groups like AUGI and RevitForum.org I often want to share a link to the help documentation with another user to answer their question. It's tedious to do it at the moment but eventually it won't be.

Then again it's this kind of subtle "miss" that make me wonder what goes through their minds as they prepare to unveil the next great help concept from Autodesk. Maybe they are jaded themselves about how much people actually rely on their work? I hope not. If unique URL's were another week away then perhaps holding off a week would have made for better first impressions? Sometimes I think Seth Godin's "Ship it" is misconstrued to to mean ship it regardless of fit and finish and readiness.

If you rely on Google searches to find help documentation it will take some time for Google to index their new help site. Once it is indexed we should be able to rely on Google searches too. I read that the documentation for older releases is being transitioned to the new site format now so if you are looking for 2012 help you'll be directed to 2014 information for now. The standard line is offered, "We apologize for any inconvenience".

Wednesday, October 23, 2013

Tagging Elements and their Area

Revit allows us to tag rooms and spaces to display their area. If I'm tempted to do the same for Walls, Floors, Ceilings or Roofs the list of available system parameters (built into Revit) does not offer Area. Revit MEP users can tag a Duct's area.

It seems to me a bit arbitrary to disallow the tagging of data that is part of the element. We can see it in the element properties and include it in schedules. While a schedule is an ideal way to summarize data a floor plan is useful to provide context AND display a variety of information, like area.

It would be excellent to see more parameters unshackled.

Tuesday, October 22, 2013

Worksets and Project Browser Sorting

I've seen and heard claims that Revit passes changes to the Project Browser sorting along to the central file and therefore on to other user's local files during a Synchronize with Central (SwC).

In Revit 2012-2014 (all that I currently have on my PC) I find that "my" project browser selection does not transfer to other users during a SwC. I do find that anyone who opens their local file will inherit the "current" Project Browser setting.

When we use SwC Revit is storing the Project Browser sorting criteria but it doesn't alter any open local file's configuration. Occasionally I find that if I watch the Revit interface during a SwC that it looks like the Project Browser sort of "flashes" as if it is changing and then restoring "my" setting. I've also noticed that occasionally Revit's "focus" changes (highlights/bold) back to the "Views" heading, when there is a difference between my local and another local's setting.

Anyone that opens a new local file will inherit the "current" Project Browser setting. Current is based on the most recent SwC and that user's setting. This means we can casually change the Project Browser setting while we are working but new local files that are opened after we use SwC will inherit "our" Project Browser setting.

It might be considered polite to remember to set the Project Browser sorting to a "standard" one before we use SwC, at least if we are the last one in the office. It's not hard to pick the browser configuration I want instead once my local file is open and it doesn't really bother me to do so. It does annoy some people though. If a team is aware of this subtle dynamic they can decide how they want to deal with it.

Monday, October 21, 2013

Autodesk 360 Rendering Competition

Nisha with Autodesk wrote to let me know that they've opened a rendering competition, beginning today, to help demonstrate the usefulness of rendering via Autodesk 360. What can you win? They will select three winners and those three will feature exclusively in their Autodesk® 360 newsletter, worldwide distribution, as well as receive prizes like an iPad, a $500 gift card and more!


Here’s your chance to show Autodesk your talent and do what you love doing from now until November 15th, 2013.

Interested? Follow these instructions:

  • Create a still image rendering of anything you like: a building model, residential interior or object design.
  • Visit Rendering in Autodesk® 360 and sign in to your Autodesk® 360 account.
  • Upload your design from Autodesk® AutoCAD®, Autodesk® Revit® or Autodesk® Fusion 360.
  • The final render must be done in Autodesk® 360 to qualify.
  • Upload up to 5 images at once to enter here: Autodesk 360 Rendering Competition Site

Friday, October 18, 2013

Text Editing and Zooming

Anybody that's been using Revit for awhile has probably thought, "It would be nice if the text editor was better". It's always been very rudimentary and even with the few improvements it's received it remains so.

One point of pain is using TABS to create columns of information. The frustration isn't the concept as much as how Revit alters the format of the text when we select it to change it. If we get everything just right and return later often the text gets messed up. This is an example of text that I've formatted into columns with the TAB key, text style is set to a Tab Size of 1/8".


Awesome bank balance eh? Here's what happens when I zoom in to see the text a bit better and select the text again.


Autodesk support suggests we try to return to the same zoom factor we used to create the text. That's hard to do if we didn't create the text or if we come back later. They recommend we use the Zoom Sheet Size feature to ensure consistent editing zoom factor.


Zoom Sheet Size adjust the view as if we are printing and viewing the information at 1:1, taking in account the view scale. This image shows using it on both a floor plan and sheet view that has the same floor plan on it. Zoom Sheet Size adjusts both views to show the information at the same "size".


Fwiw, when I see the formatting is messed up I find that using Zoom Sheet Size and then selecting the text and clicking it again to edit the text Revit will "fix" the formatting that was messed up by zooming in closer earlier. Something to consider until text is less finicky.

I should also mention that with 2014 this kind of tabular information could be created in the header portion of a schedule like this.


And again but without grid lines visible, more like the text but with a bit more control over formatting.

Thursday, October 17, 2013

Schedule Column Selection Wish

Short and sweet. I wish that when I select a column in a schedule and drag across multiple columns that the view would scroll as I move beyond the frame of the view. This way I could select all the columns in a schedule that is too wide to do so in one pick/drag motion.

Wednesday, October 16, 2013

Finish Floors and Doors

It's a fairly common practice to create separate floors for structure and finishes. The structural "layer" of a floor may actually be modeled by the structural consultant, assuming the structural engineer we are working with uses Revit and isn't working directly in the same model with us (architecture bias in this post).

Architects usually document floor finishes. Quite often I see this done as a Filled Region exercise. The effort required to sketch a filled region is not much different than sketching a floor boundary. The benefit of using a floor instead is that's it modeled and it will be available in many views, as needed. We can tag and schedule them to study and document the design more effectively. External applications like Revolution Design's Revit Workflows offer a specific set of tools to manage creating finish floors very effectively. KiwiCodes offers their own version as part of their Bonus Tools app. These tools make the notion of using finish floors that much easier to consider.

One side effect of modeling finish floors is that they can compromise the door graphics we use, for example the panel and swing we are used to seeing in plan views. This happens because these graphic features are usually created on the work plane of the host level. The other issue is that, even if the floor doesn't obscure the graphics, the door panel, if just lines, probably won't mask the floor finish fill pattern (if one is used).

If we create a masking region (or lines) directly in the door family, to represent the door panel it will mask the floor finish as long as the Draw in Foreground parameter is checked.


Quirkiness ensues if a nested family is used. I happen to prefer to deal with swing graphics as a nested family. My logic is to make it once and use it in many families; a "kit of parts" mindset. Unfortunately the Draw in Foreground setting fails to work when the nested component is brought into the host door family.

To resolve this we need to make it possible to raise the graphics higher. Filled and Masking Regions can be assigned to a Reference Plane; Model and Symbolic lines too. This means we can use a parameter to change the elevation of the graphics, via the parameter and associated reference plane, to compensate for various floor finish conditions. The setting Draw in Foreground will allow this to work as long as we don't check it, which seems counter-intuitive.

In this image I've use the Draw in Foreground setting on native lines and masking regions, not checked on the left and checked on the right. I've also nested a swing family. The red elements are visible and the highlighted (purplish) are not visible except that they show up because I've got my cursor hovering over the family.


To get the nested swing family to show up above the floor is was necessary to not check the Draw in Foreground parameter for the masking region and lines. It was also necessary to place them on a separate work plane in the family that I could control with a parameter to raise it above the floor elevation in the project.


In the image above the only graphics that don't show up now are the bottom left line and masking region. They won't show up because the Draw in Foreground parameter is not checked. It's easy to sort out once you know.

Speaking of 3rd party applications, I used the Revolution Design tool to create floors for my testing. The app coughed when I tried to put in some floors. After looking at the error message I noticed that the doors I was working with don't map a value to the stock Width parameter, they use their own parameter to control the width. This annoyed the floor tool because it's looking for that parameter, the stock "Width". It's hard enough for programmer's to create applications that suit our varied needs. It's even harder when we create content in a different way than what they might reasonably expect in order to complete their tasks.

At first I was a bit confused but then I remembered that their floor tool will create a sketch that turns into door openings to define where the edge of the floor will stop for thresholds. The application looks at any doors it finds along the boundary of the room and creates a sketch based on the door Width parameter it expects to find. In this case the value was zero width and that made the application mad, Revit too. It was easy to fix. I just used a formula in the Width parameter that mapped it to the parameter these doors were using instead. Just another subtle thing to consider when we make content.

Tuesday, October 15, 2013

Workset Visibility and Linked Files

In October of 2010 I described a technique we could use to control the worksets in a linked file without having to go through the Visibility/Graphics dialog and the Revit Links tab followed with numerous options for overriding things.

Over the years things change and it appears that is true for this technique now in 2014 (possibly earlier releases). It appears to be better or at least more reliable to decide which worksets to close or open via the Manage Links dialog directly or the right click > Manage Links option when you select a linked file in the Project Browser, like this:


This came about because a member at RFO was describing erratic behavior while trying to use this technique. It would behave as expected when he turned off some other workset's visibility. I found that to be true but less specific about visibility as much as interacting with something local as well as the linked file. Bottom line, I get predictable results if I use the above method instead.


Monday, October 14, 2013

Where did these Rooms Come From?

When you examine the Options Bar while the Rooms command is active you may find something like this image.


Rooms in that list are "Not Placed" but we (someone) may have created them by placing a room and then deleting them later. They could also be left over from when the project template was created, rooms that were created along the way but not eliminated before turning the template over to the project teams. Rooms are to be managed with schedules. We have final control over the reality of a room there. If we don't want them in the list on the Options Bar we can either place them where they should go in the model or delete the room's row in the schedule.

Deleting a room in a floor plan does not remove the room from the Revit database permanently. Deleting one from a schedule does. This allows us to move a room to another location or another floor without recreating the information. I can delete a room on the second floor (in a plan view) and then use the "Not Placed" record of this room to put it where it should go on a different floor. If I decide I don't really need a room I can just open the schedule and delete it for good.

For some background, Revit allows us to create a list of rooms prior to any actual walls defining where they could go. Imagine having a meeting with the client and they give you a list of rooms they want or need. You can create a basic room schedule with number, name, and area for example. Then each time you click the New button in the Row panel Revit generates a new "Not Placed" room. Repeat and fill in information until all of the project's program information is entered. Now as users create walls the room are "waiting" to be placed where they should go.

By the way the same things are true for the Area and Space elements.

Friday, October 11, 2013

Room Separation Line Overlapping a Wall Error

Another inspired by email: When you sketch a room separation line and it overlaps a wall you'll get yelled at. Revit will also store the warning for you to deal with later using Review Warnings if you don't resolve it right now, when the warning first appears.


If you change the Wall's Room Bounding property so that it is "off" or un-checked you'll still get yelled at when they overlap. Revit isn't checking to see if a wall is room bounding when it catches the condition. It's only concerned that they both overlap. No grace for you!

Thursday, October 10, 2013

Undoing the use of Clear Cell in a Schedule

I wrote a post in June 2013 that describes the new feature for Revit 2014 schedules called Clear Cell. This allows us to separate the view name in the project browser from the name we see in the schedule header. I got a comment on that post yesterday asking how that can be reset or undone. It's pretty simple though not obvious perhaps. It boils down to putting a parameter into the header instead of the text we used after using Clear Cell.

To reset the header, while in the Schedule Editing mode/view, click in the Header field, notice the Parameters panel on the ribbon?


Click Category: (a drop down list box) > Choose Schedule

Now click the Parameter: (a drop down list box) > Choose View Name

You should see now.


The brackets indicate that Revit will provide whatever the parameter value is. In this case its the parameter value for View Name.

Wednesday, October 09, 2013

EQ Constraint without EQ

Another question via email: "I want a column that can be defined as equal width on either side of its center line but occasionally I'd like to be able to make it unequal. Is there a way to toggle on or off the EQ (Equality) constraint in a family's dimension from the project?"

It isn't possible to toggle on/off the behavior of the EQ constraint when we apply it to a dimension string. If we ignore that feature we CAN define two parameters for either side of the center line of the column and when we need them equal we can supply the same value to both. When we need it to be unequal we just provide different values. Same result, just a different way of looking at the problem.

Here's a mockup, one way to tackle it, I'm sure there are other ways, other assumptions we could make. In the first image the Equality requirement is "OFF". The conditional statements in the formula column evaluates when the "Make Equal Width" parameter is on or off and the "Width Primary Side" parameter provides a value to define how much the inequality should be, based on a notion of primary side and secondary side width values. We subtract the "Width Primary Side" value from the "Width" parameter to shift the column over.


This next image is based on the "Make Equal Width" parameter being "ON" and we divide "Width" by 2.

Tuesday, October 08, 2013

Speaking of Soffits - Ceiling Wish

In light of yesterday's post I wish we could unlock the layers of ceilings like we can for walls. In this image I've unlocked the Gypsum Wall Board layer so I can pull it down to the ceiling surface.

If I want to reverse the relationship and install the ceiling board so that it covers the bottom edge of each soffit I can only use the Cut Profile tool in a section view, which is view specific, not a modelling alteration.


Or perhaps use separate ceiling types for the finish layer of the ceiling apart from the framing of the ceiling. If we could just unlock the layer like walls can it would make it easy to "pull" the finish layer over instead.

Another wish for ceilings? Create by Face would be cool!

Monday, October 07, 2013

Soffit Conditions

I received an email the other day asking for my opinion about modelling soffit conditions. In this particular case they used a thick wall to wrap a steel beam but then worried about the results when using clash detection later between the wall and beam. Since they overlap one another it would be a clash. Determining what constitutes a valid clash when modelling and who is modelling and then doing the clash detection is a deserving topic on its own.

My response is that I prefer to "model it like we build it" as much as is reasonable or possible. In this case I'd take this approach. I'd model the ceilings, one type on either side of the beam and another for under the beam (assuming "hat" channels for structure). I'd use a separate wall type (also assuming "hat" channels for structure) for the soffit "wall" so I could adjust where the gypsum wall board started and stopped.

Here's a section view.
And a 3D view.
In early design I could probably just get away with creating the ceilings and add the walls later when sections were needed.

Friday, September 13, 2013

Filter Criteria Order Matters

Taylor wrote to me to say that he noticed a subtle quirk when he wanted to filter pipe in a schedule. He needed to focus on Mark values that contain M15 and M16 for example. He discovered that the filter would work if he put the criteria in that order but that if he happened to reverse them like this, M16 and M15, Revit no longer found the M15 pipes.

Definitely subtle.

Thursday, September 12, 2013

Family Not Shared vs Shared

This isn't about sharing things with others. This about the concept that Revit 7.0 provided to families in 2004. It presents itself to us in Family Category and Parameters dialog or just in the Properties Palette if nothing is selected.


Shared or Not Shared means nothing unless the family is then nested into another family. There is really no reason to make a family shared at all if it isn't going to be nested in another family.

Most content is Not Shared, not checked. You can nest families that are not shared and you will see them when the host or parent family is loaded into a project. You see them but they aren't really there, they are just symbols. Revit has not loaded the definition of the nested family(ies) into the project. You can confirm this by scanning through the list of families in the project browser, you won't find it there.

When a family is Shared, checked, something special happens when the host family is loaded into the project. The nested family is loaded into the project too. You'll find it IS in the Project Browser now. Since it is now "real" that means Revit can include the nested shared family(ies) in schedules. You can tag them too. You can use the 2014 Displace Elements on nested shared families too.

You can also place an instance of the nested family separately if desired. By the way, nested families, whether shared or not, "kill" temporary dimensions, they don't show up automatically when you select the family. You need to click the Activate Dimensions button (Options Bar) to get them to appear.

Wednesday, September 11, 2013

Mass Floor Area vs Volume

I managed to trick myself into believing that area and volume for a "floor" should be the same whether a mass has one or several mass floors. To help explain my delusion, I created a mass that is a 50x50x50 cube, with five levels.


If I remove two levels from the mix (levels 2 and 5) I get twice the volume for floors at Level 1 and 4


Looking at the 3D view it immediately made sense to me. Looking at the schedule I found myself thinking something was wrong. Why is there double the volume? Why would the floor think it is so much bigger? The real problem was my perception. I was thinking floor, the thing I walk on, instead of a "floor", where I am in the building.

If it isn't obvious, the Mass Floor area is the surface area of the mass floor element. The Mass Floor Volume is the volume between mass floors or the top and bottom of the mass if there are no other mass floors.

Btw, you can select and delete a mass floor, like in a 3D view for example, and that's the same as opening the Mass Floors dialog and un-checking a level.

Tuesday, September 10, 2013

Learn to Program the Revit API

If you are interested in learning the Revit API Harry Mattison (Boost Your BIM) created an online course hosted at Udemy (The Academy of You).

It's delivered in 33 video segments which vary from a few minutes to a little over fifteen minutes. It's also very reasonably priced at $149.00. Maybe I'll see you on campus?

Learn to Program the Revit API

Monday, September 09, 2013

Paul Aubin Book Survey Seeks Input

Paul Aubin recently mentioned that he's working on a new book, title TBA. The title is one of the things he's asking about in the survey.


If you are interested in the subject and can spare a few minutes to

Click to Take the Survey

Friday, September 06, 2013

Project Base Point Manipulation

I written before that I occasionally experience something that feels like a "Revitary alignment" regarding features in Revit. I'll see a post at AUGI or get an email or two from friends or clients asking about the same thing or theme. I recently ran into a user that manipulated their project by moving the Project Base Point. Then a post at AUGi meandered into a related conversation.

General Statements
  • The Survey Point allows us to show where an imported CAD file's origin is relative to your model (CLIPPED)
  • The Survey Point allows us to identify a benchmark location on the site instead of referencing source file's origin (UNCLIPPED)
  • The Project Base Point does not ever "need" to be moved (CLIPPED) normally (my opinion/belief/preference)
  • The Project Base Point will allow us to move our project on the site (relative to survey coordinates) to reposition it (CLIPPED) but the file origin isn't changed
  • The Project Base Point (UNCLIPPED) will let us identify an alternate location that Spot Elevations and Spot Coordinates can reference
Applied to a Project

Let's say you design a house, import a survey and it's off to the right and above your building. If you use Acquire Coordinates on the survey file you should find the Survey Point (CLIPPED) moves to mark the origin of the source survey data file (sometimes this is quite far away). The Project Base Point (CLIPPED) can be used to reposition the building over the site. Just drag or move it with specific values. What you see moving is the "Project". The file origin is untouched and you should see that the linked survey file isn't moving either. If you import a small origin "marker" file using Auto - Origin to Origin you'll find that it lands at the Project Base Point. Now if you move the Project Base Point (UNCLIPPED) you see that you can move the icon to another location but it still references the "survey coordinate system origin" (see image).


That approach works for a single building on site but is not very effective for multiple buildings on site. The approach I advocate where we create a site file that is coordinated with survey data and serves as the master coordinator for multiple buildings which are linked into this master site file is much more effective and versatile. Since this subject can be confusing enough I advocate using the same approach for any project so I can learn one technique and use it over and over, since it works for any project.

Thursday, September 05, 2013

Revit 2014 Update Release 1

An update for Revit 2014 became available recently. It has been blogged and tweeted many times already but I chose to echo it now because I've encountered questions about it a few times this week. This applies to all Revit versions, Architecture, Structure, MEP and Revit (aka "one-box"...all Revit disciplines in a single Revit install). These are update links for each version:

Revit Architecture 2014
Revit Structure 2014
Revit MEP 2014
Revit 2014 (one-box, only available as part of BDS)

Wednesday, September 04, 2013

Families with Nested Families and MEP Connectors

While trading some emails with Aaron Maller recently he mentioned that he observed that he could create circuits for nested shared electrical families. I don't recall Autodesk publicly taking credit for adding or allowing this behavior but I find that it has been possible as far back as the 2012 release. I'd try earlier releases too but I don't have them installed anymore. Since I started preparing this post I've discussed it with Jose Fandos and he confirmed that it is possible in 2011 too.

I'm a bit frustrated because I thought I tried to explore this possibility a couple years ago while making some electrical content. Rather than dwell on what I thought wasn't possible I'll focus on what IS possible instead.

Experience tells us there are many components that have a variety of options or configurations that can prove difficult to include connectors in, for example a boiler with its electrical panel available either on the right side OR the left side. When a single connector is placed we are inclined to placing it in the "middle" so we can "connect" it to a power supply. That's easier to accept for electrical connections but not as easy for piping or duct.

When the connectors are native, placed directly in a family, it isn't possible to put two connectors in place but disable one or the other. Revit sees both even if we only use one of them in the project. With two connectors in the model we can define where connections take place more accurately but ultimately we end up with one valid connector (connected) and another lurking as "unassigned" within the system browser. It might not a big deal but Revit's developers encourage to assign everything to systems so this approach means there will always be some we can't assign properly.

If the connector is part of a nested shared family and this nested family is assigned a Yes/No parameter to control its Visible parameter we gain control over not only when it is visible but also whether or not Revit sees a valid connector in the host family when it is loaded into a project. This is a crude example with connectors for pipe, electrical and data circuits, offering a conceptual right and left configuration.


When I use a yes/no parameter to control the visibility of the nested families it is interesting to find that the system browser responds to their condition. As can be expected Revit will delete a circuit or system associated with a nested connector if we choose to turn it off.


So far I find that I can create systems, connect pipe and duct, draw wires as well as tag the nested shared families. This means that it may be a bit easier now to define a component that has multiple circuits. This can help counter the limitation that a family can only report circuit information (in a tag) for the primary connector when multiple connectors are in a family.

It isn't perfect...naturally.

Nested families with connectors are harder to see and therefore are harder work with. The connectors are only visible when you hover over the location where they are when you are using the appropriate tool, like duct, pipe or wire. That also means we can't use the convenient right click "create pipe/duct/wire" options because we can't see the connectors.

It may also confront us with a need for sub-categories for connector geometry, not for the connectors themselves but any forms we use to host them. It can be easier to find the connectors if we can see the hosting forms but we may not want to see them in every kind of view.

Ultimately I think it's worth exploring further. Perhaps you'll agree?

Tuesday, September 03, 2013

Schedule Linked Files

We can schedule elements that are in linked files but there isn't a schedule that is only interested in telling us what linked files there are. We can determine which files are linked easily enough while working inside Revit. What if we want to document what files are linked into our model and include this information on a sheet? We can take advantage of the addition of Grids and Levels as elements we can schedule in Revit 2014.

If we assume that all projects will have levels and probably grids a schedule that is assigned to one of those categories can be manipulated to look like it is just a schedule of linked files. Then we can combine that with a Starting View if we want to see it each time our project is opened. Add the schedule to a general information sheet and it can be part of our documentation too.


I created a schedule that includes the fields for RVT Links and at least one for Grids. In this example I used Grids to drive the schedule but Levels are probably a better choice.


When we load a linked file we can supply a unique "Name" value. When we use Reload From or Reload later to update the model we can revise the "Name" parameter to show the current version/date.


Make a custom titleblock family and add the Project and Client related parameters as desired. Load the family and create a new sheet using this special titleblock. Add the new schedule to the sheet. To use this as a starting view activate the Manage ribbon and click the Starting View button. Choose our special sheet view as the starting view.


I used the Clear Cell tool, new in Revit 2014, to remove the link between the schedule name and the header text. This allows us to call the schedule something meaningful in the project browser and show something else in the header of the schedule on the sheet, as shown in the first image in the post. Since schedules can be on any number of sheets it is an easy matter to place it on additional sheets if desired.