Difference between revisions of "BlenderBIM Add-on/BlenderBIM Add-on Roadmap"

From Wiki.OSArch
Line 52: Line 52:
 
* Someone needs to investigate and solve the "undo" problem. (Moult)
 
* Someone needs to investigate and solve the "undo" problem. (Moult)
 
* A prototype of a client-server model for distributed, multi-user, cross-application simultaneous authoring needs to be built. (Moult)
 
* A prototype of a client-server model for distributed, multi-user, cross-application simultaneous authoring needs to be built. (Moult)
 +
 +
=== cost ===
 +
 +
* Research is underway, but currently no detailed roadmap formed on how to tackle cost aspects of the schema. Work will hopefully start soon. (yassineSIGMA, iosvarms, AldoMontanari, Moult)
  
 
=== bcf ===
 
=== bcf ===

Revision as of 09:54, 28 March 2021

Please remove this "BlenderBIM_Addon_Documentation" template.


The objective of the BlenderBIM Add-on project is to provide a complete free software workflow in an OpenBIM production pipeline. The ability to work from early feasibility and concept phase, project coordination, detailed design, fabrication & construction, facility management and building maintenance, post-occupancy evaluation, and tear-down.

In addition to providing features equivalent to existing proprietary software, the new tools will be different in two ways. First, they will be highly modular, allowing users to mix and match to create their own pipelines tailored to their needs, and easily modify or extend the pipeline if it does not suit their needs. The user should have full control over their tools. Secondly, the tools will uphold the highest standards possible of open data standards, exchange, and interoperability conventions, allowing us to integrate data across disciplines to make wiser decisions in the design and management of the built environment.

This is an ambitious goal, and some of these responsibilities lie outside the scope of the Blender package. The end-result will be a toolkit of Unix-style utilities which offer all of the required functionality, some of which integrate into the Blender interface, and others which will not (a "Swiss Army Knife of OpenBIM Utilities"). A roadmap is provided here for those who want to know where the project is headed.

History

A small commercial building project was first designed in Blender. We were then faced with the task of remodeling it in Autodesk Revit. We figured it would be easier to build an entire BIM application and construction documentation tool from scratch rather than face the pain of remodeling it in Revit. It turned out that it was.

A day later, the project began on August 29, 2019, with 83 lines of code that demonstrated that Blender geometry could be exported into Industry Foundation Classes (IFC).

The first packaged build for the public, changing it from an experimental set of scripts into a distributed package was done a month and a half later, on October 13, 2019.

Version 0.0.X

The version 0.0.X series are rapidly changing, alpha-quality software. The X will be substituted with the current date. This is the current state of the project.

At this stage, the BlenderBIM Add-on is very new, but we encourage early adopters and people who want to push the boundaries of what's possible in BIM. While portions of the software are more stable and mature, there are other portions of the software that are still in the "experimental stages". Users should expect bugs, and changing behaviour. Users are highly encouraged to try to push the tool and report bugs.

The primary objective during this version series is to build features, find some early adopters, start a community, and make it possible to achieve productive, commercial-grade output. We're going to release early, release often, and don't mind if we break a few things along the way, so long as we move towards a better future. During this, we hope to demonstrate to the industry what free software is capable of, and build the world's most advanced OpenBIM authoring package.

For the first year, priority was given to developing features that allowed my colleagues and me to resolve BIM-related problems that we faced on a daily basis, dealing with a wide variety of construction projects. Now, with that foundation largely in place, we are turning our attention to adding features that will allow us to replace proprietary software in our workflow.

Version 0.X.X

The first 0.X.X release will mean that most of the basic features are there, and we know we can produce output. The objective then shifts to polishing, increased testing, improving stability, improving usability, writing tutorials and documentation, and optimisation. We also aim to battle test the package in as many commercial projects as possible, and build up small teams of people heavily using the BlenderBIM Add-on and IfcOpenShell suite of tools. This is loosely scheduled for 2021.

By this stage, there will also be increasingly tangible costs involved, such as server costs for hosting, build servers, asset libraries, and so on. This is only set to grow, and so there needs to be an added focus on a community development model. For the community to sustainably grow and to support free software developer participation, models for funding developer resources will need to be developed. The concept for this is not commercial, but similar to the Blender Foundation approach, or KDE Community Fund approach. It could also be based on free software payment initiatives like Liberapay.

Version X.X.X

The first version 1.0.0, and subsequent releases, will mean that the BlenderBIM Add-on is now a stable product. A company should now be able to replace their entire proprietary toolset with free software. A bright future for the industry where we can now easily collaborate with high quality open data standards and a culture of openness and transparency.

The priority is now placed on optimising the workflow to create better buildings. To improve sustainable design, more beautiful buildings, happier places, with informed quantitative and qualitative decision-making that spans between GIS, BIM, environmental sciences, design psychology, and more.

The current roadmap

The BlenderBIM Add-on is divided into a number of decoupled modules. The intention is that for the project to grow, different developers may take ownership over the development of a module, allowing for a way to distribute the work. The development of all modules must, however, follow certain core rules of system architecture, which govern how everything interoperates together into a coherent package, both within, and external to the Blender environment.

