Difference between revisions of "User:Amritpal singh/gsoc proposal"

From BRL-CAD
Line 17: Line 17:
 
I also developed a Python script for AutoCAD to change the dimensions in a DXF file with a defined increment. Currently, I am working on code compliance on IFC files using parsing functionality of IfcOpenShell using Python.
 
I also developed a Python script for AutoCAD to change the dimensions in a DXF file with a defined increment. Currently, I am working on code compliance on IFC files using parsing functionality of IfcOpenShell using Python.
  
<!--
 
 
= Project Information =
 
= Project Information =
  
= Project Title: The FreeCAD Plugin Installer =
+
= Project Title: Rebar Addon for FreeCAD =
  
 
= Brief Project Summary =
 
= Brief Project Summary =
  
My main idea is to implement a plugin manager for FreeCAD that will be used to install/remove/update plugins and other unofficial workbenches or modules and macros. Besides, this project will make the life of the FreeCAD developers, workbench authors as well as the end-user easier.
+
My project is to create a rebar addon for Arch Workbench of FreeCAD to ease up the process of creating reinforcement in structural element. The main purpose of this project is to enable the user to create reinforcement through an easy and intuitive way. For this proposal, I will be considering rebaring systems for rectangular footing, pedestal, column, beam and slab.
  
 
= Detailed Project Description =
 
= Detailed Project Description =
  
'''Current Scenario'''
+
'''Existing system in FreeCAD'''
  
There are many plugins available for FreeCAD and developers are creating more. So the task for getting pull requests, managing and merging them becomes a tedious task. Quite similar is in the case of macros. And it also makes the code base of FreeCAD a bit more or like bloatware to be delivered to the end-user. Efforts have been done by the FreeCAD developers to separate the installation of plugins from the FreeCAD software itself.
+
At present, the rebar functionality in FreeCAD is very limited and creating a reinforcement system is quite tedious. The current approach is followed by creating a sketch for the rebar profile and defining the required set of constraints. This becomes very time-consuming task when user has building model with several structural objects.
  
One has to do manual work for getting plugins installed on their system to be able to use them. So this project considers the issue and tends to implement an universal plugin manager that will manage the plugins and it will include the following:
 
  
<ol style="list-style-type: decimal;">
+
'''Proposed solution to the problem'''
<li><blockquote><p>List all the plugins installed</p></blockquote></li>
 
<li><blockquote><p>Remove the installed plugins</p></blockquote></li>
 
<li><blockquote><p>Add new plugins locally/remotely</p></blockquote></li>
 
<li><blockquote><p>Plugin Compatibility Test</p></blockquote></li>
 
<li><blockquote><p>Update the plugins (basically git pull)</p></blockquote></li>
 
<li><blockquote><p>Enable/Disable the plugin</p></blockquote></li>
 
<li><blockquote><p>Adding Git support</p></blockquote></li>
 
<li><blockquote><p>Implementing Plugin details (identifier)</p></blockquote></li>
 
<li><blockquote><p>Package and dependencies resolver</p></blockquote></li></ol>
 
  
As FreeCAD is having many workbenches/macros fully coded in Python so they can be imported, without any necessity of compilation. As the plugins authors have to go through the painful (and somewhat lengthy) process of Pull Request on GitHub to get their code reviewed and accepted. This project focuses on making the same process rather easier to get the plugins working at the user’s end, so that user can integrate designs modules into their projects as a plug-in with ease. So the main idea is to present a simple, intuitive and interactive user interface.
+
To ease up the rebaring process in FreeCAD, an interactive addon will be developed where user will input the required data as per the design requirements and they will need not to draw rebars from the Sketcher workbench for creating reinforcement in the structural object.
  
The problem with the existing system is that it’s currently using manual technique to get everything done i.e. it uses git submodules that have to be fetched manually every time a workbench/macro code is updated. Rather, it has to be automated.
+
The basic procedure to achieve this goal will as per the following points:
  
'''Project Goals'''
+
<ol style="list-style-type: decimal;">
 +
<li><blockquote><p>The first step will begin in the Arch workbench by creating a structure from the “Create a Structure” tab, or alternatively the user may also create a sketch of the profile from Sketcher workbench and then extrude it to transform into the desired structure.</p></blockquote></li>
 +
<li><blockquote><p>Then the user will select the desired element or a number of elements of a same category.</p></blockquote></li>
 +
<li><blockquote><p>After selecting the element(s), user will click on rebar dropdown provided in Arch workbench. From dropdown, user will select the rebar shape. Upon selection, dialog box will pop-out with input fields specific to selected rebar. User can enter the input values in the input fields and finally submit with button click.</p></blockquote></li></ol>
  
<ol style="list-style-type: decimal;">
+
<!--
<li><blockquote><p>'''''Better User Interface:''''' The main objective of the project is to helping the FreeCAD users to manage their plugins with simple user interface to make the overall user experience better. This product that will be delivered to the end user will include the UI such that he could manage the plugins with a few simple clicks.</p></blockquote></li></ol>
 
  
 
<blockquote>''''Implementation Process''''
 
<blockquote>''''Implementation Process''''

Revision as of 11:41, 6 May 2017

Name: Amritpal Singh

IRC Nick: Amritpal

Blog: https://amritpals.com

GitHub Profile: https://github.com/amrit3701

Brief Background Information

I am B.Tech. (3rd year), Information Technology (IT) student of Guru Nanak Dev Engineering College, India. Proficient in writing code in C/C++, Python, bash scripting and recently also worked on Open-source Mathematical Software System (SageMath).

I also worked on Structure Information Modeling (SIM) and made a parser to store contents of STAAD PRO files into MySQL database. User can provide building specifications (for example) through web browser and at the back-end, FreeCAD macros use these input values to draw different views of the building on different drawing sheets. To support 3D rendering on the web browser, an option is provided to convert FreeCAD native file format (.FCStd) to WebGL format.

Link: https://github.com/amrit3701/Sim

I also developed a Python script for AutoCAD to change the dimensions in a DXF file with a defined increment. Currently, I am working on code compliance on IFC files using parsing functionality of IfcOpenShell using Python.

Project Information

Project Title: Rebar Addon for FreeCAD

Brief Project Summary

My project is to create a rebar addon for Arch Workbench of FreeCAD to ease up the process of creating reinforcement in structural element. The main purpose of this project is to enable the user to create reinforcement through an easy and intuitive way. For this proposal, I will be considering rebaring systems for rectangular footing, pedestal, column, beam and slab.

Detailed Project Description

Existing system in FreeCAD

At present, the rebar functionality in FreeCAD is very limited and creating a reinforcement system is quite tedious. The current approach is followed by creating a sketch for the rebar profile and defining the required set of constraints. This becomes very time-consuming task when user has building model with several structural objects.


Proposed solution to the problem

To ease up the rebaring process in FreeCAD, an interactive addon will be developed where user will input the required data as per the design requirements and they will need not to draw rebars from the Sketcher workbench for creating reinforcement in the structural object.

The basic procedure to achieve this goal will as per the following points:

  1. The first step will begin in the Arch workbench by creating a structure from the “Create a Structure” tab, or alternatively the user may also create a sketch of the profile from Sketcher workbench and then extrude it to transform into the desired structure.

  2. Then the user will select the desired element or a number of elements of a same category.

  3. After selecting the element(s), user will click on rebar dropdown provided in Arch workbench. From dropdown, user will select the rebar shape. Upon selection, dialog box will pop-out with input fields specific to selected rebar. User can enter the input values in the input fields and finally submit with button click.