Open BCF Viewpoints

Hi Nicolai,

So I found some time to try and figure out how to read these damn BCFs. Turns out they are actually a ZIP-File cleverly disguised as another format. So, if you rename the file extension from .bcf zo .zip you can extract the files. Here is the github documentation:

The main points are, that each issue is stored in it’s own folder (GUID) and each folder contains specific file types. The ones you will be most interested in are the view points and the markup information. These are also marked as .bcf and .bcfv files, but they can be read as text files. Once you do that, it’s a matter of formatting the strings.

Viewpoints
For 2D Views
The viewpoints appear to be bounding boxes. I usually grab the min and max points, draw a line between them, and place a point at the 0.5 curve parameter. Not sure how accurate the placement will be in terms of collisions. I think it depends on the software used to create the issue.

For 3D Views
3D Views consist of a camera, and a clipping box. There are two types of 3d views: Perspective and Orthogonal. I don’t differentiate between the two; my goal is simply to import the views into a 2D view.
The important point here, is that the units appear to be meters, and if you are using a shared coordinate system (XY-translation and rotation) then you will need to conver the points from the shared (geo) coordinates to the project basis-point. Genius Loci has a package.

UNITS - Important!
Depening on your project-setup and software packages, you may need to convert between units. I am using Revit with the BIMcollab Manager. My project units are meters, but the 2D viewpoint captures use Project Base-Point in Feet! In my experience, 3D Viewpoints are created using BIMcollab references the shared coordinate system (survey point), but for some reason the 2D views appear to use the project basis point. See my comment above regarding 2D and 3D views.

I have the feeling my project is set-up incorrectly…but I’m not sure anymore because the world coordinates are correct. Anyways…the point is…you may need to convert between units to get the XY-coordinates for metric-projects.

Markups
Parsing the Markup files with all of the information will be potentially troublesome…there is a lot of information, but a few string-splits “>” and “/<” will get you very far.

I’ve managed to get the pieces of information I need filtered and parsed (Status, View, Issue Nr., XY-Location, View Type, GUID.)

Not sure about the BCF-Format Version. I am currently using BCF 2.1, and the average file-size is 1MB per Issue. (432 MB for current Issues relevant to my discipline.)
I believe 1.0 doesn’t allow snap-shots, which would be more useful for parsing the data…but I don’t know what (if any) differences there are in the XML-Format between BCF Versions. I’ll keep you posted.

Automating ZIP
There is also some information floating around on the forum regarding the .BCF File format and getting it converted to a .zip and extracting the files. Looks like there is some automation being done in Windows to streamline this part of the workflow…here’s a link.

I’m focusing on getting the files parsed and worrying about the zipping later. My more complex workflows are generally broken-up into checklists, and then executed manually according to a schedule. Automation would be nice, but checklists go a long way to keep things moving along efficiently / enabling handover to someone else…

End-Result:

Cheers,
Matt