OSE Developer End of Term Discussion with G

From Open Source Ecology
Jump to: navigation, search

Notes - Discussion on Sat May 2, 2020

  • Main challenge of FreeCAD programming for a programmer - keeping 3D programming in mind - understanding what you are working with in 3D space
  • Label code and functions according to orientation
  • Adding toolbars is easy
  • To start a FreeCAD workbench...

Starting a Workbench

  • Start by knowing what you need to do.
  • Understand a Command concept in FreeCAD
  • Understand geometry
  • Command is a thing that gets executed withing FreeCAD
  • Hard part was figuring out how to program the geometry
  • The more details in geometry
  • User selects an objects. Ex. .length.object gets you length
  • Navigating the code base - going through many files.
  • Using Docker to run unit tests. Docker creates an application environment, without installing FreeCAD or python modules
  • One Docker instance does the test runs. How long did it take to set up Docker.
  • But for a novice, it's easy enough to install the app and work from there.
  • Access Docker documentation from G's documentation.
  • Docker runs on laptop - https://docs.docker.com/engine/install/ubuntu/
  • Workflow - branch on laptop, push it, do tests, on a server environment without GUI.
  • FreeCAD - has app - command line, and there is the GUI part
  • You can test for - ex. select a face of a frame, you can find out the xyz parameters, etc. If need transformation
  • G used Visual Studio Code. There is an OSalt.
  • Unit tests - arrange, act, assert.
  • FreeCAD Workbench Python Programming
  • REPL - read-evaluate-print loop
  • https://www.youtube.com/watch?v=yTDkJ7JZAWs&t=467s - Simlink for FreeCAD 19 -
  • https://wiki.freecadweb.org/Workbench_creation
  • Scaffolding for all OSE workbenches.
  • App and Gui is the 2 main branches of structure for FreeCAD apps
  • The github documentation is generation
  • Restuctured text markup language
  • Documentation of code should be as close to the code as possible.
  • Gs_Full_Time_OSE_Developer_Transition_Plan
  • https://en.wikipedia.org/wiki/ReStructuredText