|
|
| Descrizione |
|---|
| Nuva versione GUI modicato per HD dpi (QGridLayout) funziona solo su FC version 0.18 e più alto (PySide2 Qt5) Questa macro fa ruotare un oggetto su se stesso intorno all'asse scelto. Si deve salvare in un file tutte le coordinate elaborate come "Coordinate [(0.06,1.30,0.0), (85.0,0.0,0.0)]" o in una macro completa per creare un'animazione Per la precedente versione vedi Macro_Rotate_To_Point e installa manualmente. Versione macro: 00.09 Ultima modifica: 2021/02/25 Versione FreeCAD: 0.18 e più Download: ToolBar Icon Autore: Mario52 |
| Autore |
| Mario52 |
| Download |
| ToolBar Icon |
| Link |
| Raccolta di macro Come installare le macro Personalizzare la toolbar |
| Versione macro |
| 00.09 |
| Data ultima modifica |
| 2021/02/25 |
| Versioni di FreeCAD |
| 0.18 e più |
| Scorciatoia |
| Nessuna |
| Vedere anche |
| Nessuno |
Descrizione
Macro per far ruotare un oggetto su se stesso scegliendo l'asse di rotazione: il centro del bounding box, il centro di massa, la direzione, un percorso lungo una linea o l'ultimo punto cliccato. È necessario salvare in un file tutte le coordinate elaborate come "Coordinate [(0.06,1.30,0.0),(85.0,0.0,0.0)],"
oppure in una macro completa con diverse opzioni (Crea immagine seriale) per creare un'animazione, aumentare/diminuire, mettere in pausa, effetto yo-yo ....
Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro
# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.
from PySide import QtGui, QtCore
diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
"Information",
"This macro must be downloaded from this link\n"
"\n"
"https://gist.githubusercontent.com/mario52a/2fc48333deca5a31e6232c29a9db5e4c/raw/d9419d4bb13e36940eb2f56c3c469ea4182827ee/Macro%2520Rotate%2520To%2520Point.FCMacro" + "\n"
"\n"
"Quit this window to access the download page")
diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()
import webbrowser
webbrowser.open("https://gist.githubusercontent.com/mario52a/2fc48333deca5a31e6232c29a9db5e4c/raw/d9419d4bb13e36940eb2f56c3c469ea4182827ee/Macro%2520Rotate%2520To%2520Point.FCMacro")
Utilizzo
- Caricare la macro con l'Addon Manager
- Lanciare la macro
- Clicccare un oggetto
- Selezionare uno dei seguenti orientamenti:
[1] Position Rotation
Prima operazione
Translation: Se questa casella di controllo è
selezionata la rotazione è disabilitata, il posizionamento dell'oggetto viene effettuato sull'asse selezionato.
Lo SpinBox 1.00000 Gradi viene reinizializzato a
0.0 e colorato di rosso
- Viene visualizzato il tempo trascorso con la macro attiva.
[2] Translation Rotation
Seconda operazione
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 CTRL per scegliere un punto esterno all'oggetto
- 1: selezionare uno obietto
- 2: utilizzare CTRL per scegliere un oggetto in più
Axis Rotation
- Rotation(Z) Yaw: Asse di imbardata
- Rotation(Y) Pitch: Asse di beccheggio
- Rotation(X) Roll: Asse di rollio
- Rotation(D) Direction: Ruota attorno alla linea, il wire selezionato
- Follow the path: Segue il percorso creato dal wire, dalla linea, dal bordo.
- 1: Selezionare l'oggetto
- 2: Selezionare il percorso
Lo SpinBox 1.00000 Gradi viene reinizializzato a
0.0 e colorato di rosso
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")
[3] Work (Box : Cube)
Terza operazione
View: Se selezionato, la vista restituisce l'ultima visualizzazione dell'oggetto selezionato (interagisce con la comboBox sottostante) e tutti i parametri vengono ripristinati.
- Point: Viene creato un punto per visualizzare l'asse di rotazione del punto: X rosso, Y verde, Z blu.
- Center: Viene creato un punto al centro del cerchio.
- Box
: Elenco di tutti gli oggetti utilizzati. Viene restituito l'oggetto selezionato, lo zoom (se la casella di controllo "view" è selezionata) e tutti i parametri vengono ripristinati.
- 0
: Selezionare un valore predefinito.
- 1.0
: Selezionare il valore salvato utilizzato.
- - Invert: Inverte il segno Positivo/Negativo del valore visualizzato.
- 1,00000 Degrees
: Selezionare il valore.
- Apply: Applica la modifica all'oggetto.
- Line Edit: Modificando questa casella viene visualizza la coordinata originale rispetto all'asse selezionato + i dati di input forniti nello spinBox.
- Viene visualizzata la coordinata
Dati da salvare
- Finestra per visualizzare le coordinate memorizzate.
- Clear: Elimina e pulisce l'editor di testo.
- Delete: Elimina la riga selezionata nella finestra.
Memo on Click: Se selezionato, la posizione viene salvata automaticamente nella finestra con il pulsante "Apply".
- Memorize: Memorizza e visualizza le coordinate nella finestra; il numero di coordinate memorizzate viene visualizzato su questo pulsante.
- Save: Salva i dati nel file
Macro:
- Modalità normale
Macro la coordinata viene salvata in questa modalità:
["Body004001",(0.0,0.0,-1.5),(0.0,0.0,0.0)], - Modalità macro
0,0 Coordinate la coordinata viene salvata (è stato elaborato un oggetto o più oggetti)
in una macro completa direttamente nella directory delle macro con lo stesso nome del documento con estensione .FCMacro- Options of the macro
- __pompe____engrenage__ : Nome del documento
- __22 Coordinates__ : numero di coordinate
- Q per uscire : Esce dalla macro
- A per creare una serie di immagini : per creare un successione seriale e creare GIF animate (con GIMP o altro)
- D per diminuire la velocità : Diminuire la velocità dell'animazione
- I per aumentare la velocità : Aumenta la velocità dell'animazione
- P per mettere in pausa/continuare oppure INVIO o ESC : Pausa / Animazione
- S per procedere passo passo (premere INVIO o ESC per continuare) : passo passo
- V per invertire : InVerti il video
- Y per YoYo : dall'inizio alla fine e dala fine all'inizio
- M per questo messaggio : Visualizza questo promemoria
- Per utilizzare queste opzioni, fare clic con il mouse nella vista 3D e digitare il tasto desiderato
- ____________________________
- Modalità normale
Memo on Click : I dati non vengono salvati nella finestra, è necessario premere il pulsante Memo (2) per salvare le coordinate
- Modalità Memo on Click
Memo on Demand : I dati vengono salvati automaticamente a ogni clic sul pulsante Apply
- Modalità normale
- Copy: Memorizza il contenuto della finestra in un formato Rotate_To_Point:
["Body004001",(0.0,0.0,-1.5),(0.0,0.0,0.0)],
Command
- Quit: chiude la macro
- Original: dopo aver modificato i dati dell'oggetto si può tornare alla posizione originale, se non è stato deselezionato l'oggetto corrente.
- 0,0,0: questa opzione posiziona l'oggetto nella coordinata di base
0, 0, 0. - Reset: Reimposta i dati nella macro e deseleziona l'oggetto corrente.
Icona barra degli strumenti in formato PNG
e icona della barra degli strumenti in formato SVG
Esempio
Link
Sul forum feature req: placement - rotate part around its midpoint
Le mie macro su Gist mario52a
Versione
17/10/2022 Versione=00.11 : nuova organizzazione GUI, Segui il percorso, Visualizza sull'oggetto, Copia pulsante, aggiunta menu Immagine sulla macro salvata, aggiunto "QtWidgets.QScrollArea()"
08/03/2021/03/08 Versione=00.10 : aggiunta dello zoom sull'oggetto cliccato, valore di memoria, valori imposti
2021/02/25 Version=00.09 : corretta la macro: causa possibile multi-oggetto
App.ActiveDocument.getObject(p[0]).Placement
Invece
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 : aggiunta della sezione Dati e altre opzioni
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
Questa pagina è recuperata da https://wiki.freecad.org/Macro_Rotate_To_Point