BCF Support GSoC Proposal
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
BCF Support GSoC Proposal
Hey FreeCAD community,
a little late, I finished my first complete draft of my project proposal.
The project tackles the integration of BCF into the BIM workbench, as described in this github issue.
Over the next days, till the deadline (on April 9th, 18:00 UTC) I will still make refinements (fixing spelling errors, change wording, etc.). Also any feedback is highly appreciated! So if you miss something in my proposal please leave a comment
Cheers,
Patrick
a little late, I finished my first complete draft of my project proposal.
The project tackles the integration of BCF into the BIM workbench, as described in this github issue.
Over the next days, till the deadline (on April 9th, 18:00 UTC) I will still make refinements (fixing spelling errors, change wording, etc.). Also any feedback is highly appreciated! So if you miss something in my proposal please leave a comment
Cheers,
Patrick
Re: BCF Support GSoC Proposal
great proposal. BCF support would for FreeCAD would be very cool. Just a remark from my side. I would split it into a nongui bcf parser which just parses bcf and could be the base for all kind of development in the regard of bcf. A gui inside FreeCAD would just be one of these smart developments.
Re: BCF Support GSoC Proposal
Seem interesting and helpful
Re: BCF Support GSoC Proposal
Very nice, hopefully you will get in
Maybe it would be good to at the beginning also review some of the existing tools that have BCF support implemented and find some pros and cons from each.
Maybe it would be good to at the beginning also review some of the existing tools that have BCF support implemented and find some pros and cons from each.
Re: BCF Support GSoC Proposal
Patrick, you may read this ... https://forum.freecadweb.org/viewtopic.php?p=175525
Re: BCF Support GSoC Proposal
mainly this: https://bcfier.com/ it is a parser and there is a GUI based on the parser. Since it is C# it is of no real use for FreeCAD, but we might get some ideas from it.
Re: BCF Support GSoC Proposal
Very good plan. I would just write a bit more about the documentation part, which is very important in opens-source projects.
I fully agree with bernd about splitting between GUI and non-GUI components too, and I'll certainly have something to say about the GUI later on but at this point, I think your proposal is fine and there is no need to have every technical aspect already solved.
One important thing too, I'd suggest you create yourself a github account (or any other git hosting platform like gitlab, but github makes pull requests very easy) and fork the FreeCAD project, and inform your github account in your proposal, so google people can see you have everything ready.
I am not sure you'd actually need to work directly on the FreeCAD source code (your project can very well be a fully independent plugin), but it doesn't harm to get used to git as soon as possible, if you haven't worked with it yet.
I fully agree with bernd about splitting between GUI and non-GUI components too, and I'll certainly have something to say about the GUI later on but at this point, I think your proposal is fine and there is no need to have every technical aspect already solved.
One important thing too, I'd suggest you create yourself a github account (or any other git hosting platform like gitlab, but github makes pull requests very easy) and fork the FreeCAD project, and inform your github account in your proposal, so google people can see you have everything ready.
I am not sure you'd actually need to work directly on the FreeCAD source code (your project can very well be a fully independent plugin), but it doesn't harm to get used to git as soon as possible, if you haven't worked with it yet.
Re: BCF Support GSoC Proposal
Thanks for your early feedback!
Thank you for linking the original topic and bcfier! It will spare me a great deal of work probably, since I am a guy who always starts at the bottom and develops all by himself and later discovering that it basically was unnecessarybernd wrote: ↑Sat Apr 06, 2019 6:06 pm Patrick, you may read this ... https://forum.freecadweb.org/viewtopic.php?p=175525
Yes, certainly! I had it planned like this, but I think it should be pointed out more in the proposal.bernd wrote: ↑Sat Apr 06, 2019 2:49 pm great proposal. BCF support would for FreeCAD would be very cool. Just a remark from my side. I would split it into a nongui bcf parser which just parses bcf and could be the base for all kind of development in the regard of bcf. A gui inside FreeCAD would just be one of these smart developments.
The documentation part will get expanded. Allow me this one question: How is the documentation style currently in FreeCAD? Till now I only looked a bit into the FEM workbench, which does not give the whole picture. I reckon that much of the code is documented in doxygen style (or something similar) that can be parsed in a nice format (like html or pdf in case of doxygen). And then there are tutorials, which I know of, because used one of them to get a hold of the FEM workbench ^^yorik wrote: ↑Sat Apr 06, 2019 7:15 pm Very good plan. I would just write a bit more about the documentation part, which is very important in opens-source projects.
I fully agree with bernd about splitting between GUI and non-GUI components too, and I'll certainly have something to say about the GUI later on but at this point, I think your proposal is fine and there is no need to have every technical aspect already solved.
One important thing too, I'd suggest you create yourself a github account (or any other git hosting platform like gitlab, but github makes pull requests very easy) and fork the FreeCAD project, and inform your github account in your proposal, so google people can see you have everything ready.
I am not sure you'd actually need to work directly on the FreeCAD source code (your project can very well be a fully independent plugin), but it doesn't harm to get used to git as soon as possible, if you haven't worked with it yet.
Re: BCF Support GSoC Proposal
Aren't we all like that
The main doc is the wiki at https://www.freecadweb.org/wiki . Then we have the doxygen-generated docs too, but are in a pretty bad state now.... But have a look at this plugin that I developed last month: https://github.com/opensourceBIM/BIMbots-FreeCAD
Basically I think your BCF plugin could be developed more or less under the same mold: Self-contained git repo, and the doc is made in two parts: one is automatic, extracted from the python code with pdoc (could be doxygen too, doesn't really matter) and the other is a user-oriented GUI documentation which I did by hand. You can also host the doc on the FreeCAD wiki (that's what Amritpal did in his 2017 GSOC project), as you prefer. At the moment that's not a very important issue.
Re: BCF Support GSoC Proposal
I updated my proposal today by adding a section which details my plans on how to document my work. It is almost the same as you suggested and pursued in the BIMbots-FreeCAD pluginyorik wrote: ↑Sun Apr 07, 2019 3:36 pm ....
Basically I think your BCF plugin could be developed more or less under the same mold: Self-contained git repo, and the doc is made in two parts: one is automatic, extracted from the python code with pdoc (could be doxygen too, doesn't really matter) and the other is a user-oriented GUI documentation which I did by hand. You can also host the doc on the FreeCAD wiki (that's what Amritpal did in his 2017 GSOC project), as you prefer. At the moment that's not a very important issue.
However, I thought I would do it in three layers, each one getting more specific. From top to bottom the layers would be:
- Tutorial: with at most three examples demonstrating the complete functionality
- Structural: describing the structure of my work, with the purpose of enabling fast understanding of the plugin
- Code: the code documentation that gets extracted, which also will describe the relationships between files.
Does this still make sense if the project will be a plugin? Based on the approach you took with your plugin I would use github for the first two layers.
If the current style of code documetation is pdoc then I do not want to dance out of line with suddenly doxygen.