Ajout de la variante 2 pour le volet roulant

This commit is contained in:
Philippe Roy 2023-02-12 00:34:37 +01:00
parent 0c6e1a3cf3
commit 6ceafe774c
5 changed files with 18 additions and 10 deletions

View File

@ -278,6 +278,7 @@ def cmd_click(cont):
# Fichier de commande
if obj.name=="File" :
file_open()
system.system_reset()
# About
if obj.name=="About-cmd" :
@ -484,7 +485,7 @@ def file_open():
else: # Qt5 ne s'installe pas bien sur Windows -> wxPython
scene.objects['System']['file_proc'] = subprocess.Popen([sys.executable, os.path.join(os.getcwd(), "twin_file_wx.py")], stdout=subprocess.PIPE, encoding = 'utf8')
# Récupérer le nom du fchier
# Récupérer le nom du fchier
stout = scene.objects['System']['file_proc'].communicate()
if stout[0][:-1] != 'None' and len(stout[0][:-1])>0 :
scene.objects['System']['script'] = stout[0][:-1]

Binary file not shown.

View File

@ -2,6 +2,7 @@ import bge # Bibliothèque Blender Game Engine (UPBGE)
import twin # Bibliothèque de l'environnement 3D des jumeaux numériques
import math
import time
import runpy # Exécution de script Python légère (sans import)
###############################################################################
# volrou.py
@ -104,8 +105,9 @@ def init(cont):
scene.objects['Microrupteur haut']['description']="Capteur fin de course volet en haut : fdc_h()"
scene.objects['Microrupteur bas']['description']="Capteur fin de course volet en bas : fdc_b()"
scene.objects['Recepteur LDR']['description']="Capteur de luminosité (LDR) : lum()"
system_init() # Initialisation du système
# Initialisation du système
system_init()
def get_public_vars():
return public_vars
@ -432,6 +434,9 @@ def system_init ():
def system_reset ():
# Mise en place de la variante
runpy.run_path(scene.objects['System']['script'], run_name='init')
# Entrées à l'état initial
objs= ['Bp monter', 'Bp arret', 'Bp descendre', 'Bp auto', 'Bg auto', 'Microrupteur haut','Microrupteur bas', 'Recepteur LDR']
for obj in objs:

View File

@ -1,5 +1,4 @@
from volrou_lib import * # Bibliothèque utilisateur du volet roulant
volrou_variante(2) # Variante 2 de la maquette 3D du volet roulant
###############################################################################
# volrou_cmd.py
@ -112,3 +111,5 @@ if __name__=='start':
start(commandes)
if __name__=='stop':
stop()
if __name__=='init':
variant(2) # Variante 2 de la maquette 3D du volet roulant

View File

@ -165,15 +165,16 @@ def start(fct):
# Par défaut les objets sont présents quelque soit la variante sélectionnée.
##
def volrou_variante(variant):
if variant != scene.objects['System']['variant']:
print ("Variante de la maquette numérique:", variant)
scene.objects['System']['variant']=variant
def variant(variant_num):
if variant_num != scene.objects['System']['variant']:
print ("Variante de la maquette numérique:", variant_num)
scene.objects['System']['variant']=variant_num
variant_dict = {'Bp auto':[1], 'Bg auto':[2], 'Bg auto-on':[2]}
variant_list = list(variant_dict)
for name in variant_list:
if variant in variant_dict[name]:
pass
if variant_num in variant_dict[name]:
scene.objects[name].setVisible(True,True)
scene.objects[name].restorePhysics()
else:
scene.objects[name].setVisible(False,True)
scene.objects[name].suspendPhysics()