Difference between revisions of "User:Amritpal singh/GSoC17/logs"
(→Coding Period) |
|||
(87 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
'''1 June''' : Today, officially my all exams are over and from now onwards I will give my 100 percent to my GSoC project. I have written TODO tasks for upcoming two weeks. | '''1 June''' : Today, officially my all exams are over and from now onwards I will give my 100 percent to my GSoC project. I have written TODO tasks for upcoming two weeks. | ||
+ | |||
+ | '''2 June''' : I have found a couple of shortcomings [https://forum.freecadweb.org/viewtopic.php?f=8&t=22760#p176641 bugs] in my scripts which I have shared before community bonding period. Also discussed these bugs with my mentor. | ||
+ | |||
+ | '''3 June''' : Yesterday, Yorik (my mentor) gave some suggestion that how to fix these [https://forum.freecadweb.org/viewtopic.php?f=8&t=22760#p176641 bugs]. Today, I was trying to make the logic which will work on any type of reinforcement and trying to implement that logic through programming. Also, explored functions like <code>face.normalAt()</code>, <code>face.CenterOfMass()</code>. | ||
+ | |||
+ | '''4 June''' : Today, I designed the taskpanel UI of straight rebar in Qtcreator by using FreeCAD widgets.[[File:straightrebar_taskpanel.png|frame|center|200px]] | ||
+ | |||
+ | '''5 June''' : Today, I have integrated the task panel UI of straight rebar with backend scripts. This script will take input values from task panel and then pass input values to <code>makeStraightRebar()</code> function which will create reinforcement of straight rebar in the structural element. For more detail, here are my [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/21c427118a7e502a9a04240fe8ea10661ff45794 commits]. | ||
+ | |||
+ | '''6 June''' : Today, I have shared my scripts to the mentor for review. | ||
+ | Here are the reviews: https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&sid=edc3a89eda2a484d1af55128b1781e6b#p177059 | ||
+ | |||
+ | '''7 June''' : Today, I have learnt that how to add an image in the dialog box using PySide. For eg. I simply added QLabel object at the top of the dialog box using Qtcreator and then use <code>label.setPixmap(QtGui.QPixmap(<path>))</code> command to add an image. Also, followed some links/tutorials to learn Inkscape. | ||
+ | [[File:Straightrebar_image.png|frame|center|200px]] | ||
+ | |||
+ | '''8 June''' : Today, I have added checks to my Python code. These checks will verify that user have selected the face or not and if only user have selected a single face then only rebar object is created. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/c329b018a2c28538174f006ac55f057bf35f5de0 Commit] | ||
+ | |||
+ | '''9-10 June''': <ul><li>Discussed my approach with structural engineers and found the right way to create reinforcement in the structural element. [https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&p=177570#p177570 Link]</li> | ||
+ | <li>Sent [https://github.com/FreeCAD/FreeCAD/pull/811 pull request] to FreeCAD (master).</li></ul> | ||
+ | |||
+ | '''11 June''': Not done too much, finalised what has done till now and made a planned for things coming in the next weeks. | ||
+ | |||
+ | '''12 June''': Discussed following things with Yorik: | ||
+ | <ul><li>How to get previous values (when reinforcement is created) when a user wants to re-edit the current reinforcement?</li> | ||
+ | <ul><li>Add properties to the rebar object.</li> | ||
+ | <li>Constraint the sketch of the rebar object.</li></ul> | ||
+ | <li>How we can check the given sketch is rectangular or not?</li> | ||
+ | </ul> | ||
+ | |||
+ | '''13 June''': <ul><li>Understand functions present in a [http://free-cad.sourceforge.net/SrcDocu/df/df4/fcgeo_8py_source.html file].</li> | ||
+ | <li>Added support when Structural element is derived from Sketch object.</li> | ||
+ | <li>Defined <code>EdgesAngle(edge1, edge2)</code>, <code>checkRectangle(edges)</code> functions. | ||
+ | </ul> | ||
+ | Here is the [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/1c2b0c299eb91592ab2c6011ff50535e43438eaf commit]. | ||
+ | |||
+ | '''14 June''': <ul><li>Solved a issue related to the placement of rebar. For e.g., Rebar position was not at correct position when structural element not located at orign. So, to fix this problem I have subtracted placement vector of structural element to the coordinates of rebar sketch.</li> | ||
+ | <li>Defined <code>getBaseObject(obj)</code>, <code>getBaseStructuralObject(obj)</code> functions.</li> | ||
+ | <li>Refactored the code by creating the seperate file "Rebarfunc.py". This file contains basic functions which will use for creating any type reinforcement in the future.</li> | ||
+ | </ul> | ||
+ | |||
+ | '''15-16 June''': <ul><li>Sent [https://github.com/FreeCAD/FreeCAD/pull/822 pull request] to FreeCAD master. Detail of PR: Defined custom function (setpropertyRebarShape) in the _ViewProviderRebar class. This function will add properties to the instance of _ViewProviderRebar class as per according to the rebar shape.</li> | ||
+ | <li>Wrote code so that user will re-edit the rebar through rebar dialog box. To implement this, I have defined two new methods <code>editDialog()</code> and <code>editStraightRebar()</code> in the StraighRebar.py file. | ||
+ | <li>Also added a couple of methods (<code>getTrueParametersOfStructure()</code>, <code>getParametersOfFace()</code>) in the Rebarfunc.py file. | ||
+ | <li>Removed minor bugs in the existing code.</li> </ul> | ||
+ | |||
+ | Here is the [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/7efc536ae2be260496b36bc44ba95fadd94626ab commit]. | ||
+ | |||
+ | '''17 June''':<ul><li>Fix bug and added comments in the StraightRebar.py and Rebarfunc.py files. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/f2fc06a7071d75f6153421f88bf3ec57fb3fe41f Commit]</li> | ||
+ | <li>Updated README.md [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/001ebb1e55025a0cac8ac7998657a196b992626a Commit]</li> | ||
+ | <li>Imporoved of UI of dialog box of straight rebar and also set tab order on input fields of straight rebar dialog box.[https://github.com/amrit3701/FreeCAD-Reinforcement/commit/29719cee9a696884a23aa8a951b3b8728a36e04f Commit]</li> | ||
+ | </ul> | ||
+ | |||
+ | '''18 June''': Today, a whole I was struggling to find a reason behind why rebar created in a wrong direction when user set an option "remove external geometry of base sketches when needed" in the Arch preferences. Finally, I found a reason behind this bug and then fix it. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/0397796b38008254f3d60168f05bd3d3582dde80 Commit] | ||
+ | |||
+ | '''19 June''': <ul><li>Fix bug when user created reinforcement more than one times on the same structural element, rebar was not created at right position. | ||
+ | [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/2e32eed6aefb2fd8f0d209148ae9eb8287ca4e4b Commit]</li> | ||
+ | <li>Discussed with Yorik on IRC, that where we can add properties of rebar and then after discussion I am added all the properties to a specific rebar shape as per according to rebar shape. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/8b4213987b9ab0402999fab673bce27c4c330678 Commit]</li> | ||
+ | <li>Created the UI dialog box for U-Shape rebar</li> | ||
+ | <li>Also wrote a code for creating U-Shape rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/24e195d94d46f6c4909d75f7ad9f5a160232fd63 Commit]</li> | ||
+ | </ul> | ||
+ | |||
+ | '''20 June''': | ||
+ | <ul><li>Implemented property top cover in U-Shape rebar instead of bent lenght.[https://github.com/amrit3701/FreeCAD-Reinforcement/commit/02966c63e3ce4accae512c20561e3a2bfaf2d9db Commit]</li> | ||
+ | <li>Made an icon for U-Shape rebar and also improved Straight rebar icon.</li> | ||
+ | [[File:Straightrebar5.png|thumbnail|center|150px]] | ||
+ | [[File:U-shaperebar.png|thumbnail|center|150px]] | ||
+ | </ul> | ||
+ | |||
+ | |||
+ | '''21 June''':<ul><li>Added two FreeCAD command (<code>Arch_Rebar_Straight</code>, <code>Arch_Rebar_UShape</code>) in the RebarTools.py file. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/30d7b60182c1fda8f6310aeee0da1c3a94ba4e69 Commit]</li></ul> | ||
+ | |||
+ | '''22 June''':<ul><li>Changed a title window heading of dialog box.</li> | ||
+ | <li>Used standard button instead of custom button</li> | ||
+ | <li>Assigned tasks which I will complete in the coming week.</li> | ||
+ | </ul> | ||
+ | Here is a [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/5d9467eacdc2c769703c37dfdb4bacaee6cad3b4 commit]. | ||
+ | |||
+ | '''23 June''':<ul><li>Added checks when sketch support is empty. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/70dbced59d68cef6c13c07b238b8a0e3cee3b4fb Commit]</li> | ||
+ | <li>Learnt how to Constraint Internal Angle between two lines. | ||
+ | (https://www.freecadweb.org/wiki/Constraint_InternalAngle)</li> | ||
+ | <li>Added comment to code. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/cbef50b7c4484a8e9002a2b9af18e0b1c38f2b29 Commit]</li> | ||
+ | <li>Discussed about license with Yorik.</li> | ||
+ | </ul> | ||
+ | |||
+ | '''24-25 June''':<ul><li>Create a UI of dialog box of stirrup shape rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/46c7ea56737bb3c9852459355fb5f54fa6731666 Commit]</li> | ||
+ | <li>Experimenting how to create non-planar rebar because current FreeCAD reinforcement system is fully dependent on sketch which is strictly based on 2D. Then found a solution to create non-planar rebar by passing wire(may be planar or non-planar) to <code>Arch.makeRebar()</code> function.</li> | ||
+ | <li>Also found some bugs which will come by using wire profile to create rebar. [https://forum.freecadweb.org/viewtopic.php?f=8&t=23113 Link]</li></ul> | ||
+ | |||
+ | '''26-27 June''': <ul><li>Discussed about old and new properties of Rebar object like distance and direction properties and implemented on Rebar object with Yorik</li> | ||
+ | <li>Derived formula to get points when length and angle is given</li> | ||
+ | </ul> | ||
+ | |||
+ | '''28 June''': <ul><li>Wrote code of Stirrup.py file. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/eb9c65954c9f1d22b1c8dc881ba4d0eaa1be7515 Commit]</li> | ||
+ | <li>Discussed doubts regarding stirrup with Yorik on IRC.</li> | ||
+ | </ul> | ||
+ | |||
+ | '''29 June''':<ul><li>Learnt all the mathematical concepts of stirrup and derives formulas to find rounding length.[[File:Stirrup.jpg|thumbnail|center|800px]]</li> | ||
+ | <li>Embedded dropdown list icons in my code. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/1a45628fc4478601eac357dcf0455be04dd8e909 Commit]</li> | ||
+ | </ul> | ||
+ | |||
+ | '''30 June''':<ul><li>Today, I have passed my first evaluation and got some good comments from my mentors.</li> | ||
+ | <li>I have wrote the code for stirrup rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/660cd715990af7ae1d94d45935b4ac82676874cf Commit]</li> | ||
+ | </ul> | ||
+ | |||
+ | Here are the few screenshots of stirrup created from my code: | ||
+ | [[File:stirrup1.png|thumbnail|center|200px]] | ||
+ | [[File:stirrup2.png|thumbnail|center|200px]] | ||
+ | |||
+ | '''1 July''': <ul><li>Refactoring the existing code by added two seperate functions which calculates points of Straight and U-Shape rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/cdd5d8707db0eb9aa0ba28b9e3703ac3e9261e7b Commit]</li> | ||
+ | <li>Added License to all the files. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/857f0ac46fb3a964169690a772e4904bf80f937a Commit]</li></ul> | ||
+ | |||
+ | '''2 July''': <ul><li>Read the code of [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Part/Gui/TaskThickness.cpp TaskThickness.cpp] file.</li> | ||
+ | <li>Implemented "Pick Selected Face" button in the straight rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/e59ab8d65e762432152b3213463998daffef9c67 Commit]</li></ul> | ||
+ | |||
+ | '''3-4 July''': <ul><li>Introduced new property i.e. Bent Factor property in Stirrup. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/6f013f2f7c8dac4175ef72101e4ad14e24185bfb Commit]</li> | ||
+ | <li>Discussed about bar distribution on forum and IRC.</li></ul> | ||
+ | |||
+ | '''5-6 July''': <ul><li>Implementated "Pick Selected Face" button in all rebar shapes. Commits: [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/f2dd3c23381af4a827605c573304dc78d161bae5 1], [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/c19c7a91281ac07eba96106b753b237df4a8d515 2]</li> | ||
+ | <li> Updated <code>getParametersOfFace()</code> function according to Yorik's commit in the FreeCAD master. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/c19c7a91281ac07eba96106b753b237df4a8d515#diff-2b102af403a2e140e40c12a0d845efd2R143 Change]</li> | ||
+ | <li> Introduced new custom spacing property in the Rebar object.</li></ul> | ||
+ | |||
+ | '''7 July''': <ul><li>Sent PR to FreeCAD master and Yorik merged my PR. [https://github.com/FreeCAD/FreeCAD/pull/862 Pull Request]</li> | ||
+ | <li> Added PickFaceSelectedLabel in all UI files. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/408b0244b2a8b18ca4ddc62c2764e30b25678a8e Commit]</li> | ||
+ | <li>Added Stirrup Rebar icon in dropdown list. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/4421504b05ea4c095802c887f578029641a8e98c Commit]</li></ul> | ||
+ | |||
+ | '''8 July''': <ul><li>Designed a UI for rebar distribution. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/8f77ded1cd11cbd76a08450c0f7b1736f186bf04 Commit]</li> | ||
+ | <li>Saw rebar distribution in Tekla Structures and also found some bugs in Tekla rebar distribution.</li></ul> | ||
+ | |||
+ | '''9 July''': <ul><li>Wrote code for implementing rebar distribution. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/bcc2ea75e92a775e2cbefa7dbba118cff3150877 Commit]</li></ul> | ||
+ | |||
+ | '''10-11 July''': <ul><li>Made an icon for dialog box of rebar distribution. [[File:Rebardistribution.jpg|thumbnail|center|500px]]</li> | ||
+ | <li> Added button for custom spacing in straight rebar dialog box and also added few function in RebarDistribution.py file. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/543aab29000d8766a26fb27b3b83881c6aab012f Commit] | ||
+ | [[File:Rebardistribution2.png|thumbnail|center|500px]] | ||
+ | </li> | ||
+ | <li> Implemented uniform spacing in all rebar dialog box with a proper way. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/8a3672dc88deb395706773b8291e162b1a1e5f3d Commit]</li></ul> | ||
+ | |||
+ | '''12 July''': <ul><li>Discussed about rebar distibution dialog box on the [https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&start=100#p182185 FreeCAD forum] with all FreeCAD testers and also explained how rebar distribution works.</li></ul> | ||
+ | |||
+ | '''13-14 July''': <ul><li>Added support to rebar add-on when structure element is derived from any object(like wire, sketch etc.). [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/497e29985815d3a1426ab83a6a8076e8584b980d Commit]</li> | ||
+ | <li>Also, read about direction of cosine and exploring properties of edges, faces and boundingbox.</li></ul> | ||
+ | |||
+ | '''15 July''':<ul><li>Added comments in Rebarfunc.py file. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/6b63b9d5a068625a2a3e0a93c8bdd1c4deb77db7 Commit]</li> | ||
+ | <li>Fix bug when user selects face whose length and width are equal. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/0faed773ca38eb2dfe1602d4bbd2a5c318c82821 Commit]</li> | ||
+ | <li>As said my mentor, I added line in the code which change Label property to reflect rebar type(Straight Rebar, Stirrup Rebar etc) in the tree view.</li> | ||
+ | <li>Create UI file for L-Shape rebar.</li></ul> | ||
+ | |||
+ | '''16 July''':<ul><li>Wrote code of L-Shape rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/6331f87d3c56886c6bd3eb8e13eb39b2e2135b03 Commit]</li> | ||
+ | <li>Create differents icons of L-Shape rebar which shows orientation of rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/99bfef2fb6a337b04bfbc15d6e3285970d901073 Commit]</li> | ||
+ | <li>Added return statement in all make rebar functions. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/871aaff82c4e9507d88514a79cdc21269c96decc Commit]</li> | ||
+ | <li>Also screencast a video of L-Shape rebar. [https://youtu.be/qPIbB-TlMHY Video]</li></ul> | ||
+ | |||
+ | '''17-19 July''': <ul><li>Imporved geometry of stirrup rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/122d23d147f21fbb8b84fec23b97f9dbe9346910 Commit]</li> | ||
+ | <li>Defined [code]translate()[/code] function in Rebarfunc.py file as said by Yorik.</li> | ||
+ | <li>Discussed many things with Yorik on IRC related to Rebar-Addon.</li></ul> | ||
+ | |||
+ | '''20 July''': <ul><li>Added orientation property and separated side cover into parts i.e. left and right side cover. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/27a4deb6620068bf580271892148d1452ae06277 Commit]</li> | ||
+ | <li>Separate side cover of stirrup into left, right, top and bottom side cover. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/082bfc9d04931c365099425fa486cba0eb4b3919 Commit]</li></ul> | ||
+ | |||
+ | '''21-22 July''': <ul><li>Created different icons of U-Shape rebar according to the orientation property. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/d4ba112864c43f30b67bd12fd185eda948a9a647 Commit]</li> | ||
+ | <li>Separated side cover of L-Shape rebar into left and right side cover. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/def951eea4480af2011cc519ae8606ec1ebc6957 Commit]</li> | ||
+ | <li>Introduced many new properties in straight rebar. The fields present in the straight rebar dialog box is changing according to orientation and cover along property.[https://github.com/amrit3701/FreeCAD-Reinforcement/commit/901d3ea1b6cf5f794ae3ceb48d0ec84d6ae1f532 Commit]</li></ul> | ||
+ | |||
+ | '''23 July''': Didn't do too much just create icon of straight rebar when orientation is set to vertical. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/fca5da2fee3781fe11bc2a557382f56c5afcb3dc Commit] | ||
+ | |||
+ | '''24 July''': Discussed many new things regarding the drawing of a structural element with Yorik on IRC. https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&start=150#p183274 | ||
+ | |||
+ | '''25 July''': Found one bug in Chakkree's script and fixed it. Here is the discussion: [https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&start=170#p183866 Forum Link] | ||
+ | |||
+ | '''26 July''': <ul><li>I watched Regis stair reinforcement [https://youtu.be/HWLgcaM5y_g video].</li> | ||
+ | <li>Fixed a bug regarding the direction of stirrup expand when a user selected base face of the structural element. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/4ff86e3ef802e8cc8f0697e358817673e4bff3cd Commit]</li></ul> | ||
+ | |||
+ | '''27-29 July''': <ul><li>Created UI for bent up rebars. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/acbae03332d9482ef6afbbb5ef83e7731aac3c41 Commit]</li> | ||
+ | <li> Implemented bent up rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/33ebe406b233ed6ae25829299dc914f1d5115768 Commit]</li> | ||
+ | [[File:Bentrebar.png|thumbnail|center|500px]]</ul> | ||
+ | |||
+ | |||
+ | '''30-31 July''': Didn't do anything. Took rest for two days. | ||
+ | |||
+ | '''1 Augest''': <ul><li>Created dialog box for pop up image and implemented it. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/159884f86e53d0efc0bda39de05d913e067757cb Commit]</li> | ||
+ | [[File:PopimageUshapeRebar.png|thumbnail|center|500px]] | ||
+ | </ul> | ||
+ | |||
+ | ''' 2-4 Augest''': <ul><li>Read Chakkree's code for implementing circular stirrup. [https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&start=70#p181904 Code]</li> | ||
+ | <li>Created UI of Circular stirrup. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/f4ed0f4d06a34d2a45ec39de6828dc3a1066a623 Commit]</li> | ||
+ | <li>Wrote code in CircularStirrup.py file. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/32f883a9014b1f8d59a039245d14e0a3558227e6 Commit] | ||
+ | [[File:CircluarStirrup3.png|thumbnail|center|500px]] | ||
+ | [[File:circluarStirrup4.png|thumbnail|center|500px]] | ||
+ | </li> | ||
+ | |||
+ | <li>Discussed issues related to circular stirrup with Yorik which comes when I set <code>Part::Helix</code> as a base of rebar object. | ||
+ | [[File:helix.png|thumbnail|center|500px]] | ||
+ | [[File:helix2.png|thumbnail|center|500px]]</li></ul> | ||
+ | |||
+ | '''5 Augest''': GSoC party!. | ||
+ | |||
+ | '''6 Augest''': <ul><li>Added <code>Arch_Rebar_CircularStirrup</code> in FreeCAD [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/d55dc9e61eb431956172794afeddd660eb5c1374 Commit]</li> | ||
+ | <li>Removed minor bugs in circular stirrup [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/333189fe87ca101327ceca2f267bc860efb5d863 Commit]</li> | ||
+ | <li>Discussed few things related to circular stirrup with Chakkree's on the FreeCAD forum. https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&start=200#p185451</li></ul> | ||
+ | |||
+ | |||
+ | '''7-11 August'''<ul><li>Discussed issue related to helical rebar shape on passing <code>Part::Helix</code> object as base object of Rebar on IRC.</li> | ||
+ | <li>Implemented "Apply" button in all rebars dialog boxs. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/388c280df1fd217dfac9a747cc7e477680b0942a Commit]</li> | ||
+ | <li>Added description image in Bent shape rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/b7ad0889efa07415dba2551a85a78ab407c2796d Commit] | ||
+ | [[File:Bentshapepopup.png|thumbnail|center|500px]]</li> | ||
+ | <li>Fixed bug [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/ea3e56f6059a69b15f1dc0bb2fb5a26e0d0048ea Commit]: No reaction on changing diameter in LShape, UShape and Bent shape rebar. For detail, here is the discussion: https://forum.freecadweb.org/viewtopic.php?f=34&t=23637&p=186052#p186052</li> | ||
+ | <li>Implemented <code>Part::Helix</code> in circular(helical) rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/888377bc01e6ff0e21fba187bf6821eb46c4c26b Commit] | ||
+ | [[File:Helicalrebar1.png|thumbnail|center|500px]] | ||
+ | [[File:Helicalrebar2.png|thumbnail|center|500px]] | ||
+ | </li></ul> | ||
+ | |||
+ | '''12-13 August''':<ul><li>Added detail description icons of Striaght, LShape and Stirrup rebar (made by thschrader). [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/e18c04a066cb2725de3643e4e6b747952b11efb0 Commit]</li> | ||
+ | <li>Added rebar tool dropdown list icons of bent shape and helical rebar (made by Yorik). [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/2de16ede89c889b8661b90a5ed62d38c57bba32b Commit]</li> | ||
+ | <li>Created first wiki page on UShape rebar. [https://www.freecadweb.org/wiki/Arch_Rebar_UShape Link]</li></ul> | ||
+ | |||
+ | '''14-18 August''':<ul><li>Added help icon in all rebar dialogs. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/0b1b5268763d65bd9400516366c6139a179d5395 Commit]</li> | ||
+ | <li>Updated detailed description icon of helical rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/9946f98d5074e96908eb2cab5cae5c7bcc664241 Commit]</li> | ||
+ | <li>Replace Circular Stirrup name to Helical Rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/6051eae0f588ea6d7f7f051a95ffe975326cbc51 Commit]</li> | ||
+ | <li>Created wiki pages(user documentation) for all rebar shapes. See given below: | ||
+ | <ul><li>Straight Rebar: [https://www.freecadweb.org/wiki/Arch_Rebar_Straight User_Documentation]</li> | ||
+ | <li>UShape Rebar:[https://www.freecadweb.org/wiki/Arch_Rebar_UShape User_Documentation]</li> | ||
+ | <li>LShape Rebar: [https://www.freecadweb.org/wiki/Arch_Rebar_LShape User_Documentation]</li> | ||
+ | <li>Bent Shape Rebar: [https://www.freecadweb.org/wiki/Arch_Rebar_BentShape User_Documentation]</li> | ||
+ | <li>Stirrup: [https://www.freecadweb.org/wiki/Arch_Rebar_Stirrup User_Documentation]</li> | ||
+ | <li>Helical Rebar: [https://www.freecadweb.org/wiki/Arch_Rebar_Helical User_Documentation]</li></ul></ul> | ||
+ | |||
+ | '''19 August''': <ul><li>Added comments in StraightRebar.py, BentShapeRebar.py and HelicalRebar.py. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/a6702034e9bed4a7443e7179558b007e1db658dc Commit]</li></ul> | ||
+ | |||
+ | '''20 August''': <ul><li>Added comments in UShapeRebar.py, LShapeRebar.py and Stirrup.py and Rebarfunc.py. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/48c57088c3463e5cbff2a33e1c3583297dfb53aa Commit]</li></ul> | ||
+ | |||
+ | '''21 August''': Discussed few things related to rebar addon code with Yorik on IRC. | ||
+ | |||
+ | '''22 August''': Added support in LShape dialog to take custom spacing when a user create rebar. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/1bad73492e13fe8fc4e96e915e4f085712efacd2 Commit] | ||
+ | |||
+ | '''23 August''': Also enabled custom spacing button in rest of rebar dialog. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/7cc53c21f304566a5c911959edbbd820ac971a49 Commit] | ||
+ | |||
+ | '''24-26 August''': Update README.md file on GitHub repo. [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/ddba8be594a3abb262b4377946f1d7771ce118bc Commit] | ||
+ | |||
+ | '''27 August''': Filled GSoC final evaluation form. |
Latest revision as of 01:42, 28 August 2017
Community Bonding Period[edit]
- Discussion of a project on FreeCAD forum and on IRC.
- Compile Qt plugin of FreeCAD to load FreeCAD widgets in QT creator.
- Understanding the code of ArchRebar object.
- Added PlacementList property to the rebar object. The PlacementList holds the placement of all the rebars. Pull request.
Coding Period[edit]
1 June : Today, officially my all exams are over and from now onwards I will give my 100 percent to my GSoC project. I have written TODO tasks for upcoming two weeks.
2 June : I have found a couple of shortcomings bugs in my scripts which I have shared before community bonding period. Also discussed these bugs with my mentor.
3 June : Yesterday, Yorik (my mentor) gave some suggestion that how to fix these bugs. Today, I was trying to make the logic which will work on any type of reinforcement and trying to implement that logic through programming. Also, explored functions like face.normalAt()
, face.CenterOfMass()
.
4 June : Today, I designed the taskpanel UI of straight rebar in Qtcreator by using FreeCAD widgets.
5 June : Today, I have integrated the task panel UI of straight rebar with backend scripts. This script will take input values from task panel and then pass input values to makeStraightRebar()
function which will create reinforcement of straight rebar in the structural element. For more detail, here are my commits.
6 June : Today, I have shared my scripts to the mentor for review. Here are the reviews: https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&sid=edc3a89eda2a484d1af55128b1781e6b#p177059
7 June : Today, I have learnt that how to add an image in the dialog box using PySide. For eg. I simply added QLabel object at the top of the dialog box using Qtcreator and then use label.setPixmap(QtGui.QPixmap(<path>))
command to add an image. Also, followed some links/tutorials to learn Inkscape.
8 June : Today, I have added checks to my Python code. These checks will verify that user have selected the face or not and if only user have selected a single face then only rebar object is created. Commit
9-10 June:
- Discussed my approach with structural engineers and found the right way to create reinforcement in the structural element. Link
- Sent pull request to FreeCAD (master).
11 June: Not done too much, finalised what has done till now and made a planned for things coming in the next weeks.
12 June: Discussed following things with Yorik:
- How to get previous values (when reinforcement is created) when a user wants to re-edit the current reinforcement?
- Add properties to the rebar object.
- Constraint the sketch of the rebar object.
- How we can check the given sketch is rectangular or not?
13 June:
- Understand functions present in a file.
- Added support when Structural element is derived from Sketch object.
- Defined
EdgesAngle(edge1, edge2)
,checkRectangle(edges)
functions.
Here is the commit.
14 June:
- Solved a issue related to the placement of rebar. For e.g., Rebar position was not at correct position when structural element not located at orign. So, to fix this problem I have subtracted placement vector of structural element to the coordinates of rebar sketch.
- Defined
getBaseObject(obj)
,getBaseStructuralObject(obj)
functions. - Refactored the code by creating the seperate file "Rebarfunc.py". This file contains basic functions which will use for creating any type reinforcement in the future.
15-16 June:
- Sent pull request to FreeCAD master. Detail of PR: Defined custom function (setpropertyRebarShape) in the _ViewProviderRebar class. This function will add properties to the instance of _ViewProviderRebar class as per according to the rebar shape.
- Wrote code so that user will re-edit the rebar through rebar dialog box. To implement this, I have defined two new methods
editDialog()
andeditStraightRebar()
in the StraighRebar.py file. - Also added a couple of methods (
getTrueParametersOfStructure()
,getParametersOfFace()
) in the Rebarfunc.py file. - Removed minor bugs in the existing code.
Here is the commit.
17 June:
- Fix bug and added comments in the StraightRebar.py and Rebarfunc.py files. Commit
- Updated README.md Commit
- Imporoved of UI of dialog box of straight rebar and also set tab order on input fields of straight rebar dialog box.Commit
18 June: Today, a whole I was struggling to find a reason behind why rebar created in a wrong direction when user set an option "remove external geometry of base sketches when needed" in the Arch preferences. Finally, I found a reason behind this bug and then fix it. Commit
19 June:
- Fix bug when user created reinforcement more than one times on the same structural element, rebar was not created at right position. Commit
- Discussed with Yorik on IRC, that where we can add properties of rebar and then after discussion I am added all the properties to a specific rebar shape as per according to rebar shape. Commit
- Created the UI dialog box for U-Shape rebar
- Also wrote a code for creating U-Shape rebar. Commit
20 June:
- Implemented property top cover in U-Shape rebar instead of bent lenght.Commit
- Made an icon for U-Shape rebar and also improved Straight rebar icon.
21 June:
- Added two FreeCAD command (
Arch_Rebar_Straight
,Arch_Rebar_UShape
) in the RebarTools.py file. Commit
22 June:
- Changed a title window heading of dialog box.
- Used standard button instead of custom button
- Assigned tasks which I will complete in the coming week.
Here is a commit.
23 June:
- Added checks when sketch support is empty. Commit
- Learnt how to Constraint Internal Angle between two lines. (https://www.freecadweb.org/wiki/Constraint_InternalAngle)
- Added comment to code. Commit
- Discussed about license with Yorik.
24-25 June:
- Create a UI of dialog box of stirrup shape rebar. Commit
- Experimenting how to create non-planar rebar because current FreeCAD reinforcement system is fully dependent on sketch which is strictly based on 2D. Then found a solution to create non-planar rebar by passing wire(may be planar or non-planar) to
Arch.makeRebar()
function. - Also found some bugs which will come by using wire profile to create rebar. Link
26-27 June:
- Discussed about old and new properties of Rebar object like distance and direction properties and implemented on Rebar object with Yorik
- Derived formula to get points when length and angle is given
28 June:
- Wrote code of Stirrup.py file. Commit
- Discussed doubts regarding stirrup with Yorik on IRC.
29 June:
- Learnt all the mathematical concepts of stirrup and derives formulas to find rounding length.
- Embedded dropdown list icons in my code. Commit
30 June:
- Today, I have passed my first evaluation and got some good comments from my mentors.
- I have wrote the code for stirrup rebar. Commit
Here are the few screenshots of stirrup created from my code:
1 July:
- Refactoring the existing code by added two seperate functions which calculates points of Straight and U-Shape rebar. Commit
- Added License to all the files. Commit
2 July:
- Read the code of TaskThickness.cpp file.
- Implemented "Pick Selected Face" button in the straight rebar. Commit
3-4 July:
- Introduced new property i.e. Bent Factor property in Stirrup. Commit
- Discussed about bar distribution on forum and IRC.
5-6 July:
- Implementated "Pick Selected Face" button in all rebar shapes. Commits: 1, 2
- Updated
getParametersOfFace()
function according to Yorik's commit in the FreeCAD master. Change - Introduced new custom spacing property in the Rebar object.
7 July:
- Sent PR to FreeCAD master and Yorik merged my PR. Pull Request
- Added PickFaceSelectedLabel in all UI files. Commit
- Added Stirrup Rebar icon in dropdown list. Commit
8 July:
- Designed a UI for rebar distribution. Commit
- Saw rebar distribution in Tekla Structures and also found some bugs in Tekla rebar distribution.
9 July:
- Wrote code for implementing rebar distribution. Commit
10-11 July:
- Made an icon for dialog box of rebar distribution.
- Added button for custom spacing in straight rebar dialog box and also added few function in RebarDistribution.py file. Commit
- Implemented uniform spacing in all rebar dialog box with a proper way. Commit
12 July:
- Discussed about rebar distibution dialog box on the FreeCAD forum with all FreeCAD testers and also explained how rebar distribution works.
13-14 July:
- Added support to rebar add-on when structure element is derived from any object(like wire, sketch etc.). Commit
- Also, read about direction of cosine and exploring properties of edges, faces and boundingbox.
15 July:
- Added comments in Rebarfunc.py file. Commit
- Fix bug when user selects face whose length and width are equal. Commit
- As said my mentor, I added line in the code which change Label property to reflect rebar type(Straight Rebar, Stirrup Rebar etc) in the tree view.
- Create UI file for L-Shape rebar.
16 July:
- Wrote code of L-Shape rebar. Commit
- Create differents icons of L-Shape rebar which shows orientation of rebar. Commit
- Added return statement in all make rebar functions. Commit
- Also screencast a video of L-Shape rebar. Video
17-19 July:
- Imporved geometry of stirrup rebar. Commit
- Defined [code]translate()[/code] function in Rebarfunc.py file as said by Yorik.
- Discussed many things with Yorik on IRC related to Rebar-Addon.
20 July:
- Added orientation property and separated side cover into parts i.e. left and right side cover. Commit
- Separate side cover of stirrup into left, right, top and bottom side cover. Commit
21-22 July:
- Created different icons of U-Shape rebar according to the orientation property. Commit
- Separated side cover of L-Shape rebar into left and right side cover. Commit
- Introduced many new properties in straight rebar. The fields present in the straight rebar dialog box is changing according to orientation and cover along property.Commit
23 July: Didn't do too much just create icon of straight rebar when orientation is set to vertical. Commit
24 July: Discussed many new things regarding the drawing of a structural element with Yorik on IRC. https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&start=150#p183274
25 July: Found one bug in Chakkree's script and fixed it. Here is the discussion: Forum Link
26 July:
- I watched Regis stair reinforcement video.
- Fixed a bug regarding the direction of stirrup expand when a user selected base face of the structural element. Commit
27-29 July:
30-31 July: Didn't do anything. Took rest for two days.
1 Augest:
- Created dialog box for pop up image and implemented it. Commit
2-4 Augest:
- Read Chakkree's code for implementing circular stirrup. Code
- Created UI of Circular stirrup. Commit
- Wrote code in CircularStirrup.py file. Commit
- Discussed issues related to circular stirrup with Yorik which comes when I set
Part::Helix
as a base of rebar object.
5 Augest: GSoC party!.
6 Augest:
- Added
Arch_Rebar_CircularStirrup
in FreeCAD Commit - Removed minor bugs in circular stirrup Commit
- Discussed few things related to circular stirrup with Chakkree's on the FreeCAD forum. https://forum.freecadweb.org/viewtopic.php?f=8&t=22760&start=200#p185451
7-11 August
- Discussed issue related to helical rebar shape on passing
Part::Helix
object as base object of Rebar on IRC. - Implemented "Apply" button in all rebars dialog boxs. Commit
- Added description image in Bent shape rebar. Commit
- Fixed bug Commit: No reaction on changing diameter in LShape, UShape and Bent shape rebar. For detail, here is the discussion: https://forum.freecadweb.org/viewtopic.php?f=34&t=23637&p=186052#p186052
- Implemented
Part::Helix
in circular(helical) rebar. Commit
12-13 August:
- Added detail description icons of Striaght, LShape and Stirrup rebar (made by thschrader). Commit
- Added rebar tool dropdown list icons of bent shape and helical rebar (made by Yorik). Commit
- Created first wiki page on UShape rebar. Link
14-18 August:
- Added help icon in all rebar dialogs. Commit
- Updated detailed description icon of helical rebar. Commit
- Replace Circular Stirrup name to Helical Rebar. Commit
- Created wiki pages(user documentation) for all rebar shapes. See given below:
- Straight Rebar: User_Documentation
- UShape Rebar:User_Documentation
- LShape Rebar: User_Documentation
- Bent Shape Rebar: User_Documentation
- Stirrup: User_Documentation
- Helical Rebar: User_Documentation
19 August:
- Added comments in StraightRebar.py, BentShapeRebar.py and HelicalRebar.py. Commit
20 August:
- Added comments in UShapeRebar.py, LShapeRebar.py and Stirrup.py and Rebarfunc.py. Commit
21 August: Discussed few things related to rebar addon code with Yorik on IRC.
22 August: Added support in LShape dialog to take custom spacing when a user create rebar. Commit
23 August: Also enabled custom spacing button in rest of rebar dialog. Commit
24-26 August: Update README.md file on GitHub repo. Commit
27 August: Filled GSoC final evaluation form.