3D Printer Workbench Work Proposal: Difference between revisions
Line 19: | Line 19: | ||
==Phase 2 (Second 90 day iteration)== | ==Phase 2 (Second 90 day iteration)== | ||
'''Goal:''' Increase replicability of work accomplished in phase 1 (first 90 day iteration) to help OSE create FreeCAD | '''Goal:''' Increase replicability of work accomplished in phase 1 (first 90 day iteration) to help OSE create FreeCAD workbenches for all of its machines by 2028. | ||
==Deliverables== | ==Deliverables== |
Revision as of 00:29, 4 May 2020
Problem Statement
Designing 3D printer variants with pre-designed OSE parts and modules in FreeCAD is time-consuming and cumbersome.
Solution
Develop a FreeCAD workbench to streamline the design of 3D printer variants using pre-designed OSE parts and modules.
Proposal
General Requirements
- Support OSE Linux and FreeCAD 16
- If we can support 18 while not at the expense of 16, then great.
- Keep file size of parts low. See File Simplification for details.
- See further details in proposal.
Phase 1 Accomplishments (Feb 1st - May 1st 2020)
The 3D printer workbench allows for rapid design (5 minutes) of a 3D printer with any size frame, angle frame size, 3D printer corner size, axes, heated bed, and extruder - allowing the user to produce a design and to generate a cut list for metal rods and steel angle, as well as to generate the CAM files (STLs) for the 3D printed corners.
This allows for full flexibility of rapid design, turning the design process of any new configuration (frame size, angle iron size, 3D printed corner size) from a 24 hour+ project by skilled designers to a 5 minute project doable by novices. This is a great example of how custom, engineered design can be performed by non-experts, thereby taking a great leap towards democratized technology.
Phase 2 (Second 90 day iteration)
Goal: Increase replicability of work accomplished in phase 1 (first 90 day iteration) to help OSE create FreeCAD workbenches for all of its machines by 2028.
Deliverables
- Add documentation
- Increased documentation on existing code, patterns, packages, and modules
- How to modify the FreeCAD 3D Printer Workbench for different CAD insertion - for example if someone wants to modify the extruder to add more details
- Should be self-evident based on available documentation
- Add more unit tests and increase code coverage of ose-3d-printer-workbench
- At the time of writing, current code coverage is 65%
- We aim to increase code coverage to 90 - 100%
- Valuable refactors to the existing ose-3d-printer-workbench repository for making the below proposed architecture possible:
ose-workbench-generator
to generate new workbenches with requisite files and structure needed in a single command using a project scaffolding tool like cookiecutter or yeoman.- GENERATED WORKBENCH REQUIREMENTS
- Boilerplate code for a single toolbar button and or main menu option that does something simple like creating a box
- README
- LICENSE
- CONTRIBUTING
- Continuous Integration and Continuous Delivery via Travis CI
- Support for unit tests
- Support for generating documentation from source code
- GENERATED WORKBENCH REQUIREMENTS
ose-workbench-core
library encapsulating functionality common to all OSE workbenches (will be withinose-3d-printer-workbench
inside ofose3dprinter.app.core
andose3dprinter.gui.core
packages, but designed to be ported out into a separate repo later)
Stretch Goals: YouTube tutorial video series on FreeCAD Workbench Python Programming.
Existing Work
There was a similar effort around late 2017 to early-to-mid 2018 by Steven Kaiser and Ruslan Krenzler with the D3D Workbench and Piping Workbench.
The D3D workbench was merely a start, and it so far has a frame only, but made of PVC pipe, which is not our main branch of development. Though, it's useful for anyone wanting to build with PVC.
This proposal is for a new branch of development related to the idea of a OSE 3D Printer FreeCAD workbench starting in early 2019.