Monday, January 30, 2012

Multi-Disciplinary View Coordination

Back in 2008 I posted a response to an AUGI thread which contains tips that are still relevant to this day and might be unknown to some users. So I thought of echoing it out here.

The main question was about what the best process is to ensure that view extents (ex: plans) are coordinated between different sheets and different disciplines. The discussion then centered on Scope Boxes:

“When you create a scope box, it's just like drawing a rectangle in plan. You can specify a height too (that's why it's a scope box and not rectangle!). Make sure you give it a good descriptive name (Ex: Area 'A'). You can then go to a plan view's properties and under Extents, assign the Scope Box that defines the area you want to see. The crop region will automatically coincide with the scope box. In fact to change the crop region, you now have to modify the scope box by moving the drag handles and the crop region will follow.
So for a large project, the workflow would be as follows:

  1. In an overall plan view, place scope boxes to "chop" your plan in meaningful pieces so it fits on your drawing sheets. Name them accordingly and place any matchlines and view references here;
  2. Create dependent views (let's say you have 5 plan areas....create 5 dependent views and we'll assign them to the 5 scope boxes created in step (1));
  3. Go to each dependent view, name it something meaningful (ex: Area 'A') and assign the appropriate scope box to it. You can turn off scope box visibility to remove clutter as you typically overlap scope boxes so you can show some context (you have to do this to properly use matchlines);
  4. If you want to make changes to the crop region, always go to the parent view, turn on scope boxes or use the Reveal Hidden Elements button (if scope boxes were hidden, they'll become visible in magenta)....you can now modify them and when you're done, click on the Reveal Hidden Elements button once again and they'll go away or hide the category. Your crop regions would have automatically followed the changes in your scope boxes;
  5. The above is done typically by Architectural. Now consultants just link in as usual, they set a plan view that shows the scope boxes, match lines and view references (perhaps set to "By Linked View" to facilitate this) and copy all these elements into their project file. You do that by tabbing until the object in the link is highligted, then copy and paste in the same location*. Now you just need to carry on from step (2) once you have the same scope boxes residing in your project.”

* As Steve Stafford noted in the thread, scope boxes tend to paste exactly in the same spot automatically, regardless of the paste option picked.


Share/Save/Bookmark

Wednesday, January 4, 2012

Resolving locking issues with Revit Server

Hi everyone, hope this New Year brings you all lots of health, happiness and prosperity!

If you’re using Revit Server (why not?), then you’re probably familiar with this particular WIKI article on Model-Level Locks. If you have not noticed, when users report that they cannot access a particular project or synchronize, you also cannot lock the project in the Revit Server Administrator. Without the ability to lock a project, users cannot do anything so it is of utmost importance to get locking-unlocking to work first. Unfortunately we’ve had a couple of occasions where models were in limbo, even though we followed the instructions in the WIKI article.

There are various reasons that could cause a project to break and I won’t try to analyze that. But it seems there is a way to restore balance to the universe once the permissions get sorted out.

surgeryFirst, clear the .lock files as described here. As a precaution, it seems sane to stop the Local Servers in the IIS Manager first, and then stop the Revit Server Autosync service on each Local Server. Alternatively, you could shut them down completely, but as long as you stop the communication between all servers, you should be good to perform some minor “surgery” on the main patient: the Central Server, which has to be up and running. However you also need to stop the Revit Server Autosync service on the Central Server. It seems that in this state, project files that were previously unlockable, can be locked once again, so cycle through them…wax-on, wax-off. If this doesn’t work and you previously deleted the two .lock files for each problem project, go ahead and re-create them manually (notepad is your friend…remember to remove the .txt extension) and try again. I cannot say with certainty whether this is a necessary step since we did perform this task and I honestly don’t know whether to attribute success partially to this fact or not.

When you’re satisfied that locking/unlocking is working, re-start the Revit Server Autosync service on the Central Server. Go back and cycle locking back and forth once again (preferably at the Central Server master node) to ensure everything is working properly. Finally, bring the Local servers back online and don’t forget to restart the Autosync service.

I hope this helps someone in the future. If you have had similar experiences or found alternative solutions (don’t tell me “re-create the central file”: been there, done that!), I would love to hear about them.


Share/Save/Bookmark

Sunday, November 27, 2011

#AU2011

The boarding pass is ready, packing is not yet started, and departure is in 20 hours. I’m finally going back to AU after a two year hiatus. Fingers crossed for an exciting event and the usual great networking! Follow along using twitter #AU2011 which is embedded in this post.


Share/Save/Bookmark

Saturday, October 29, 2011

Plugs

Plugs

No, this is not about Revit MEP. I just have a bunch of announcements/news items that are probably of interest to the Revit community and want to condense them into one post. I’ve been a bit busy and frankly don’t want to fill your inbox with a ton of infomercials. I receive a lot of “press releases” but don’t want to turn this blog into more spam so, since this is my blog, I get to decide what to post and when! And probably most of you have already heard those from other sources, so here we go…

Apps/Plug-ins/API

Kiwicode’s Family Browser has received some really great upgrades recently (thanks Phillip!). The browser window can now be re-sized without having to enable borders and we can now link families from various folders. I cannot wait to set aside time at work to assemble some custom palettes (favorites of sorts). There is also a Favorites tab where you can add/link families so they are literally at your fingertips. Say you are detailing for the rest of the day: you would use this tab to place the most needed components so you can be fast and productive. It’s a brilliant idea! The search function is also quite snappy now. The first time you click into the box, it indexes the families (takes a few seconds) and then, subsequent searches are almost instant.

As you can tell I’m really excited about these improvements, but in my opinion the best one yet is the revamped insert behavior. Now when you click on a family in the palette, it automatically previews with no need to click in the canvas. A single click places an instance, just like native Revit behavior. And if you click on another family while actively placing other instances, it automatically switches to the new clicked family and you can continue placing the new instances. This is also native Revit behavior and makes this plugin feel like it’s part of the software. These were real sticking points for users in the previous version (from personal experience) and now it feels completely seamless.

Kiwicodes really listens to user feedback. Check out my previous post on this topic and note the list of wishes; they’re almost all implemented and then some!

Steve Faust of Revolution Design has some really great apps too. I just want to mention Keynote Manager and the recent Selection Master. Steve has graciously given me a license for the latter and I plan on writing in more depth about his tools, but wanted to plug them now so you can check them out.

Have you ever had to delete unwanted levels in your project and couldn’t because it would have taken a lifetime to find all the families hosted on them? Thanks to the re-host feature, now you can with Selection Master. This tool is a must-have in every BIM Manager’s arsenal. More on these tools in future posts.

Digipara’s Elevator Architect is another tool I’ve been aware of for a while. Unfortunately I tried using it in a recent project but it has failed me. Due to time constraints I have not had time to troubleshoot in depth, although the authors have been very responsive in trying to collect data. Hopefully in the future we can get to the bottom of the problem and use it successfully. As always I might write more in depth in the future.

Learning Revit (and Vasari)

Renowned author Paul Aubin has a new Revit family building course on Lynda.com. You can read all about it here. If you want to sharpen your family building skills (and you know how important this is), you cannot go wrong using this great resource!

What!?! You don’t know what Vasari is? They are up to version 2.1 on Labs and I really wish I had an extra 10 hours a day to play with the cool features that are not in Revit. If like me you’re finding it hard to keep up with everything and don’t have time to test yet another application, you can go to the newly launched Vasari Talk (yep, another link for your bookmarks!). You can participate in live webinars after signing up, or you can watch past recorded sessions.

Navigating Revit

By now you all know that 3Dconnexion’s devices work with Revit. I have not had a chance to try one yet but it looks like it would be a great tool. In the meantime, they are having a drawing for a trip to Autodesk University in Las Vegas on Nov. 29 – Dec. 1, as well as airfare, accommodations and a SpacePilot PRO 3D mouse. You can click here to enter. And speaking of AU, I was lucky enough to make plans for attending this year (thanks AUGI and PhiloWilke!) and am looking forward to meeting up with some old buddies. See you at the AUGI booth!

Evangelizing Revit (and digital simulation)

Abstract submissions for SimAUD 2012 (the Symposium on Simulation for Architecture and Urban Design) are fast approaching. The upcoming symposium will be in Orlando, Florida and you can find more about it here. You can also go to this link for the proceedings from the past two years.


Share/Save/Bookmark

Thursday, October 13, 2011

Face Painting in the Family Editor - FIXED!

Following up on my previous post on the topic, the Factory provided a hotfix for this today. You can read all about it courtesy of Kathryn at Revit Clinic. 13 is such a lucky number, isn’t it?!

To use this functionality, create the parameter first in the Family Types dialog. When you then launch the Paint tool, the parameter will be available as a material in the dialog.

Parameter painting

Installation of the hotfix is a snap…just copy and paste the dll.


Share/Save/Bookmark

Sunday, October 9, 2011

Immaterial? I don't think so

This is a follow-up post to Immaterial? from almost a year ago. I promised to write about a new method we’re employing in one of my comments but got too busy. Finally I’m getting around to it. Be warned: it’s long.

I originally held off posting to see whether 2012 would bring any solutions on this front but that didn’t happen. At least now the bottom of the Custom Parameters section adjusts with the Materials dialog…hurray!

The least-worst solution I prefer is ugly workaround #1 as mentioned in the previous post. I hit a serious snag while experimenting but finally got through it. I like to refer to this methodology as the Materials sample board concept. Think about your office for a minute: you probably have a vast library of samples. This is analogous to the Materials dialog in your Revit project file. You don’t use all materials in your library in every project, nor do you schedule all materials used in your finish schedule (Ex: insulation, gypsum board, etc.). The same applies to Revit projects. Even assuming every material was actually used in some form or fashion, you’d want to only schedule a select few as finishes, which requires some filtering mechanism.

When crafting office-wide workflows, you have to be careful to keep things simple. This is a hard thing to do when the tools don’t do exactly what you want. So compromise is absolutely necessary in order to arrive to the best-possible solution. It won’t be perfect or satisfy every requirement, but will result in an improvement over how things are done today.

We all understand materials sample boards: designers pick paints, flooring materials, ceilings, glass, cladding, masonry & brick finishes etc. and present them on a board to get client approval. Those materials then find their place in the project, usually within room finish schedules, tagged elevations, etc. So my goal was to extend that concept into Revit. Presentation of those materials was not at all considered as you just cannot achieve that through print.

As discussed before, Revit will only schedule a material if it is used on a placed object. So the starting idea was to place “material swatches” in the project template and make them very difficult/impossible to delete by mistake, without resorting to obtuse ways of concealment such as through worksets, phasing or design options. This was a very important requirement so everything could be pre-set in the template, including the finish schedules. It was also very important to have the same materials used in the material finish schedule as materials in the objects themselves and utilize built-in & custom material parameters to store information that we want to see scheduled such as Manufacturer, Color, Pattern, etc. This would open up possibilities of building material libraries per client and/or project type to be re-used in the future.

Another important requirement was grouping of finishes by surface/object, such as Floor, Walls, etc. Since various materials (such as paints) could be used on different surfaces, it was also essential to have the ability to add unique schedule notes to each material in each application, which meant that this information could not be stored within the material itself. This issue, coupled with concealment methods, turned out to be a head-scratcher.

Material Swatches

The starting point was a simple generic model family that was to be placed multiple times in the template. After several iterations and reasons, it became clear that shared and nested families were required. Each shared “swatch” was nested multiple times into a base family that would represent the application/surface of those materials.

Material Sample Board Family

Multiple types were then placed in the template and editing these family types becomes the UI when building the finishes information. Type Comments is used for the schedule sub-headers and Schedule Order is for defining which application order is displayed in the material schedule.

Material Sample Board

In this example, I have 5 placeholder materials for each application but of course you could add more to suit your needs. Since we have 8 applications, 8 instances were placed in the template. The solid geometry of the swatch family was then set to not be visible and finally reloaded, making them completely invisible and unselectable.

Concealment

Here are some interesting family facts that made all this possible:

  • If family geometry is made to not be visible, material take-off schedules still pick up the materials used and properly report quantities (volumes/areas of materials on non-visible solids are excluded). Hence the use of this technique will not skew your take-offs.
  • Families are selectable in-canvas even with no visible geometry unless all reference planes are set to “Not a Reference”.

These are the key elements needed to let us place “swatches” to host finish materials and prevent accidental deletion. Note that one can still pick the family in the browser and delete it, but you also get a warning that you’re about to delete “x families”, so it would be a deliberate mistake or done purposefully and not accidentally.

Material Facts

As mentioned in the other post, only the material name can be used in room schedules. Revit does not permit duplicate names so this can be used very effectively as a “Type Mark” since duplication cannot occur. The only hitch is that you cannot rename a material in the schedule: you have to rename it in the Materials dialog.

By using the Material Class, you can isolate the materials that represent finishes to make navigation easier.

Material Class

In the above picture I’m also highlighting a big shortfall in Revit: the inexistence of multi-value parameters. For example walls in certain rooms often receive multiple finishes: a paint and ceramic tile or FRP panels. My workaround is to create materials whose name represents a group of multiple finishes. This is solely used in room schedules. For the record, this is not something I’m happy about! However there’s no other way to achieve this and when using text parameters, we’re essentially doing the same thing.

The Finishes Schedule

Material Finish Schedule

To build a material take-off schedule (for Generic Models) to filter only the materials in the “material sample board”, I simply filtered for shared parameter “Schedule Order” as “parameter exists”, which is also used for sorting the application order (Floors, Base, etc.).

Conclusions

So why all this pain you ask? Well, keep in mind that once this is set in your project template, all it takes is for users to pick the materials and edit as necessary or create new ones. It also opens up the possibility to save material libraries rich with information that can be re-used. Not to mention that with material tags that read the material name, you’ll have flawless coordination with the “type marks” used in your finish material schedule. Room finishes can also utilize these materials in lieu of text parameters, although for multiple finishes you have to resort to the workaround mentioned above. Finally, we also have to make another check: that each finish that shows up in the finish material schedule is actually used in the project since these are manually added. For this purpose we also set up a “checking sheet” that contains a series of filtered schedules to make sure no finishes have been missed or added. Obviously it would be great if things were all automatic, but at this point this is as good as it’s going to get.


Share/Save/Bookmark

Tuesday, September 6, 2011

Securing links through worksets

In my projects, I typically create a workset for my consultant linked models and check that workset out permanently to prevent accidental deletion/movement of links (ex: to user "RevitCOP"). The username just needs to be a unique one to prevent anyone from accidentally making an undesired edit.

I have never been a fan of Copy/Monitor functionality but recently I started using it and am running into a problem. When I try to stop monitoring elements or go through coordination monitor to make changes, I'm told that “RevitCOP” has the workset for the links checked out and has to relinquish it before I can make changes. Why is this necessary? All I want to do is move my grids & rename them to match the link (through coordination review). Because of this, I have to open my file under the RevitCOP in order to do copy/monitor & review operations, which seems totally unnecessary. Or I have to quit "securing" my linked files altogether, which I’m really not ready to concede.

During a copy/monitor and when going through warnings, all you're doing is to change the elements in the host file (unless you reject changes, in which case nothing is physically changed), but nothing is being done to the linked project. So why is Revit being so inflexible about a permission that is (intuitively) not required?

I sincerely think that the current logic of having to own the element/workset in order to perform copy/monitor and coordination review is something that really needs to be looked at closely by the Factory. Probably Revit is writing some kind of tracking information to it, but since the only mechanism of securing links is through forcibly checking out worksets, this is causing undesirable consequences and related frustrations (and we don’t want that, right?)

angry[1]While we’re on the subject of Coordination Review, it would be really nice if we didn’t have to use the steering wheel in order to pan, and simply use the middle scroll button as we do in regular view navigation!


Share/Save/Bookmark

Wednesday, August 31, 2011

Revit Server is Desktop no more

Well, we finally gave up. Reluctantly.

Our Windows 7 setup seemed to be working just fine. However we were plagued by Revit crashes following a successful synchronization with central at the location connected to the Local server. At first we thought bandwidth was to blame so we upgraded our connections by installing business cable at the location with the least bandwidth, fully dedicated to Revit Server to Server traffic (2Mbps up, 12Mbps down). We left the previous connection in place to other uses such as VoIP, VPN, etc. In the main office we left the bonded T3 (3Mbps up, 3Mbps down) alone but removed traffic shaping to make sure Revit Server received maximum capacity.We also configured the Revit Servers with their own public IP address so traffic was outside of VPN and thus not slowed down by encryption. The servers are protected and not accessible from outside the network through various router rules and protection safeguards.

Unfortunately this did not eliminate crashing at the user’s desktop. Our next experiment was to switch the Central and Local servers around to see what effect this would have (not the physical machines). We ended up with the Local server in our main office with around 6 people working on server-based projects and 2 at the remote location saving directly to the Central server. Through our upgraded connection, we could now create central files through the Local server, which was not possible in the past. So we know that at least bandwidth cured that issue. The crashing unfortunately followed the Local server and users in the main office started experiencing this crashing following a successful SWC, 90% of the time. Go figure.

Our next step was to install Windows Server 2008 SP2. We did this on the Local server first. Lo and behold, the crashing ceased even with the central server still running Windows 7! At this point we don’t know exactly why this is happening and gave up on our endeavor. We still think Windows 7 should do the job but somehow, there’s some setting somewhere that is causing Revit to blow up. Or maybe WS2008 is more efficient at handling limited resources such as RAM? But why would Revit crash, with no debugging info. available?The machines we’re using as servers are low on RAM so who knows? The journals do not point at the culprit and Revit mysteriously crashes after successful saves (servers keep running fine, projects do not corrupt and the Revit Server administrator reports the saves are successful), so at this point we bow our heads and wave the white flag. Bummer.


Share/Save/Bookmark

Thursday, August 25, 2011

Face Painting in the Family Editor

joker-face-painting1You might recall Steven Campbell’s post Revit Families: To Split or Not to Split… (no, this isn’t his photo. I know, he’s in hibernation at the moment or so it seems). I honestly was unaware of that hidden feature until his article as in the past, I habitually just assigned material parameters directly to solids and never thought of face painting as a parametric option.
Unfortunately in Revit 2012, we lost that ability with the arrival of the new UI that gives us a visual palette of materials when painting surfaces. I really hope we’ll get it back in the upcoming service pack. The functionality is still there as families upgraded to Revit 2012 function properly. However if you “unpaint” the surface, you won’t be apple to re-apply the material parameter. So in the meantime if you need this functionality, start your family in 2011 and upgrade it once you’re done.


EDIT: This has since been fixed through this HotFix. Thanks Factory!


Share/Save/Bookmark

Saturday, August 20, 2011

Subtlety - Crop Region

Here’s one for Steve’s Department of Subtle. Prior to Revit 2012, when you assigned a scope box to a view and the crop region adjusted based on that, the view control bar still showed the crop region icon as follows:

VCB 2011

When a view is assigned to a scope box however, you cannot disable the crop region, even though the icon leads you to believe you could (and so does the properties palette). I have no doubt this confused some users, myself included.

PP 2011

To make matters worse, if the crop region was “disabled” and then you removed the scope box from being assigned to the view, the crop was still in effect. To get it to function properly, you had to re-enable it and disable it once again.

In Revit 2012, the crop icon is now greyed out if a scope box is assigned to a view in both the view control bar and the properties palette. I think these subtle changes help users realize why those shape handles are missing from the crop region!

VCB 2012

PP 2012

Now once you remove the scope box, these controls are enabled and with one more click, the crop region can be disabled. Thanks Factory!


Share/Save/Bookmark