Xrev API Tools: Increase Productivity!



Wednesday, October 10, 2012

Revit 2013 - View Reference Tags

I've have actually been meaning to post this for about 6 months now, but I'm so busy these days I rarely get around to these types of things.  I've got a weeks break and can't help myself, so here is a quick tutorial on the new View Reference Tags.

In 2013 Autodesk added the ability to allow a View Reference Tag to reference almost any view (not legends) from almost any view.  Previously View Reference Tags were exclusive to Dependent Views and Matchlines.

Some tricks I thought of immediately were placing a "smart" view reference tag in a string of text that references some standard details or alike.  Or how about showing where 3D views are taken in plan and being able to graphically print them and hyperlink to them?

to a 3D View

The below video shows a quick snapshot of these in action.  But to create them simply:

  1. Create a new Generic Annotation
  2. Go to Family Category & Parameters and change the category to View Reference Tag
  3. Place labels for the detail number and sheet number and draw your desired symbology (note, I always make my tags parameter so I only ever have one tag type per family category, this is typically done through visibility parameters controlled by integer values to switch between them)
  4. Save the family and load it into your project
  5. Switch to the view you want to place it in
  6. Swith to the View tab and in Sheet Composition choose View Reference
  7. Edit Type, and select the view reference tag you wish to use from the drop down
  8. OK
  9. Now you can start placing in the view your require it!  NOTE: you can place them in 3D views also but you need to ensure you lock the view orientation.
I hope someone finds this useful!

Wednesday, August 29, 2012

Revit Formula Rounding

Today I came across a circumstance where I needed to round a value in a family to be to the nearest 5mm increment (+ tolerance).

The Round functions in Revit only round to the nearest whole number.  So a little maths is required to achieve this.


I have a parameter called "Param1" that I want to drive "Param2" from.

Param2 = (roundup((Param1 + 5 mm) / 5 mm)) * 5 mm

Essentially what we are doing is first adding the tolerance we want, then dividing by 5 (the rounding increment we want), rounding this off to the nearest whole number and the multiplying by 5 again to give us the desired rounded dimension.

Pretty simple, but hopefully someone will find it useful.

Monday, May 21, 2012

Wintergarden Facades - Shop Drawings in Revit

Another recent project finished by the Cadway team (Jonathan Croft and Myself) is the all new Wintergarden facade on the Queen Street Mall, Brisbane, Australia.  The Facade was applied to the revamped Wintergarden on its 3 street frontages.

This was a very complicated project, especially given the timing.  The design was completed by Studio 505 in Melbourne, and the engineering was completed by Tensys.  Urban Art Projects, whom we've teamed up with before (Beacon, Bird Cage, Swallow) was awarded the responsibility of building this amazing design.

Our first hurdle was that each facade panel would be pre-fabricated offsite and lifted into position.  As such, each of the cleats and the dead load beam that was to support the facade panels would be already in place when the facade arrived and we wouldn't necessarily have "as built" survey information for their actual positions.  So we needed to factor in tolerance into everything to allow for these variations!  This included things like slotted holes for connections and adjustable lateral restraints.  The other limitation was the size of the panels, they needed to fit into shipping containers as they were being fabricated overseas...

Our issues in Revit included, everything needed to be scheduled, bolts, nuts, washers, plates, beams, the lot!  We needed to produce shop drawings, with exploded axonometric views, be able to schedule fabricated elements as well as the "assemblies" of fabricated elements.  Unfortunately the Assembly features of Revit were unsuitable for such a task in version 2012 as we couldn't get quantities of the assemblies or have multiple instances of the same assemblies, or have nested assemblies (2 of these 3 limitations have now been lifted in 2013).  The other major flaw was the lack of functionality nesting actual beams.  When nesting a beam family you lose the ability to cut it with a reference plane, or even control its length...

The solution, an elaborate system of shared nested families - some as much as 7 levels deep.  There wasn't as much repetition as we hoped either, as each of the 3 facades had different heights and the scattering of the butterflies on the facade made the regular panels rarely regular!  Our nested families had numerous options built in, so a single family could alternate between many different connection types, which helped keep file size down by having less families loaded with more types set-up.  The other trick was stopping people from using the "mirror" command, unfortunately the fabricators don't have a mirror command... :-D  We again leaned on the Revit API, to automatically isolate fabricated and assembled elements (all tagged of course) and document them in isolation of the rest of the model.  As built surveys were used on some of the facades and dead load beams when they were available and we would modify the panels to suit the variations.

