Je ne sais pas si ce sujet a déjà été abordé. Je souhaiterais scripté en python la création des contraintes et A2Plus ne le permet pas.
Connaissez vous un moyen d'accéder aux fonctions A2Plus liés aux contraintes?
Création automatique des contraintes
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Re: Création automatique des contraintes
Je n'utilise pas cet atelier, mais il me semble qu'il faut utiliser les classes définies dans a2p_constraints.
Par exemple, après avoir sélectionné 2 vertex dans la vue 3D :
En revanche, cela oblige toujours à sélectionner les objets à contraindre à la main, dans la vue 3D.
Pour s'affranchir de cette "contrainte" (mouahaha), on peut créer une fausse classe sélection :
Encore une fois, je ne connais pas du tout les assemblages, ni cet atelier, mais c'est peut-etre une piste de départ.
Par exemple, après avoir sélectionné 2 vertex dans la vue 3D :
Code: Select all
import a2p_constraints
sel = FreeCADGui.Selection.getSelectionEx()
a2p_constraints.PointIdentityConstraint(sel)
Pour s'affranchir de cette "contrainte" (mouahaha), on peut créer une fausse classe sélection :
Code: Select all
import a2p_constraints
class fakeSelectObject:
def __init__(self, obj, subs):
self.Object = obj
self.ObjectName = obj.Name
self.SubElementNames = subs
o1 = App.activeDocument().addObject("Part::Feature")
o2 = App.activeDocument().addObject("Part::Feature")
shape1 = Part.makeBox(2,3,4)
shape2 = Part.makeSphere(5)
o1.Shape = shape1
o2.Shape = shape2
s1 = fakeSelectObject(o1, ["Vertex4"])
s2 = fakeSelectObject(o1, ["Vertex1"])
a2p_constraints.PointIdentityConstraint([s1, s2])
Re: Création automatique des contraintes
Je te remercie pour ta réponse, je pense que cela va me servir.