Zbierka: Rozdiel medzi revíziami

Zo stránky Parametrické a Generatívne 3D modelovanie
Bez shrnutí editace
Bez shrnutí editace
 
(5 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 33: Riadok 33:
|alt=obrázok modelu mandaly
|alt=obrázok modelu mandaly
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Mandala Mandala]
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Mandala Mandala]
|duration=30 min
|duration=45 min
|difficulty=ľahký
|difficulty=ľahký
|skills=transformácie, cykly
|skills=transformácie, cykly
Riadok 44: Riadok 44:
|alt=obrázok modelu točených schodov
|alt=obrázok modelu točených schodov
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_To%C4%8Den%C3%A9_schody Točené schody]
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_To%C4%8Den%C3%A9_schody Točené schody]
|duration=1 hod
|duration=1.5 hod
|difficulty=ľahký
|difficulty=ľahký
|skills=transformácie, cykly, CSG operácie
|skills=transformácie, cykly, CSG operácie
Riadok 65: Riadok 65:
|difficulty_class=medium
|difficulty_class=medium
|image_name=Parametric_screw_1
|image_name=Parametric_screw_1
|alt=obrázok modelu šróbu
|alt=obrázok modelu skrutky
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_%C5%A0r%C3%B3b Šróby]
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Skrutka Parametrická skrutka]
|duration=1.5 hod
|duration=1.5 hod
|difficulty=pokročilý
|difficulty=pokročilý
Riadok 122: Riadok 122:
|alt=obrázok generovania modelov v Blenderi
|alt=obrázok generovania modelov v Blenderi
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Generovanie_objektov_-_Blender Generovanie objektov]
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Generovanie_objektov_-_Blender Generovanie objektov]
|duration=1 hod
|duration=1.5 hod
|difficulty=pokročilý
|difficulty=pokročilý
|skills=transformácie, cykly, podmienky, funkcie, práca s bpy
|skills=transformácie, cykly, podmienky, funkcie, práca s bpy
Riadok 134: Riadok 134:
|alt=obrázok voronoiovej gule v OpenSCADe
|alt=obrázok voronoiovej gule v OpenSCADe
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Voronoiove_objekty_-_OpenSCAD Voronoiove objekty - OpenSCAD]
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Voronoiove_objekty_-_OpenSCAD Voronoiove objekty - OpenSCAD]
|duration=1 hod
|duration=1.5 hod
|difficulty=ťažký
|difficulty=ťažký
|skills=transformácie, cykly, CSG operácie, podmienky, funkcie
|skills=transformácie, cykly, CSG operácie, podmienky, funkcie
Riadok 145: Riadok 145:
|alt=obrázok voronoiovej gule v Blenderi
|alt=obrázok voronoiovej gule v Blenderi
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Voronoiove_objekty_-_Blender Voronoiove objekty - Blender]
|link=[https://kempelen.dai.fmph.uniba.sk/design/index.php/Zbierka_-_Voronoiove_objekty_-_Blender Voronoiove objekty - Blender]
|duration=1.5 hod
|duration=2 hod
|difficulty=ťažký
|difficulty=ťažký
|skills=cykly, podmienky, funkcie, práca s bpy
|skills=cykly, podmienky, funkcie, práca s bpy
|software=[https://www.blender.org/ Blender] a [https://www.python.org/ Python]
|software=[https://www.blender.org/ Blender] a [https://www.python.org/ Python]
}}
}}
<h3>'''Vyskúšajte si viacúčelovú optimalizáciu:'''</h3>
<h3>'''Bonus: viacúčelová optimalizácia 3D modelov:'''</h3>
{{
{{
Odkaz_harok
Odkaz_harok
|difficulty_class=
|difficulty_class=bonus
|image_name=MOEA_4
|image_name=MOEA_4
|alt=obrázok s ukážkou optimalizácie
|alt=obrázok s ukážkou optimalizácie

Aktuálna revízia z 13:24, 10. máj 2024

Táto zbierka príkladov slúži na úvod do modelovacieho softvéru - Tinkercad Codeblocks, BlocksCAD, OpenSCAD, Blender a na precvičenie základov parametrického a generatívneho dizajnu v uvedených nástrojoch. Pri programovaní v týchto prostrediach užívatelia získavajú programovacie a modelovacie skúsenosti prechodom od blokového (Tinkercad Codeblocks, BlocksCAD) k textovému (OpenSCAD, Blender) programovaniu:

  • V Tinkercad Codeblocks majú užívatelia jednoduché prostredie založené na blokovom programovaní a postupným skladaním blokov vytvárajú svoje vlastné 3D modely, no nevidia žiaden kód za tým. Tinkercad Codeblocks sprístupňuje renderovanie len málo primitív a nie je v ňom umožnená rekurzia.
  • V BlocksCADe je prostredie podobné, no niektoré bloky majú jemne rozdielnú funkcionalitu či poradie vyhodnocovania. Síce sme stále v blokovom programovaní, BlocksCAD umožňuje aj prehľad OpenSCAD kódu, ktorý vytvoril pri skladaní blokov na pozadí. !POZOR! - nie je zaručené, že tento OpenSCAD kód bude fungovať správne. Občas sa stane, že preklad nie je dokonalý a obsahuje syntaktické či logické chyby, preto sa neodporúča naň spoliehať na 100%. BlocksCAD umožňuje vytvárať viac primitív a oproti Tinkercad Codeblocks obsahuje aj rekurziu.
  • V OpenSCADe je prostredie využívajúce vlastnú prispôsobenú syntax, v ktorej užívatelia programujú bez blokov, iba textovo, no je zo všetkých predošlých CAD systémov najrýchlejší a umožňuje vytvárať komplexnejšie modely s množstvom primitív.
  • V Blenderi máme zas prostredie, ktoré nám pomocou Python API umožňuje pracovať s modelmi v scéne. Blender má obrovskú škálu operácií a dokáže relatívne rýchlo pracovať s väčším množstvom primitív. V skriptoch, ktoré píšeme vieme pomerne priamočiaro implementovať parametrické aj generatívne modelovanie. Máme taktiež k dispozícii importovanie viacerých modelov, takisto exportovanie modelov vo viacerých formátoch.

Všetky modely sú vytvorené čo najpodobnejšie vo viacerých nástrojoch pre predstavu a ľahší prechod medzi blokovým a textovým programovaním. Ku každému modelu je pripravený pracovný hárok, ktorý priblíži postup a koncepty riešiteľom.

Potrebné materiály pre prácu:

Pracovné hárky:

Táto sekcia obsahuje pracovné hárky pre študentov obsahujúce konkrétne realizované príklady a úlohy s otvoreným koncom. Slúžia na osvojenie konceptov a zručností využívaných pri 3D modelovaní a programovaní všeobecne a v konečnom dôsledku aj pri parametrickom a generatívnom 3D modelovaní. V hárkoch nájdeme obrázky modelov, inštrukcie pre prácu, materiály alebo aj vzorové riešenia.

Ľahké úlohy:

obrázok modelu rotovaného objektu
Trvanie:
30 min
Náročnosť:
ľahký
Zručnosti:
transformácie, cykly
obrázok modelu mandaly
Trvanie:
45 min
Náročnosť:
ľahký
Zručnosti:
transformácie, cykly
obrázok modelu točených schodov
Trvanie:
1.5 hod
Náročnosť:
ľahký
Zručnosti:
transformácie, cykly, CSG operácie
Nástroje:
BlocksCAD alebo OpenSCAD
obrázok modelu rotovaného valca z polygónov
Trvanie:
1 hod
Náročnosť:
ľahký
Zručnosti:
transformácie, cykly, CSG operácie, funkcie

Pokročilé úlohy:

obrázok modelu skrutky
Trvanie:
1.5 hod
Náročnosť:
pokročilý
Zručnosti:
transformácie, cykly, CSG operácie, funkcie
Nástroje:
BlocksCAD alebo OpenSCAD
obrázok modelu kochovej kocky
Trvanie:
1 hod
Náročnosť:
pokročilý
Zručnosti:
transformácie, cykly, CSG operácie
Nástroje:
OpenSCAD
obrázok modelu rekurzívnych kociek
Trvanie:
1 hod
Náročnosť:
pokročilý
Zručnosti:
transformácie, CSG operácie, podmienky, rekurzia
Nástroje:
BlocksCAD alebo OpenSCAD
obrázok modelu rekurzívnych guličiek
Trvanie:
1 hod
Náročnosť:
pokročilý
Zručnosti:
transformácie, CSG operácie, podmienky, rekurzia
Nástroje:
BlocksCAD alebo OpenSCAD
obrázok modelu l-systému
Trvanie:
1.5 hod
Náročnosť:
pokročilý
Zručnosti:
transformácie, cykly, CSG operácie, podmienky, funkcie, rekurzia
Nástroje:
BlocksCAD alebo OpenSCAD
obrázok generovania modelov v Blenderi
Trvanie:
1.5 hod
Náročnosť:
pokročilý
Zručnosti:
transformácie, cykly, podmienky, funkcie, práca s bpy
Nástroje:
Blender a Python

Ťažké úlohy:

obrázok voronoiovej gule v OpenSCADe
Trvanie:
1.5 hod
Náročnosť:
ťažký
Zručnosti:
transformácie, cykly, CSG operácie, podmienky, funkcie
Nástroje:
OpenSCAD
obrázok voronoiovej gule v Blenderi
Trvanie:
2 hod
Náročnosť:
ťažký
Zručnosti:
cykly, podmienky, funkcie, práca s bpy
Nástroje:
Blender a Python

Bonus: viacúčelová optimalizácia 3D modelov:

obrázok s ukážkou optimalizácie
Trvanie:
Náročnosť:
ťažký
Zručnosti:
cykly, podmienky, funkcie, práca s bpy a platypus
Nástroje:
Blender a Python