Editing User:Suraj/gsoc proposal

From BRL-CAD

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 165: Line 165:
  
 
<b>Master Configuration:</b>Instead of setting default values in UI as in below image:
 
<b>Master Configuration:</b>Instead of setting default values in UI as in below image:
[[File:CreateColumn1.png|frame|center|200px]]
+
[[File:ColumnReinforcementCustom.png|frame|center|200px]]
 
We will have Master Configuration file, in which user can set default values for Rebar Addon like:
 
We will have Master Configuration file, in which user can set default values for Rebar Addon like:
  
Line 190: Line 190:
 
[[File:CreateBeam3.png|frame|center|200px]]
 
[[File:CreateBeam3.png|frame|center|200px]]
 
[[File:CreateBeam4.png|frame|center|200px]]</dd>
 
[[File:CreateBeam4.png|frame|center|200px]]</dd>
 
 
<dt>'''Dialog Box II:''' For Reinforcement details in Column</dt>
 
<dd>[[File:CreateColumn1.png|frame|center|200px]]
 
[[File:CreateColumn2.png|frame|center|200px]]</dd>
 
</dl>
 
 
 
'''Implementation'''
 
<ul>
 
<li>An icon for Beam and Column Reinforcement will be made and integrated in drop down menu of Rebar Addon. Integration in drop down menu can be done by modifying RebarTools.py file of Rebar Addon.</li>
 
<li>The dialog box will be developed using QtDesigner. User will provide input through this dialog box.</li>
 
<li>The inputs provided by the user will then be passed to prebuilt functions of Rebar Addon. Below is the list of that functions:
 
<ul>
 
<li>makeStraightRebar(f_cover, coverAlong, rt_cover, lb_cover, diameter, amo    unt_spacing_check, amount_spacing_value, orientation = "Horizontal", structure = None, facename = None):  Adds the straight reinforcement bar to the selected structural object.</li>
 
<li>makeUShapeRebar(f_cover, b_cover, r_cover, l_cover, diameter, t_cover, rounding, amount_spacing_check, amount_spacing_value, orientation = "Bottom", structure = None, facename = None): Adds the U-Shape reinforcement bar to the selected structural object.</li>
 
<li>makeLShapeRebar(f_cover, b_cover, l_cover, r_cover, diameter, t_cover, rounding, amount_spacing_check, amount_spacing_value, orientation = "Bottom Left", structure = None, facename = None): Adds the L-Shape reinforcement bar to the selected structural object.</li>
 
<li>makeStirrup(l_cover, r_cover, t_cover, b_cover, f_cover, bentAngle, bentFactor, diameter, rounding, amount_spacing_check, amount_spacing_value, structure = None, facename = None): Adds the Stirrup reinforcement bar to the selected structural object.</li>
 
<li>makeHelicalRebar(s_cover, b_cover, diameter, t_cover, pitch, structure = None, facename = None): Adds the Helical reinforcement bar to the selected structural object.</li></ul></li>
 
<li>To implement Master configuration:
 
<ul>
 
<li>An icon will be made and integrated in drop down menu of Rebar Addon by modifying RebarTools.py file of Rebar Addon.</li>
 
<li>The master configuration file will be created and supplied with Rebar Addon.</li>
 
<li>When user will click on icon, the FreeCAD function “FreeCADGui.open(<file_location>)” will be called with appropriate file_location. This will open file in FreeCAD for editing.</li>
 
<li>Note: The open() function of FreeCAD does not support ‘.txt’ files, and thus file will be Python file with extension ‘.py’.</li>
 
<li>The master configuration will be imported into other files and used for setting default values for Rebar detailing.</li></ul>
 
</ul>
 
 
= Timeline =
 
 
As an overview, out of beam and column reinforcement, reinforcement for column is more
 
simpler and will be completed in the first phase before the first evaluation.
 
<ul>
 
<li>'''Community Bonding Period (6 May - 27 May)'''
 
<ul>
 
<li>Having interaction on mailing list and IRC regarding important aspects of project.</li>
 
<li>Get to be more familiar with the code and workflow of FreeCAD and Rebar Addon.</li>
 
<li>Learn more about PySide, STAAD.Pro file format and reinforcement in beams and columns.</li>
 
<li>Learn Doxygen syntax and inkscape.</li></ul></li>
 
<li>'''27 May - 20 June (25 days)'''
 
<ul>
 
<li>Create UI for beam reinforcement.</li>
 
<li>Implement beam reinforcement detailing function for passing user input to prebuilt Rebar Addon functions.</li></ul></li>
 
<li>'''21 June - 23 June (3 days)'''
 
<ul>
 
