{"id":21972,"date":"2025-09-01T14:08:40","date_gmt":"2025-09-01T13:08:40","guid":{"rendered":"https:\/\/www.arhns.uns.ac.rs\/givsf\/?p=21972"},"modified":"2025-09-01T14:08:40","modified_gmt":"2025-09-01T13:08:40","slug":"metodologija-rada-uporedna-analiza-rucnog-i-programskog-modelovanja-u-rhinoceros-u-2","status":"publish","type":"post","link":"https:\/\/www.arhns.uns.ac.rs\/givsf\/metodologija-rada-uporedna-analiza-rucnog-i-programskog-modelovanja-u-rhinoceros-u-2\/","title":{"rendered":"Metodologija rada \u2013 uporedna analiza ru\u010dnog i programskog modelovanja u Rhinoceros-u"},"content":{"rendered":"\n<p>U okviru izrade na\u0161eg zajedni\u010dkog projekta, \u010dinija sa pregradama modelovana je na dva na\u010dina: <strong>ru\u010dno, kroz standardni interfejs Rhinoceros-a<\/strong>, i <strong>programski, pomo\u0107u Python skriptovanja unutar Rhino okru\u017eenja<\/strong>. Ovakav dvostruki pristup omogu\u0107io nam je da sagledamo prednosti i mane obe metode i da ih uporedimo u kontekstu prakti\u010dne i kreativne primene.<\/p>\n\n\n\n<p><strong>Ru\u010dni rad u Rhino interfejsu<\/strong> podrazumeva modelovanje kroz alate za crtanje, NURBS povr\u0161ine, boolean operacije i direktnu manipulaciju formama. Ovaj pristup je intuitivan i omogu\u0107ava stalnu vizuelnu kontrolu, \u0161to ga \u010dini pogodnim za brze kreativne eksperimente i estetske korekcije tokom rada. Ipak, nedostatak mu je manja ponovljivost i ote\u017eano pravljenje ve\u0107eg broja varijanti istog modela, jer svaka izmena zahteva dodatni manuelni rad.<\/p>\n\n\n\n<p><strong>Programski rad u Python-u za Rhino<\/strong> zasniva se na parametarskom definisanju geometrije. Osnovni elementi \u010dinije (osnova, zidovi, pregrade) opisani su kroz promenljive, dok se finalna forma dobija izvr\u0161avanjem skripte. Ovaj na\u010din rada pru\u017ea visok nivo preciznosti i ponovljivosti, jer je mogu\u0107e lako menjati parametre (npr. dimenzije \u010dinije, broj i raspored pregrada) i automatski generisati nove varijante. Njegova prednost je u preciznosti, dokumentovanom procesu i mogu\u0107nosti optimizacije, dok je glavna mana ne\u0161to sporiji razvoj prve verzije i manja intuitivnost za vizuelne, umetni\u010dke izmene.<\/p>\n\n\n\n<p>Kombinovanjem ovih pristupa postigli smo balans izme\u0111u <strong>kreativnosti i funkcionalnosti<\/strong>. Ru\u010dno modelovanje pokazalo se korisnim u ranim fazama projekta, kada je va\u017eno brzo testirati estetske mogu\u0107nosti i vizuelno sagledati formu, dok je Python skriptovanje omogu\u0107ilo precizno definisanje i generisanje parametarskih varijanti modela. Na taj na\u010din, oba procesa se nadopunjuju i zajedno pru\u017eaju kompletniji i savremeniji pristup u dizajnu \u010dinije sa pregradama.<\/p>\n\n\n\n<p>Dva na\u010dina modelovana:<\/p>\n\n\n\n<p>&nbsp;<strong>NURBS pristup (klasi\u010dan \u2013 precizniji za 3D \u0161tampu)<\/strong><\/p>\n\n\n\n<p>1. Crtanje profila (polukrug) pomo\u0107u `Curve` \u2192 `Arc` ili `InterpCrv`.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Rotiranje oko ose pomo\u0107u `Revolve`<\/p>\n\n\n\n<p>&nbsp;&nbsp; Dodavanje malog prstenastog postolja pomo\u0107u `Circle` + `ExtrudeCrv`.<\/p>\n\n\n\n<p>2. U pogledu \u201eTop\u201c napraviti krug iste veli\u010dine kao otvor \u010dinije.<\/p>\n\n\n\n<p>&nbsp; Iscrtati linije koje dele krug na 3 dela (`Polyline` ili `Line`)<\/p>\n\n\n\n<p>Koristiti `ExtrudeCrv` za izvla\u010denje linija<\/p>\n\n\n\n<p>Trimovanje da stanu ta\u010dno u \u010diniju pomo\u0107u `BooleanSplit`.<\/p>\n\n\n\n<p>3. Koristiti `FilletEdge` ili `BlendEdge` na gornjim ivicama \u010dinije i pregrada da se dobije zaobljen prelaz<\/p>\n\n\n\n<p><strong>SubD pristup (za slobodniju formu)<\/strong><\/p>\n\n\n\n<p>1. Napraviti `Sphere` ili `SubD Cylinder`<\/p>\n\n\n\n<p>&nbsp;&nbsp; Odse\u0107i gornji deo (`Trim`) da se dobije \u010dinija<\/p>\n\n\n\n<p>&nbsp; &nbsp;Dodati debljinu pomo\u0107u `OffsetSubD`.<\/p>\n\n\n\n<p>2. &nbsp;U \u201eTop\u201c pogledu, iscrtati linije koje dele krug na 3 dela<\/p>\n\n\n\n<p>&nbsp;&nbsp; &nbsp;Pretvoriti te linije u SubD ivice pomo\u0107u `InsertEdge` ili napraviti nove SubD \u201ezidove\u201c pomo\u0107u `Bridge`.<\/p>\n\n\n\n<p>&nbsp;&nbsp; &nbsp;Podesiti visinu i debljinu pregrada ru\u010dno (`Gumball` za pomeranje).<\/p>\n\n\n\n<p><strong>Kori\u0161\u0107enje Python-a za pobolj\u0161anje modelovanja:<\/strong><\/p>\n\n\n\n<p><strong>Za NURBS pristup:<\/strong><\/p>\n\n\n\n<p>Automatsko crtanje profila i rotacije \u2013 umesto manuelnog kreiranja krivih i Revolve, Python mo\u017ee generisati polukru\u017eni profil i automatski napraviti revoluciju sa \u017eeljenim radijusima i visinom.<\/p>\n\n\n\n<p>Primer: koristiti rs.AddArc i rs.RevolveCurve iz RhinoScriptSyntax.<\/p>\n\n\n\n<p>Precizno pozicioniranje pregrada \u2013 linije koje dele krug mogu se generisati programatski,<\/p>\n\n\n\n<p>tako da budu ta\u010dno u 120\u00b0 razmaku (ili koliko treba).<\/p>\n\n\n\n<p>rs.AddLine i petlja za pozicioniranje linija.<\/p>\n\n\n\n<p>Automatsko trimovanje \u2013 Python mo\u017ee pozvati BooleanSplit za sve pregrade i unutra\u0161njost \u010dinije, bez manuelnog odabira krivih.<\/p>\n\n\n\n<p>Zaobljavanje ivica \u2013 automatsko kori\u0161\u0107enje FilletEdge ili BlendEdge za sve gornje ivice pomo\u0107u skripte.<\/p>\n\n\n\n<p><strong>Za SubD pristup:<\/strong><\/p>\n\n\n\n<p>Generisanje osnovne forme \u2013 Python mo\u017ee kreirati osnovnu SubD sferu ili cilindar i odmah podesiti dimenzije i debljinu zida (OffsetSubD).<\/p>\n\n\n\n<p>Automatsko dodavanje pregrada \u2013 linije iz \u201eTop\u201c pogleda mogu se pretvoriti u SubD ivice ili zidove pomo\u0107u skripte, i sve pregrade mogu biti uniformno raspore\u0111ene.<\/p>\n\n\n\n<p>Parametarsko pode\u0161avanje \u2013 visinu i debljinu pregrada mo\u017ee\u0161 kontrolisati kroz promenljive u Python-u, tako da mo\u017ee\u0161 lako eksperimentisati sa dimenzijama i proporcijama bez ru\u010dnog pode\u0161avanja.<\/p>\n\n\n\n<p>Iterativna optimizacija \u2013 mo\u017ee se napraviti skripta koja testira vi\u0161e varijanti oblika i visine pregrada da bi se na\u0161ao najbolji izgled i funkcionalnost pre 3D \u0161tampe.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-content\/uploads\/2025\/09\/Screenshot_RhinoCeros6_22104652Desktop-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-content\/uploads\/2025\/09\/Screenshot_RhinoCeros6_22104652Desktop-1-1024x683.png\" alt=\"\" class=\"wp-image-21975\" srcset=\"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-content\/uploads\/2025\/09\/Screenshot_RhinoCeros6_22104652Desktop-1-1024x683.png 1024w, https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-content\/uploads\/2025\/09\/Screenshot_RhinoCeros6_22104652Desktop-1-300x200.png 300w, https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-content\/uploads\/2025\/09\/Screenshot_RhinoCeros6_22104652Desktop-1-768x512.png 768w, https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-content\/uploads\/2025\/09\/Screenshot_RhinoCeros6_22104652Desktop-1.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">prototip cinije<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>U okviru izrade na\u0161eg zajedni\u010dkog projekta, \u010dinija sa pregradama modelovana je na dva na\u010dina: ru\u010dno, kroz standardni interfejs Rhinoceros-a, i programski, pomo\u0107u Python skriptovanja unutar Rhino okru\u017eenja. Ovakav dvostruki pristup omogu\u0107io nam je da sagledamo prednosti i mane obe metode i da ih uporedimo u kontekstu prakti\u010dne i kreativne primene. Ru\u010dni rad u Rhino interfejsu&hellip; <a class=\"more-link\" href=\"https:\/\/www.arhns.uns.ac.rs\/givsf\/metodologija-rada-uporedna-analiza-rucnog-i-programskog-modelovanja-u-rhinoceros-u-2\/\">Continue reading <span class=\"screen-reader-text\">Metodologija rada \u2013 uporedna analiza ru\u010dnog i programskog modelovanja u Rhinoceros-u<\/span><\/a><\/p>\n","protected":false},"author":676,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[656,1],"tags":[],"coauthors":[665],"class_list":["post-21972","post","type-post","status-publish","format-standard","hentry","category-24-25-radovi","category-opste","entry"],"_links":{"self":[{"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/posts\/21972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/users\/676"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/comments?post=21972"}],"version-history":[{"count":1,"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/posts\/21972\/revisions"}],"predecessor-version":[{"id":21977,"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/posts\/21972\/revisions\/21977"}],"wp:attachment":[{"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/media?parent=21972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/categories?post=21972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/tags?post=21972"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.arhns.uns.ac.rs\/givsf\/wp-json\/wp\/v2\/coauthors?post=21972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}