= Konstrukcijske Tehnike = [[PageOutline]] Cilj predmeta pri vajah je združiti znanje o 3D modeliranju, metodiki konstruiranja in ostalih strokovnih predmetih in to prikazati na primeru razvoja izdelka / programske opreme. Velik poudarek je na realnosti problema in na sistematični in strokovni obravnavi. Pri metodiki konstruiranja je bil poudarek na kreativnosti in iskanju rešitev. Tokrat je teža na drugem delu razvoja izdelka, ki pomeni do delavniške risbe izdelana tehnična dokumentacija. Upoštevati je potrebno tudi stanje tehnike in regulativo. Zaželjeno je, da se izdela tudi prototip izdelka. Del postavljenih nalog bodo študentom ponujene (prispevale so jih različna podjetja). Od študentov se pričakuje, da polovico nalog poiščejo sami. Pričakuje se delo v skupinah od 3 do 5 študentov. Ocenjuje se, da bo za izdelavo seminarske naloge posameznik vložil okoli 100 ur časa. Značilne skupine nalog: - Konstrukcija orodja (npr. štanca ali brizganje plastike). - Konstrukcija stroje ali naprave. - Projektiranje in preračun nosilne konstrukcije. - Projektiranje strojnih instalacij. - Razvoj serijskega izdelka. - '''Razvoj programske opreme'''. Vaje so namenjene predvsem konzultacijam z asistenti in spremljanju dela na projektu. Posamezna skupina študentov bo delala le na eni od zgoraj naštetih nalog. Vsako končno poročilo mora vsebovati spodaj navedeno vsebino: 1. Definicijo naloge z jasno postavljenimi zahtevami 2. Funkcijska struktura / diagram poteka. 3. Pregled patentov ali regulative. 4. Sistematičen pristop pri iskanju rešitev, ureditev v morfološki matriki. 5. Vrednotenje in izbor rešitev. 6. FMEA (analiza možnih oblik napak) pri konstrukciji ali procesu. 7. Optimiranje konstrukcije / procesa (npr. numerične simulacije). 8. 3D model konstrukcije / izdelka. 9. Delavniške risbe. 10. Prototip izdelka. Glede na vrsto projektne naloge se spreminja vsebina in teža zgoraj naštetih točk. Vsaka skupina mora v poročilu vsebovati vsaj 80 % od zgoraj naštetih točk. Predmeti bodo pridobili na vrednosti, če jih med seboj povežemo v zaokroženo celoto – cilj je na sistematičen in strokoven način razvijati podjetniške ideje. En problem, ki se prične obravnavati pri metodiki konstruiranja, se nato nadgradi predmetu Konstrukcijske tehnike in še pri kakšnem. Študentom, ki uspešno sodelujejo pri EGPR seminarju (letni semester), se prizna vaje pri predmetu konstrukcijske tehnike. Vaje morajo biti zaključene ob koncu semestra. V nasprotnem primeru je potrebno ponovno opravljanje vaj. Vsak od asistentov vodi vaje samostojne. Specifične kompetence posameznih asistentov so: - '''Leon Kos in Marijo Telenta – programska oprema, elektronika, računalniki''' - Janez Benedičič – regulativa, patenti, varnost strojev in naprav (CE znak) - Damijan Zorko in Borut Černe- Konstrukcije in optimiranje Časovni plan: 1. teden - določitev projektne naloge 2. teden - čistopis zahtevnika pri projektni nalogi. 3. in 4. teden – variacija rešitev, pregled patentov in regulative 5. teden - ocenjevanje rešitev in izbira 6. teden - koncipiranje rešitve 7. in 8. teden - optimiranje konstrukcije (numerična simulacija) 9. in 10. teden - 3D modeliranje 11. teden - izdelava delavniške dokumentacije 12. in 13. teden - izdelava prototipa 14. teden - izdelava poročila in predstavitve 15. teden - predstavitev rezultatov projektne naloge Postavljeni plan je v orientacijo in pomoč projektnim skupinam. Posamezne aktivnosti se lahko prekrivajo in tečejo vzporedno. == Predstavitve projektov == Na vajah je bilo za projekte povedano, kako naj poročila oziroma izgled strani Wiki vsebuje. Vsekakor je potrebno končne rezultate prikazi tudi s knjižnico [wiki:jsc3d]. Za projekte skupine TLM je še posebej pomembno, da se predstavi idejo in celotno zasnovo kot sceno, ki vključuje postavitev in namembnost predloga z uporabo sestavnih elementov in pa tudi vsaj enega posebnega (nestandardnega) modela, ki naj bi bil popreje narejen z PythonOcc. Projekti, ki nimajo dodatnih kosov morajo vseeno vse modele spojk in cevi shraniti na SVN pod kodo projekta in ne kot priponke na strani Wiki. Na vrh strani dodajte še skico ideje v SVG in dodajte kazalo z {{{[[PageOutline]]}}}. Izgled poročila na strani naj bo tak, da v predogledu tiskanja lično izgleda! To pa pomeni tudi barvno usklajenost uporabljenih elementov, teksture, ... Slikovno gradivo mora biti avtorsko. Podatki morajo biti ustrezno citirani s podanimi referencami oziroma spletnimi povezavami. Poglejte si še kodo na strani [//kt5] in [//sk1]], kako lahko naredimo podprograme za postavljanje sklopov v sceni. '''Predstavitev projektov bo predvidoma 18.1.2017 ob 14:00 v N17.'' Po dogovoru okoli 18.1-19.1.2017 so predstavitve projektov KT. == Domače naloge in ocenjevanje == Da bi zagotovili sprotno delo se po začetnih uvodnih vajah predvideva izdelava dveh domačih nalog s katerimi študentje prikažejo osnovne sposobnosti razumevanja problematike programiranja. Vsak študent dobi v prvi domači nalogi svoj seznam vaj, ki jih mora izdelati do naslednjega tedna. V drugem delu so domače naloge iz področja PythonOcc ter prikaz z [wiki:webgl] z uporabo knjižnice [wiki:threejs] s katero je možno izdelati [wiki:threejs/viewer pregledovalink modelov]. Skupna ocena pri vajah KT je sestavljena iz: - Prisotnost 5% - Domače naloge 20% - Priprava zahtevnika, jasnost 5% - Funkcijska struktura / diagram poteka (predstavitev delovanja programa). 10% - Pregled patentov, regulative, sorodnih rešitev in vrednotenje. 10% - Projektni program 40% * Delovanja, modularnosti, parametričnosti in jasnosti kode. * Skupinsko delo in razdelitev posameznih podprogramov po študentih. * Izvedba programskega dela po časovnici (pravočasnost in sprotnost). * Komentarji pri shranjevanju dela na SVN in WIKI (uporabljaj preview). * Predstavitev 3D sestava (in posameznih sklopov) na strani WIKI v obliki. [wiki:jsc3d] - Predstavitev projekta s strani WIKI 10% Cilj projektnih nalog je čim bolj približati predlagano izvedbo končnemu ''industrijskemu partnerju'', kar sestoji iz prepričljivosti vseh navedenih kriterijev. Pri vrednotenju rezultatov vseh skupin se uporabljajo priporočila [http://ec.europa.eu/education/lifelong-learning-policy/doc/ects/guide_sl.pdf ECTS priročnika]. ''Nekatera pojasnila pri podajanju ocene.'' Glede problematike/regulativ/patentov je mišljeno, da idejo predstavite kot svojo v primerjavi z obstoječimi rešitvami. = Projektne naloge skupine '''Razvoj programske opreme''' = Predavanja Konstrukcijske tehnike so v predavalnici IV/2 vsak ponedeljek 10:00-13:00 Razpored terminov po skupinah 8+8 študentov 1. skupina N17 petek 08:00 - 10:00 Leon Kos 2. skupina N17 petek 10:00 - 12:00 Marijo Telenta Alternativni termini za vaje so v sredo 13:00-15:00 (rezervirano), četrtek 8-10h. Prve uvodne vaje bodo v petek 7.10.2016 od 9:00 naprej za vse interesente. Nato pa v petek redno vsak teden oz po dogovoru. Pomemben del vaj KT je tudi pridobitev znanja programiranja CAD jedra v jeziku Python. V predvidenem časovnem planu razvoja izdelka ''programiranje'' (dela) izdelka v CAD jedru OpenCascade nadomesti naloge 7.-14. tedna. Prvi del vaj je tečaj jezika Python s poudarkom na OpenCascade, ki se izvaja vzporedno z nalogo do koncipiranja rešitve. V dveh urah tedensko ima vsaka skupina eno uro praktičnih Python osnov na računalniku v učilnici N17 in nato še konzultacijo o napredku na projektu, ki jo študentje opravijo izven laboratorija. V drugem delu sledi individualno programiranje celote ali delov izdelka v dogovorjeni zahtevnosti, poročilo in predstavitev. Vsebina in obseg projektne naloge se določi na vajah. Skupina študentov (do 5) lahko predlaga svojo tematiko naloge, ki pa jo je potrebno podrobno verificirati po obsegu in zahtevnosti. Če take naloge ne bodo predlagali, jim bo tematika dodeljena. Sami pa bodo morali uporabiti tehnike s predavanj, da problem ustrezno razdelajo. Projektne naloge so lahko individualne. Skupno delo si slušatelji razporedijo sami. Delo na računalniku pa je individualno in ni skupno, ter je ocenjevano ločeno od projektne skupine. Nalogo modeliranja v C++ se dogovori individualno na vajah. PythonOcc je priredba knjižnice OpenCascade za programiranje v jeziku Python. == Namestitev okolja za delo doma == Priporočamo uporabo brskalnika Firefox. V njem si lahko nastavite privzeti jezik tako da izberete Options-Content-Languages-Add-Slovenian in ga premaknemo navzgor. Namestite si še slovenski črkovalnik v brskalnik s strani https://addons.mozilla.org/en-US/firefox/addon/slovar-za-slovenski-jezik Za shranjevanje domačih nalog in s tem datotek na strežnik je potrebno namestiti TortoiseSVN s strani http://tortoisesvn.net/downloads.html Izberemo 64-bitno verzijo programa. Verzijo Windows lahko preverimo z raziskovalcem windows (explorer) Help-About. TortoiseSVN namestimo kot administrator. Za dolpoteg (checkout) imenika projekta na namizju z desnoklikom miške na namizju izberemo SVN Checkout... ter za URL napišemo svn://lecad.si/kt/ipriimek, kjer je ipriimek vaše prijavno ime. Na namizju bo imenik z vašimi datotekami katere potem lahko shranite nazaj na strežnik z ukazi SVN add in Commit. Za namestitev Pythona in spremnjih knjižnic si poglejte navodila PythonOcc. = Projekti = == 1. Pixelizacija prve stene tokamaka == Poenostavitev oblike je potrebno za določene fuzijske kode, kot je EFIT++. 2D presek 3D modela tokamaka je potrebno poenostaviti z uporabo paralelogramov. [[Image(pixel_shape.png, 30%, right)]] Sodelujoči na projektu [//pixelator]: == 2. Vodilne krivulje cevnih sistemov == Za potrebe vnosne geometrije določenih fuzijskih kod, cevne sisteme je potrebno poenostavit v vodilne krivulje. [[Image(magnetics.PNG, 27%,right)]] Sodelujoči na projektu [//centerline]: == 3. Sledenje prvi steni tokamaka == Izračun termične obremenitve stene tokamaka ki je v dotiku plazme je pomembno pri določitvi materialov obloge notranjih sten tokamaka. PFC (Plasma Facing Components) fuzijske kode rabijo površino notranje stene tokamaka. Naloga je, da se dobi notranja površina 3D modela. [[Image(pfc.PNG)]] Sodelujoči na projektu [//firstwall]: == 4. Divertor v podrobnostih == Za podani divertor, v STEP formatu želimo pripraviti re-inženiring površin v NURBS obliki, ki pa bi bile parametrične. Prav tako je cilj dodati podrobnosti na različnih nivojih (Level of Detail). Sprogramirati je potrebno parametričen model v različnih nivojih podrobnosti. Vsi modeli naj imajo eno absolutno koordinatno izhodišče, tako da, ko se posamezni sklopi dajo v en sestav ne pride do prekrivanja posameznih sklopov. Funkcija [http://www.iter.org/mach/divertor Divertor]-ja je, da odstrani različne nečistoče iz plazme. Sestavljen je iz 54 kaset, vsaka s tremi elementi ki so obrnjene proti plazmi. [http://www.iter.org/mach/blanket Blanket] moduli zagotavljajo varovanje pred visokimi toplotnimi obremenitvami znotraj vakuumske posode in visoko energetskih nevtronih, ki jih proizvajajo fuzijske reakcije. Sodelujoči na projektu [http://www.iter.org/mach/vacuumvessel Vakuumska posoda] zagotavlja zaprto, vakuumsko okolje za fuzijske reakcije. == 5. Kompleks tokamaka ITER v WebGL == Sestav ITER se bo temeljil na obstoječih projektih [[//idivertor]], [[//iblanket]], [[//imagnets]], [[//icryostat]], [[/ivessel]], ki jih je portebno shraniti v STL in prikazati na spletni strani kot 3D model z [wiki:webgl] z uporabo knjižnice [wiki:threejs]. Projekt je predviden samo individualno delo enega ali največ dveh študentov. [[Image(iter_cascade.png, right)]] Sodelujoči na projektu [//icomplex]: == Zahtevki == Evidenca domačih nalog, datoteke pri delu na vajah, in komunikacija se vodi za vsakega študenta posebej na strani http://trac.lecad.fs.uni-lj.si/ - zelena nima odprtih postavk - oranžna eno nerešeno zadevo - rdeča število rešenih/vseh zadev = Povezave = * Predstavitev odprtokodnega jedra [wiki:OpenCascade Open CASCADE] * [wiki:python Vaje v Pythonu] z uporabo PythonOcc in OpenCascade * [wiki:izpitni-red Izpitni red] pri predmetih prof. Tavčarja {{{#!comment * [wiki:skupine-2009 Skupine] za leto 2009/2010 * [wiki:skupine-2010 Skupine] za leto 2010/2011 * [wiki:skupine-2011 Skupine] za leto 2011/2012 }}} * [attachment:stress.pdf Besedilo naloge RPK 2010] -- v obliki PDF * [attachment:underfloor.pdf Besedilo naloge RPK 2009] -- v obliki PDF * [attachment:bflow.pdf Besedilo naloge RPK 2008] -- v obliki PDF * [http://www.lecad.uni-lj.si/~leon/teaching/torsion2/torsion.pdf Besedilo naloge RPK 2007] -- v obliki PDF * [http://www.virtualbox.org/wiki/Downloads Program za virtualni stroj] -- Namesti kot administrator pred namestitvijo Virtualnega računalnika vaje.zip * [http://www.lecad.uni-lj.si/~leon/teaching/vaje.zip Navidezni računalnik za vaje (553MB) - za VB 1.6.x-3.x] - Odpakiraj vse v začasni imenik in dvo-klikni na datoteko namesti. * [http://www2.lecad.si/education/predmeti/gradivo/software/opengl-intro.pdf Računalniška grafika] -- Navodila za programiranje OpenGL grafike v Fortranu * [http://www.educa.fmf.uni-lj.si/izodel/sola/2001/di/Rupar/izobrazevanje/tutorc Programski jezik C ] -- Uvod v C (Stanislav Rupar) * [http://en.wikibooks.org/wiki/C_Programming C Programming] - Pregledna Wiki knjiga za jezik C * [wiki:naloge] - Besedila domačih nalog v programskem jeziku C * [wiki:python] - Besedila domačih nalog v programskem jeziku Python * [wiki:opengl-intro] - Računalniška grafika z OpenGL * [wiki:PythonOcc/primitives] - Izdelava modelov z OpenCascade * [wiki:jsc3d] - Prikaz na spletni strani z jsc3d * [wiki:lab-intro] - Razvojno okolje za laboratorijske vaje * Ocenjevalec nalog v [http://lecad.si/cgi-bin/cclass.cgi C-ju] ali [http://lecad.si/cgi-bin/pyclass.cgi Python-u]- Kontrola pravilnosti delovanja domačih nalog * [wiki:prisotnost] - Tabela prisotnosti na vajah * [wiki:napotki-2008 Stari napotki] za 2008-2009 * [wiki:napotki-2009 Stari napotki] za 2009-2010 * [wiki:napotki-2010 Stari napotki] za 2010-2011 * [wiki:2011 Napotki vaj KT] za 2011-2012 * [wiki:2012 Napotki vaj KT] za 2012-2013 * [wiki:2013 Napotki vaj KT] za 2013-2014 * [wiki:2014 Napotki vaj KT] za 2014-2015 * [wiki:2015 Napotki vaj KT] za 2015-2016 {{{#!comment * Tabela prisotnosti na vajah [wiki:prisotnost-2009 2009], [wiki:prisotnost-2010 2010], [wiki:prisotnost-2011 2011], [wiki:prisotnost-2012 2012], [wiki:prisotnost-2013 2013] [wiki:prisotnost-2014 2014] }}} * TracGuide -- Built-in Documentation * [http://trac.edgewall.org/wiki/TracFaq Trac FAQ] -- Frequently Asked Questions * TracSupport -- Trac Support For a complete list of local wiki pages, see TitleIndex.