GithubHelp home page GithubHelp logo

teocomi / bcfier Goto Github PK

View Code? Open in Web Editor NEW
119.0 33.0 72.0 6.71 MB

Extensible BCF client and tools

Home Page: http://bcfier.com/

License: GNU General Public License v3.0

C# 95.13% Inno Setup 4.83% Batchfile 0.04%

bcfier's Introduction

UPDATE 2024

I no longer have time to maintain this project, so it has been archived. All my focus is now going to Speckle, the Open Source Data Platform for AEC data. We're planning at some point to add some BCF-like features to Speckle.


Intro

BCFier is an extendible and Open Source BCF client. Like IFC is the open standard for Building Information models, BCF is the open standard for Building Issues. BCFier is a set of plugins and standalone apps (modules) that handle BCF and integrate directly with BIM tools.

Currently BCFier is composed of the following modules:

  • Autodesk Revit addin
  • Standalone Windows Viewer

Ready to start developing BCFier? Keep reading!

If you are looking for a Guide on how to use the installed version of BCFier instedad, refer to the UserGuide

Disclaimer

The project in not actively maintained, I will regularly check issues and pull requests but cannot guarantee regular support and maintenance.

Getting Started

To get started fork the repo, if you are going to extend the Revit Project make sure the Autodesk dlls are referenced correctly, otherwise there are no other dependencies that need to be added.

Structure

The core of BCFier is under Bcfier, it contains all the logic and UI that is used by all the different integrations (modules). All modules will reference that project and extend it adding specific commands for the software they are integrating with.

The control Bcfier.UserControls.BcfierPanel contains the logic and UI for the main panel, while Bcfier.UserControls.BcfReportPanel for each BCF opened inside the TabControl.

All controls bind to ModelViews defined in Bcfier.Bcf, it's not a perfect MVVM models since I use the same classes to serialize/deserialize BCFs, but it works great.

Creating a new Module

To create a new Module, for instance, an Achicad plugin, follow these steps:

  • create a new project with the namespace Bcfier.Archicad
  • reference the Bcfier project
  • add the specific Archicad methods and structure to fire the plugin (like the Entry folder in the Revit plugin)
  • create a main WPF window that contains the Bcfier.UserControls.BcfierPanel
  • create a command for adding a new view (data:Commands.AddView), this will have to generate a BCF ViewPoint (see Revit plugin for reference)
  • create a command for and opening a view (data:Commands.OpenView)
  • extend the installer to copy these new dlls where needed

Settings

The settings file is stored in %localappdata%\BCFier\settings.config so that it can be accessible by all modules, the Settingd Window UI will has different tabs for each module and ideally those will show up only if that specific module is installed. The class that handles the settings file is under Bcfier.Data.Utils.UserSettings, and stores the file as a ExeConfigurationFileMap for easy management. The same class provides methods to automatically save/retrieve settings based on the UserControl name.

Autodesk Revit Addin

The module for Autodesk Revit is in Bcfier.Revit,.

Building the Revit Project

Before building the Revit project, select the corresponding build configuration.

image

For each there are snippets of code in Bcfier.Revit.csproj with post built event that copy the dll and manifest to the Revit Addin folder.

image

To seamlessly debug the project set a Debug start action to start your version of revit.exe.ree and awesome InnoSetup to generate .exe files, extending the .iss files is pretty straightforward.

Backlog

A more detailed list of things that need to be done can be found in the issues page, but to start:

New BCFier features

  • support of the BCF REST API
  • integration with issue tracking platforms (JIRA, redmine...)

New modules

  • Archicad
  • Navisworks

New Autodesk Revit module Features

  • support for crop boxes
  • a setting to apply vew templates to new view

Contact

You can contact Matteo Cominetti at: [email protected]

License

GNU General Public License v3 Extended This program uses the GNU General Public License v3, extended to support the use of BCFier as Plugin of the non-free main software Autodesk Revit. See http://www.gnu.org/licenses/gpl-faq.en.html#GPLPluginsInNF.

Copyright (c) 2013-2016 Matteo Cominetti

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/gpl.txt.

bcfier's People

Contributors

cbenghi avatar dependabot[bot] avatar georgdangl avatar mattmattv avatar mgrzelak avatar teocomi avatar tyan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bcfier's Issues

Isolating components from linked models (Revit)

Hi Matteo,

I am having trouble isolating components from linked Revit files.

Scenario: Architect has linked the Structural RVT into theirs, they open the BCF and click on a viewpoint to view an issue of one of their doors hitting a Structural column, it will isolate the door but not that particular column.

Any ideas of what could be causing this issue?

Thanks,
Alex

WISH - Silent Install

Hi,

I cannot find a way to install this silently. I tried the switch "/silent" and also "/qn" and "/qb" but the install dialog still prompts the user to click. It would be great if there was a way to install silently. Is this a wishlist or am I doing it incorrectly? Thanks!

Attached image scales with main window

When you attach view to issue, view snapshot is being taken. Usually we crop it to reduce BFC file size, so it is relatively small. When you maximize BCFier window, image is scaled so you can no longer see it correctly.
image
image

