If you try to build a connector to get some Revit data to a database like MySQL, you may hit an issue where some strings that are allowed in Revit will do funny things to your SQL instructions, like this:
What to do? We need to ‘escape’ these characters during our data export or INSERT to create something that the database engine can consume. There are some exotic ways to get around this (like encode your text in base-64), but in my case I just wanted to replace the problem character with the escaped version. Ideally, we would use characters that we know will never be found in Revit Type or Family Names.
Revit does not allow these characters in most type and family names:
Looks like a backslash could work, as this is an escape character in MySQL, and it is not allowed by Revit as above.
You can do this a lot of ways in various coding languages, but an easy way is with a String Replace in Dynamo, like:
This workaround doesn’t handle every situation – like if you are pulling parameters out of Revit that contain all kind of characters, you may have to look at a more reliable text cleanup or encoding solution. But this helps with the Type and Family names at least 🙂
The BIM Collaboration Format is getting more popular and more widely supported as the months go by. I was interested to find to this little command line utility that quickly creates a PDF file from a BCFzip. It can batch process multiple BCF files and it outputs a relatively clean PDF with the image and issue name.
What is it? From Sourceforge:
This project provides conversion/rendering of a BIM Collaboration Format (BCFZIP) file exported from Tekla BIMSight and similar applications to a PDF report. It can be useful in several ways, such as:
1) sending someone a PDF report instead of BCF file.
2) Print a hard copy of BCF report for signoff
3) Review BCF content quickly without installing or launching any BIM software
Command line usage:
PDF output looks like this, 1 issue per page:
Download and main page at:
BCF2PDF download | SourceForge.net
Instructions, showing you can also use drag-and-drop for multiple BCFs:
1. Download the file BCF2PDF.rar from Source Forge and place in a folder.
2. Export one or more .bcfzip files from Tekla BIMSight or other similar applications.
3. Drag the .bcfzip files and drop onto the icon of BCF2PDF.exe executable.
4. One or more PDF reports will be created in the same folder as the source .bcfzip files.
IFC for Revit 2015 (v15.6):
IFC for Revit 2016 (v16.3): http://apps.exchange.autodesk.com/RVT/en/Detail/Index?id=appstore.exchange.autodesk.com%3aifc2016_windows32and64%3aen
Update notes for IFC for Revit 2015 (v15.6):
– Added some minor export performance tweaks.
– Added IFC4 Design Transfer View as an option. With this option, Revit will attempt to create IfcAdvancedBReps in some cases.
– The import log file now contains the importer version at the end.
New Export Functionality:
– Display the element id for each element as it is exported.
– Create IfcGroups for multiple IfcReinforcingBars created by one rebar element in Revit.
– (IFC4) Add support for ConicalFace and fix RevolvedFace for IfcAdvancedBRep.
– (IFC4) Reuse IfcCartesianPoints when exporting an IfcAdvancedBRep.
Export Bug Fixes:
– Associate some entities with IfcBuilding if they have no other spatial containment, or there are no levels.
– Correctly export DirectShapes of Ramp, Stairs, or certain MEP categories.
– Correctly relate IfcAssembly to IfcBuildingStorey in certain cases.
– Export some elements with geometry that couldn’t be correctly split into multiple solids.
– Fix crash in certain cases where we can’t create a valid tessellation for a face.
– Fix crash when exporting certain vertical roofs.
– Fix crash when exporting elements with no bounding box when splitting elements by level.
– Fix crash when exporting filled regions with invalid color definitions.
– Fix the name of IfcArbitraryClosedProfileDef entities.
– Never export curtain wall panels independent of their curtain walls.
– Remove invisible geometry when exporting families when exporting elements in the current view.
– (IFC4) Correct export of IfcMechanicalFastener.
New Import Functionality:
– Add support for extra currency types.
– Allow import of unbounded grid lines, with a warning and an arbitrary length.
Import Bug Fixes:
– The IfcSweptSurface “Position” attribute is now optional.
Sometimes you have a set of DWFs that you would like to work with in Revit. For example, you might have DWFs of site equipment, fences and trucks that would be useful for site modelling in Revit. Here is one way to get those dwfs into a more Revit-friendly format…
Note: You need to have iConstruct with their Smart IFC Exporter for this workflow
Create a container NWD for DWF files, so that you can fix rotation and coordinates:
- Append DWFs
- Save as rotator.nwd
- Append to an NWF
- Adjust units, 90 degree rotation about 1-0-0 axis as per this link:
- Save as container.nwf
Steps to convert DWF to IFC with colours and object selectability:
- Open two Navisworks 2016 instances
- Open the rotator.nwd from above in one instance
- Append any DWFs you would like to convert
- Adjust their Units and Transform until they look right
- Save the rotator.nwd
- Open the container.nwf
- Refresh to reload the rotator if necessary
- Now, hide everything but ‘shell’ elements using a search like this:
- Save the search set for Item Type = Shell
- Set up an iConstruct IFC config…
Type a Name
Press Building button
Expand to IfcBuildingElementProxy, userdefined
Choose search set for Item Type = Shell from above
- Should look like this…
- Close config dialog
- Go to Smart IFC Export and choose the export config you just saved
- Fill out next dialog and press ok
- Choose target IFC location
- Wait for Navisworks to export the IFC
Phase 3 – into Revit
After IFC is created, open Revit. Ensure you have latest IFC updates installed, then open the the IFC. Wait for Revit to complete importing… For the most part, you should get a pretty good looking result. One exception is where the DWF had one ‘shell’ with multiple materials, like this:
In any case, now you have a bunch of ‘Revit elements’ (yes, I use the term loosely) that can be made into Model Groups. They aren’t in families, but you can make them into little rvts to load as links. I realise there are some limitations in this workflow, but in some cases there is no other way…
If you are interested in more to do with DWF conversions, check out these links:
What Revit Wants: How to Convert a DWF to Editable Format, or How to Export from Navisworks and Keep Modelling in BIM
What Revit Wants: Convert DWF to DWG using free tools
Future post: hope to see some Dynamo method to consume DWFs and create DirectShapes in Revit 🙂