Macro Rotate To Point/it

Descrizione
Questa macro permette di ruotare un oggetto su se stesso scegliendo l'asse di rotazione. L'asse può essere il centro del contenitore dell'oggetto
 * il centro BoundBox
 * il centro di massa
 * la direzione di un filo
 * l'ultimo punto cliccato

Uso

 * 1) Carica la macro con Addon Manager
 * 2) Lancia la macro
 * 3) Clic uno obietto
 * 4) Celia una orientazione



Point Rotation

 * Bounbox Center : Seleziona come asse di rotazione il centro del BoundBox
 * Center of Mass : Seleziona come asse di rotazione il Centro di massa
 * Point Clicked : Seleziona come asse di rotazione l'ultimo punto cliccato 1: Selezionare l'oggetto 2: usare il tasto per scegliere un punto esterno all'oggetto
 * 1: seleziona uno obietto
 * 2: utilizza per scegliere un oggetto in più

Axis Rotation

 * Rotation(Z) Yaw : asse Yaw
 * Rotation(Y) Pitch : asse Pitch
 * Rotation(X) Roll : asse Roll
 * Rotation(D) Direction: Ruota intorno alla linea, filo selezionato

Coordinates Point clicked

 * DoubleSpinBox : Coordinate X del clic del mouse (modificabile solo nel modo "Point Clicked")
 * DoubleSpinBox : Coordinate Y del clic del mouse (modificabile solo nel modo "Point Clicked")
 * DoubleSpinBox : Coordinate Z del clic del mouse (modificabile solo nel modo "Point Clicked")

Work

 * Se questo checkBox è la rotazione è disabilitata, il posizionamento dell'oggetto viene eseguito sull'asse selezionato.
 * viene creato un punto per visualizzare l'asse di rotazione del punto: X rossa, Y verde, Z blu
 * Line Edit: la modifica della linea mostra la coordinata originale dell'asse selezionato + i dati di input forniti nella casella di selezione
 * immettere la modifica
 * applica la modifica all'oggetto
 * La coordinata viene visualizzata

Data

 * Finestra per la visualizzazione delle coordinate memorizzate
 * : salva i dati nel file
 * : elimina e pulisci l'editor di testo
 * : elimina la riga selezionata
 * : memorizza e visualizza le coordinate
 * Modalità normale la coordinata viene salvata in questa modalità: [(0.06,1.30,0.0), (85.0,0.0,0.0)],
 * Modalità macro la coordinata viene salvata in una macro completa direttamente nella directory delle macro con lo stesso nome dell'estensione del documento .FCMacro
 * Opzioni della macro
 * __ pompe____engrenage__: Nome del documento
 * __ 22 Coordinates__: numero di coordinate
 * Digita il tasto Q per uscire: Esci dalla macro
 * Digita il tasto D per diminuire la velocità: Diminuisci la velocità dell'animazione
 * Digita il tasto I per aumentare la velocità: Aumenta la velocità dell'animazione
 * Digitare il tasto P per mettere in pausa/continuare o il tasto RETURN o ESCAPE: Pausa/Anime
 * Digitare il tasto S per procedere passo dopo passo (tasto RETURN o ESCAPE per continuare): Passo dopo passo
 * Digitare la chiave M per questo messaggio: Visualizza questo memo
 * ____________________________
 * Modalità normale : i dati non vengono salvati sulla finestra, è necessario premere il pulsante per salvare le coordinate
 * Modalità Memo on Click : i dati vengono salvati automaticamente facendo clic sul pulsante
 * Modalità normale : i dati non vengono salvati sulla finestra, è necessario premere il pulsante per salvare le coordinate
 * Modalità Memo on Click : i dati vengono salvati automaticamente facendo clic sul pulsante

Command

 * : chiude la macro
 * : dopo aver modificato i dati dell'oggetto puoi tornare alla posizione originale, se non hai deselezionato l'oggetto corrente.
 * : questa opzione posiziona l'oggetto nella coordinata di base
 * : reimposta i dati nella macro e deseleziona l'oggetto corrente (stesso clic del mouse nella vista 3D)

Script
Details of the script Macro_Rotate_To_Point.FCMacro

Link
Le mie macro su Gist mario52a

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

2021/02/25 Version=00.09 : correct the macro : cause multi object possible

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

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

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

2021/02/22 Version=00.08 : adding save macro with multi objects moved

2021/01/24 Version=00.07 : adding option R: reverse

2021/01/12 ver 00.06 : adding the Data section and more options

2020/03/07 ver 00.05.2 : corretto il bug translation delete "direction = myObject.Placement.Rotation.multVec(direction)"

2020/03/01 ver 00.05.1 : corretto la posizione del test "FreeCAD version"

2020/02/29 ver 00.05 : conversione per Hdpi (Layout) e aggiunto Direction

06/04/2019 ver 00.04 : Python 3

29/03/2018 ver 00.03 : commento delle linee "FreeCAD.ActiveDocument.recompute" il cambiamento di posizione e tropo lento con la versione di FreeCAD 0.17.... vedere FC0.17 recompute strange behaviour (regression)

27/03/2017 ver 00.02 : modificazione dello spinbox "Pos" adesso accetta i numeri negativi

05/03/2017 ver 00.01 : agggiunto 3 spinbox per visualizzare le coordinate X Y Z del clic del mouse

04/03/2017 ver 00.00