3D Printer Workbench Work Proposal: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
(Add execution section)
(Add sprint planning section)
Line 48: Line 48:
Each sprint will culminate in a sprint demo consisting of a video recording posted on [[G Roques Log]] with an email sent to relevant stakeholders ensuring project meets goals.
Each sprint will culminate in a sprint demo consisting of a video recording posted on [[G Roques Log]] with an email sent to relevant stakeholders ensuring project meets goals.


= How does this proposal relate to existing work? =
= Sprint Planning =
 
== Sprint 1 (Mon 1/27/19 - Sun 2/9/19) ==
* FreeCAD macro for changing the lengths of Universal Axis objects
** Initialize macro repository and codebase
** Creates new document
** Creates a [https://www.freecadweb.org/wiki/FeaturePython_Objects FeaturePython object] or [https://www.freecadweb.org/wiki/Scripted_objects Scripted object] from '''UniversalAxisSimple.FCStd''' file within repository allowing users to interact with object at a high-level and modify custom properties like '''Length'''.
 
== Sprint 2 (Mon 2/10/19 - Sun 2/23/19) ==
* FreeCAD workbench for assembling multiple Universal Axis objects together
** Initialize workbench repository and codebase
** Add 3 buttons to generate Universal Axis objects in different orientations:
*** '''1)''' Universal X Axis '''2)''' Universal Y Axis '''3)''' Universal Z Axis
*** Defaults placement to origin
** Need to copy and modify [https://github.com/kbwbe/A2plus/blob/master/a2p_importpart.py#L148 import part functionality] in [https://github.com/kbwbe/A2plus A2plus} for our purposes
** Prove out “assembling” existing FCStd files into a single document
 
== Sprint 3 (Mon 2/24/19 - Sun 3/8/19) ==
* Add Frame button to Workbench
** Generates frame from FCStd file in repository
** Assume X YY ZZ configuration to start
** Clicking Universal Y Axis button will generate 2 objects with default placements
** Attach Axes to frame when clicked
** Assume static and fixed frame size
** Assume cubic frame shape
** Determine if it makes sense to allow resizing axes individually when attached to cubic frame
 
= Existing Work =
There was a similar effort around late 2017 to early-to-mid 2018 by Steven Kaiser and Ruslan Krenzler with the [https://wiki.opensourceecology.org/wiki/D3D_Workbench D3D Workbench] and [https://wiki.opensourceecology.org/wiki/OSE_Piping_Workbench Piping Workbench].
There was a similar effort around late 2017 to early-to-mid 2018 by Steven Kaiser and Ruslan Krenzler with the [https://wiki.opensourceecology.org/wiki/D3D_Workbench D3D Workbench] and [https://wiki.opensourceecology.org/wiki/OSE_Piping_Workbench Piping Workbench].



Revision as of 18:44, 19 January 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

  1. FreeCAD macro for changing the lengths of Universal Axis objects
    • Creates a FeaturePython object or Scripted object from UniversalAxisSimple.FCStd file within repository allowing users to interact with object at a high-level and modify custom properties like Length.
    • Additional properties can be added to this object in a later phase:
      • Axis Orientation
        • X, Y, Z
      • Motor Orientation / Position
        • Left or Right
      • Belt Catcher Orientation
        • Up or down
      • Rod size
        • 8mm, 1”, 2”
  2. FreeCAD workbench for assembling multiple Universal Axis objects together
    • Initialize workbench repository and codebase
    • Add 3 buttons to generate Universal Axis objects in different orientationsI:
      • 1) Universal X Axis 2) Universal Y Axis 3) Universal Z Axis
    • Need to copy and modify import part functionality in A2plus for our purposes
      • Main problem with using A2plus functionality as is:
        • Combines parts together removing the ability to manipulate individual pieces like lengths of rods
      • Prove out “assembling” existing FCStd files into a single document
  3. Add Frame button to Workbench
    • Why start with frame as opposed to considering D3D Universal configurations first?
      • D3D pro configurations have more axes, are more tedious to resize, and will benefit more greatly from automation.
    • Generates frame from FCStd file in repository
    • Assume X YY ZZ configuration to start
      • Clicking Universal Y Axis button will generate 2 objects with default placements
      • Allow different configurations at a later phase (e.g. 4 Z axes for > 12” beds or 2 X axes)
    • Attach Axes to frame when clicked
    • Assume static and fixed frame size
      • Allow resizing frame at a later phase
    • Assume cubic frame shape
      • Allow rectangular shapes in a later phase
    • Determine if it makes sense to allow resizing axes individually when attached to cubic frame
  4. Assess progress and determine next steps:
    • Enhance Universal Axis object with additional properties
    • Design and develop interaction between frame and axes when resizing frame
    • Explore workbench interactions when designing D3D Universal configurations (self-supporting 3 axes)

Execution

The above proposal is planned to be carried out over the course of three 2-week sprints.

Each sprint will culminate in a sprint demo consisting of a video recording posted on G Roques Log with an email sent to relevant stakeholders ensuring project meets goals.

Sprint Planning

Sprint 1 (Mon 1/27/19 - Sun 2/9/19)

  • FreeCAD macro for changing the lengths of Universal Axis objects
    • Initialize macro repository and codebase
    • Creates new document
    • Creates a FeaturePython object or Scripted object from UniversalAxisSimple.FCStd file within repository allowing users to interact with object at a high-level and modify custom properties like Length.

Sprint 2 (Mon 2/10/19 - Sun 2/23/19)

  • FreeCAD workbench for assembling multiple Universal Axis objects together
    • Initialize workbench repository and codebase
    • Add 3 buttons to generate Universal Axis objects in different orientations:
      • 1) Universal X Axis 2) Universal Y Axis 3) Universal Z Axis
      • Defaults placement to origin
    • Need to copy and modify import part functionality in [https://github.com/kbwbe/A2plus A2plus} for our purposes
    • Prove out “assembling” existing FCStd files into a single document

Sprint 3 (Mon 2/24/19 - Sun 3/8/19)

  • Add Frame button to Workbench
    • Generates frame from FCStd file in repository
    • Assume X YY ZZ configuration to start
    • Clicking Universal Y Axis button will generate 2 objects with default placements
    • Attach Axes to frame when clicked
    • Assume static and fixed frame size
    • Assume cubic frame shape
    • Determine if it makes sense to allow resizing axes individually when attached to cubic frame

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.