Macro FCCamera/fr

Description
Cette macro peut faire pivoter l'écran dans un angle et axe défini et crée un plan face à l'écran pour créer un objet dans les positions réglées, positionner la face sélectionnée face à l'écran, peut détecter la position de la caméra, aligner la vue de la face ou de l'axe face à l'écran et de modifier les paramètres (Lacet, Tangage, Roulis) de l'objet pour l'aligner dans la position de la camera.

Utilisation


Camera of Axis: Boîte de dialogue pour entrer les valeurs de rotation en degrés (la rotation se fait sur un angle à la fois).

Angle de rotation de l'axe en degrés: sélectionneé l'axe de rotation X, Y, ou Z.

Axe of rotation


 * FCCamera_01.png : Effectue la rotation dans l'angle donné.

Virtual


 * FCCamera_02.png : Detecte l'orientation de la camera et affiche les résultats dans la vue rapport. Les valeurs retournées proviennent de la fonction getCameraOrientation.

Align view to face selected


 * FCCamera_03.png : Aligne la face sélectionnée sur la vue 3D (face à l'écran). Chaque clic change la vue de l'objet sélectionné pour NormalAt : "(0,0,1) (0,0,-1) (0,1,0) (0,-1,0) (1,0,0) (-1,0,0)"


 * FCCamera_04.png : Aligne sur la vue 3D l'axe de la face sélectionnée (face à l'écran). Chaque clic change la vue de l'objet sélectionné pour Surface Axis : "(0,0,1) (0,0,-1) (0,1,0) (0,-1,0) (1,0,0) (-1,0,0)"


 * FCCamera_05.png : Aligne l'objet sélectionné à la vue actuelle. Les valeurs modifiées sont : Rotation Axis((X, Y, Z), Angle) même que Euler angles : Lacet (Yaw), Tangage (Pitch), Roulis (Roll), la translation n'est pas modifiée.


 * FCCamera_06.png : Un plan circulaire est créé face à l'écran aux coordonnées du clic de souris sur l'objet. Le rayon du plan circulaire est égal à la plus grande dimension du BoundBox. Si aucun objet n'est sélectionné le plan est créé aux coordonnées 0, 0, 0 avec un rayon de 20 mm. Le rayon du plan par défaut peut être modifié à la ligne 515:


 * FCCamera_07.png : Reset toutes les valeurs.
 * FCCamera_08.png : Quitte FCCamera.

Section Photo



 * : choisissez votre définition d'écran qui déterminera les dimensions de l'image
 * Available (pre-defined):
 * "Actual" (definition actual of screen)
 * "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 :
 * "BMP *.bmp"
 * "ICO *.ico"
 * "JPEG *.jpeg"
 * "JPG *.jpg"
 * "PNG *.png" (by default)
 * "PPM *.ppm"
 * "TIF *.tif"
 * "TIFF *.tiff"
 * "XBM *.xbm"
 * "XPM *.xpm"
 * "XPM *.xpm"


 * Line 1 : Nombre d'images calculées avec l'angle donné (ex: angle 60 degrés = 360 (rotation complete) / 60 (angle) = 6 images


 * Line 2 : Définition de l'écran utilisé


 * Background image :
 * Actual : sauve l'image avec écran et couleurs actuels
 * White : sauve l'image avec écran fond blanc
 * Black : sauve l'image avec écran fond noir


 * : Ouvre un fichier donner le nom et le chemin
 * : Reset les valeurs par défaut
 * : Quitte la fenêtre de photo et retourne au panneau FCCamera

Liens
Liens en rapport avec FCCamera et codes originaux ayants servi dans la macro


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

Discussion sur le Forum MACRO:Work Feature 2014_12

Script
Téléchargez le paquet d'icons FCCamera_Icones.zip

Téléchargez la macro sur Gist Macro FCCamera.FCMacro

Versions

 * ver 0.14 (20/10/2020): correction du bogue "Grid" non accepté


 * ver 0.13 (28/06/2020): ajout des images dans le code souece, creation du plan "On point, Center face, BBox center, Center Mass", gridLayout


 * ver 00.12.1 (12/02/2020): suppression des mauvais caractères lignes 674 et 675 (accent...) encore


 * ver 12 (01/08/2019): compatible Python 3 ( print to print )


 * ver 11 (13/01/2018): mineur


 * ver 10 (13/01/2018): ajout "def centerBoundBoxGlobal:" pour version 0.17


 * ver 09 (08/01/2018): mineur


 * ver 08 (08/01/2018): supp "Pyqt4" and adjust number image
 * ver 07 (03/01/2018): ajout du panneau photo et de la rotation sur un axe de direction aléatoire sélectionné (wire, edge, line )

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.6 (13/12/2016): nouveau système de recherche du chemin des macros directement dans les préférences.
 * 1) path = FreeCAD.ConfigGet("AppHomePath")
 * 2) path = FreeCAD.ConfigGet("UserAppData")
 * 3) path = "your path"
 * ver 0.5 06/09/2016: correction du nom "FCCamera_Axis_rotation_X.png" dans le bloc reset


 * ver 0.4 28/02/2016 : affichage de tous les renseignements de la caméra et calcul de la Direction


 * ver 0.3 18/03/2015 : modié line 492 remplacé "pl.Base = App.Vector(0,0,0)" par "pl.Base = sel[0].Placement.Base" maintenant ne se déplace plus la forme au point (0,0,0) mais à partir des coordonnées d'origine


 * ver 0.2 25/02/2015 : correction des noms des fichiers (Linux est sensible à la casse) merci microelly2