Raytracing API example/fr: Difference between revisions
(Created page with "Raytracing API exemples") |
(Updating to match new version of source page) |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
== Introduction == |
== Introduction == |
||
Les modules {{incode|Raytracing}} et {{incode|RaytracingGui}} fournissent plusieurs méthodes pour écrire le contenu d'une scène sous forme de données povray ou luxrender. |
|||
Les commandes les plus utiles sont {{incode|Raytracing.getPartAsPovray ()}} et {{incode|Raytracing.getPartAsLux ()}} pour restituer un objet Part FreeCAD dans une définition de type povray ou luxrender et {{incode|RaytracingGui.povViewCamera ()}} et {{incode|RaytracinGui.luxViewCamera ()}} pour obtenir le point de vue actuel de la fenêtre de vue 3D au format povray ou luxrender. |
|||
== Sortie de fichiers de rendu == |
|||
== Outputting render files == |
|||
Voici comment écrire un fichier Povray à partir de python, en supposant que votre document contienne un objet "Box": |
|||
{{Code|code= |
{{Code|code= |
||
Line 20: | Line 20: | ||
}} |
}} |
||
La même chose pour Luxrender: |
|||
And the same for luxrender: |
|||
{{Code|code= |
{{Code|code= |
||
Line 32: | Line 32: | ||
}} |
}} |
||
== Créer un objet de rendu personnalisé == |
|||
== Creating a custom render object == |
|||
Outre les objets de vue standard povray et luxrender qui fournissent une vue d'un objet Part existant et qui peuvent être insérés dans des projets povray et luxrender, il existe un troisième objet, appelé RaySegment, pouvant être inséré dans des projets povray ou luxrender. Cet objet RaySegment n'est lié à aucun des objets FreeCAD et peut contenir du code povray ou luxrender personnalisé que vous pourriez souhaiter insérer dans votre projet Raytracing. Vous pouvez également l'utiliser, par exemple, pour générer vos objets FreeCAD d'une certaine manière, si vous n'êtes pas satisfait de la manière standard. Vous pouvez le créer et l'utiliser comme ceci depuis la console python: |
|||
{{Code|code= |
{{Code|code= |
||
Line 42: | Line 42: | ||
}} |
}} |
||
{{Powerdocnavi{{#translation:}}}} |
|||
⚫ | |||
[[Category:Developer Documentation{{#translation:}}]] |
|||
{{Userdocnavi}} |
|||
[[Category: |
[[Category:Python Code{{#translation:}}]] |
||
⚫ | |||
{{clear}} |
Latest revision as of 21:08, 22 August 2020
Introduction
Les modules Raytracing
et RaytracingGui
fournissent plusieurs méthodes pour écrire le contenu d'une scène sous forme de données povray ou luxrender.
Les commandes les plus utiles sont Raytracing.getPartAsPovray ()
et Raytracing.getPartAsLux ()
pour restituer un objet Part FreeCAD dans une définition de type povray ou luxrender et RaytracingGui.povViewCamera ()
et RaytracinGui.luxViewCamera ()
pour obtenir le point de vue actuel de la fenêtre de vue 3D au format povray ou luxrender.
Sortie de fichiers de rendu
Voici comment écrire un fichier Povray à partir de python, en supposant que votre document contienne un objet "Box":
import Raytracing,RaytracingGui
OutFile = open('C:/Documents and Settings/jriegel/Desktop/test.pov','w')
OutFile.write(open(App.getResourceDir()+'Mod/Raytracing/Templates/ProjectStd.pov').read())
OutFile.write(RaytracingGui.povViewCamera())
OutFile.write(Raytracing.getPartAsPovray('Box',App.activeDocument().Box.Shape,0.800000,0.800000,0.800000))
OutFile.close()
del OutFile
La même chose pour Luxrender:
import Raytracing,RaytracingGui
OutFile = open('C:/Documents and Settings/jriegel/Desktop/test.lxs','w')
OutFile.write(open(App.getResourceDir()+'Mod/Raytracing/Templates/LuxClassic.lxs').read())
OutFile.write(RaytracingGui.luxViewCamera())
OutFile.write(Raytracing.getPartAsLux('Box',App.activeDocument().Box.Shape,0.800000,0.800000,0.800000))
OutFile.close()
del OutFile
Créer un objet de rendu personnalisé
Outre les objets de vue standard povray et luxrender qui fournissent une vue d'un objet Part existant et qui peuvent être insérés dans des projets povray et luxrender, il existe un troisième objet, appelé RaySegment, pouvant être inséré dans des projets povray ou luxrender. Cet objet RaySegment n'est lié à aucun des objets FreeCAD et peut contenir du code povray ou luxrender personnalisé que vous pourriez souhaiter insérer dans votre projet Raytracing. Vous pouvez également l'utiliser, par exemple, pour générer vos objets FreeCAD d'une certaine manière, si vous n'êtes pas satisfait de la manière standard. Vous pouvez le créer et l'utiliser comme ceci depuis la console python:
myRaytracingProject = FreeCAD.ActiveDocument.PovProject
myCustomRenderObject = FreeCAD.ActiveDocument.addObject("Raytracing::RaySegment","myRenderObject")
myRaytracingProject.addObject(myCustomRenderObject)
myCustomRenderObject.Result = "// Hello from python!"
- Scripts FreeCAD : Python, Introduction à Python, Tutoriel sur les scripts Python, Débuter avec les scripts
- Modules : Modules intégrés, Unités, Quantity
- Ateliers : Création d'atelier, Commands Gui, Les commandes, Installer des ateliers supplémentaires
- Maillages et objets Parts : Scripts Mesh, Script de données topologiques, Conversion objet Mesh en Part, PythonOCC
- Objets paramétriques : Objets créés par script, Viewproviders (Icône personnalisée dans l'arborescence)
- Scénographie : Graphe de scène Coin (Inventor), Pivy
- Interface graphique : Création d'interface, Création d'une boite de dialogue (1, 2, 3, 4, 5), PySide, Exemples PySide débutant, intermédiaire, expérimenté
- Macros : Macros, Comment installer des macros
- Intégration : Intégrer FreeCAD, Intégration de FreeCADGui
- Autre : Expressions, Extraits de codes, Fonction - tracer une ligne, Bibliothèque mathématique vectorielle de FreeCAD (déprécié)