There are currently nearly 40 distinct modules that comprise the BlenderBIM Add-on. Ones that have known initiatives are listed below. Each initiative contains the name of the developer who is leading that initiative.

Note: this is working document. Changes are expected.

core architecture

Note: this is not a module, but spans across the entire project.

  • The system is being fully decoupled into ifcopenshell.api + blenderbim.bim.module. This still needs improved syntax, documentation, and resolution of ownership histories and representation adding interfaces + adapters. (Moult)
  • Someone needs to investigate and solve the "undo" problem. (Moult)
  • A prototype of a client-server model for distributed, multi-user, cross-application simultaneous authoring needs to be built. (Moult)

cost

  • Research is underway, but currently no detailed roadmap formed on how to tackle cost aspects of the schema. Work will hopefully start soon. (yassineSIGMA, iosvarms, AldoMontanari, Moult)

bcf

  • GSoC student prabhat01 is undertaking the challenge to add support for BCF-XML 3.0, as well as BCF-API 3.0. (prabhat01, Moult)

bimtester

  • GSoC student HarshAgarwal is undertaking the challenge to create a standard for documenting BIMTester feature templates, a web-app for users to build templates, and to run tests online. (HarshAgarwal, Moult)
  • There are tests underway to make BIMTester accept the new upcoming IDS specification (aothms, Moult)

bsdd

  • Note: this module does not currently exist. GSoC student anuradha1904 may undertake the challenge to build a library for bSDD support. (anuradha1904, Moult)

cobie

  • There are early discussions with Bill East to develop all of the capabilities required for the potential upcoming FM Handover related standards, including conversion from IFC SPF to Spreadsheet ML, validation of FM deliverables, sample files, relating authoring tools, and utilities for portions of the FM workflow (e.g. site technicians reporting data). It probably won't be called COBie, though. (Moult)

drawing

  • There is an ambitious plan to rebuild this using IfcConvert as the core, but progress is slow. Here's an extended list of planned functionality. Please considering funding these features. Details about the funding campaign can be found here (aothms, Moult)

geometry

  • We need to solve how to edit portions of the representation tree. (Moult)
  • There needs to be a parametric IFC primitives generator, otherwise modeling steel and structure is a pain. (Moult)

io

  • Firstly, the import / export needs to be refactored into a module to improve maintainability. (Moult)
  • Sometimes, IfcOpenShell has a runaway process when handling meshes. This includes faceted breps, triangulated face sets, and tessellations. Bypassing OCC and parsing these meshes natively is vital to ensuring practical, scalable, mesh based workflows. (Moult)
  • User friendly asset imports, especially from project libaries, and product types, is required to turn the BlenderBIM Add-on into a proper authoring tool. (Moult)

model

  • There are unstarted plans to develop the concept of an "Object Generator", a standard to define a standardised interface to how authoring tools generate IFC objects. For example, a wall might generate an axis representation, or a window might generate an annotation representation, or a slab might generate a footprint representation. Solving this is required before time can be invested in more mature authoring tools (door tool, wall tool, etc) (Moult)

project

  • Support for authoring project libraries needs to be made explicit in the UI. This is a necessary problem to solve, to build a mature authoring environment, otherwise we cannot expect people to rebuild all their BIM assets from scratch on every project. (Moult)

sequence

  • Research is underway, but currently no detailed roadmap formed on how to tackle sequencing aspects of the schema. Work will hopefully start soon. (yassineSIGMA, iosvarms, AldoMontanari, Moult)

structural

  • Work has started to have full support for structural authoring. (jesusbill)

Other ideas on the backburner

  • We can probably generate a ton of useful IfcSverchok nodes quite easily based on the new IfcOpenShell API. (No developer yet)
  • Allow the creation of searching a combination of filters in the IFC search panel
  • Allow IFC search filters to be saved into a "search sets" which can be reused
  • Allow remembered IFC search filters to be imported and exported
  • Implement a search to the classifications UI to make it easy to find a single classification reference
  • Scrape buildingSMART pset and attribute documentation to allow for descriptive tooltips
  • Add support for importing and exporting IFC CSV headers so you don't need to keep on typing them manually
  • Create a proof of concept of (proper) BIM and GIS integration with OGC datasets and a web viewer
  • Create a UI in Blender to integrate with a Git repository
  • Add support for OpenCDE API integration
  • Support autodetection of arc extrusions
  • Add common modeling tools to the tool menu for easy access and usability from other apps
  • Visualise diffs in IFC data within Blender
  • Add support for IfcSystem
  • Add support for port connections and traversal to discover connected systems
  • Add support for importing IfcPort
  • Add support for Honeybee as part of the Ladybug-blender initiative
  • Build a proof of concept of quantity take off based on NRM
  • Create an option for column summaries in IFCCSV
  • Create an option for group by counts in IFCCSV
  • Formalise the DXF2IFC script
  • Portions of the BlenderBIM Add-on are starting to mature. It's time to start thinking about a proper documentation manual.

BlenderBIM Add-on Changelog

A summary of the changes in all versions released so far can be found in the BlenderBIM Add-on Changelog.