BCFier can't find views

The problem is following:

  1. AR makes his model
  2. EL links it and makes his design, but as he has comments and questions to AR, he's using BCFier to capture them.
  3. If AR opens BCF file with EL comments, he can't open attached views (2d).

Is there a way to overcome it? Is it possible to open 3d view with section box and make multiple views with different section box sizes and still be able to open them in AR model (without EL or linked EL)?

The process cannot access the file ... viewpoint.bcfv

Hi @teocomi I have another issue. When I Try to open a BCF file with BCFier, a message pops uo saying: "The process cannot access the file C:/Users/myname/AppData/Local/Temp/BCFier/a long alpha-numeric serial/another long alphanumeric serial/viewpoint.bcfv beacuse it is being used by another process". Is this maybe beacuse the AppData folder is a hidden one? I have no other applications open but Revit, in which I am using BCFier... Do I need perhaps to unhide the AppData folder?
Thanks.

using Revit viewer mode -> create snapshot not possible

Using Revit viewer for our structural engineers and project leads is a real handy option.
However, use of BCFier is not supported in this mode :(
When creating a view for an issue it immediately gets an error and doesn't produce a screenshot.
Can this be fixed? Or is creating a screenshot linked to locked options when in Viewer mode?

Statute of comment are not saved

Hi,

It seems that statute and comment are not saved. Each time you reopen the file, all statutes are reinitialized to the 1rst item of the list (options)

Regards.
Great job !

BCFier portable

I tried to unpack the exe of BCFier but it is not an known achive.

I do not have Administrator previlegs on every computer I work on. Is it possible to somehow get an portable BCFier for windows which do not need an installation?

cheers Bernd

plug in for xbimxplorer

Hi Matteo ,
I have been searching for some OpenSource implementation for BCF. I was quite excited to find your BCFier. It is a great small tool. It really is a pitty it is in C#. Since I'm a Linux guy I do not know any C#, means contributing is rather difficault. Apart from this I do not develop on Windows but work (have to work) quite a lot on Windows too ... Means BCFier may be of great use for me hopefully.

On your repo here is a plug in for xbimxplorer. How does it works, or how do I install this? Do I have to compile something to get it running?

cheers bernd

Hiding a model when selecting issue

When I select an issue from the BCF plugin window for Revit it is only showing the m&e and not the clashing structure model? is there a setting to ensure all models show?

image

BCFier uninstallation

Hi all. I tried to install BCFier, but when I opened a BCF file an error message popped up saying another application was using data. Definitely the add-in did not work. I unistalled it, by both cancelling BCFier folder from C/Program files/Autodesk/Revit2017/Add-ins/BCFier folder and then by uninstalling from Control Panel (I installed both the stand alone version and the Revit 2017 plug-in). When I re-opened Revit, the BCFier icon was still in the add-ins ribbon!!! Any way to get rid of the icon? Thanks.

BCFier Revit addon might break GPL license

Note that the GPL license isn't suitable for writing addons for non-free programs (i.e. Revit). From http://www.gnu.org/licenses/gpl-faq.en.html#GPLPluginsInNF:

Can I apply the GPL when writing a plug-in for a non-free program? (#GPLPluginsInNF)
If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them. So you can use the GPL for a plug-in, and there are no special requirements.

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means that combination of the GPL-covered plug-in with the non-free main program would violate the GPL. However, you can resolve that legal problem by adding an exception to your plug-in's license, giving permission to link it with the non-free main program.

See also the question I am writing free software that uses a non-free library.

I'm not familiar with the technical implementation of Revit addons, but I suspect that this restriction might be relevant for BCFier. However, it should be easy to add an exception as mentioned in the link above.

How does BCFier identify and isolate components

Hi Matteo,

Could you please advise as to what data BCFier is reading from the BCF to identify and isolate components within Revit?

I initially suspected it used the IfcGUID generated on export, after testing, It seems to be the element ID. Is this correct?

Thanks,
Alex

Building Problems

Hi there,
I installed BCfier by installer. Then I tried to build module for Revit which worked fine. I then copied the BCfier.Revit.dll and BCFier.dll to C:\ProgramData\Autodesk\Revit\Addins\2016\Bcfier.Revit.

I did not change source code. Just tried if it works. Add-in opened but crashed after I clicked "New Bcf" button. I used Revit 2016, Windows 7, 64 bit.
Is it the proper procedure to update the build?

I did build the solution for Bcfier.win as well. (then copied .dll to proper location in program files). It works the same. It crashes after clicking "New Bcf".

Any idea what is wrong?

bcfier for Navisworks Compilation error

Hi @teocomi ,
I'm trying to compile the addin for Navisworks.
I'm getting this error :
'Components' does not contain definition for 'Any [...] (missing using or assembly?)' (translated from french)
Apparently no 'Any' methods are existing in the visinfo.cs file...
What can I do to fix this and install the addin in Navisworks?
Thanks in advance

Revit Import - Perspective Camera - Not Perpendicular Vectors Throw Exception

We're having troubles importing a BCF XML 2.0 Viewpoint into BCFier for Revit when the perspective camera up- and direction vectors are not perpendicular.
The following camera within a perspective camera does cause an exception when the viewpoint is selected:

<CameraDirection>
  <X>0.764</X>
  <Y>-0.516</Y>
  <Z>-0.389</Z>
</CameraDirection>
<CameraUpVector>
  <X>-0.14</X>
  <Y>0.095</Y>
  <Z>0.986</Z>
</CameraUpVector>

The exception is thrown at this file, line 64 (return new ViewOrientation3D(newC, newUp, newView);).

If we set the vectors to, p.e. 1,0,0 and 0,0,1 (or any other values where we get a 90° angle between the vectors) it's working.
Our cameras come from a WebGL based viewer (Three.js) and we just hand them without changes to the BCF XML (and then open it in BCFier).

We're not sure if this is an error on our side or with BCFier, but we found that the camera seems to work in other products.

BCF file created in Revit -> is not visible after import Tekla

A colleague created a couple of notes in Tekla BimSight and created an BCF file.
I opened the BCF file in Revit and created some reactions on the notes.
After loading the BCF file back in Tekla BimSight I didn't see any changes i made in Revit.
How is this possible?

.BCFZIP files are not recognized by Solibri

Latest releases of Solibri open .bcfzip files generated by BCFier as empty reports.

This seems to be a Solibri issue as if the .bcfzip file is manually extracted to a folder and re-zipped using Windows's default tool then the reports open fine.
The current version of BCFier uses System.IO.Compression, preious versions used https://dotnetzip.codeplex.com/ and it was working fine, so if Solibri doesn't fix it it might be worth re-implmementing the dotnetzip library.

Merge BCF feature

When merging a BCF, how does the 'version control' work? Does it merge topics with the same Topic IDs and then the most recent BCF have its data appended after the original information? I understand their is a 'Topic ID' for each topic, do individual comments have their own GUIDs too?

Creation Date of issue is not correct shown in BCFier

In BCFier Standalone Version and in Revit Plugin 2016 I get the wrong creation Date of my issue. Have downloaded from Webpage at 17.12.2015 the BCFier Version 2.0.2.0. Create BCF-File in Solibri Model Checker with Version 2.0.
Creation Date in BCFier is shown 142 days ago 27.07.2015.
In BCF-File in the Markup.bcf the creation date is correctly:
2015-12-17T13:55:33+01:00

Linked Views in Revit 2016 Don't Match Original Screen Grab

When a screen grab is added to a new item in the BCF, the view coordinates are supposed to be captured so that anyone clicking on the image in BCFier when the model is open in Revit are taken to the original view. This is not happening - the view displayed in Revit when clicking the screen grab is of the whole model. This is true even if a component was selected - the only difference being that everything except the component is temporarily hidden.

Turning on the create view option in BCFier does not help. The saved views created are also of the complete model extent.

Statuses do not change in lists

When you edit statuses while issue is being selected, you can' tsee changes in dropdown. You need to click another issue to see changed statuses.
Also, if you open BCF with some statuses, wouldn't it be better to be able to use them, and not only ones from settings?

Doesn't work with Revit 2017

Once I create a new issue or open an existing BCF file, Revit 2017 crashes.
I tried a blank project, an existing project, and the Revit sample architectural project and got the same result.

I tried it with Revit 2018 and it works fine.

Hope this gets fixed.

BCF v2.1 changes

Hi Matteo,

Just wondering if you are working through aligning with the schema changes release in August 2016? The only major one that is effecting me is:

Removed element "Comment/VerbalStatus". In V2.1 the status of a topic is represented only by the attrbute "Topic/TopicStatus".

Could you please update and point the VerbalStatus to TopicStatus instead?

Cheers,
Alex

Issue priority

There is a need for priority definition. What are the plans for that?

BCFier does not crop the view (Assistantance Needed)

Hello,

I installed the BCFier plugins into my Revit 2016, but it cannot crop the view in 3D view based on my BCF 2.0 file that I generate from Solibri Model Checker.

I already switch ON the Section Box in my 3D View, but end up the same problem. It just zooms to the component that contains the issues.

But, you already created the awesome software that might can collaborate the issues among the person in-charge in a construction project. Good Job.

support for 3D view, and objects in standalone viewer

Hi,

you explicit say on your web BCFier standalone does not support 3D view. This is a pitty. I would like to edit some BCF, but than the 3D-view and the objekts in the BCF are lost on resave.

cheers bernd

I really like this App, it is great to control what's in the BCF you exchange. It's a unix style of working, one process one simple app. :-)

German translation

How about translation?

I'd be interested in translate the BCFier into German. I never did it on C# project.

Are you interested in translate BCFier into several languarges?

cheers bernd

Installer for XbimXplorer

Hey @CBenghi , I'm about to roll out a new version of BCFier with some improvements. Should I include support for XbimXplorer in the installer? If so how? I'm not familiar with it...

Responsibilities integration

Does version 2.0.1 support responsibilities aligned with the BCF 2.0 schema?

If I applied an 'Assigned' status, I would like to add who this is assigned to and responsible.

Issue deletion

When you delete 1 issue message box could show it's name.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.