|
|
| Descrizione |
|---|
| Questa macro consente di ruotare lo schermo di un angolo e di un asse definiti e di creare un piano rivolto verso lo schermo per creare una forma nel piano specificato, posizionare la faccia selezionata rivolta verso lo schermo, rilevare la posizione della telecamera, allineare la vista alla faccia o all'asse, allineare l'oggetto alla vista. ruotare lo schermo di un angolo e di un asse definiti e creare un piano rivolto verso lo schermo per creare una forma nel piano specificato, posizionare la faccia selezionata rivolta verso lo schermo, rilevare la posizione della telecamera, allineare la vista alla faccia o all'asse, allineare l'oggetto alla vista. Versione macro: 0.15b Ultima modifica: 2024/12/19 Versione FreeCAD: 1.00 e successive Download: ToolBar Icon Autore: Mario52 |
| Autore |
| Mario52 |
| Download |
| ToolBar Icon |
| Link |
| Raccolta di macro Come installare le macro Personalizzare la toolbar |
| Versione macro |
| 0.15b |
| Data ultima modifica |
| 2024/12/19 |
| Versioni di FreeCAD |
| 1.00 e successive |
| Scorciatoia |
| Nessuna |
| Vedere anche |
| Nessuno |
Descrizione
Questa macro serve per ruotare lo schermo di un determinato angolo lungo l'asse voluto e per creare un piano frontale allo schermo in cui produrre una forma in una specifica posizione del piano della faccia selezionata rivolta verso lo schermo, inoltre serve per rilevare la posizione della fotocamera, per allineare la vista alla faccia o all'asse e per allineare l'oggetto alla vista.
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/4aa545c23b323cf68824/raw/b31c64d26788b796750095eca4a6b92803537732/Macro%2520FCCamera.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/4aa545c23b323cf68824/raw/b31c64d26788b796750095eca4a6b92803537732/Macro%2520FCCamera.FCMacro")
Utilizzo

Camera of Axis: La finestra di dialogo per immettere il valore dell'angolo di rotazione in gradi.
Asse di rotazione angolare in gradi: Selezionare l'asse di rotazione X, Y o Z.
Axe of rotation: Serve per selezionare l'asse di rotazione X, Y, Z o D.
Accept the rotation : Serve per confermare i valori inseriti
Virtual
Detect camera orientation : Rileva l'orientamento della fotocamera e lo stampa nella vista Report. Il valore restituito è il valore fornito dalla funzione getCameraOrientation().
Align view to face selected
To Face. : Allinea la vista alla faccia selezionata. Fare clic e ripetere il clic per NormalAt : "(0,0,1) (0,0,-1) (0,1,0) (0,-1,0) (1,0,0) (-1,0,0)"
To Axis. : Allinea la vista della faccia selezionata agli Assi. Fare clic e ripetere il clic per Surface Axis : "(0,0,1) (0,0,-1) (0,1,0) (0,-1,0) (1,0,0) (-1,0,0)"
Align object to view. : Allinea l'oggetto selezionato alla vista attiva. Modifica i valori di : Rotation Axis((X, Y, Z), Angle) come angoli di Eulero : Yaw, Pitch, Roll. Translation non viene modificata.
Create plane of view. : crea un piano circolare frontale allo schermo con le coordinate del punto cliccato con il mouse su un oggetto. Il raggio del piano è uguale alla dimensione massima di boundbox. Se non è selezionato alcun oggetto, il piano viene creato nel punto 0, 0, 0 con un raggio di 20 mm. Il raggio è modificabile nella riga 515:
rayon = 20 # Radius of plane
Reset.: Ripristina tutti i valori
Photo.: La sezione salva la rotazione dello schermo di un'immagine in valore angolare
Quit. : Esci da FCCamera
Sezione Photo