The 3 layers of laser cut panels were handled by Studio 505 directly, whilst we dealt with the 3 structural aspects of the system and the butterfiles.  Termed on the project as the "Mega Panel", "Grillage" and "Access Walkway".  For those interested the Revit model was a conservative 173MB in file size, kept down by the user of "Shared" nested families.  We were able to make the butterflies parametric so they could technically "flap their wings"!

The installation method was interesting as we didn't have access to the whole facade to fit the panels in places.  As such the pieces were lifted through specially designed and positioned lifting points (built into the Revit model for coordination of course), and then a custom designed trolley system would allow the panels to slide along the facade into position.

The fabricators were able to position a projector on the ceiling, projecting the completed panels on the ground, so they could then ensure that the pieces being connected together were correctly located.  The fabrication went very smoothly and efficiently.

As you can see on Studio 505's website the facade has a very elaborate interactive lighting system.  Able to project the silhouettes of those walking past, wave back at you, simulate rain or animals and even display the time.  The project was a success with very little to no coordination issues on site.

Monday, April 02, 2012

Xrev New Website Launched

Please let us know what you think of the new Xrev website.  Expect some exciting stuff to appear in the coming weeks including Revit 2013 support and the all new Xrev Transmit.

If you haven't used Xrev Transmit for issuing you Revit sheets to DWG, PDF, DWF, Hard Copy, DXF or DGN yet then you don't know what you are missing.

Download the Free Trial today!


Thursday, March 22, 2012

New Laptop & Nasty Revit Bug

With starting my new company I decided to splash out and get myself a decent laptop.  I decided on a new Dell XPS15 with 256GB SSD.

Its a great computer, extremely fast and great battery life.  My main issue occurs in Revit:

Every time I'm in Revit and I have a child window open in Revit, for example the family types dialog, every 20-30 seconds the window loses focus and the Revit main window has focus! I can be typing away in one of the fields and all of a sudden I've committed another command in the background parent window (like opening the visibility/graphics dialog).  Almost like the dialogs in Revit are modeless!

As you can probably imagine this can be extremely frustrating and counter productive when you have to constantly have to reselect the child window to have focus so you can keep working.  Especially when you are writing long formulas that you have to scroll across the window to get to the end of the formula.  Then by the time you've scrolled across the window loses focus and you have to do it again!!!

This issue from my experience only occurs in Revit.  I obviously checked all the obvious things like touching the trackpad, or bumping a key - but my hands can be in the air well away from the laptop and it still does it. As such I filed it with Autodesk Support.

Of course they first asked the obvious questions, are you running the latest build, do you have Autodesk Certified drivers (and the autodesk certified drivers are years old!), etc.  I ensured I had tested all their suggestions and none of which resolved the issue.  It has now been escalated to development and apparently I'm not alone in the this issue, which is slightly re-assuring as that may mean there is a fix planned...

Anyway, I thought I would share just in case others are experiencing this issue and looking online for a solution.

Monday, February 13, 2012

Revit Bird project completed

I thought those that were interested might like to see the completed project of the bird I did all the laser cut files for.


Wednesday, January 25, 2012

Chris Price & Xrev - Consulting

Hello All,

I thought I'd let my readers know that I am now consulting my services in the Revit Architecture, Structure, Navisworks, BIM space. (commencing 13th February 2012)

If you require Revit Implementation, in-house Revit Training, Revit Training Classes, Revit Management, On Project Revit Support, Revit Start-up Assistance, upskilling intermediate & advanced Revit users, Revit Collaboration, IPD and everything Building Information Modelling.

Please don't hesitate to email me at Support at Xrev dot com dot au. I can supply you with my costing and schedule availability!

I have experience with:

  • Multi-discipline collaboration
  • Revit Asset Management
  • Revit Facilities Management
  • Revit Digital Fabrication (laser cutting, CNC, etc)
  • 4D Sequencing
  • Extracting Quantities & Weights from the model
  • Various Energy Analysis
  • Cost Estimation from the model
  • Clash Detection
  • BIM Specifications
  • Integrated Project Delivery
  • Training large groups/presenting

Tuesday, January 03, 2012

Laser Cut files & Fabrication from Revit

Now that it is no longer under NDA, I'd show off a quick project that I recently completed for a client where we were asked to produce laser cut files for all the steelwork.

