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.

../_images/editors_python-console_default.png

Konzola Pythonu.

Rozhranie

Ponuky záhlavia

Ponuka Zobraziť

Priblížiť/oddialiť

Zväčšuje/zmenšuje veľkosť písma textu konzoly.

Prejsť na predchádzajúce slovo Ctrl-

Presunie kurzor na začiatok predošlého slova. Ak je kurzor v strede slova, kurzor sa presunie na začiatok aktuálneho slova.

Prejsť na ďalšie slovo Ctrl-

Presunie kurzor na koniec nasledujúceho slova. Ak je kurzor v strede slova, kurzor sa presunie na koniec aktuálneho slova.

Presunúť na začiatok riadku Home

Presunie kurzor na začiatok aktuálneho riadku.

Presunúť na koniec riadku End

Presunie kurzor na koniec aktuálneho riadku.

Ponuka Konzola

Zmazať všetko

Obnoví konzolu a poskytne zobrazenie nového štartu. Upozorňujeme, že história príkazov nie je vymazaná.

Zmazať riadok Shift-Enter.

Odstráni všetko z riadku výzvy.

Odstrániť predchádzajúce slovo Ctrl-Backspace

Vymaže všetko medzi kurzorom a začiatkom predchádzajúceho slova (oddelené bodkami). Ak je kurzor uprostred slova, vymaže sa všetko na začiatok aktuálneho slova.

Odstrániť ďalšie slovo Ctrl-Delete

Vymaže všetko medzi kurzorom a koncom ďalšieho slova. Ak je kurzor uprostred slova, vymaže sa všetko na koniec aktuálneho slova.

Kopírovať ako skript Shift-Ctrl-C

Skopíruje zásobník celej histórie do schránky, ktorú je možné vložiť do textového súboru, ktorý sa použije ako skript v jazyku Python.

Kopírovať Ctrl-C

Skopíruje výber.

Prilepiť Ctrl-V

Prilepí do príkazového riadku.

Odsadenie Tab

Vloží znak tabulátora na kurzor.

Zrušiť odsadenie Shift-Tab

Zruší odsadenie výberu.

V histórii dozadu

Zmení aktuálny príkaz na predošlý príkaz tak, ako sa zobrazuje v histórii príkazov.

V histórii dopredu

Zmení aktuálny príkaz na nasledujúci príkaz, ktorý sa zobrazuje v histórii príkazov.

Automatické dokončovanie Tab

Pre ďalšie informácie si pozrite časť Automatické dokončovanie.

Hlavné zobrazenie

Priradenie kláves

  • / – pohyb kurzora.

  • Ctrl- / Ctrl- – pohyb kurzora po slovách.

  • 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 k bpy.context.

  • D: Rýchly prístup k bpy.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.

../_images/editors_python-console_dir.png

Automatické dokončovanie

Teraz zadajte bpy. A potom stlačte Tab a uvidíte funkciu automatického dokončovania konzoly v akcii.

../_images/editors_python-console_completion.png

Všimnite si, že sa vo 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.

../_images/editors_python-console_bpy-context.png
bpy.context.mode

Vytlačí aktuálny režim 3D záberu (Objekt, Editácia, Sochárstvo atď.).

bpy.context.object alebo bpy.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]

Zložité… ale týmto sa vytlačí zoznam objektov, ktoré nezahŕňajú aktívny objekt:

[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.

../_images/editors_python-console_bpy-data.png

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.