- ComboBox Actual : Scegliere la propria definizione dello schermo per il formato dell'immagine
- Available (pre-definito):
- "Actual" (definizione attuale dello schermo)
- "Icon 16 x 16"
- "Icon 32 x 32"
- "Icon 64 x 64"
- "Icon 128 x 128"
- "CGA 320 x 200"
- "QVGA 320 x 240"
- "VGA 640 x 480"
- "SVGA 800 x 600"
- "XGA 1024 x 768"
- "XGA+ 1152 x 864"
- "SXGA 1280 x 1024"
- "SXGA+ 1400 x 1050"
- "UXGA 1600 x 1200"
- "QXGA 2048 x 1536"
- "Free"
- Available (pre-definito):
- SpinBox X and Y
- ComboBox Format image
- Available :
- "BMP *.bmp"
- "ICO *.ico"
- "JPEG *.jpeg"
- "JPG *.jpg"
- "PNG *.png" (by default)
- "PPM *.ppm"
- "TIF *.tif"
- "TIFF *.tiff"
- "XBM *.xbm"
- "XPM *.xpm"
- Available :
- Line 2 : La definizione di schermo utilizzata
- Immagine di sfondo :
- Actual : salva l'immagine con il colore dello schermo effettivo
- White : salva l'immagine con il colore dello schermo bianco
- Black : salva l'immagine con il colore dello schermo nero
Launch : Apre la finestra del file, indica il nome e il percorso
Reset : Reimposta il valore predefinito
Return : Esce dal pannello foto e torna al pannello di FCCamera
Link
Link correlati con FCCamera
La discussione nel forum MACRO:Work Feature 2014_12
Script
Scaricare le icone dei file da FCCamera_Icones.zip
Scaricare la macro da Gist Macro FCCamera.FCMacro
Esempi
Come creare un foro inclinato
-
Creare un oggetto -
Creare un cilindro e posizionarlo come questo.
Scegliere l'asse, assegnare l'angolo di inclinazione, ad es. 15°, e poi cliccare su
Accept the rotation
-
Selezionare il cilindro da usare per creare il foro -
In FCCamera, cliccare su
Align Object to View
-
Il cilindro si inclina di 15° (assume la posizione della camera).
Poi eseguire l'operazione booleana. -
Ecco il foro inclinato di 15°.
Lo stesso risultato può essere ottenuto creando un piano nell'angolo dato dalla posizione del clic del mouse e da uno schizzo.
-
esempio del posizionamento di una molla sull'asse di una faccia
-
Esempio di utilizzazione di rotazione della vista 3D e salvamento delle immagine (Potete creare uno filo animato Gif con GIMP)
Versione
- ver 0.15, 0.15b (19/12/2024): adatta e restituisce PySide, (La macro FCCamera non riesce a trovare Pyside2) corretto l'accesso web eliminando WebGui sostituito da webbrowser
####
try:
import webbrowser
webbrowser.open("https://wiki.freecad.org/index.php?title=Macro_FCCamera")
except Exception:
None
####
####
import urllib
from urllib import request
contentPage = request.urlopen("https://wiki.freecad.org/Macro_FCCamera").readlines()
####
- ver 0.14 (20/10/2020) : *corretto bug "Grid" non accettato
- ver 0.13 (28/06/2020): adding files image in source code, create plane "On point, Center face, BBox center, Center Mass", gridLayout
- ver 00.12.1 (12/02/2020): suppress the bad character lines 674 and 675 (accent...) again
- ver 12 (01/08/2019): compatible Python 3 ( print to print() )
- ver 11 (13/01/2018): minor
- ver 10 (13/01/2018): add "def centerBoundBoxGlobal():"
- ver 09 (08/01/2018): minor
- ver 08 (08/01/2018): supp "Pyqt4"
- ver 07 (03/01/2018): aggiunto pannello foto e rotazione sull'asse selezionato (polilinea, bordo, linea)
- ver 0.6 (13/12/2016): nuovo sistema per verificare il percorso delle macro direttamente nelle preferenze
#path = FreeCAD.ConfigGet("AppHomePath")
#path = FreeCAD.ConfigGet("UserAppData")
#path = "your path"
param = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macro")# macro path
path = param.GetString("MacroPath","") + "/" # macro path
path = path.replace("\\","/")
App.Console.PrintMessage("Path locality to FCCamera.....images.png [ " + path + " ]"+"\n")
- ver 0.5 06/09/2016: correct name "FCCamera_Axis_rotation_X.png" in reset block
- ver 0.4 28/02/2016 : aggiunge la visualizzazione di tutto il rilevamento della fotocamera e la direzione
- ver 0.3 18/03/2015 : modify line 492 replace "pl.Base = App.Vector(0,0,0)" to "pl.Base = sel[0].Placement.Base" now no longer moves the form at point (0,0,0) and leaves has the coordinates
- ver 0.2 25/02/2015 : correct names files in for compatibility Linux (case sensitive) thanks microelly2
Questa pagina è recuperata da https://wiki.freecad.org/Macro_FCCamera