FreeCAD GUI Widgets toolkit

From FreeCAD Documentation
Revision as of 09:14, 15 August 2021 by Marja1 (talk | contribs)

Design456 - FreeCAD GUI Widgets toolkit:

Introduction

In the effort of making new tools for the direct modeling, graphical interface needed. Widget system required to let the user interact with the 3D world and the objects in side the document. Often FreeCAD implemented this interactive part as a ViewProivder part. These ViewProvider are made for each tool and they are specific for each tools.

This wouldn't be good for Design456 and wouldn't make producing new tools easy. That is why I needed to figure out how COIN3D works and how drawings are implemented there.

This GUI toolkit will in the beginning try to produce different kind of primitive drawings which then can be adapted by different widgets (i.e square, circle, triangle, ellipse, ..etc.) For example an arrow that user can push or pull to get the effect of extruding or pushing a face of an 3D object.

As I am inspired totally by the simplicity of FLTK GUI Toolkit for used for making Windows/MAC/Linux GUI interface in CPP and other languages, this toolkit will try to make it in the same flavor.

Simple example showing a drawing
from pivy import coin
import fr_draw as d 
from PySide import QtCore,QtGui
sg = FreeCADGui.ActiveDocument.ActiveView.getSceneGraph()
root=d.draw_circle()
sg.addChild(root)