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 13: | Line 13: | ||
A day later, the project began on [https://github.com/IfcOpenShell/IfcOpenShell/commit/e9649a52177bc5895a1de470acd0dea8166cbaf3 August 29, 2019], with 83 lines of code that demonstrated that Blender geometry could be exported into [[Industry Foundation Classes (IFC)]]. | A day later, the project began on [https://github.com/IfcOpenShell/IfcOpenShell/commit/e9649a52177bc5895a1de470acd0dea8166cbaf3 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 | + | 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 == | == Version 0.0.X == | ||
Line 71: | Line 27: | ||
== 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 44: | ||
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 95: | Line 64: | ||
Note: this is not a module, but spans across the entire project. | 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 documentation and representation adding interfaces + adapters. (Moult) | + | * 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) | * A prototype of a client-server model for distributed, multi-user, cross-application simultaneous authoring needs to be built. (Moult) | ||
Line 104: | Line 74: | ||
=== 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) | ||
=== bsdd === | === bsdd === | ||
− | * Note: this module does not currently exist. A | + | * Note: this module does not currently exist. A bSDD library needs to be built, which can then lead to a UI being built. (Moult) |
=== cobie === | === cobie === | ||
Line 120: | Line 91: | ||
=== cost === | === cost === | ||
− | * Work | + | * 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) |
+ | * Derive quantities automatically from product | ||
* Expand / contract all in tree feature | * Expand / contract all in tree feature | ||
* Export to OOXML spreadsheet | * Export to OOXML spreadsheet | ||
* Export to CSV | * Export to CSV | ||
+ | * Support arithmetic formula components in cost values | ||
+ | * Update calculation for arithmetic formula components | ||
* Implement a schedule of rates | * Implement a schedule of rates | ||
* Show a final cost for the entire schedule depending on the type of schedule | * Show a final cost for the entire schedule depending on the type of schedule | ||
Line 143: | Line 117: | ||
* We need to solve how to edit portions of the representation tree. (Moult) | * 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 === | === io === | ||
* Firstly, the import / export needs to be refactored into a module to improve maintainability. (Moult) | * 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) | * 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 === | ||
+ | |||
+ | * You need to be able to edit attributes of a material profile set usage. (Jesusbill) | ||
+ | |||
+ | === 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 170: | Line 152: | ||
=== sequence === | === sequence === | ||
− | * Work has started | + | * Work has started on developing all the necessary usecases and UI to author entities related to construction sequencing (yassineSIGMA, iosvarms, AldoMontanari, Moult) |
+ | * Support different versions of P6 (need samples) | ||
+ | * Import calendars from P6 | ||
+ | * Calculate durations in task tree | ||
+ | * Allow correlated editing of durations and start / end times | ||
+ | * Support duration calculation of working days vs calendar days | ||
+ | * Show sequence relationships (FS, SS, FF, etc) | ||
+ | * Show lag time | ||
+ | * Visualise progress at date | ||
+ | * Generate animation between date range | ||
* 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 | ||
− | * Support import of MS Project | + | * Show derived dates of parent tasks with no dates |
+ | * Support import of MS Project | ||
* Support import of LibreProject | * Support import of LibreProject | ||
+ | * Assign work calendars to work plans | ||
+ | * 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 moving from | ||
+ | * Support task moving to | ||
* 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 === | ||
Line 262: | Line 215: | ||
A summary of the changes in all versions released so far can be found in the [[BlenderBIM Add-on Changelog]]. | A summary of the changes in all versions released so far can be found in the [[BlenderBIM Add-on Changelog]]. | ||
− | + | [[Category:Blender]] [[Category:BlenderBIM Add-on]] | |
− | |||
− | |||
− | [[Category:Blender]] | ||
− | [[Category:BlenderBIM Add-on | ||
− |