Editing BlenderBIM Add-on/BlenderBIM Add-on Roadmap
From Wiki.OSArch
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 22: | Line 22: | ||
Soon, new features in the BlenderBIM Add-on were being driven by not only the problems that we were facing, but also by the problems faced by members of the community. Members of the community play an important role of battle-testing the BlenderBIM Add-on and identifying bugs to be fixed. | Soon, new features in the BlenderBIM Add-on were being driven by not only the problems that we were facing, but also by the problems faced by members of the community. Members of the community play an important role of battle-testing the BlenderBIM Add-on and identifying bugs to be fixed. | ||
− | |||
− | |||
In October 2020, the BlenderBIM Add-on and its related utilities won the prestigious 2020 Technology Award by buildingSMART International. | In October 2020, the BlenderBIM Add-on and its related utilities won the prestigious 2020 Technology Award by buildingSMART International. | ||
− | |||
− | |||
In January 2021, the BlenderBIM Add-on was rewritten, making three major changes. | In January 2021, the BlenderBIM Add-on was rewritten, making three major changes. | ||
Line 38: | Line 34: | ||
Prior to these changes, BlenderBIM Add-on features were primarily focused on architects (the "A" of AEC). Once these changes were in place, a small team from the community started adding features related to structural analysis (the "E" of AEC) and another small team started adding features related to scheduling and costing (the "C" of AEC). | Prior to these changes, BlenderBIM Add-on features were primarily focused on architects (the "A" of AEC). Once these changes were in place, a small team from the community started adding features related to structural analysis (the "E" of AEC) and another small team started adding features related to scheduling and costing (the "C" of AEC). | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Version 0.0.X == | == Version 0.0.X == | ||
Line 71: | Line 47: | ||
== Version 0.X.X == | == 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 | + | 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. | 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. | ||
Line 88: | Line 64: | ||
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. | 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. | ||
+ | |||
+ | Some times are loosely scheduled to meet up and hack on a particular module. | ||
+ | |||
+ | * Tuesday 5pm Sydney timezone working on structural (Jesusbill, Moult) | ||
+ | * Wednesday 8am Sydney timezone, working on construction sequencing (yassineSIGMA, Moult) | ||
+ | * Wednesday 5:30pm Sydney timezone, working on BCF (prabhat01, Moult) | ||
+ | * Thursday 5pm Sydney timezone working on structural (Jesusbill, Moult) | ||
+ | * Friday 7am Sydney timezone working on facility management (Undisclosed) | ||
+ | * Saturday 6pm Sydney timezone working on costing (yassineSIGMA, iosvarms, AldoMontanari, Moult) | ||
+ | * Sunday 5:30pm Sydney timezone, working on BCF (prabhat01, Moult) | ||
+ | * Times TBD, working on BIMTester (HarshAgarwal, Moult) | ||
+ | * Times TBD, working on IDS (Artur, Moult) | ||
+ | * Times TBD, working on construction sequencing animation generation (szymon_budziak, Moult) | ||
Note: this is working document. Changes are expected. | Note: this is working document. Changes are expected. | ||
Line 96: | Line 85: | ||
* The system is being fully decoupled into ifcopenshell.api + blenderbim.bim.module. This still needs documentation and representation adding interfaces + adapters. (Moult) | * The system is being fully decoupled into ifcopenshell.api + blenderbim.bim.module. This still needs documentation 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) | * A prototype of a client-server model for distributed, multi-user, cross-application simultaneous authoring needs to be built. (Moult) | ||
Line 104: | Line 94: | ||
=== bcf === | === bcf === | ||
− | * GSoC student prabhat01 is undertaking the challenge to add support for BCF-API 3.0. (prabhat01, Moult) | + | * 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 === | === 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) | * There are tests underway to make BIMTester accept the new upcoming IDS specification (aothms, Moult) | ||
Line 150: | Line 141: | ||
* 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) | * 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) | * 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) | ||
+ | |||
+ | === material === | ||
+ | |||
+ | * Material colours should be reimplemented as a fallback to style colours. | ||
+ | |||
+ | === 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 === | === project === | ||
Line 171: | Line 170: | ||
* Work has started: Usecases and UI to author entities related to Construction Sequencing and Resources (yassineSIGMA, Moult) | * Work has started: Usecases and UI to author entities related to Construction Sequencing and Resources (yassineSIGMA, Moult) | ||
+ | * Allow correlated editing of durations and start / end times | ||
* Preserve P6 ObjectIds and IFC GlobalIds to do smart relinking upon P6 or IFC updates | * Preserve P6 ObjectIds and IFC GlobalIds to do smart relinking upon P6 or IFC updates | ||
* Sort task tree by start date | * Sort task tree by start date | ||
+ | * Derive start / end times of a parent task based on its nested tasks dates range | ||
* Support import of MS Project - Ongoing (Missing: LagTime, calendar assignement to tasks, calendar exception times, Resources) | * Support import of MS Project - Ongoing (Missing: LagTime, calendar assignement to tasks, calendar exception times, Resources) | ||
* Support import of LibreProject | * Support import of LibreProject | ||
+ | * Support expand / contracting task trees | ||
+ | * Support pset assignments to tasks | ||
* Support document association to tasks | * Support document association to tasks | ||
* Support recurring task time tasks | * Support recurring task time tasks | ||
* Support task typing | * Support task typing | ||
* Support tasks types and inclusion in a project library | * Support tasks types and inclusion in a project library | ||
+ | * Assign resources to tasks | ||
* Assign task classification references | * Assign task classification references | ||
− | |||
− | |||
=== structural === | === structural === | ||
− | * Work has started to have full support for structural authoring ( | + | * Work has started to have full support for structural authoring. (jesusbill) |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Other ideas on the backburner === | === Other ideas on the backburner === |