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, alignez 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
Utilisation facile,



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 rotation Axis in degrees: Selection de 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.

Icônes
Téléchargez les images et copiez les dans votre répertoire de macros.

Cliquez sur l'image, dans la nouvelle fenêtre, positionnez vous sur l'image et cliquez sur le bouton droit de votre souris et faites "Enregistrez la cible du lien sous ..."

Le chemin de l'emplacement des icônes s'affiche dans la Vue rapport.

ex: Path locality to FCCamera.....images.png [ C:\Users\xx\AppData\Roaming\FreeCAD\ ]

Vous pouvez changer et donner votre emplacement désiré en changeant la ligne 165 ex: path = "Votre chemin"

Icônes du programme :



Icônes du tableau :

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 la macro sur Gist Macro FCCamera.FCMacro

Comment créer un forage dans un angle défini
Le même résultat peut être obtenu en créant un plan à la position du clic de la souris puis cliquez sur.

Versions
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