import bge # Bibliothèque Blender Game Engine (BGE) import cine # Bibliothèque du player 3d d'analyse de cinématique ############################################################################### # schrader.py # @title: Player 3D cinématique de la pince schrader # @project: Blender-EduTech # @lang: fr # @authors: Philippe Roy # @copyright: Copyright (C) 2020-2022 Philippe Roy # @license: GNU GPL # # Commandes déclenchées par UPBGE pour le modèle de la pince schrader # # Ce player 3D est un environnement léger et spécifique pour la colorisation des solides d'un mécanisme en mouvement. # Il sert principalement pour l'apprentissage de la détection des classes d'équivalence d'un mécanisme afin de pouvoir faire sa modélisation cinématique. # ############################################################################### # Récupérer la scène 3D scene = bge.logic.getCurrentScene() ############################################################################### # Mécanisme ############################################################################### objects=['Corps', 'Piston', 'Doigt sup', 'Doigt inf', 'Biellette sup', 'Biellette inf', 'Bouchon','Axe piston', 'Axe doigt sup', 'Axe doigt inf', 'Axe biellette sup', 'Axe biellette inf', 'Joint piston', 'Joint bouchon', 'Circlips 1', 'Circlips 2', 'Circlips 3', 'Circlips 4', 'Circlips 5'] objects_anim=['Axe biellette inf', 'Axe biellette sup', 'Axe piston', 'Biellette inf', 'Biellette sup', 'Doigt inf', 'Doigt sup', 'Joint piston', 'Piston'] objects_dict={'Corps' : [1, '1 : Corps', 'Couleur1', []], 'Piston' : [2, '2 : Piston', 'Vert', []], 'Doigt sup' : [3, '3 : Doigt sup.', 'Couleur7', []], 'Doigt inf' : [4, '4 : Doigt inf.', 'Couleur7', []], 'Biellette sup' : [5, '5 : Biellette sup.', 'Couleur5', []], 'Biellette inf' : [6, '6 : Biellette inf.', 'Couleur5', []], 'Bouchon' : [7, '7 : Bouchon', 'TurquoiseF', []], 'Axe piston' : [8, '8 : Axe piston', 'VertF', []], 'Axe doigt sup' : [9, '9 : Axe doigt sup.', 'VioletF', []], 'Axe doigt inf': [10, '10 : Axe doigt inf.', 'VioletF', []], 'Axe biellette sup': [11, '11 : Axe biellette sup.', 'MagentaF', []], 'Axe biellette inf': [12, '12 : Axe biellette inf.', 'MagentaF', []], 'Joint piston': [13, '13 : Joint piston', 'Couleur6', []], 'Joint bouchon': [14, '14 : Joint bouchon', 'Couleur2', []], 'Circlips 1' : [15, '15 : Circlips 1', 'Gris', []], 'Circlips 2': [16, '16 : Circlips 2', 'Gris', []], 'Circlips 3': [17, '17 : Circlips 3', 'Gris', []], 'Circlips 4' : [18, '18 : Circlips 4', 'Gris', []], 'Circlips 5': [19, '19 : Circlips 5', 'Gris', []]} # Couleurs colors=[['Couleur1', [0.202, 0.114, 0.512, 1]], ['Couleur2', [0.051, 0.270, 0.279, 1]], ['Couleur3', [0.799, 0.031, 0.038, 1]], ['Couleur4', [0.799, 0.130, 0.063, 1]], ['Couleur5', [0.8, 0.619, 0.021, 1]], ['Couleur6', [0.246, 0.687, 0.078, 1]], ['Couleur7', [0.800, 0.005, 0.315, 1]], ['Couleur8', [0.75,0.75, 0.75, 0]]] colors_dict={'Couleur1' : [0.202, 0.114, 0.512, 1], 'Couleur2' : [0.051, 0.270, 0.279, 1], 'Couleur3' : [0.799, 0.031, 0.038, 1], 'Couleur4' : [0.799, 0.130, 0.063, 1], 'Couleur5' : [0.8, 0.619, 0.021, 1], 'Couleur6' : [0.246, 0.687, 0.078, 1], 'Couleur7' : [0.800, 0.005, 0.315, 1], 'Couleur8' : [0.75,0.75, 0.75, 0], 'TurquoiseF' : [0.019,0.107, 0.105, 1], 'Vert' : [0.130,0.799, 0.036, 1], 'VertF' : [0.041,0.127, 0.014, 1], 'MagentaF' : [0.153,0.002, 0.091, 1], 'Gris' : [0.258,0.275, 0.319, 1], 'VioletF' : [0.100,0.058, 0.254, 1]} # Initialisation def init(cont): scene.objects['Mecanism']['objects'] = objects scene.objects['Mecanism']['objects_anim'] = objects_anim scene.objects['Mecanism']['objects_dict'] = objects_dict scene.objects['Mecanism']['colors'] = colors scene.objects['Mecanism']['colors_dict'] = colors_dict cine.manip_init() # Manipulation du modèle 3D cine.objects_init() # Mécanisme cine.cmd_init() # Commandes cine.anim_init() # Animation