Bcfier 2.2.0
See the version list below for details.
dotnet add package Bcfier --version 2.2.0
NuGet\Install-Package Bcfier -Version 2.2.0
<PackageReference Include="Bcfier" Version="2.2.0" />
paket add Bcfier --version 2.2.0
#r "nuget: Bcfier, 2.2.0"
// Install Bcfier as a Cake Addin #addin nuget:?package=Bcfier&version=2.2.0 // Install Bcfier as a Cake Tool #tool nuget:?package=Bcfier&version=2.2.0
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.
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.
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: hello@teocomi.com
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.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
- DotNetZip (>= 1.11.0)
- gong-wpf-dragdrop (>= 1.1.0)
- RestSharp (>= 105.2.3)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Bcfier:
Package | Downloads |
---|---|
Bcfier.Revit
Bcfier.Revit |
|
Utils.Bcfier.Building.Revit.2020
Clone and building of project Bcfier.Revit in for version Revit 2020 Clone local do projeto Bcfier.Revit e compilado com a configuração para usar no Revit 2020 Note 1: The owner of the BCFier and BCFier.Revit project is https://github.com/teocomi O proprietário do projeto BCFier e BCFier.Revit é https://github.com/teocomi Note 2: The project has no change in its algorithm. O projeto não possui nenhuma alteração em seu algoritimo. |
|
Utils.Bcfier.Building.Revit.2021
Clone and building of project Bcfier.Revit in for version Revit 2021 Clone local do projeto Bcfier.Revit e compilado com a configuração para usar no Revit 2021 Note 1: The owner of the BCFier and BCFier.Revit project is https://github.com/teocomi O proprietário do projeto BCFier e BCFier.Revit é https://github.com/teocomi Note 2: The project has no change in its algorithm. O projeto não possui nenhuma alteração em seu algoritimo. |
|
Utils.Bcfier.Building.Revit.2019
Clone and building of project Bcfier.Revit in for version Revit 2019 Clone local do projeto Bcfier.Revit e compilado com a configuração para usar no Revit 2019 Note 1: The owner of the BCFier and BCFier.Revit project is https://github.com/teocomi O proprietário do projeto BCFier e BCFier.Revit é https://github.com/teocomi Note 2: The project has no change in its algorithm. O projeto não possui nenhuma alteração em seu algoritimo. |
|
Utils.Bcfier.Building.Revit.2022
Clone and building of project Bcfier.Revit in for version Revit 2022 Clone local do projeto Bcfier.Revit e compilado com a configuração para usar no Revit 2022 Note 1: The owner of the BCFier and BCFier.Revit project is https://github.com/teocomi O proprietário do projeto BCFier e BCFier.Revit é https://github.com/teocomi Note 2: The project has no change in its algorithm. O projeto não possui nenhuma alteração em seu algoritimo. |
GitHub repositories
This package is not used by any popular GitHub repositories.
This is a direct port of Teocomi's Bcfier package for NuGet.