Difference between revisions of "User:Amritpal singh/GSoC17/logs"

(Coding Period)
(Coding Period)
Line 58: Line 58:
Here is the [https://github.com/amrit3701/FreeCAD-Reinforcement/commit/7efc536ae2be260496b36bc44ba95fadd94626ab commit].
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>

Revision as of 12:25, 17 June 2017

Community Bonding Period

  • 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

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.

Straightrebar taskpanel.png

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.

Straightrebar image.png

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() and editStraightRebar() 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