Thankfully I had a copy of Revit 2012 pre-release to play around with which just happened to add a new feature that allows me to create face based void families or nest voids in families and have them cut other families in the project beyond just system families such as walls/floors/roofs etc.  (love it when Autodesk release a feature that I can use straight away)

Using Structural framing, and structural columns I was able to quickly generate all the members to their accurate sizes.  The difficulty was that each of the 3 layers of 40x16mm RHS channels that make up the infill actually need to penetrate the external channels.  Of course the laser cut machine can only cut penetrations perpendicular, so this complicated things.  As such I generated a face based void family with instance parameters to control its lengths and radius corners.  I placed all 1340 instances of these and flexed their lengths to suit the required opening for each of the intersecting members based upon their angle of incidence and ensured no members intersected each other.

I then had our developer create a macro command using VSTA to isolate each member, create a 3D view of only that member and then export out a .SAT file and .DXF file for the laser cutting service.

I was also asked to advise the weight of this structure. Easily done through some schedules to pull out the volume of steel and a calculated parameter based upon the mass of steel being 7850kg/m³ this was all able to be automated.

Lessons learnt: I found a few bugs in this tool where the face based voids families would cut certain structural columns, which have now been addressed in the released version.  I managed to source the issue and devise a workaround. I had planned to make this much more complicated to facilitate change, but I opted for the manpower approach as I thought it was resolved.  Unfortunately for me, there were a couple of design iterations which we somewhat painful to redo.  Had I have known these were coming I would have made the mesh members and penetrations parametric.

NEXT PROJECT for the same client:
A 4.5 metre Bird made from aluminium sheet with a polystyrene core to be suspended in the foyer.

  • An IGS file for the CNC router to cut the polystyrene blocking to shape.
  • Fully nested cut files for all the aluminium sheet
  • Structural Steel Cut files for the support frame
  • An overall weight of the bird

Challenge accepted!

We were supplied with a model created in 3DS Max. My first thought was great, I'll use the unfolding tools of Autodesk Inventor to make light work of this.  This way I could build in K factors etc.  But of course Inventor doesn't handle geometry created by other applications well at all.  I didn't feel in the mood to remodel the complicated form from scratch in Inventor so instead I looked to Revit. Unfortunately there was some issues in the nurbs translation and the import into Revit - which I didn't discover straight away.  As you may know a nurbs face can only have 3 or 4 sides.  When importing into Revit the surface was being triangulated.  Some of the planar faces on this bird had as much as 12 sides.  Working with the designer in 3DS Max we managed to sort out a workflow that gave me the best possible base to work from.  We even explored tidying up the bird directly in Revit, so we create a tool using the API that was able to automatically convert the import into native Revit Reference Lines, Points and forms.  We didn't end up using it, but I'm sure it will come in handy in the future.  We may even make it publicly available if we get the time to make it robust to everyone elses different scenarios.

I imported this form into the Revit Conceptual Massing environment and created a family for it.  I then loaded it into a new project and used the curtain panel by face tool (using a special Aluminium system panel type that I made), selected all the faces and generated the curtain system.

Great, I now had a panelised system for all the pieces.  I then manually merged some of the complicated pieces so we didn't end up with tiny little slithers to be assembled.  Next step, systematically number all the panels (434) with unique marks, we didn't automate this so it was somewhat tedious.

Again we looked to the API to create a macro that automatically created an isolated 3D view for each curtain panel orientated to look perpendicular to the surface.  Easy enough, but how do we no which side of the surface we are looking at.  The edges of each panel needed to be bevelled at 45° so this was important.  Unfortunately there seemed to be no real logic between what side revit determined the interior or exterior of the panel even though they were all part of the same system, they weren't necessarily orientated the same way.  We were able to get around this through Raytracing in the API, which aided us in determining the interior and exterior face.  We re-ran the macro and now we had an exterior view of every panel isolated in the model.

Next step, exporting the views:
As you may or may not know, if you export from a 3D view you get a 3D file.  In this instance we needed 2D Cut files.  How do you get a 3D view to export as 2D?  You place it on a sheet.  We configured the macro to then place all 434 views on a single sheet, then exported (DXF) the sheet and left the "Xref views on sheet" option checked so we would get separate files for each of the files.  Of course we had no control over the naming of these Xref's so we then had to use a small utility to systematically rename all the files so they corresponded to their Mark.

Finally to create the nested cut files, we used another commercially available utility where you can simply enter the sheet sizes, specify the individual cut files and it automatically nests the pieces and optimises them as well as tagging them.

The last task was to generate the 3D cut files for all the structural steelwork.