J'arrive a modéliser et créer des fichiers stl.
Je vais avoir besoin de créer des poulies GT2 et j'ai trouvé une documentation sur le Web, je ne connais pas encore les différents diamétres.
Je pense utiliser une macro pour modéliser avec une boite de dialogue pour passer les paramétres.
J'ai des connaissances en programmation c++ builder6 et visual basic, avec Python j'ai quelques difficultés avec le code et l'éditeur.
J'ai commencé directement dans Freecad, j'ai une erreur sur close() (ligne 49) et je ne passe pas par le try, j'ai donc loupé quelque chose mais je ne vois pas ou
Code: Select all
#
# Dessin pignon GT2
#
#-*- coding: utf-8 -*-
import sys
try:
import PyQt4 # PyQt4
from PyQt4 import QtCore, QtGui # PyQt4
# App.Console.PrintMessage("PyQt4"+"\n")
except Exception:
import PySide # PySide
from PySide import QtCore, QtGui # PySide
# App.Console.PrintMessage("PySide"+"\n")
import FreeCAD, FreeCADGui, math
import Sketcher, PartDesign
def proceed():
if FreeCAD.ActiveDocument == None:
FreeCAD.newDocument("Pignon GT2")
try:
nombre_de_dents = float(s1.text())
# pas = 2
# circonference = Nombre_de_dents * pas
# diametre_primitif = circonference / math.pi
# diametre_poulie = diametre_primitif - 0.51
# rayon_poulie = diametre_poulie / 2
App.Console.PrintMessage('valeur' + str(nombre_de_dents))
# largeur_poulie = float(s2.text())
except:
App.Console.PrintMessage('Erreur !')
close()
def close():
dialog.hide()
def __init__():
# Initialisation
dialog = None
s1 = None
# Dimentionner la boite de dialogue
dialog = QtGui.QDialog()
dialog.resize(180,160)
# Titre de la boite
dialog.setWindowTitle("Poulie GT2")
la = QtGui.QVBoxLayout(dialog)
# Affichage Label
t1 = QtGui.QLabel("Nombre de Dents")
la.addWidget(t1)
# Affichage LineEdit
s1 = QtGui.QLineEdit()
s1.setText("16.0")
s1.setFixedWidth(100)
la.addWidget(s1)
t2 = QtGui.QLabel("Largeur Courroie")
la.addWidget(t2)
# Affichage LineEdit
s2 = QtGui.QLineEdit()
s2.setText("8.0")
s2.setFixedWidth(100)
la.addWidget(s2)
# Gestion boutons OK / Cancel
okbox = QtGui.QDialogButtonBox(dialog)
okbox.setOrientation(QtCore.Qt.Horizontal)
okbox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
la.addWidget(okbox)
QtCore.QObject.connect(okbox, QtCore.SIGNAL("accepted()"), proceed)
QtCore.QObject.connect(okbox, QtCore.SIGNAL("rejected()"), close)
QtCore.QMetaObject.connectSlotsByName(dialog)
dialog.show()
dialog.exec_()
ma version de Freecad
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6704 (Git)
Build type: Release
Branch: releases/FreeCAD-0-16
Hash: 0c449d7e8f9b2b1fb93e3f8d1865e2f59d7ed253
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17