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

From Wiki.OSArch
Line 17: Line 17:
 
== Version 0.0.X ==
 
== Version 0.0.X ==
  
The version 0.0.X series are highly unstable, rapidly changing, alpha-quality software. The X will be substituted with the current date. This is the current state of the project.
+
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. Users should expect bugs, and changing behaviour. Users are highly encouraged to try to push the tool and report bugs.  
+
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.
 
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.

Revision as of 14:21, 20 November 2020

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 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 two weeks 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.

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 TODO list

The following TODO items are highly specific, actionable improvements to be made to the BlenderBIM Add-on. This is a working document, and will shrink and grow over time as more items are planned or items are finished.

Beginner tasks

These tasks are designed to be easy for those who know some programming (you don't need to be an expert!) and would like to help contribute. If you'd like to get involved in any,

  • Implement a search to the classifications UI
  • 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
  • Add BCF write support in the BCF panel

Improved implementation of data standards

  • Push single object attributes to an IFC file
  • Push single object psets to an IFC file
  • Add support for integer attributes, not just string values with casting
  • Round-trip basic parametric data using custom psets
  • Create a proof of concept of (proper) BIM and GIS integration with OGC datasets and a web viewer
  • Add support for the new bsDD API
  • Add BCF export support for IFC clash
  • Add support for BCF data writing
  • Create a UI in Blender to integrate with a Git repository
  • Add support for OpenCDE API integration
  • Add support for BCF-API integration

Improved geometry handling

  • Autodetect profile extrusions and create them as extrusions to improve round-tripping instead of manually assigning profiles
  • Support round-tripping arc extrusions natively
  • Support multi-materials in native geometry round-tripping
  • Stabilise opening element boolean support in native geometry

Producing drawings

  • Store camera setup settings data in the SVG, based off the BCF standard
  • Figure out a way to associate annotation with geometry

Streamlining 3D modeling for AEC

  • Decide on a good asset library extension for Blender to drag and drop components (Integrate with PyClone)
  • Visualise diffs in IFC data within Blender

Support for structural

  • Add support for IFC structural surface connections
  • Create a specific structural UI panel

Support for MEP

  • Add support for importing group assignments like IfcSystem
  • Add support for exporting group assignments like IfcSystem
  • Add support for bulk select / assign / unassign to groups like IfcSystem
  • Add support for importing IfcPort
  • Add support for importing connected to and from
  • Add operators for navigating connection to and from in a system

Support for environmental

  • Add support for Honeybee

Support for construction sequencing

  • Support all of the construction sequencing entities. (Note: not specific enough, please expand)

Support for quantity take off and costing

  • 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

BlenderBIM Add-on Changelog

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