Macro Rotate To Point/fr

Description
Macro pour faire pivoter un objet sur lui-même, l'axe de rotation étant soit:
 * centre de la boîte
 * centre de masse
 * direction du fil
 * dernier point cliqué

Utilisation

 * 1) Téléchargez la macro depuis le gestionnaire d'Addon
 * 2) Exécuter la macro
 * 3) Sélectionnez un objet
 * 4) Choisissez l'une des orientations suivantes:



Point de rotation

 * Boundbox Center: Sélectionnez la rotation du centre BoundBox à l'axe
 * Center of Mass: sélectionnez la rotation du centre de masse à l'axe
 * Point Clicked: Sélectionnez le dernier clic de souris comme point de rotation de l'axe
 * 1: sélectionnez l'objet
 * 2: utilisez la touche pour choisir un objet supplémentaire

Axe de rotation

 * Rotation(Z) Yaw: axe de lacet
 * Rotation(Y) Pitch: axe de tanguage
 * Rotation(X) Roll: axe de roulis
 * Rotation(D) Direction: rotation autour de la ligne, bord sélectionné

Coordonnées du point cliqué

 * DoubleSpinBox: Coordinate X au clic de la souris (modifiable uniquement avec le mode "Point Clicked")
 * DoubleSpinBox: Coordinate Y au clic de la souris (modifiable uniquement avec le mode "Point Clicked")
 * DoubleSpinBox: Coordinate Z au clic de souris (modifiable uniquement avec le mode "Point Clicked")

Work

 * Si cette case à cocher est, la rotation est désactivée, le placement de l'objet se fait sur l'axe sélectionné.
 * Si cette case à cocher est cochée, un point est créé pour visualiser l'axe de rotation des points: rouge X, vert Y, bleu Z
 * Line Edit: L'édition de ligne affiche les coordonnées d'origine de l'axe sélectionné + les données d'entrée données dans la spinBox
 * entrez la modification (la valeur est réinitialisée après chaque sélection)
 * Applique la modification à l'objet
 * Les coordonnées sont affichées

Data

 * Fenêtre d'affichage des coordonnées mémorisées
 * Sauve les données dans un fichier
 * Delete and clean the text editor
 * Efface la ligne sélectionnée
 * Mémorise et affiche les coordonnées
 * Mode normal Les données sont sauvegardées dans ce mode : [(0.06,1.30,0.0),(85.0,0.0,0.0)],
 * Mode macro  Les coordonnées sont sauvées dans une macro complète (un ou plusieurs objet(s)) directement dans votre répertoire de macros avec le même nom que le document et l'extension .FCMacro
 * Options de la macro
 * __pompe____engrenage__ : Nom du document
 * __22 Coordinates__ : nombre de coordonnées
 * Type Key Q to Quit : Quitte la macro
 * Type Key D to Decrease speed : Décrémente la vitesse de l'animation
 * Type Key I to Increase speed : Incémente la vitesse de l'animation
 * Type Key P to Pause/Continue or key RETURN or ESCAPE : Pause / Animation
 * Type Key S to Step by Step (key RETURN or ESCAPE to continue) : Pas à pas (Step by Step)
 * '''Type Key R to reverse
 * Type Key M for this message : Affiche ce memo
 * ____________________________
 * Mode normal : Les données ne sont pas sauvées dans la fenêtre de mémorisation, vous devez sauver les coordonnées avec le bouton  (Le compteur affiche le nombre de coordonnées sauvées)
 * Mode Memo on Click  : Les données sont automatiquement sauvées a chaque clic sur le bouton
 * Mode normal : Les données ne sont pas sauvées dans la fenêtre de mémorisation, vous devez sauver les coordonnées avec le bouton  (Le compteur affiche le nombre de coordonnées sauvées)
 * Mode Memo on Click  : Les données sont automatiquement sauvées a chaque clic sur le bouton

Command

 * quitter la macro
 * Après avoir modifié les données de l'objet, vous pouvez revenir à l'emplacement d'origine, si vous n'avez pas désélectionné l'objet actuel.
 * cette option place l'objet en coordonnées de base
 * Réinitialisez les données dans la macro et désélectionnez l'objet actuel (même clic de souris dans la vue 3D)

Script
ToolBar Icon PNG  SVG

Macro_Rotate_To_Point.FCMacro

Liens
The forum feature req: placement - rotate part around its midpoint Mes macro sur Gist mario52a

Version
2021/03/08 version 00.010 : addin zoom on object clicked, memory value, imposted values

2021/02/25 Version=00.09 : correction de la macro créée : cause multi objets possible

App.ActiveDocument.getObject(p[0]).Placement instead myObject.Placement

2021/02/22 Version=00.08c : correct le center facePoint (19h26 Paris)

2021/02/22 Version=00.08b : correct le center facePoint (17h23 Paris)

2021/02/22 Version=00.08 : ajout sauvegarde du fichier macro avec un ou plusieurs objets déplacés

2021/01/24 Version=00.07 : ajout de l'option R: reverse

2021/01/12 ver 00.06 : ajout de la section Data et d'autres options

2020/03/07 ver 00.05.2 : correction du bug translation effacée "direction = myObject.Placement.Rotation.multVec(direction)"

2020/03/01 ver 00.05.1 : correction de la position du test "FreeCAD version"

2020/02/29 ver 00.05 : conversion pour Hdpi (Layout) et ajout fonction Direction

06/04/2019 ver 00.04 : Python 3

29/03/2018 ver 00.03 : commenter les lignes "FreeCAD.ActiveDocument.recompute" le changement de valeur est trop lente dans FreeCAD 0.17.... voir FC0.17 recompute strange behaviour (regression)

27/03/2017 ver 00.02 : modification du spinbox "Pos" maintenant accepte les valeurs négatives

05/03/2017 ver 00.01 : ajout de 3 boîtes de dialogue pour afficher les coordonnées X Y Z au clic de souris

04/03/2017 ver 00.00