<li>Backup days for any backlog or pending task and preparation for phase I evaluation.</li></ul></li>
 
<li>'''24 June - 28 June (5 days, Phase I evaluation)'''
 
<ul>
 
<li>Developers documentation using Doxygen.</li>
 
<li>Submitting all the work to mentor.</li>
 
</ul>
 
</li>
 
<li>'''29 June - 18 July (20 days)'''
 
<ul>
 
<li>Implement UI for circular column reinforcement.</li>
 
<li>Implement circular column reinforcement detailing function for passing user input to prebuilt Rebar Addon functions.</li>
 
<li>Create required images and icons using inkscape.</li>
 
<li>Integrate UI with Rebar Addon UI.</li>
 
</ul>
 
</li>
 
<li>'''19 July - 21 July (3 days)'''
 
<ul>
 
<li>Backup days for any backlog, pending task, bug fixes and preparation for phase II evaluation.</li>
 
</ul>
 
</li>
 
<li>'''22 July - 26 July (5 days, Phase II evaluation)'''
 
<ul>
 
<li>Developer documentation using Doxygen.</li>
 
<li>Submitting all the work to mentor.</li>
 
</ul>
 
</li>
 
<li>'''27 July - 11 August (16 days)'''
 
<ul>
 
<li>Create UI for square/rectangular column reinforcement.</li>
 
<li>Implement square/rectangular column reinforcement detailing function for passing user input to prebuilt Rebar Addon functions.</li>
 
</ul>
 
</li>
 
<li>'''12 August - 18 August (1 week)'''
 
<ul>
 
<li>Work on UI enhancement to improve user experience.</li>
 
<li>Work on backlogs and bug fixes.</li>
 
</ul>
 
</li>
 
<li>'''19 August - 26 August (8 days, Final evaluation)'''
 
<ul>
 
<li>Developer documentation using Doxygen.</li>
 
<li>User documentation through detailed tutorial and post on FreeCAD wiki with screenshots.</li>
 
</ul>
 
</li>
 
</ul>
 
 
= Future Scope =
 
 
Since, we are taking similar input parameters which are present in STAAD.Pro output file, so in future we can implement that user will import output file of STAAD.Pro in FreeCAD and it will automatically create Reinforcement detailing. This will enable us to create Reinforcement for entire building using output from STAAD.Pro file. And I will be interested to implement this.
 
 
'''Implementation'''
 
<ul>
 
<li>The output file of STAAD.Pro will be imported in FreeCAD using a button in Rebar Addon.</li>
 
<li>This file will be parsed through a script.</li>
 
<li>Script will extract required Reinforcement details from file and automatically fill the input values in Rebar Addon’s dialog box.</li>
 
<li>Now user can modify any value if required and will press OK button to create Rebars.</li>
 
</ul>
 
For Column Reinforcement, we can have following prototypes also and much more as in https://archive.org/details/gov.in.is.sp.34.1987/page/n95 :
 
[[File:ColumnPrototypes2.png|frame|center|200px]]
 
 
= Time Availability =
 
 
I will be able to dedicate 40 hours per week. During regular days from Monday to Friday, my college timings are 8:00 am to 4:00 pm IST. So, in these days I am available for 5 hours after my college and can manage to get 2 hours in my college timing. I am free on weekends during which I am free to work. In the month of May, I have my final exams during which there are 3 to 4 holidays before each exam. So, I can spend 2 of 4 days working on my project. Since, actual coding part will start from 27 May 2019, so my final exams will not going to be a barrier in my project work. In the month of June, I have industrial training from 3rd June to 3rd July during which I will be full time available to work on my project. In the month of July, there will be holidays from 4 July to 15 July, during which I will also be available full time. My new semester will start from 16 July and therefore I can contribute 4 hours per day as mentioned above for July and August.
 
 
= Why FreeCAD? =
 
 
I have always been fascinated by operation of CAD softwares. I’m an open source enthusiast and FreeCAD is the only CAD software I have ever used. There are several workbenches included in it and third party workbenches are also available from within the FreeCAD Addon manager is very interesting feature. FreeCAD has a well established community of great developers and this project will give me an opportunity to work with them. So, this project will turn out to be a great learning experience for me.
 
 
= Why you? =
 
 
I found myself fit to this project according to my skill set and interest. I always try to explore and learn new things. I have keen interest and good coding skills in Python, C/C++ and bash scripting. I will also actively contribute and maintain the code even after GSoC.
 
 
= Reference Links: =
 
 
Related Discussion: https://forum.freecadweb.org/viewtopic.php?f=8&t=35077
 
 
Github Repository: https://github.com/SurajDadral/FreeCAD-Reinforcement/tree/automate
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)