Konzola Python#
Konzola Python je rýchly spôsob vykonávania príkazov, s prístupom k celému API Pythonu, históriou príkazov a automatickým dokončovaním. Príkazový riadok je typický pre Python 3.x, interpreter je načítaný a je pripravený prijať príkazy po výzve „>>>“.
Konzola Python je dobrý spôsob, ako preskúmať možnosti vstavaného Pythonu v Blenderi. Konzolu Python možno použiť na testovanie malých bitov kódu Pythonu, ktoré je potom možné prilepiť do väčších skriptov.
Rozhranie#
Hlavné zobrazenie#
Priradenie kláves
ĽTM – Presunúť kurzor na vstupný riadok.
← / → – pohyb kurzora.
Ctrl+← / Ctrl+→ – pohyb kurzora po slovách.
Shift+← / Shift+→ – Vybrať znaky vľavo/vpravo.
Shift+Ctrl+← / Shift+Ctrl+→ – Vybrať slová vľavo/vpravo.
Ctrl+A Vybrať celý text a históriu textu.
Backspace / Delete – Zmazať znaky.
Ctrl+Backspace / Ctrl+Delete – Zmazať slová.
Enter – Vykonať príkaz.
Shift+Enter – Pridať do histórie príkazov bez vykonania.
Použitie#
Aliasy#
Pre konvenciu sú k dispozícii niektoré premenné a moduly:
C
: Rýchly prístup kbpy.context
.D
: Rýchly prístup kbpy.data
.bpy
: Modul API Blender Python API na najvyššej úrovni.
Prvý pohľad na prostredie konzoly#
Ak chcete skontrolovať, čo sa nahráva do prostredia interpretera, zadajte do príkazového riadku príkaz dir()
a spustite ho.
Automatické dokončovanie#
Teraz zadajte bpy.
A potom stlačte Tab a uvidíte funkciu automatického dokončovania konzoly v akcii.
Všimnite si, že sa vnútri bpy
objaví zoznam pod-modulov. Tieto moduly obsahujú všetko, čo môžeme robiť s Blender Python API a sú veľmi výkonnými nástrojmi.
Uvedie zoznam celého obsahu modulu bpy.app
.
Všimnite si zelený výstup nad výzvou, kde ste povolili automatické dokončovanie. To, čo vidíte, je výsledok výpisu automatického dokončovania. Vo vyššie uvedenom zozname sú všetky priradené názvy modulov, ale ak vidíte akýkoľvek názov končiaci na (
, potom je to funkcia.
Toto často používame, aby sme si pomohli rýchlejšie sa naučiť API. Teraz, keď ste sa dostali do toho, poďme preskúmať niektoré moduly v bpy
.
Pred pohrávaním s modulmi#
Ak sa pozriete na 3D záber v predvolenej scéne Blender, všimnete si tri objekty: kocka, svetlo a kamera.
Všetky objekty existujú v kontexte a môžu existovať rôzne režimy, v ktorých sa s nimi pracuje.
V každom prípade je aktívny iba jeden objekt a môže existovať viac ako jeden objekt.
Údaje všetkých objektov sú v blend súbore.
Existujú operátory/funkcie, ktoré vytvárajú a upravujú tieto objekty.
Pre všetky scenáre uvedené vyššie (nie všetky boli uvedené, nezabudnite…) poskytuje modul bpy
prístup k údajom a ich úpravu.
Príklady#
bpy.context#
Poznámka
Ak chcete, aby nižšie uvedené príkazy zobrazovali správny výstup, musíte v 3D zábere vybrať objekty.
bpy.context.mode
Vytlačí aktuálny režim 3D záberu (Objekt, Editácia, Tvarovanie atď.).
bpy.context.object
alebobpy.context.active_object
Poskytne vám prístup k aktívnemu objektu v 3D zábere.
Zmeniť umiestnenie X na hodnotu 1:
bpy.context.object.location.x = 1
Presunúť objekt z predošlého umiestnenia X o 0,5 jednotky:
bpy.context.object.location.x += 0.5
Zmeniť umiestnenie X, Y, Z:
bpy.context.object.location = (1, 2, 3)
Zmeniť iba komponenty X, Y:
bpy.context.object.location.xy = (1, 2)
Typ údajov umiestnenia objektu:
type(bpy.context.object.location)
Teraz máte veľa údajov, ku ktorým máte prístup:
dir(bpy.context.object.location)
bpy.context.selected_objects
Umožní prístup k zoznamu všetkých vybratých objektov.
Napíšte to a stlačte Tab:
bpy.context.selected_objects
Ak chcete vytlačiť názov prvého objektu v zozname:
bpy.context.selected_objects[0]
Komplexný… Ale toto vypíše zoznam vybraných objektov bez aktívneho objektu::
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
bpy.data#
bpy.data
má funkcie a atribúty, ktoré vám umožňujú prístup ku všetkým údajom v blend súbore.
V aktuálnom blend súbore máte prístup k nasledujúcim údajom: objekty, povrchové siete, materiály, textúry, scény, obrazovky, zvuky, skripty atď.
To je veľa údajov.
bpy.ops#
Systém nástrojov je postavený na koncepcii operátorov. Operátory sa zvyčajne vykonávajú pomocou tlačidiel alebo ponúk, ale je možné ich vyvolávať priamo aj z Pythonu.
Zoznam všetkých operátorov nájdete v dokumentácii API bpy.ops.