Editing User:Amarjeet Singh Kapoor/GSoC2016/Project
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 1: | Line 1: | ||
− | + | '''[https://github.com/openscad/openscad/wiki/Project%3A-Form-based-script-parameterization Form-based Customization]''' | |
− | + | '''Personal Information''' | |
'''Name:'''Amarjeet Singh Kapoor | '''Name:'''Amarjeet Singh Kapoor | ||
Line 16: | Line 16: | ||
<br /> | <br /> | ||
− | + | '''Brief Background Information''' | |
I am 3rd year B.Tech student of Computer Science and Engineering at Guru Nanak Dev Engineering College, Ludhiana, India. | I am 3rd year B.Tech student of Computer Science and Engineering at Guru Nanak Dev Engineering College, Ludhiana, India. | ||
Line 38: | Line 38: | ||
== '''Project Information''' == | == '''Project Information''' == | ||
− | === ''' | + | === '''Title: Form based script parameterization''' === |
− | This project is based on the User interface of OpenSCAD Software. The main idea of this project is to provide users with features to change certain variables or parameters in .scad file using form like interface which may include slide bar, check box, text box, ranges etc. so that we can visualize the changes in output on the basis of input side by side instead of manually changing different parameters. It will help the user able to create the templates for given model which can further be changed as per | + | = ''An Overview'' = |
+ | |||
+ | This project is based on the User interface of OpenSCAD Software. The main idea of this project is to provide users with features to change certain variables or parameters in .scad file using form like interface which may include slide bar, check box, text box, ranges etc. so that we can visualize the changes in output on the basis of input side by side instead of manually changing different parameters. It will help the user able to create the templates for given model which can further be changed as per user’s requirements. | ||
=== '''''Detailed Description''''' === | === '''''Detailed Description''''' === | ||
− | The basic implementation of the this project is almost done | + | The basic implementation of the this project is almost done. There is need to modify some existing features and to enhance its functionality so that it could be more interactive and user friendly. We can improve its UI for parameter window by adding the following new features under the scope of this project |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | There is need to modify some existing features and to enhance its functionality so that it could be more interactive and user friendly. We can improve its UI for parameter window by adding the following new features under the scope of this project | ||
<ol style="list-style-type: decimal;"> | <ol style="list-style-type: decimal;"> | ||
Line 83: | Line 59: | ||
# If user specifies ''@parameter([1:10])'' then it will take the default input widget like it's working in its present state. | # If user specifies ''@parameter([1:10])'' then it will take the default input widget like it's working in its present state. | ||
− | We will extend the code in ''ParameterEntryWidget::setValue()''for implementation purpose. | + | We will extend the code in ''ParameterEntryWidget::setValue()''for implementation purpose. </p></blockquote></li> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </p></blockquote></li> | ||
<li><blockquote><p> | <li><blockquote><p> | ||
Line 151: | Line 80: | ||
e.g. We can give a save button on top of parameter list which will save the new values in the .scad file and we can give optional save button for saving the individual parameter in parameter window. | e.g. We can give a save button on top of parameter list which will save the new values in the .scad file and we can give optional save button for saving the individual parameter in parameter window. | ||
− | |||
− | |||
</p></blockquote></li> | </p></blockquote></li> | ||
Line 169: | Line 96: | ||
<li><blockquote><p> '''Resolve issues found with existing code''' | <li><blockquote><p> '''Resolve issues found with existing code''' | ||
There are some issues with existing code like if we change the value in @parmameter then changes are reflected on parameter window but if we change the value of parameterized variable then no corresponding change occur on the parameter window for viewing new input widget based upon the change in value of parameterized variable we have to reopen the file. | There are some issues with existing code like if we change the value in @parmameter then changes are reflected on parameter window but if we change the value of parameterized variable then no corresponding change occur on the parameter window for viewing new input widget based upon the change in value of parameterized variable we have to reopen the file. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</p></blockquote></li> | </p></blockquote></li> | ||
− | |||
<li><blockquote><p> '''Saving scad file without annotation '''(optional) | <li><blockquote><p> '''Saving scad file without annotation '''(optional) | ||
Line 191: | Line 104: | ||
</ol> | </ol> | ||
− | + | = '''Milestones''' = | |
'''Community Bonding Period''' | '''Community Bonding Period''' | ||
Line 198: | Line 111: | ||
* Study existing parameter widget code and will try fixing some existing bugs. | * Study existing parameter widget code and will try fixing some existing bugs. | ||
− | ''' | + | '''Week 1''' |
− | * | + | |
− | * | + | * Write prototype code to add more widget options. |
− | *Check each use case associated with each | + | * Take community feedback on it. |
− | * | + | |
− | *Take community feedback | + | '''Week 2''' |
− | * | + | |
− | ''' | + | * Check each use case associated with it. |
− | * | + | * Finalise the code for specifying the input parameter widget. |
− | * | + | * Write documentation for this part of code. |
− | * | + | |
− | * | + | '''Week 3''' |
− | * | + | |
− | ''' | + | * Revising parsing and bison which will be used later this week. |
− | ''' | + | * Figure out special features which can be associated with each input widget like step value for spin box etc. |
− | *Start | + | * Start writing prototype code for that. |
− | *Take community feedback | + | |
− | * | + | '''Week 4''' |
− | * | + | |
− | *Write | + | * Complete prototype code for all use case. |
− | * | + | * Take community feedback on it. |
+ | * Figure out way to solve existing problems with associated with parameter window. | ||
+ | |||
+ | '''Week 5''' | ||
+ | |||
+ | * Complete study of bison. | ||
+ | * Solving problems associated with parameter window. | ||
+ | * Documenting the new code. | ||
+ | |||
+ | '''Week 6''' | ||
+ | |||
+ | * Study the existing code which can be used for assigning new values to parameterized variables. | ||
+ | * Writing examples for new annotation syntax. | ||
+ | * Add feature to change single parameterized variable in .scad file. | ||
+ | |||
+ | '''Week 7''' | ||
+ | |||
+ | * Add feature of assigning new values of parameterized variable to variables in .scad file. | ||
+ | * Documenting the code till now. | ||
+ | * Take community feedback. | ||
+ | |||
+ | '''Week 8''' | ||
+ | |||
+ | * Add feature of Saving scad file without annotation. | ||
+ | * Documentation of work done so far. | ||
+ | |||
+ | '''Week 9''' | ||
+ | |||
+ | * Start working on feature of Grouping of Parameters. | ||
+ | * Documenting the code. | ||
+ | * Take community feedback. | ||
+ | |||
+ | '''Week 10''' | ||
+ | |||
+ | * Test all the code till now. | ||
+ | * Solving issues found by other people on using this code. | ||
+ | * Study the UI of some existing software and take people's feedback on how to improve it. | ||
+ | * Write example .scad file for the new features added after mid term. | ||
+ | |||
+ | '''Week 11-12''' | ||
+ | |||
+ | * Take community feedback on UI of parameter window. | ||
+ | * Improve UI of parameter window. | ||
+ | * Write user document for all features added during this time. | ||
+ | |||
+ | '''Week 13''' | ||
− | + | * More testing and cleaning. | |
− | * | + | * Time to make up for missed milestone (if any). |
− | |||
− | |||
− | |||
− | ''' | + | '''Week 14''' |
− | |||
− | |||
− | |||
− | ''' | + | * '''FINAL EVALUATION''' |
− | |||
<br /> | <br /> | ||
− | + | ='''Time Availability'''= | |
I will be available 40 hours / week, if needed can spend more . | I will be available 40 hours / week, if needed can spend more . | ||
− | + | = '''Why OpenSCAD?''' = | |
I liked the concept of OpenSCAD (CAD for programmers) during the different seminars that were conducted regarding the OpenScad in our group. When I saw your project of Form based script parameterization I found it really interesting that we can make a template of the model and then change the model based on the form based parameter. | I liked the concept of OpenSCAD (CAD for programmers) during the different seminars that were conducted regarding the OpenScad in our group. When I saw your project of Form based script parameterization I found it really interesting that we can make a template of the model and then change the model based on the form based parameter. | ||
− | + | = '''Why me?''' = | |
I am really enthusiastic to contribute in such a project which can improve user experience. I believe that I am a quick learner and this opportunity would enhance my skills. I truly feel that I will be maintaining and cherishing this bond in terms of time-to-time contribution in future also and would be a valuable asset to the organization. | I am really enthusiastic to contribute in such a project which can improve user experience. I believe that I am a quick learner and this opportunity would enhance my skills. I truly feel that I will be maintaining and cherishing this bond in terms of time-to-time contribution in future also and would be a valuable asset to the organization. | ||
<br /> | <br /> |