FreeCAD (3) - Macros

Création et programmation de macros

FreeCAD (3) - Macros

Documentaiton sur la creation de macros dans freeCAD

Durée :
Difficulté :
Compatibilité :

Pré-requis :

Logiciels :

Documentation réalisée à :

5

  Notes

Cette page ne traitera que du paramétrage de la version link-branch de RealThunder. Attention à la version utilisée spécifiée ci-dessous.

  Work In Progress...

La documentation n’est pas terminée !

FreeCAD_assembly3 2021.10.15

1. XXXXXXXX

En-tête de base.

__title__   = " "
__author__  = ""
__version__ = ""
__date__    = ""
__url__     = ""
__Comment__ = ""
__Communication__ = ""
__IconL__  = ""
__IconW__  = ""

Code de base pour affichage d’une fenêtre dockée sur la droite.

import sys
from PySide import QtGui ,QtCore 

FCmw = FreeCADGui.getMainWindow()
myNewFreeCADWidget = QtGui.QDockWidget() # create a new dckwidget

##########################
class myWidget_Ui(object):
  def setupUi(self, myWidget):
    # Setup the Widget
    myWidget.setObjectName("myWidget")
    myWidget.resize(QtCore.QSize(350,100).expandedTo(myWidget.minimumSizeHint())) # sets size of the widget
    myWidget.setWindowTitle("My Panel")

##########################
#  Load and Setup the UI
myNewFreeCADWidget.ui = myWidget_Ui() # load the Ui script
myNewFreeCADWidget.ui.setupUi(myNewFreeCADWidget) # setup the ui
FCmw.addDockWidget(QtCore.Qt.RightDockWidgetArea,myNewFreeCADWidget) # add the widget to the main window

2. Avec l’interface QT creator

Télécharger QT Creator avec la licence “openSource”

Attention à ne pas oublier de mettre un layout global pour voir le panel en entier et éviter cela : Pour se faire dans QT verifier dans les objets qu’il n’y a pas de layouts cassés ou non définit. Si oui (voir image), alors clic droit sur l’objet > Mettre en page et choisissez la mise en page Résultat :

Code minimum d’intégration :


import FreeCAD ,FreeCADGui ,Part

# CHANGE THE LINE BELOW
path_to_ui = "C:/...Chemin.../form.ui"
 
class BoxTaskPanel:
   def __init__(self):
       # this will create a Qt widget from our ui file
       self.form = FreeCADGui.PySideUic.loadUi(path_to_ui)

        
panel = BoxTaskPanel()
FreeCADGui.Control.showDialog(panel)


X. Aller plus loin

Macros intéressantes

Tutoriels