Macro Posizione della camera

From FreeCAD Documentation
Revision as of 21:05, 7 June 2022 by Marco T (talk | contribs) (Created page with "*'''ver 0.14 (20/10/2020):''' corretto bug "Grid" non accettata")
Other languages:

Posizione camera

Descrizione
New version GUI modifyed for the HD dpi (QGridLayout) run only FC version 0.18 and more (PySide2 Qt5)
For the precedent version see FCCamera and install it manually.

Questa macro può ruotare lo schermo di un determinato angolo, lungo un asse a scelta e creare un piano frontale allo schermo.

Versione macro: 0.14
Ultima modifica: 2020/10/20
Versione FreeCAD: 0.18 e più
Download: FCCamera_Icones.zip. Unzippato il pacchetto e incollare l'icona totale nella stessa directory della macro.
Autore: Mario52
Autore
Mario52
Download
FCCamera_Icones.zip. Unzippato il pacchetto e incollare l'icona totale nella stessa directory della macro.
Link
Versione macro
0.14
Data ultima modifica
2020/10/20
Versioni di FreeCAD
0.18 e più
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/98d90ee303e9fa5d6aed6e9f2e36e7ca1a18ca19/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/98d90ee303e9fa5d6aed6e9f2e36e7ca1a18ca19/Macro%2520FCCamera.FCMacro")


Utilizzo

FCCamera
FCCamera

Camera of Axis: La finestra di dialogo per immettere il valore dell'angolo di rotazione in gradi.

Angle rotation Axis in degrees: Selezionare l'asso di rotazione X, Y,, Z o D.

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.
  • Quit. : Esce da FCCamera.

Sezione Photo

FCCamera
FCCamera
  • 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"
  • 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"
  • 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 delle macro collegate a FCCamera

Macro Rotate View, Macro Align Object to View, Macro Align Face Object to View, Macro WorkFeatures

La discussione nel forum MACRO:Work Feature 2014_12

Script

Scaricare gli icone FCCamera_Icones.zip

Scaricare la macro da Gist Macro FCCamera.FCMacro

Esempi

Come creare un foro inclinato

Si può ottenere lo stesso risultato posizionando uno schizzo su un piano inclinato

Versione

  • ver 0.14 (20/10/2020): corretto bug "Grid" non accettata
  • 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 : add display all camera detection and the Direction
  • 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