Skrypty środowiska Raytracing
Wprowadzenie
Moduły Raytracing oraz RaytracingGui zapewniają kilka metod zapisania zawartości sceny jako dane povray lub luxrender.
Najbardziej przydatne polecenia to Raytracing.getPartAsPovray() oraz Raytracing.getPartAsLux() do renderowania obiektu Część programu FreeCAD Part do definicji povray lub luxrender oraz RaytracingGui.povViewCamera() i RaytracinGui.luxViewCamera() do uzyskania bieżącego punktu widoku okna widoku 3D do formatu povray lub luxrender.
Zapis plików renderów
Oto sposób zapisania pliku povray z pythona, zakładając, że dokument zawiera obiekt "Box":
import Raytracing,RaytracingGui
OutFile = open('C:/Users/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
I to samo dla luxrender:
import Raytracing,RaytracingGui
OutFile = open('C:/Users/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
Tworzenie własnego obiektu renderu
Oprócz standardowych obiektów widoku povray i luxrender, które zapewniają widok istniejącego obiektu typu Part i mogą być wstawiane odpowiednio do projektów povray i luxrender, istnieje trzeci obiekt o nazwie RaySegment, który może być wstawiony zarówno do projektów povray, jak i luxrender. Obiekt RaySegment nie jest powiązany z żadnym obiektem FreeCAD i może zawierać własny kod povray lub luxrender, który chcesz wstawić do swojego projektu raytracingowego. Można go również użyć, na przykład, do wyeksportowania obiektów FreeCAD w określony sposób, jeśli nie odpowiada Ci sposób domyślny. Możesz utworzyć i używać tego obiektu z poziomu konsoli Pythona w następujący sposób:
myRaytracingProject = FreeCAD.ActiveDocument.PovProject
myCustomRenderObject = FreeCAD.ActiveDocument.addObject("Raytracing::RaySegment","myRenderObject")
myRaytracingProject.addObject(myCustomRenderObject)
myCustomRenderObject.Result = "// Hello from python!"
- Tworzenie skryptów FreeCAD: Python, Wprowadzenie do środowiska Python, Poradnik: Tworzenie skryptów Python, Podstawy tworzenia skryptów FreeCAD
- Moduły: Moduły wbudowane, Jednostki miar, Ilość
- Środowiska pracy: Tworzenie Środowiska pracy, Polecenia Gui, Polecenia, Instalacja większej liczby Środowisk pracy
- Siatki i elementy: Skrytpy w Środowisku Siatek, v, Konwerska Mesh na Part, PythonOCC
- Obiekty parametryczne: Obiekty tworzone skryptami, Obsługa obrazu (Ikonka niestandardowa w widoku drzewa)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Interfejs graficzny: Stworzenie interfejsu, Kompletne stworzenie interfejsu w środowisku Python (1, 2, 3, 4, 5), PySide, PySide examples początkujący, średniozaawansowany, zaawansowany
- Makrodefinicje: Makrodefinicje, Instalacja makrodefinicji
- Osadzanie programu: Osadzanie programu FreeCAD, Osadzanie GUI FreeCAD
- Pozostałe: Wyrażenia, Wycinki kodu, Funkcja kreślenia linii, Biblioteka matematyczna FreeCAD dla wektorów (deprecated)
- Węzły użytkowników: Centrum użytkownika, Centrum Power użytkowników, Centrum programisty
- Przybory: Nowy projekt Raytracing, Nowy projekt Luxrender, Wstaw część, Resetuj ujęcie widoku, Eksport projektu, Renderowanie
- Narzędzia: Eksport widoku, Eksport ujęcia widoku, Eksport Części
- Dodatkowe: Ustawienia