WB for creating Gantt Charts
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
WB for creating Gantt Charts
Hi everyone,
Using the resources of FC I created a WB to make Gantt charts.
I present here the results I have achieved so far.
It can be a start for the implementation of BIM 4D in the FC, if the community agrees.
It is very basic and there is still a lot of work to be done.
Opinions and criticisms are welcome.
Using the resources of FC I created a WB to make Gantt charts.
I present here the results I have achieved so far.
It can be a start for the implementation of BIM 4D in the FC, if the community agrees.
It is very basic and there is still a lot of work to be done.
Opinions and criticisms are welcome.
Re: WB for creating Gantt Charts
Neat!
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Re: WB for creating Gantt Charts
great!
keep working!
keep working!
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)
Canal Youtube Grupo Telegram de FreeCAD Español
My personal web site
My GitHub repository
Mini Airflow Tunnel Project
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)
Canal Youtube Grupo Telegram de FreeCAD Español
My personal web site
My GitHub repository
Mini Airflow Tunnel Project
Re: WB for creating Gantt Charts
Nice!
Btw, did you consider using a techdraw sheet instead of a 3dview to display the diagram?
Btw, did you consider using a techdraw sheet instead of a 3dview to display the diagram?
follow my experiments on BIM modelling for architecture design
Re: WB for creating Gantt Charts
That's excellent!!
When I first thought about adding this kind of functionality to FreeCAD, I thought of doing it the opposite way: The BIM objects (columns, slabs,...) would hold the phasing data. Your implementation does the contrary (it is the task object that "contains" the BIM objects), and it actually works very, very well... With the added advantages that 1) you can experiment & develop further functionalities as you see fit, in the workbench, without relying on anything else in Arch, 2) You can add non-Arch/BIM objects too
Congrats, that's gorgeous work and very well done.
What I would suggest you to do next: Indeed as @carlopav says very soon people will want other "outputs" (a TechDraw sheet, or maybe export/link to other gantt/project apps). So I would recommend you, early on, to split the "output part" (the part that creates the shapes) into a separate structure, that can be changed later on.
The idea I think of is that for example you could have a separate "output" shape object, that is separated from the project object, that holds the whole shape. So for example, from a same project object, you could produce several outputs: a shape representation, a techdraw view, or directly export it to some other file format...
I'm willing to help there, if needed!
When I first thought about adding this kind of functionality to FreeCAD, I thought of doing it the opposite way: The BIM objects (columns, slabs,...) would hold the phasing data. Your implementation does the contrary (it is the task object that "contains" the BIM objects), and it actually works very, very well... With the added advantages that 1) you can experiment & develop further functionalities as you see fit, in the workbench, without relying on anything else in Arch, 2) You can add non-Arch/BIM objects too
Congrats, that's gorgeous work and very well done.
What I would suggest you to do next: Indeed as @carlopav says very soon people will want other "outputs" (a TechDraw sheet, or maybe export/link to other gantt/project apps). So I would recommend you, early on, to split the "output part" (the part that creates the shapes) into a separate structure, that can be changed later on.
The idea I think of is that for example you could have a separate "output" shape object, that is separated from the project object, that holds the whole shape. So for example, from a same project object, you could produce several outputs: a shape representation, a techdraw view, or directly export it to some other file format...
I'm willing to help there, if needed!
Re: WB for creating Gantt Charts
Looks great indeed
Re: WB for creating Gantt Charts
This tool look amazing, it is just I have been looking for . (sorry for my english)
Re: WB for creating Gantt Charts
Thank you all for your feedback,
I am still fighting a little bit with strange behavior in the START-START relationship, as soon as I am satisfied I make the code available.
Before thinking about “ouput”, I need to find a more efficient way to fill properties with dates. At the moment I use PropertyString with parser of lib dateutil for the calculations. It works reasonably well, but as the network grows with many successor tasks, due to the logic to calculate the critical path and change the color of the wireframes, a delay begins to appear in the 3D view update. For each number entered, the property starts updating the fields and recalculates everything.
I asked at https://forum.freecadweb.org/viewtopic.php?f=22&t=53801, a way around this with a property with button that opens a QtCalendar forms, but there is still no easy solution for that. The ideal is a PropertyDateTime, but as I don't know C ++ and version 0.19 is almost being released, so this will be for the future.
Maybe a delay.
Any suggestions?
I think about this next road map:
- Create visualization in TechDraw
- Improve workflow for creating schedule and Arch relationship objects (explanation below)
- Automatic WBS creation (e.g.: copying the structure of a BIM-Project and its children, making the link automatically)
- Import/export from/to XML (to export/import in Primavera, MS Project or LibreProject)
For the future road map:
- Integrate with WB Animation to make more complex animations in the simulation
- Resource allocation (this is a long conversation...)
- Export to IFC (depends on the implementation of IfcProcess and IfcResource, as was done for IfcProduct)
Improve workflow for creating schedule and Arch/others relationship objects
In the simulation demo video I used the workflow:
open the 3D project file --> create external link of the target object --> organize the links in the schedule file --> create the internal link in the OperatesOn property.
I think it is not good (it is laborious and in large projects this would be hell), maybe it would be better to find a way to link this target object with the OperatesOn property through a specific interface, such as WB BIM-External Reference.
Or some other way of making this link directly through the other WB's, what do you think?
Thank you all again.
I am still fighting a little bit with strange behavior in the START-START relationship, as soon as I am satisfied I make the code available.
Before thinking about “ouput”, I need to find a more efficient way to fill properties with dates. At the moment I use PropertyString with parser of lib dateutil for the calculations. It works reasonably well, but as the network grows with many successor tasks, due to the logic to calculate the critical path and change the color of the wireframes, a delay begins to appear in the 3D view update. For each number entered, the property starts updating the fields and recalculates everything.
I asked at https://forum.freecadweb.org/viewtopic.php?f=22&t=53801, a way around this with a property with button that opens a QtCalendar forms, but there is still no easy solution for that. The ideal is a PropertyDateTime, but as I don't know C ++ and version 0.19 is almost being released, so this will be for the future.
Maybe a delay.
Any suggestions?
The reason for using 3D visualization is because it is possible to use the other dimensions (y = second, z = third and color = fourth) to add more visual information to tasks in the timeline, going beyond the 2D limit (and the text in the side) of the bars, inherent to the interfaces adopted in other software.
I implemented the objects using App: FeaturePython, with the properties "building the shape" with pivy/coin objects implemented in the ViewProvider object. I don't know if I understood correctly… Can you explain your idea to me? (Portuguese maybe? )
I think about this next road map:
- Create visualization in TechDraw
- Improve workflow for creating schedule and Arch relationship objects (explanation below)
- Automatic WBS creation (e.g.: copying the structure of a BIM-Project and its children, making the link automatically)
- Import/export from/to XML (to export/import in Primavera, MS Project or LibreProject)
For the future road map:
- Integrate with WB Animation to make more complex animations in the simulation
- Resource allocation (this is a long conversation...)
- Export to IFC (depends on the implementation of IfcProcess and IfcResource, as was done for IfcProduct)
I really hope your help!
Improve workflow for creating schedule and Arch/others relationship objects
In the simulation demo video I used the workflow:
open the 3D project file --> create external link of the target object --> organize the links in the schedule file --> create the internal link in the OperatesOn property.
I think it is not good (it is laborious and in large projects this would be hell), maybe it would be better to find a way to link this target object with the OperatesOn property through a specific interface, such as WB BIM-External Reference.
Or some other way of making this link directly through the other WB's, what do you think?
Thank you all again.
Re: WB for creating Gantt Charts
Fantastic work!
Re: WB for creating Gantt Charts
This looks great and it would also be awesome to integrate this fully with BIM models via IFC. See here: https://standards.buildingsmart.org/IFC ... g-task.htm
The approach is similar to what you have - tasks and objects are separate, and they can be associated with one another.
The approach is similar to what you have - tasks and objects are separate, and they can be associated with one another.
I also blog about 3D rendering, architecture, software and other on thinkMoult.com. RSS / Atom feed available for your convenience.