Création automatique des contraintes

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
PhilFC
Posts: 2
Joined: Thu Sep 10, 2020 9:35 am

Création automatique des contraintes

Post by PhilFC »

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?
User avatar
Chris_G
Veteran
Posts: 2598
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Création automatique des contraintes

Post by Chris_G »

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 :

Code: Select all

import a2p_constraints
sel = FreeCADGui.Selection.getSelectionEx()
a2p_constraints.PointIdentityConstraint(sel)
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 :

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])
Encore une fois, je ne connais pas du tout les assemblages, ni cet atelier, mais c'est peut-etre une piste de départ.
PhilFC
Posts: 2
Joined: Thu Sep 10, 2020 9:35 am

Re: Création automatique des contraintes

Post by PhilFC »

Je te remercie pour ta réponse, je pense que cela va me servir.
Post Reply