- L'assemblage des axes de notre modèle
- Création d'un nouvel axe
- Position, direction et transformation des axes
- Axes système
- Désignation des axes
- Accouplement ou couplage des axes
- Calculer la rotation
- Fonction de ré-entrée
- Autres options d'accouplement et d'axes
- Imbrication des axes
- Exportation du modèle au format 3dm
L'assemblage des axes de notre modèle
La fenêtre de dialogue de l'assemblage des axes (couplages) est en quelque sorte le cœur de notre modèle. Ici, tous les objets que nous avons précédemment créés à partir de fichiers *.kon individuels sont assemblés et liés. Cependant, nos objets sont non seulement assemblés entre eux, mais ils sont également positionnés dans cette fenêtre de dialogue et dotés de propriétés de rotation ou de translation et si nécessaire, assemblés (couplés) les uns aux autres. En interne, Home-Nostruktor crée un fichier de modèle *.mod3 pour chaque objet placé sur un axe lors de l'exportation ultérieure du modèle. (voir 'Créer le premier projet').
Les modèles complexes, en particulier le matériel roulant comme les locomotives, se composent généralement d'un grand nombre de pièces mobiles comme les roues, les essieux, les bielles, les pantographes, les portes, les volets, etc. Toutes les parties du modèle 3D qui doivent être mobiles sont placées sur des axes appelés axes de transformation. Les axes de translation concernent les déplacements parallèles, les axes de rotation (rotations) ou l'échelle (changements de taille) sont ensuite affectés aux axes respectifs via la fenêtre de dialogue. Dans Home-Nostruktor, ces axes de transformation sont symbolisés comme des repères mathématiques simplifiés (abscisse et ordonnée), comme nous pouvons déjà le voir dans l'exemple qui va suivre.
Création d'un nouvel axe
Pour créer un nouvel axe, utilisez d'abord les boutons de direction (pavé de direction à droite de la fenêtre) ou la souris (clic gauche) pour sélectionner l'axe 'à croiser'. Si vous débutez la phase de création des axes, le premier axe à 'croiser' est toujours celui de base (Basis) par défaut. Les axes sélectionnés sont affichés en rouge. Si l'axe désiré est maintenant actif (couleur rouge), cliquez sur le bouton Nouvel axe :
Exemple d'une fenêtre de dialogue pour les axes d'une locomotive avec 2 bogies (_vRadsatz + _hRadsatz [axes système]) et 4 axes (Roues_motricesAV_G, Roues_motricesAV_D, Roues_motricesAR_G, Roues_motricesAR_D). Les deux axes systèmes sont actionnés (accouplements représentés en bleu) ensemble grâce à l'axe _Geschwindigkeit.
Chacun des axes mobiles d'un modèle doit avoir un nom unique. Le nom de l'axe est saisie dans une petite fenêtre qui s'affiche après avoir cliqué sur le bouton Nouvel axe :
Fenêtre de dialogue pour saisir le nom d'un nouvel axe.
Position, direction et transformation des axes
Nous déterminons la position d'un axe dans notre modèle en réglant les valeurs X, Y et Z dans le cadre Base dans la partie gauche de la fenêtre de dialogue.
Dans les cadres Direction et Orientation, nous définissons la direction souhaitée pour l'axe pour déterminer sur quelle ligne virtuelle dans l'espace 3D la transformation de l'axe doit avoir lieu. Les valeurs d'entrée dans les champs X, Y et Z de la direction et de l'orientation sont radiales. Les valeurs radiales peuvent être calculées à l'aide du bouton Calculer la rotation qui ouvre une petite fenêtre comme ci-dessous :
Dans les champs X, Y et Z, vous pouvez entrer une valeur entière, décimale ou une fraction. Dans ce dernier cas, les valeurs sont saisies par un point et non par une virgule pour transformer l'objet dans l'un des 3 axes. L'information est donnée en centimètres, degrés angulaires ou par rapport à la taille selon le cas.
Nous déterminons la transformation de l'axe sélectionné dans le cadre Type d'axe de la fenêtre Assemblage (couplage) des axes. Là, nous avons la possibilité de modifier les valeurs sous forme de rotation, de translation ou de mise à l'échelle de l'axe. Ceci peut être réalisé dans les zones de saisie prévues à cet effet :
Axes système
Les axes système de notre modèle sont tous des axes indispensables pour l'exploitation de celui-ci dans EEP. Si nous n'assignions pas ces axes système ici dans la fenêtre de dialogue des axes, notre modèle ne sera pas reconnu par la suite dans EEP et nous ne pourrons pas l'utiliser. Les axes système sont caractérisés par une notation précise (par exemple _vRadsatz, _hRadsatz), comme nous avons déjà appris à les connaître lors de la création d'un nouvel axe. De plus, les axes système dans le programme Home-Nostruktor sont précédés d'un trait de soulignement. En ajoutant ce trait de soulignement, ils restent invisibles lors du contrôle des axes dans EEP. Inversement, si le trait de soulignement n'est pas défini, les axes peuvent être contrôlés dans EEP à l'aide de curseurs, de points de contact ou d'un script Lua.
Exemples d'axes système pour le matériel roulant :
- _vRadsatz : Indique l'axe de rotation de l'essieu avant. Permet de placer le modèle sur les voies dans EEP.
- _hRadsatz : Indique l'axe de rotation de l'essieu arrière. Permet de placer le modèle sur les voies dans EEP.
- _Geschwindigkeit :
- Il doit correspondre à un axe de rotation compris entre 0 et 360 degrés. Il correspond à une roue motrice imaginaire d'un rayon de 1 mètre.
- Il est contrôlé par le programme avec une vitesse de rotation correspondant à la vitesse. Par exemple, une commande de locomotive peut y être couplée. Si nous reprenons notre exemple au chapitre Création d'un nouvel axe, nous pouvons remarquer que celui-ci sert de catalyseur et regroupe les 4 axes suivants : Roues_motricesAV_G, Roues_motricesAV_D, Roues_motricesAR_G, Roues_motricesAR_D.
D'autres exemples d'axes système :
- _Wasser
- _GravityX
- _GravityY
- _Schutt
Une liste de tous les axes système avec une description correspondante à leur signification, ainsi que de courtes descriptions sur le sujet peuvent être trouvées dans Noms d'axes réservés.
Désignation des axes
Tous les autres axes en plus des axes réservés système peuvent avoir des noms que vous pouvez attribuer librement. Dans la fenêtre de dialogue au chapitre Création d'un nouvel axe, il s'agit par exemple des 4 axes : Roues_motricesAV_G, Roues_motricesAV_D, Roues_motricesAR_G, Roues_motricesAR_D.
Cependant, lors de l'attribution d'un nom à un axe de transformation, nous devons tenir compte des éléments suivants :
- Tous les axes mobiles mais non pertinents pour l'utilisateur dans EEP (parce qu'ils ne sont ni manipulés manuellement avec un curseur ni contrôlés par un point de contact) devraient avoir un trait de soulignement devant leur nom comme déjà mentionné dans ce chapitre. Si un nom d'axe est précédé d'un trait de soulignement, cet axe ne sera pas affiché dans la fenêtre de contrôle des axes dans EEP, ce qui est tout à fait volontaire par souci de clarté. A titre d'exemple, on peut citer un pantographe composé de plusieurs objets en mouvement et d'un total de quatre axes de transformation.
Pour l'utilisateur d'EEP, seul l'axe pantographe est pertinent car c'est celui avec lequel il peut monter et descendre le pantographe. Tous les autres axes couplés _Bras_Superieurs, _Cadre_Inferieur et Barre_Accouplement sont en effet déplacés, mais non listés dans la fenêtre de contrôle de mouvement de l'axe.
- Tous les axes doivent avoir un nom court, concis et surtout unique dans un modèle. Seule la singularité du nom d'un axe permet un contrôle sans équivoque de celui-ci. Dès que vous subordonnez un autre axe portant le même nom à un axe de transformation (par exemple, ajouter un autre axe portant le même nom _Roue sous l'axe _Roue), les deux axes sont immédiatement effacés car leur commande logique s'annule l'un par rapport à l'autre dans le programme
- Le nom d'un axe de transformation dans la fenêtre de dialogue Assemblage (couplage) des axes doit être écrit sous la forme d'un seul mot ou d'une chaîne de mots ou d'abréviations, qui n'est pas entrecoupé par des blancs ! Il faut également s'y conformer si la désignation (orthographiquement correcte) se compose de plusieurs mots individuels. On y parvient en utilisant des liaisons et des traits de soulignement ou en plaçant des mots ou des parties de mots directement les uns derrière les autres. Exemples : _Bras_Superieurs, _Cadre_Inferieur, Barre_Accouplement ou encore mieux, parce que plus court _BrasSup
- Pour que les enregistrements de fichiers soient aussi courts que possible, les caractères spéciaux et les trémas allemands, tels que : §, $, %, &, *, /, \, é, è, ê, î, à, ù, ä, ö, ü, ü, ß doivent être absolument évités !
- Il existe actuellement 26 noms d'axes réservés, appelés axes système, qui ne peuvent être utilisés uniquement pour appeler des fonctions précises du programme. Il est conseillé de mémoriser les noms et les fonctions de ces axes système afin d'éviter d'éventuels dysfonctionnements du modèle.
Accouplement ou couplage des axes
En couplant les axes, nous les déplaçons les uns par rapport aux autres. Le couplage peut être identique ou opposé, c'est-à-dire que l'axe sélectionné pour le couplage et l'axe amené au couplage avec lui se déplacent dans le même sens sur leurs axes de transformation préalablement définis (rotation, translation, mise à l'échelle) ou se déplacent dans des directions opposées. L'accouplement voulu est doté d'une valeur de couplage et devient ainsi actif. La valeur de couplage contrôle le rapport dans lequel les axes couplés doivent réagir les uns par rapport aux autres. Le rapport peut être de 1:1 (si = 1), mais peut aussi avoir un rapport différent. Le couplage se fait via la fenêtre de dialogue suivante, que nous appelons via le bouton Couplage :
L'accouplement est toujours actif pour l'axe préalablement sélectionné (représenté en rouge). Si nous regardons l'exemple ci-dessus, nous voyons l'axe Roues_motricesAV_G comme l'axe sélectionné actif. Cet axe est couplé dans la fenêtre de dialogue Couplage avec l'axe Roues_motricesAV_D avec une valeur d'accouplement égale à 1. Cela signifie que le 2ème axe Roues_motricesAV_D, appartenant à l'essieu avant ou au bogie (_vRadsatz), est mis en synchronisation par couplage avec le 1er axe Roues_motricesAV_G (puisque la valeur de couplage est égale à [+]1) et grâce à cette valeur, la synchronisation aura lieu dans un rapport de 1:1. Sur ce point, le rapport 1:1 signifie que si l'axe (ou la roue) Roues_motricesAV_G se déplace à une vitesse de rotation x, l'axe (ou la roue) Roues_motricesAV_D se déplacera à la même vitesse de rotation x.
Si nous voulons que les axes couplés se déplacent dans des directions opposées, il suffit d'ajouter un signe moins [-] avant la valeur de couplage. De même, si nous voulons que l'axe sélectionné pour le couplage tourne à la moitié de la vitesse de rotation x de l'axe actif sélectionné dans la fenêtre de dialogue Assemblage (couplage) des axes, nous réglons la valeur de couplage à 0.5. Nous pouvons changer ce rapport en fonction du résultat désiré (pour un dixième de la vitesse de rotation x nous réglons la valeur d'accouplement = 0,1 et ainsi de suite).
Important : Pour tous les axes système et les autres axes qui doivent réagir en interaction avec le réglage de la vitesse dans EEP, si nous reprenons l'exemple de notre modèle, un couplage de l'axe respectif avec l'axe système _Geschwindigkeit est nécessaire. Le couplage peut donc se faire directement avec l'axe du système _Geschwindigkeit, mais peut aussi se faire indirectement.
Indirectement ici, dans notre exemple veut dire que les deux axes Roues_motricesAV_G et Roues_motricesAV_D sont déjà couplés l'un à l'autre donc un couplage avec l'axe _Geschwindigkeit et soit l'axe Roues_motricesAV_G ou Roues_motricesAV_D, est suffisant pour faire fonctionner (tourner) les deux axes plus tard avec le curseur dédié au contrôle de la vitesse dans EEP.
Calculer la rotation
La fenêtre Assemblage (couplage) des axes dispose d'un bouton supplémentaire pour le calcul de la rotation. Ce bouton vous permet d'entrer la position de rotation d'un axe en °(degrés). Les valeurs d'angles saisies sont automatiquement converties en valeurs radiales une fois que vous cliquez sur OK (Voir figure ci-dessous). Ceci évite le calcul manuel, ce qui simplifie le réglage de la rotation :
Une fois que vous cliquez sur le bouton OK, la fenêtre se ferme et le calcul de la rotation en valeurs radiales s'affiche automatiquement dans les zones de saisies concernées :
Fonction de ré-entrée
La fonction de ré-entrée dans les accouplements est toujours nécessaire lorsque les axes doivent être couplés avec des mouvements rotatifs ou coulissants. Dans de nombreux cas, on constate que lors de la simulation d'une machine, le couplage des axes peut se faire avec des rapports très simples. Par exemple, nous couplons deux essieux moteurs d'une locomotive ou d'un wagon avec la valeur d'accouplement + 1, puisque les roues motrices reposent sur des axes de rotation et se déplacent dans le même sens. Pour les types d'entraînement plus complexes, comme l'entraînement par bielle d'une locomotive électrique plus ancienne (par ex. E52, crocodile, etc.) ou l'entraînement d'une locomotive à vapeur avec un cylindre, bielle et roue motrice, nous devons cependant adopter une autre approche en ce qui concerne les accouplements.
Comme nous pouvons le voir dans le schéma ci-dessus, le principe d'entraînement d'une locomotive à vapeur est constitué d'unités rendues à leur plus simple expression :
Cylindre - bielle motrice - roue motrice.
Dans le cylindre, nous avons un mouvement de translation, dans la bielle motrice le mélange d'un mouvement de translation et de rotation et dans les roues motrices, seulement un mouvement de rotation.
Dans notre modèle, il est maintenant nécessaire de rassembler ces différents mouvements d'axes et c'est justement ce que nous pouvons faire par le calcul automatique de la fonction de la ré-entrée. Nous allons maintenant examiner un exemple. Dans la boîte de dialogue suivante, nous voyons maintenant l'axe _Roue-Motrice croisé avec l'axe _Bielle-Motrice, croisé avec l'axe _CrosseBielle-BielleCylind, qui à son tour est croisé avec l'axe _Libre. Dans la fenêtre Assemblage (couplage) des axes de notre modèle, les axes _Roue-Motrice, _Bielle-Motrice et _Bielle-BielleCylind sont tous définis comme axes de rotation. Le mouvement de translation de la partie concernée d'une locomotive à vapeur est intégré dans la séquence par le biais de l'axe _Libre :
Pour que les mouvements de rotation et le mouvement de translation soient synchronisés (s'exécutent) ensemble, nous assignons maintenant pour l'axe de translation _Libre une Ré-entrée. La Ré-entrée signifie simplement que nous associons le mouvement de translation de l'axe _Libre (axe sélectionné en rouge) en amont de l'axe _Roue-Motrice hiérarchiquement avec celui-ci via la Ré-entrée de l'axe _Roue-Motrice (voir figure ci-dessous) et par le couplage automatique des axes _Libre et _Roue-Motrice que la ré-entrée affecte également :
Le calcul du couplage et l'enregistrement des axes situés entre celui à partir duquel nous déclenchons la ré-rentrée (ici l'axe _Libre) et celui que nous déterminons pour la ré-entrée (l'axe _Roue-Motrice) est démarré en cliquant sur le bouton Calculer le mouvement.
Sur la base de la valeur numérique Qualité de la solution, nous pouvons voir comment la solution calculée automatiquement est satisfaisante en terme de qualité. Plus la valeur numérique est grande, plus la solution trouvée est mauvaise. Si le résultat est égal à 0,00000, le calcul est optimal. Afin d'améliorer un éventuel mauvais résultat, il est recommandé de vérifier les amplitudes de déplacement des différents axes.
La ligne de connexion/couplage légèrement décalée entre les axes _Libre et _Roue-Motrice permet de visualiser clairement si la ré-entrée est activée dans la boîte de dialogue :
Lors de la ré-entrée, il faut toujours s'assurer que tous les axes intégrés ont une amplitude de mouvement suffisante et peuvent donc suivre l'amplitude de mouvement prévue pour l'ensemble de la 'machine'. Cependant, l'amplitude des mouvements ne doit pas être trop grande, car cela détériore la qualité de la solution trouvée. Avant le calcul de la ré-entrée, on peut d'abord l'essayer via la fonction Déplacer les axes dans la fenêtre 3D. Si un axe ne peut pas être amené à la position désirée, sa plage de valeurs est mal réglée : Une plage de valeurs Max >= 360 degrés pour un axe rotatif signifie un mouvement cyclique. Toutes les positions zéro des axes doivent avoir une position valide du système des axes. L'axe dans lequel s'effectue la rentrée doit avoir une position zéro = 0,0.
Et maintenant enfin, la vue de l'exemple de ré-entrée dans la visionneuse 3D :
Autres options d'accouplement et d'axes
- Modification des séquences d'axes : Vous avez la possibilité, si vous le désirez, de changer la séquence des axes désaccouplés. Pour ce faire, maintenez enfoncée l'une ou l'autre des deux touches [SHIFT] du clavier de l'ordinateur et déplacez l'axe sélectionné à la position désirée à l'aide des touches en forme de curseurs. Sans relâcher la touche [SHIFT], appuyez sur le bouton 'Placer' pour enregistrer la nouvelle séquence. Si l'incrémentation entre les deux axes est supérieure d'un niveau, maintenez toujours la touche [SHIFT] enfoncée et sélectionnez la nouvelle position avec le bouton gauche de la souris. Dans les deux cas, l'axe à déplacer change de couleur et passe du rouge au vert une fois que l'axe de destination est sélectionné à son tour. Important : ceci ne fonctionne qu'avec des axes désaccouplés ! (Voir le chapitre Imbrication des axes ci-dessous).
- Fonction AUTO : Les axes peuvent être couplés automatiquement grâce à la fonction AUTO. L'amplitude de mouvement intégrale du premier axe est couplée entièrement à l'amplitude de mouvement du deuxième axe.
- Mise à l'échelle des axes : Comme pour la rotation et la translation, il est possible de modifier l'échelle de l'axe. Cette fonction peut être utilisée, par exemple, dans une grue dans laquelle un ou plusieurs câbles sont mis à l'échelle, ce qui réduit considérablement le nombre de modèles d'axes requis. Le changement d'échelle de l'axe du modèle est également nécessaire pour un tachymètre avec affichage de barres (exemple de projet : x:\trend\Home-Nostruktor17\Projects\Technik\Velocity_speedometer_test).
Imbrication des axes
Modification des positions des axes
Si les axes ne sont pas dans une relation de ré-entrée et si ceux-ci sont désaccouplés, vous avez la possibilité de modifier leurs positions actuelles. Pour ce faire, procédez comme suit :
- Cliquez avec la souris sur l'axe dont la position doit être modifiée. Une fois sélectionné, il apparaitra en rouge :
- Maintenez une des deux touches [Maj] enfoncée,
- Cliquez sur l'axe sous lequel l'axe sélectionné précédemment doit être placé (ici l'axe c). Une fois que vous avez cliqué sur l'axe de destination, celui-ci est marqué en rouge (le premier axe qui avait été sélectionné au départ) devient vert :
- Cliquez ensuite sur le bouton Placer :
- Le premier axe (b) est maintenant ajouté sous le second (c) :
S'il y avait eu d'autres axes, l'axe b aurait été placé au début de la rangée à gauche :
Déplacement des axes
Selon le même principe, une séquence d'axes peut également être modifiée : si vous avez un ordre d'axes : e, d, c, b, a :
…et si vous voulez mettre les axes dans l'ordre a, b, c, d, e, sélectionnez le premier axe situé à droite (a) et l'axe de base (Basis) et cliquez sur le bouton Placer. Faites de même pour les quatre axes restants (c'est-à-dire e, d, c, b) :
Exportation du modèle au format 3dm
Pour avoir la certitude de récupérer le bon chemin d'accès du modèle, procédez comme suit :
- Dans la liste déroulante, vous retrouvez la caractéristique de votre modèle telle que vous l'avez définie lors de la première exportation,
- Veillez à ce que la case à cocher Forcer soit activée dans les paramètres du projet et laisser comme chemin d'accès le dossier Resourcen par défaut,
- Exporter votre modèle,
- Après l'exportation, ouvrez à nouveau la fenêtre des paramètres du projet. Vous constaterez que le chemin correspondant au type du modèle a été modifié par le programme lui-même. (Personnellement, c'est la méthode que j'utilise). Mais rien ne vous empêche d'exporter votre modèle dans un autre dossier.
- Ainsi, vous pouvez être certain(e) du chemin d'accès correct pour l'enregistrement au sein du dossier Resourcen... dans EEP.