Beschrijving
De 3DCoat Python API is bedoeld om UI-opdrachten te activeren, over de scène te werken en nieuwe tools te creëren. Het lijkt sterk op de C++ Core API, maar heeft zijn eigen voor- en nadelen.
- Geen extra instellingen nodig om uw scripts te maken; Python is ingebed in de 3DCoat -distributie.
- Python is als een Zwitsers mes, waardoor je de hele kracht van Python-bibliotheken in 3DCoat kunt brengen.
- Python is veel langzamer dan C++, dus het mag alleen worden gebruikt voor algemeen beheer, niet voor diepe en complexe algoritmen.
- Als u al bekend bent met de C++ Core API, lijkt de Python API erg op elkaar, bijna 1:1, met dezelfde logica en functienamen.
Gebruik
- Gebruik Scripts->Create Python Script om een nieuw script te maken. U kunt een eerste sjabloon kiezen om te beginnen. Het .py-bestand wordt geopend in uw huidige editor die is gekoppeld aan .py-bestanden.
- We gebruiken embedded Python 3.8.10 om te werken. Dit is de laatste Python-versie die mogelijk op Windows 7 draait.
- Indien nodig kunt u een bestand met de naam requirements.txt maken met een lijst met gebruikte modules; in dit geval worden de modules automatisch geïnstalleerd voordat het script wordt uitgevoerd.
- We raden Visual Studio Code aan, omdat het automatisch de syntaxis van 3DCoat-gespecialiseerde commando’s herkent en de juiste hints geeft.
- Let op: het bestand coat.pyi in de projectmap is verantwoordelijk voor de hints van de coat-module in Visual Studio. U kunt dat bestand openen, aangezien het de lijst van alle klassen en commando’s bevat, wat handig kan zijn voor een snelle referentie.
- Gebruik Scripts->Show Python Console om de console-uitvoer van Python te zien. Momenteel is dit de enige manier om scripth te debuggen. Later zijn we van plan om native debugging toe te voegen met behulp van de Visual Studio Code.
- U kunt extra modules voor Python installeren met behulp van Scripts->Python-modules installeren . Een andere manier is om requirements.txt in dezelfde map te gebruiken als de locatie van het .py-bestand.
Hoofdklassen
Algemene I/O: coat.io
Dialoogbeheer: coat.dialog
Mesh operaties: coat.Mesh
Scènewortels: coat.Scene
Scène-element: coat.SceneElement
Volumebeheer: vacht.Volume
UI-beheer: coat.ui
2D-vectoren wiskunde: coat.vec2
3D-vectoren wiskunde: coat.vec3
4D-vectoren wiskunde: coat.vec4
3D-matrix wiskunde: coat.mat3
4D-matrix wiskunde: coat.mat4
Symmetriebeheer: coat.symm