You are on page 1of 26

Katedra za mostove

Mostovi III
Separat 00

Osnove strukture i programskog jezika


programskog paketa SOFiSTiK

Izradili:

doc.dr.sc. Anelko Vlai, dipl.ing.gra.

Mladen Srbi, dipl.ing.gra.

Zagreb, ak.god. 2015./2016.


MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Sadraj

1 Struktura modula i tijek prorauna ....................................................................... 1


1.1 Predprocesorski moduli ................................................................................. 2

1.2 Moduli analize (metoda konanih elemenata) ............................................... 3

1.3 Moduli za dimenzioniranje ............................................................................. 3

1.4 Moduli postprocesora .................................................................................... 4

2 Korisniko suelje ................................................................................................ 5


2.1 Programi unutar paketa i njihove datoteke ................................................... 5

2.2 Teddy CADINP Text Editor ............................................................................ 6

2.2.1 Naredbeni redci....................................................................................... 9

2.2.2 Modul tree ............................................................................................. 10

2.2.3 Zapisi (''Input Records'') ........................................................................ 12

2.2.4 Komentari.............................................................................................. 16

2.2.5 Varijable ................................................................................................ 17

2.2.6 Blokovi .................................................................................................. 18

2.2.7 Petlje ..................................................................................................... 20

2.2.8 Logiki uvjeti (IF-ELSE) ........................................................................ 21

2.3 Animator vizualizacija modela i animacija ponaanja ............................... 23


MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

1 Struktura modula i tijek prorauna


Modeliranje konstrukcije programskim paketom SOFISTiK podijeljeno je na dijelove
koji definiraju razliite aspekte modela, i nazivaju se MODULIMA. Prednost
modularnog naina unosa modela je u boljoj preglednosti i kontroli modela, i u
mogunosti odvojenog pokretanja pojedinih modula kako bi se skratilo vrijeme
prorauna. Pri tome update i pokretanje jednog modula mijenja samo dio modela na
koji se odnosi taj modul. Jedini moduli koji zahtijevaju ponovno pokretanje svih
ostalih modula su oni koji se odnose na zadavanje poprenih presjeka i geometrije
modela, iako ni to nije uvijek potrebno (primjerice ako se u geometriji modela
mijenjaju rubni uvjeti samo za pojedina optereenja).

Moduli se mogu podijeliti na 4 kategorije moduli predprocesora (ulazni podaci


konstrukcije i optereenja), moduli za analizu (statiki i dinamiki proraun
optereenja), moduli za dimenzioniranje (kombinacije djelovanja, izraun armature,
naprezanja, provjere prema GSN i GSU) i moduli postprocesora (pregled i ispis
rezultata, slaganje stranica za knjigu projekta). U naelu slijed pokretanja modula bi
trebao pratiti ove kategorije, pri emu pokretanje jedne kategorije modula za sobom
povlai potrebu kasnijeg pokretanja samo onih modula koji se nalaze u kategorijama
iza njega. Ovime se znatno skrauje vrijeme prorauna nakon promjena u modelu.
Slijed kategorija modula i pokretanja prikazan je na slici u nastavku.

1
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

1.1 Predprocesorski moduli

Napomena: u ovom separatu navode se samo moduli potrebni za programski


zadatak rotiljnog modela mosta statikog sustava kontinuiranog nosaa.
AQUA - modul u kojem se definira norma prema kojoj e se vriti proraun i
dimenzioniranje, materijali za model i popreni presjeci modela. Vano je napomenuti
da se prema odabranoj normi moraju koristiti specifini materijali koji su definirani
tom normom, ali i u kasnijim modulima sustavi prednapinjanja i vrste dimenzioniranja.
Popreni presjeci se mogu odabrati prema dostupnoj velikoj bazi presjeka (cijevi,
valjani profili), mogu se sastavljati iz ovih profila, ili se mogu potpuno slobodno
zadavati poligonima ili limovima u sluaju tankostijenih presjeka. Takoer, mogue je
i zadavanje pojedinih dijelova presjeka sa razliitim fazama izvedbe (npr. kod
spregnutih presjeka elik i ploa koja se betonira kasnije), to e se kasnije
iskoristiti u modulu CSM kojim se modeliraju faze izvoenja. U sluaju betonskih
dijelova presjeka zadaje se i poloaj i koliina armature u layerima.
SOFIMSHA modul u kojem se definira geometrija modela. Model se sastavlja iz
elemenata koji su definirani izmeu vorova. Generacije vorova i elemenata
ostvaruju se prema vanim tokama konstrukcije kao to su toke temelja, upornjaka,
leajeva, poprenih nosaa. Vano nam je i definirati toke u kojima se mijenjaju
popreni presjeci ili gdje su definirani odreeni rubni uvjeti. Mogue su i krute KF
veze izmeu elemenata kojima se simulira kruto tijelo unutar modela (npr. leajni
kvadar, ekscentriciteti veze pojedinih nosaa...). Elementi koji se najee koriste su
tapni (BEAM) elementi (u sluaju rotiljnog modela iskljuivo oni) i ploni (QUAD)
elementi (za ploe, naglavnice, zidove upornjaka, dijafragme). Vani elementi koje
koristimo su i opruge (SPRING) kojima se modeliraju leajevi koji mogu biti kruti
(velika krutosti) ili deformabilni (krutost prema izraunu ovisno o dimanzijama leaja).
SOFILOAD modul u kojem definiramo vrste djelovanja sa faktorima za kombinacije
(globalni koeficijenti sigurnosti, koeficijenti kombinacija) i pravilima za superpozicije
(djeluje stalno vlastita teina i dodatno stalno, pokretno sa vie istovremenih
moguih poloaja kontinuirani promet, pokretno samo sa jednim istovremenim
moguim poloajem - vozilo, promjenjiv predznak vjetar i potres...). U ovom modulu
se takoer zadaju i konkretna optereenja koja mogu biti plona, linijska i
koncentrirana. Svako optereenje se vee za jedno od ranije definiranih djelovanja.
Tako vie prometnih optereenja sva pripadaju u grupu jedno prometnog djelovanja
(npr. vie mogui poloaja vozila se sva grupiraju u djelovanje tandema prometa).
Sofiload-om takoer zadajemo i spektar za viemodalnu spektralnu analizu.
TENDON modul u kojem se zadaje geometrija kabela, sustav i stupanj
prednapinjanja. Zahtijeva kasnije pozivanje u CSM-u.
CSM construction stage manager modul u kojem definiramo faze izvedbe.
Ovime se simulira gradnja po fazama. Za svaku fazu se definiraju aktivni elementi

2
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

(elemente je mogue i iskljuivati u kasnijim fazama ime se modeliraju pomone


naprave i pridranja tokom gradnje), aktivni presjek (u sluaju betoniranja ploe npr.)
i optereenja koja djeluju u toj fazi (ukljuivo i sustav prednapinjanja koji je ranije
zadan u TENDON-u). Modul CSM generira novu datoteku koja se automatski
pokree nakon njega i iji rezultat su LC (loadcase-ovi) koji pokazuju stanje u svakoj
fazi gradnje. Ovim LC-ovima je automatski pridruen tip stalnog djelovanja pa se u
kasnijim kombinacijama i dimenzioniranjima (moduli AQB) automatski uzimaju u
obzir.

1.2 Moduli analize (metoda konanih elemenata)

ASE - modul u kojem se ranije zadana optereenja (npr. iz modula SOFILOAD)


proraunavaju. Mogua su i grupiranja vie optereenja da djeluju istovremeno, iako
su u SOFILOAD-u zadana odvojeno. Modul predvia i definiranja grupa koje su
aktivne za ova optereenja pa je mogu i proraun optereenja na samo jednom
dijelu konstrukcije (primjerice pojedini leajevi koji se aktiviraju samo kod dinamikog
potresnog optereenja mogu biti neaktivni za statika djelovanja prometa,
temperature, vjetra...). Takoer, ASE modlu slui i za proraun vlastitih frekvencija
konstrukcije koje e se kasnije pozivati kod viemodalne spektralne analize u modulu
DYNA.
DYNA - modul u kojem se vri proraun potresnog optereenja prema ranije
zadanom spektru (prema modulu SOFILOAD) i vlastitim frekvencijama (modul ASE).
Superpozicija doprinosa pojedinih frekvencija uglavnom se vri prema CQC metodi
(Complete Quadratic Combination).
ELLA - modul kojim se zadaje prometno optereenje na mostu. Dostupne su sheme
prometnog optereenja prema veini dananjih normi. Zadavanje se vri definiranjem
geometrije prometne trake i vozila. Modul pronalazi rezne sile u eljenim elementima
prema utjecajnim linijama za svaki presjek tako to prema tim utjecajnim linijama
smjeta shemu prometnog optereenja u najnepovoljniji poloaj. Rezultat su
anvelope reznih sila za zadano prometno optereenje koje su spremljene u posebni
Loadcase. Osim preko utjecajnih linija, ELLA moe anvelope kreirati i preko
generacije razliitih poloaja vozila i ostalog prometnog optereenja tako da svakoj
takvoj shemi optereenja bude dodijeljen drugi Loadcase koji se zasebno rauna.
Nakon toga anvelopa se generira kao superpozicija ovih Loadcase-ova.

1.3 Moduli za dimenzioniranje

MAXIMA modul koji prema eljenim kombinacijama optereenja kreira anvelope


reznih sila. Raspoloive kombinacije optereenja obuhvaaju sve one prema GSN i
GSU. Pravila superpozicije optereenja unutar djelovanja i faktori kombinacija ranije

3
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

su zadani u SOFILOAD-u. Svakoj avelopi mogue je dodijeliti novi tip djelovanja koji
se kasnije koristi kod dimenzioniranja.

AQB modul kojim se proraunava armatura za betonske presjeke (GSN),


naprezanja u presjecima (GSN i GSU), provjeravaju se pukotine za zadanu graninu
irinu i dodaje se nova armatura za ogranienje pukotina. Kod ovih dimenzioniranja i
provjera modul poziva gotove kombinacije promjenjivih djelovanja iz MAXIME i stalna
djelovanja iz CSM-a. Rezultati su mogui samo za tapne elemente.
BEMESS modul za iste provjere kao i AQB, ali za plone (QUAD) elemente.
Zahtijeva definiranje poloaja armature po visini plonog elementa jer ona nije ranije
zadana kao kod tapnih elemenata iji presjeci zajedno sa armaturom su zadani u
AQUA-i.

1.4 Moduli postprocesora

WiNGRAF interaktivni modul koji se otvara u novom prozoru i omoguuje


pregledavanje rezultata ranije provedenih modula. Mogui rezultati su podijeljeni u 4
kategorije sustav (prikazuju se brojevi vorova, elemenata, presjeka sa
karakteristikama, grupa...), optereenja (prikazuju se grafiki zadana optereenja i
pridrueni vorovi na koje ona djeluju), rezne sile i pomaci za sva proraunata
optereenja i anvelope optereenja, i rezultati dimenzioniranja (naprezanja,
armatura...). Modul omoguava pripremu ispisa na nain da se zadaje broj slika po
stranici, broj stranica, grafiki elementi ispisa (fontovi, decimalna mjesta, veliine
brojki, gustoa brojki na grafovima, boje dijagrama, vrste dijagrama...).

WING tekstualni editor za definiranje ispisa. Mogunosti ispisa podrazumijevaju isto


kao i WiNGRAF, pa je mogu export ranije interaktivno definiranog ispisa iz
WiNGRAF-a u tekstualni oblik i dodavanje takvog unosa na kraj glavne teddy
datoteke kako bi se svaki ispis automatski kreirao bez pokretanja WiNGRAF-a.
RESULTS Report Browser koji pokazuje rezultate nakon provedenog svakog
pojedinog modula. Koliina ispisa se definira ranije navedenom naredbom ''ECHO''.
Koristan za vane tekstualne ispise kao to su karakteristike poprenih presjeka iz
AQUA-e, grafiki prikazi tih presjeka, dijagrami spektra iz SOFILOAD-a, i tekstualni
rezultati aktiviranih masa i base shear-a iz DYNE.

DBPRIN Ranija verzija RESULTS-a, tablini prikaz rezultata prorauna pojedinih


modula.
SIR modul za integraciju reznih sila i naprezanja u zadanoj liniji presjeka. Koristi se
kod plonih QUAD elemenata gdje rezultati analize daju samo naprezanja, a za
dodatna dimenzioniranja nam trebaju rezne sile. Oznaava se linije zamjenskog
tapnog elementa i okvir oko te linije kojim svi obuhvaeni quad elementi budu

4
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

integrirani (svedeni) na tapni element. Linije zamjenskog elementa i granice okvira


mogu se interaktivno zadati u WiNGRAF-u i exportirati za proraun modula SIR.

2 Korisniko suelje

2.1 Programi unutar paketa i njihove datoteke

SOFISTiK je programski paket to znai da se sastoji od vie odvojenih programa


koji spajaju itav projekt u cjelinu i objedinjuju ga u jedinstvenu datoteci baze koja
nosi ekstenziju .cdb:

U ovoj datoteci pohranjeni su svi elementi modela i rezultati prorauna. Vano je


napomenuti da ove datoteke mogu biti vrlo velike (ak i po desetak GB), veliina im
je odreena brojem elemenata (sloenosti) modela i brojem optereenja. Datoteka
.cdb je unutar paketa SOFiSTIK asocirana sa programom ANIMATOR koji prikazuje
vizualizaciju modela i deformacije pri proraunatim optereenjima.

Unos podataka u module navedene u prethodnom poglavlju mogu je na dva naina.


Prvi nain je preko programskog jezika CADINP, gdje su moduli definirani tekstualno,
slino kao kod bilo kojeg drugog programskog jezika. Suelje odgovorno za unos
CADINP jezika nalazi se u programu TEDDY, a datoteke u koje se pohranjuje cijeli
tekstualni unos imaju ekstenziju .dat:

Teddy datoteka je veliinom malena (svega stotinjak KB) i neovisna od sloenosti


samog modela. itav model se sastoji od samo jedne ovako malene datoteke, ili
nekoliko njih gdje je onda jedna glavna u kojoj se nalaze naredbeni redci kojima se
pozivaju ostale. Pokretanjem teddy datoteke dobivamo bazu modela (.cdb).

Drugi nain unosa podataka u module je preko interaktivnog suelja programa


SOFiSTIK STRUCTURAL DESKTOP (skraeno SSD) ija datoteka u kojoj je
spremljen projekt ima ekstenziju .sofistik:

SSD suelje koristi iste module kao i TEDDY, ali unos podataka u te module je
preteno interaktivan preko prozora unutar samog SSD-a ili pozivanjem SOFiPLUS-
X-a koji je program za grafiki unos elemenata i presjeka modela. SOFiPLUS-X je
zapravo ACAD program sa dodatnim izbornicima kojima se objektima u ACAD-u
dodjeljuju svojstva elemenata modela. U SOFiPLUS-X-u se mogu definirati i

5
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

optereenja. Exportiranjem nacrtanog modela iz SOFiPLUS-X-a dobije se gotova


geometrija modela i optereenja pripremljena za proraun. Datoteke SOFIPLUS-X-a
imaju istu ekstenziju kao i ACAD datoteke .dwg:

Postprocesorski program je Report Browser koji otvara datoteke sa ekstenzijom .plb:

U ovom programu moemo pregledavati tekstualne i grafike izlaze pojedinih


modula, bez obzira jesu li oni stvoreni preko TEDDY-a ili SSD-a.

Drugi vaan postprocesorski program je WiNGRAF ije datoteke nose ekstenziju


.gra:

Nakon to smo definirali ispis u WiNGRAF-u, takav ispis spremamo u datoteku .gra
koju nakon ponovnog otvaranja WiNGRAF-a moemo uitati. Rezultati u WiNGRAF-
u se uvijek osvjeavaju iz baze, tako da datoteka .gra sadri samo definicije vrsta
ispisa i grafike elemente ispisa, a rezultati se mijenjaju sa svakom promjenom baze.

Ostale datoteke koje SOFiSTIK stvara tokom rada su .prt, .erg i .lst u kojima se
nalaze logovi prolaza pojedinih modula i eventualna izvjea greaka i upozorenja
tijekom izrauna. Korisne su eventualno za debugging i otklanjanje greaka.

U narednim poglavljima biti e detaljnije objanjeno suelje i mogunosti svakog od


ovih programa.

2.2 Teddy CADINP Text Editor

Teddy CADINP programski jezik podrazumijeva unos ''koda'' koji se sastoji od


naredbenih redaka teksta. Naredbeni redci sadravaju razne zadae kojima se
definiraju pojedini dijelovi modela, njegovog izrauna i kreiranja ispisa. Kao i kod bilo
kojeg drugog programskog jezika, naredbene retke je mogue grupirati u blokove,
koristiti unutar petlji i logikih sudova, i ono to je najvanije mogue ih je pisati
upotrebom varijabli.
Prednost ovakvog naina zadavanja modela je u moguem automatiziranju pojedinih
opetovanih operacija (primjerice kod kreiranja stotina razliitih presjeka istog tipa) ili u
kreiranju tipskih modela nekih konstrukcija koje se samo promjenom nekoliko varijabli
mogu prilagoditi u novi projekt (npr. promjena raspona i visine nekog nosaa, ploe
sa promjenjivim brojem polja, promijene optereenja zavisno od karakteristinih

6
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

vrijednosti vezanih za lokaciju, itd.). Iako tekstualni unos modela zahtijeva poetno
vei napor kod usvajanja struktura pojedinih naredbi, kod svake kasnije upotrebe
znatno pojednostavljuje kreiranje i promjenu modela. U sluaju projektiranja neke
konstrukcije za koju u poetnoj fazi projekta nisu poznati svi ulazni podaci koji se tiu
dimenzija (pa i geometrije) pojedinih njenih dijelova, rubnih uvjeta (nepoznato
temeljenje ili nedostupan geomehaniki proraun), ili djelovanja, ovakav varijabilni
unos modela omoguava da se kasnije samo sa promjenom nekolicine varijabli
update-a itav model. Ovo nam je korisno i pri razradi koncepta konstrukcije gdje
moemo promjenama pojedinih parametara istraivati kako koji od njih utjee na
ponaanje konstrukcije (promjene krutosti nosaa mijenjanjem njegove visine,
ogranienje progiba namjetanjem varijabli koje utjeu na krutost, promjene veliine
temeljene ploe ili broja pilota za ogranienje reakcije na tlo, itd.). Na ovaj nain
moemo ve u poetnoj fazi projektiranja dobiti optimalnu konstrukciju, ali i model
prilagodljiv na sve kasnije promjene u projektu.

Alatna Alatnatrakazaupravljanjedatotekomitekstomunosa
trakaza Prostorzaupisnaredbenihredaka
provedbu
procesai ModulTree
dodavanje panel
taskova

Alatna
trakaza
pozivanje
programa

Alatna
trakaza
upravljanje
bazom

Statusnatraka

Osnovno korisniko suelje Teddy-a u koje upisujemo naredbene retke moe se


podijeliti na slijedee dijelove:
1. Prostor za upis naredbenih redaka tekst u naredbenim redcima obojan je
zavisno od znaenja pojedenog dijela teksta (koda). Sa svim dijelovima teksta
moe se upravljati koristei copy-paste naredbe za dijelove koda koji se koriste
vie puta.

2. Modul Tree panel s lijeve strane prikazan je Modul Tree panel (moe se i
ugasiti) koji prikazuje strukturu cijele ulazne datoteke sa popisom svih modula. Za
laku navigaciju mogue je klikanjem pojedinog modula doi do njegove pozicije u
prostoru za upis naredbenih redaka.

7
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

3. Statusna traka statusna traka pokazuje tabove sa aktivnih datotekama koje su


otvorene u teddy-u. Mogue je istovremeno raditi sa vie datoteka koje mogu biti
ili dio istog projekta (modela) ili potpuno nezavisne. U ovoj traci moemo vriti
odabir aktivne datoteke.
Donji dio statusne trake prikazuje strukturu zapisa unutar naredbenog retka kojeg
piemo, zajedno sa mjernim jedinicama koje moramo koristiti u predmetima
unutar tog zapisa.

4. Alatna traka za upravljanje datotekom nalaze se preaci za otvaranje i snimanje


datoteka, UNDO opcija za ponitavanje promjena u unosu, FIND opcija za
pretraivanje teksta, opcije za mogunosti razmjetaja prozora unutar suelja.
U donjem dijelu ove trake nalaze se opcije za skakanje na nedavno koritene
datoteke i opcije za upravljanje tekstom skakanje na odreeni redak/stupac,
opcije oznaavanja teksta, ubacivanja kapitela/labela/slika, i vrlo korisna opcija
Columnblock On/Off ( ). ''Toggle'' ove opcije omoguava nam odabir
selektiranja teksta miem (ili shift+kursorom) prema redcima ili prema stupcima,
to moe biti korisno kod selektivnog kopiranja samo odreenih dijelova redaka:

5. Alatna traka za provedbu procesa i dodavanje taskova traka u kojoj odabiremo


provoenje izrauna pojedinog modula ( ), ili preko module tree-a, ili odjednom
za sve module koji su sa ''+'' znakom ve oznaeni. Ovdje je mogue i odjednom
selektirati ili deselektirati sve module za provoenje. Ikona ''SOF'' ( ) daje nam
na izbor pregled tekstualnih datoteka sa logovima koji se kreirane nakon
provoenje pojedinih modula. Ikona ''Tasks'' ( ) omoguava nam da dodajemo
module prema zadacima koji se kreiraju u prozorima (npr. dodavanje modula
potresa pomou prozora u kojem biramo spektar, tlo...).

6. Alatna traka za pozivanje programa za pregled i ispis rezultata (redom: Animator,


WiNGRAF, Rezult Viewer, Report Browser) preko ikona sa pripadajuim

8
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

oznakama pojedinih programa (vidi opise i ikone programa u poglavlju 2.1)


pozivamo otvaranje tih programa. Rije je o programima koji nam slue za
pregled rezultata i organizaciju ispisa.

7. Alatna traka za upravljanje bazom opcijama u ovoj traci moemo stvorenu bazu
eksportirati u drugi *.dat file, u excel, i brisati pojedine dijelove baze (''Database
Clean'' - ) koji se odnose na spremljene rezultate pojedinih modula. Tako
moemo obrisati iz baze samo pojedine presjeke, materijala, ili optereenja. Na
ovaj nain bez ponovnog prorauna istimo bazu od pogleno zadanih elemenata
modela. Opcijom ''Clean'' ( ) moemo obrisati datoteke iz projektnog foldera
koje vie nisu potrebne (privremene datoteke iz pokretanja modula ili log
datoteke) i tako osloboditi prostor na disku.

2.2.1 Naredbeni redci

Kao to je ve spomenuto, unos programskog zadatka (koda) u teddy se sastoji od


naredbenih redaka. Naredbeni redci mogu sadravati:
1. Otvaranje i zatvaranje modula
2. Komentare
3. Definiranje varijabli i blokova
4. Logike strukture (petlje, if-then-else)
5. ZAPISE definicije elemenata modela (presjeci, elementi, optereenja,
dimenzioniranje...)
6. Pozivanje vanjskih datoteka

U pravilu se jedna linija koristi za unos jedne naredbe. Izuzetno moemo jedan
naredbeni redak nastaviti u drugu liniju koritenje dvostrukog dolar znaka ''$$'', to
moe biti korisno kod dugih Zapisa.

-> Predmet CS0 je nastavak Zapisa BEAM

Jednako tako, moemo u istu liniju postaviti vie naredbenih redaka tako da ih
meusobno odvojimo znakom '';''. Primjer gdje u istoj liniji zadajemo vie varijabli:

9
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Valja i zapamtiti da blokovi, petlje i if-else strukture moraju uvijek biti zatvorene,
odnosno njihove definicije otvaranja i zatvaranja nalaze se u razliitim naredbenim
redcima.

U svakom trenutku moemo saznati to koji naredbeni redak ini i njegovu potrebnu
strukturu pozivanjem pdf help dokumenta pritiskom tipke F1. Pdf dokument se tada
pojavljuje sa lijeve strane korisnikog suelja teddy-a (na mjestu modul tree-a), ve
otvoren na stranici koja odgovara naredbi (odnosno poetku naredbe) iz naredbenog
retka.

2.2.2 Modul tree

U panelu ''Modul tree'' sa lijeve strane prikazani su svi moduli koji su prisutni u
modelu. Svaki modul se u prozoru sa naredbenim redcima poziva sa unosom
''+PROG'' i imenom samog modula. Nakon toga slijedi naslov modula ''HEAD'' kojeg
sami proizvoljno dodjeljujemo i s ijim imenom e sa modul tada pojaviti unutar
''Modul Tree-a''. Naredba ''ECHO'' takoer je univerzalna za sve module, a njome se
definira razina outputa u result viewer-u (opcije FULL i EXTR daju najvei ispis).
Svaki modul zavrava naredbom ''END'', nakon ega slijedi pozivanje idueg modula
ili zavretak unosa. Svaki modul zadan na ovakav nain pojavljuje se unutar ''Modul
Tree-a''.

Modul Tree je mogue uiniti dodatno preglednim dodavanjem KAPITELA I LABELA.


Na ovaj nain dodajemo ''kratice'' u Modul Tree koje nam pojanjavaju rad grupe
Modula i omoguavaju skokove na odreene dijelove teksta unosa.

Svrha KAPITEL-a je da ''ugnjeuje'' vie Modula. Definicija KAPITELA uvijek poinje


sa tekstom ''!#!Kapitel'', nakon ega slijedi dodijeljeno ime. Unos je zelene boje:

10
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Svrha LABEL-a je da slui kao ''shortcut'' za navigiranje unutar modula, i korisno ga


je koristiti kada imamo dugake module (primjerice modul SOFIMSHA kod definiranja
geometrije modela), kako bi lake i bre pristupili odreenom dijelu unosa unutar
modula. Definicija LABEL-a uvijek poinje tekstom ''!*!Label'' nakon ega slijedi
dodijeljeno ime LABEL-a. Unos je zelene boje:

Izmeu modula (nakon zavretka END jednog modula, i prije poetka +PROG
drugog modula) mogue je unositi naredbene retke kojima se pozivaju vanjske
datoteke. Vanjske datoteke koje se pozivaju imaju istu strukturu unosa kao i datoteka
iz koje se one pozivaju, i nose istu ekstenziju .dat. Ovakvo pozivanje se vri tekstom
naredbenog retka ''+APPLY imedatoteke.dat''. Datoteka koja se poziva mora se
nalaziti u istom folderu kao i orginalna datoteka koja je poziva. Ako umjesto imena
unosa dodamo tekst '' $(NAME)_csm.dat'', tada e se pozivati datoteka koja ima isto
ime kao i orginalna datoteka, uz dodatak sufiksa ''_csm''. Ovo se uglavnom koristi
kada u modelu imamo module CSM koji kreiraju vanjske datoteke. Te vanjske
datoteke imaju isti naziv kao i orginalna uz dodane sufikse ''_csm'' ili ''_desi'', pa ih
koritenjem gornjeg unosa moemo lako pozvati:

Kao to se moe vidjeti na primjeru, naredba +APPLY se pojavljuje unutar Modul


Tree-a i moe se kao i svi ostali moduli selektirati za provoenje. Provoenjem
Modula APPLY, zapravo se provodi vanjska datoteka, odnosno svi Moduli koji su u
vanjskoj datoteci oznaeni za provoenje.

Modul Tree nam, dakle, daje pregled svih modula koji postoje u modelu i koji se
mogu provoditi. Oni moduli koji su oznaeni sa ''+'' provoditi e se pokretanjem

11
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

prolaza. Selektirajem/deselektiranjem unutar Modul Tree-a to moemo uvijek


promijeniti.

2.2.3 Zapisi (''Input Records'')

Zapisi su glavni element tekstualnog unosa i jedini naredbeni unosi bez kojih se
model nikako ne moe definirati. Njima se zadaju dijelovi modela norme, marerijali,
presjeci, vorovi, tapovi, opruge, rubni uvjeti, optereenja... Zapisi su jedinstveni za
svaki modul, odnosno svaki modul koristi druge zapise. Pritiskom tipke F1 kada se
pokaziva nalazi na imenu modula otvara se pdf help dokument svakog modula. U
poetnim poglavljima tih dokumenta postoje tablice Zapisa koje taj modul poznaje
(tablica ''Input Records''):

Iz tablice je vidljivo da svaki zapis ima svoje IME (stupac ''Record'') i niz PREDMETA
(stupac ''Items''). Strukturu svakog Zapisa zasebno moemo saznati upisom imena
tog zapisa u odgovarajuem Modulu i pritiskom tipke F1. Tada se pojavljuje stranica
help dokumenta koja pokazuje tablicu sa objanjenim svim Predmetima Zapisa. Ovo
je primjer svih predmeta za Zapis NODE koje slui za definiciju vorova:

12
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Broj Predmeta Zapisa se razlikuje ovisno do samog Zapisa, a uglavnom ima 20-ak.
No, nije nuno uvijek zadavati sve Predmete, Pojedini Predmeti Zapisa su obavezni
(obino poetni), a ostali opcionalni i zadavati e se samo ukoliko nam je to potrebno.
Uvijek valja biti svjestan i koje su Default-ne vrijedosti pojedinih zapisa, jer e se u
nedostatku zadavanja one uzeti kao zadane. Takoer, treba paziti i na mjerne
jedinice koje koristi pojedini Predmet Zapisa (''Unit'' stupac) pa vrijednosti koje
upisujemo za pojedini Predmet moraju uvijek biti pretvorene u njegove traene
mjerne jedinice.

Osim same tablice Predmeta Zapisa, pdf help dokument ispod te tablice daje tekst sa
pojanjenjima ovih Predmeta i primjerima njihove upotrebe. Takoer, daje savjete
kako ih najbolje iskoristiti, ali i upozorenja o nepravilnoj upotrebi. Popis Predmeta
Zapisa sa turim objanjenjima iz tablice rijetko kada je dovoljan za pravilno
koritenje Zapisa, a esto moe biti i opasno! Preporua se za svaki Zapis koji
se koristi u modelu proitati itavo poglavlje u pdf help dokumentu ili barem
one dijelove koji se tiu konkretnih Predmeta koje zadajemo!

13
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Zapis se moe napisati (postaviti) na vie razliitih naina, a generalno ih moemo


navesti kao:

1. Zapis u jednoj liniji

Kod Zapisa u jednoj liniji upisuju se u slijedu imena Predmeta i vrijednosti


Predmeta. Tako dobivamo niz Predmeta sa njihovom vrijednostima. Ukoliko slijed
Predmeta u nizu prati onaj kronoloki slijed iz tablice u kojoj su navedeni svi
Predmeti Zapisa (vidi gore) tada imena Predmeta moemo i izostaviti iz Zapisa:

Meutim, kod takvog unosa treba paziti da se pri prvom prekidu slijeda Predmeta
iz tablice mora definirati ime Predmeta koji prekida taj slijed. U gornjem sluaju
elimo preskoiti unos Predmeta NR1, NR2 i NR3, ali elimo unijeti Predmet NR4,
pa nakon preskoenih predmeta definiramo onaj Predmet gdje ponovno
poinjemo unositi vrijednosti.

2. Zapis u vie linija (''tablini'' Zapis)


Kod Zapisa u vie linija dovoljno je u prvoj liniji definirati Zapis i Predmete koji e
se u unosu koristiti, a onda u svim linijama ispod unositi vrijednosti za te
Predmete. Znai, sve linije ispod ovako zadanog Zapisa e se tretirati kao dio tog
istog Zapisa, sve do linije u kojoj ne zadajemo neki novi Zapis:

Vrijednosti predmeta Zapisa su u svim linijama odvojeni razmakom. U onim


linijama Zapisa gdje ne postoje odreeni Predmeti, ti Predmeti se preskau
znakom ''''. Npr. U gornjem Zapisu vorovi 2 i 3 nemaju zadanu vrijednost
Predmeta FIX.
Unos u vie linija moe se i pojednostaviti (reducirati) ako svi predmeti iste vrste
imaju jednaku vrijednost:

U tom sluaju u prvoj liniji Zapisa izvuemo na kraj Predmete koji imaju
zajednike vrijednosti za sve linije ispod i pridruimo te vrijednosti tim Predmetima
koristei znak ''=''.

14
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

3. Zapis sa generatorom
Ako elimo stvoriti vie istih zapisa kod kojih vrijedi neka pravilnost, odnosno da
svaki slijedei Zapis u odnosu na prethodni ima pomaknute vrijednosti Predmeta
sa nekim fiksnim korakom, tada moemo koristiti generator. U sluaju vorova
moemo pretpostaviti primjer da elimo generirati niz vorova koji su jedan od
drugoga udaljeni za 2 m, i da prvi od njih ima koordinatu X=0:

Prvi predmet Zapisa kod generatora je uvijek vodei kod kojeg moramo unutar
zagrada upisati prvi lan niza (1), zadnji lan niza (10) i korak s kojim e se
generirati Predmeti (u ovom sluaju brojevi vorova) izmeu prvog i zadnjeg lana
niza (1). Znai gornji unos prvog Predmeta ''(1 10 1)'' znai da e se generirati
vorovi od broja 1 do broja 10 sa korakom 1 (dakle vorovi 1, 2, 3, 4, 5, 6, 7, 8, 9,
10). Za Predmet X definirana je vrijednost generacije ''(0 2)'' to znai da e prvi
vor generacije imati vrijednost 0, a svaki slijedei za 2 veu vrijednost. To tada
odgovara generaciji koju smo eljeli gdje su svi vorovi meusobno udaljeni za 2
m.
U drugom primjeru generacije pokazati e se kreiranje niza BEAM (tapnih)
elemenata izmeu gore kreiranih vorova:

1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10

Predmeti BEAM zapisa koje ovdje koristimo su NO (broj tapa), NA (poetni vor
tapa), NE (krajnji vor tapa) i NCS (popreni presjek tapa u ovom sluaju
jednak za sve i iznosi 1). Vidimo da je prvim Predmetom broja tapa zadana
generacija elemenata od broja 1 do broja 9. Prvi tap e imati poetni i krajnji vor
1 i 2, a svaki slijedei e imati za 1 uveane vrijednosti poetnog i krajnjeg vora.
Generacije se mogu kombinirati sa upisima u jednoj liniji ili upisima u vie linija.
Tako se gornji zapis u jednoj liniji moe napisati ovako:

Ili ako postoji vie razliitih generacija za isti Zapis, one se mogu pisati u vie linija
ovako:

15
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Gornji Zapis zapravo dosadanju generaciju tapova razbija u dvije generacije,


prva generira tapove od 1 do 5, a druga od 6 do 9.

Vrijednosti Predmeta zapisa mogu biti:


1. brojane eksplicitne vrijednosti (kao to je do sada prikazano za koordinate i
brojeve vorova)
2. znakovi (slova) npr. za rubni uvjet vora smo koristili slovo ''F'' to znai ''fix''.
3. varijable definiramo ih izvan zapisa i pozivamo se na njih unutar zapisa.
4. raunske operacije ili funkcije (sa ili bez varijabli) kada elimo neku
vrijednost za predmet dodijeliti kao rezultat neke matematike formule ili
funkcijskog izraza (npr. sudjelujua irina = *b0). Dostupne su raunske
operacije +, , *, /, ^ (eksponent), i funkcije SIN(X), COS(X), TAN(X), ARC(X),
ABS(X), LOG(X), DIV(X,Y), itd. (pogledati u help file za sve dostupne funkcije).
Pri koritenju raunskih operacija unutar Predmeta Zapisa potrebno je koristiti
zagrade kako bi se zadovoljio potreban slijed raunanja.

2.2.4 Komentari

U bilo kojem neredbenom retku moemo ubacivati komentare u kod. Komentar se


definira znakom ''$'', i sve to se nalazi iza tog znaka program vie ne uzima kao dio
koda. Komentar se uvijek moe prepoznati jer ga program oznaava zelenom bojom.
Komentari nam pomau u lakem razumijevanju pojedinih dijelova unosa, odnosno
kao podsjetnik to koji dio unosa radi. Ovo je primjer upotrebe komentara za
oznaavanje znaenja pojedinih varijabli unosa:

Komentari su nezamjenjivi dio unosa. Ako na istom modelu sudjeluje u radu vie ljudi
ili ako se isti model promatra sa vremenskih odmakom, cijeli unos postaje teko
razumljiv bez komentara.

Vano je napomenuti da se komentar nikada ne smije poeti sa dvostrukim dolar


znakom (''$$'') jer to onda vie nije komentar nego oznaka za nastavak unosa u idui
naredbeni redak. Takoer, ''$'' znak unutar naredbi pozivanja APPLY i Blokova nema
znaenje komentara.

16
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

2.2.5 Varijable

Umjesto eksplicitnog zadavanja vrijednosti mogue je i njihovo varijabilno zadavanje.


Koritenjem varijable unutar zapisa, zadatak koji se obavlja unutar Zapisa ovisi o
vrijednosti varijable. Na taj nain mogue je redefiniranjem varijable koristiti isti Zapis
vie puta sa drugim uinkom.

Varijable se zadaju naredbom ''LET#'' ili ''STO#'', nakon ega slijedi ime varijable i
njena vrijednost, npr.:

Razlika definicije varijable sa naredbom LET# ili #STO je ta to je varijabla zadana sa


naredbom LET# programu poznata samo unutar Modula u kojem je zadana, dok e
varijabla zadana sa naredbom STO# biti prepoznata u svim modulima unutar Modul
Tree-a. Varijable definirane sa #STO obino se definiraju na poetku u prvom Modulu
i budu konstantne za cijeli prolaz, dok se LET# varijable mijenjaju (redefiniraju) vie
puta kroz Module. Pozivanje varijable u Zapisu:

Program sada kod definicije vora unutar Zapisa ''NODE'' koordinati vora ''X''
dodjeljuje vrijednost 40 metara. U svakom trenutku se varijabli ''NX'' moe dodijeliti
nova vrijednost ponavljanjem naredbenog retka ''LET#NX''.

Jo jedan koristan nain upotrebe varijabli jest zadavanje varijable niza:

Pozivanje jedne od ovih varijabli ostvaruje se oznakama: #(101), #(102), #(103),


Tako onda moemo ove elemente niza koristiti da njihove vrijednosti dodjeljujemo
drugoj varijabli na nain:

17
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Umjesto oznake broja elementa niza moemo koristiti i drugu varijablu pa se gornji
unos tako moe jo napisati i na slijedei nain:

Ovakav nain koritenja varijabli iznimno je koristan u kombinaciji sa petljama (vidi


poglavlje 2.2.7) jer varijabla broja niza moe biti brojanik u petlji pa se tako pri
svakom krugu petlje on uveava za 1 i element niza koji se dodjeljuje varijabli #TD se
pomakne na slijedeu vrijednost. Ako je brojanik u petlji oznaka broja poprenog
presjeka, na ovaj nain se moe definirati niz promjena debljina limova (ili neka druga
vrijednost) du nosaa i generirati niz poprenih presjeka kojima e se dodjeljivati
ove debljine.

2.2.6 Blokovi

Blokovi slue da se jedan dio unosa (grupa naredbenih redaka) pohrani i kasnije
moe pozvati naredbom u samo jedno retku. Blok se definira na slijedei nain:

Pozivanje bloka vri se u jednoj liniji:

Blokovi su jako vani kod generacija presjeka. Tada u jednom bloku upiemo niz
Zapisa kojima definiramo itav presjek. Svi Zapisi u tom bloku koriste varijable,
obino te varijable definiraju karakteristike presjeka kao to je npr. debljina lima
pojasa i hrpta, sudjelujua irina, ili kod neto sloenijih presjeka broj i poloaj ukruta
(to vie varijabli koristimo kod definicije presjeka, unos presjeka e biti sloeniji, ali
e kasnija kontrola nad promjenom presjeka biti mnogo jednostavnija).
Redefiniranjem varijabli i ponovnim pozivanjem bloka stvara se novi presjek. Ovakav
nain zadavanja presjeka vrlo je koristan i vaan kada se modelira elini ili spregnuti
most srednje ili velike duljine kada raspored materijala podrazumijeva stotine
razliitih presjeka. Primjer definicije I presjeka koji sadri varijable irina i debljina
limova pojaseva i hrptova:

18
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

#BG

#TG

#TH
#VIS

#TD

#BD

Ponovnim definiranjem istih varijabli i pozivanjem bloka definirati e se novi presjek.


Vano je meu varijablama imati u onu koja definira broj presjeka jer e u protivnom
program samo ''overwrite''-ati postojei presjek (u ovom sluaju je to varijabla
''#NCS'':

Ne moraju se nuno uvijek mijenjati sve varijable, ponekad veina varijabli bude
zajednika za grupu presjeka pa onda vrimo redefiniciju samo onih varijabli koje su
drugaije. Ostale varijable koje se ne mijenjaju e tada program uzeti iz prethodnog
unosa. Npr. kada elimo promijeniti samo debljinu donjeg pojasa:

Umjesto definiranja cijelog niza redaka za blok, mogue je kao blok definirati i samo
dio jednog naredbenog retka. Ovo koristimo kada imamo dugake Zapise sa mnogo

19
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Predmeta pa tada u bloku definiramo strukturu unosa Zapisa sa Predmetima.


Uzmimo kao primjer Zapis koji definira limove u poprenom presjeku:

Prvu liniju Zapisa sa potrebnim Predmetima moemo definirati kao blok na nain:

Ime bloka u ovoj definiciji je ''plateff''. Pozivamo ga na slijedei nain:

to e znaiti da se gornji Zapis sada moe unijeti na slijedei nain:

Ukoliko ovom Zapisu alimo dodati neke Predmete koji ne postoje u definiciji bloka,
moemo to uiniti u nastavku linije gdje pozivamo blok Zapisa:

Gornji unos sada za razliku od prethodnog definira lim kao neefektivni!

2.2.7 Petlje

Pojedini dijelovi naredbenih redaka mogu se staviti unutar petlje. Na kraju petlje
moemo staviti broje(e) u obliku varijabli pa se svaki novi prolaz petlje provodi sa
drugom vrijednosti brojaa.

Pogledajmo primjer generacije vorova 1-10 zadan preko petlje:

20
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Primjer generacije 4 razliita pravokutna presjeka gdje je irina svakog presjeka 100
mm vea od prethodnog:

Na gornjim primjerima se unutar petlje nalazi samo po jedan Zapis, ali mogue ih je
postaviti koliko god je potrebno.

2.2.8 Logiki uvjeti (IF-ELSE)

Ponekad je potrebno neki dio naredbenih redaka provoditi samo ukoliko je ispunjen
odreeni uvjet. Za to nam slui ''IF'' logiki sklop:

Ako imamo grananje na provoenje naredbenih redaka kada je uvjet ispunjen i kada
nije ispunjen, koristi se ''IF-ELSE'' logiki sklop:

Ili u sluaju da postoji vie uvjeta (grananja):

21
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Vano je uoiti da se svaka zapoeta ''IF'' logika struktura mora zatvoriti naredbom
''ENDIF''. Uvjeti koji se mogu provjeravati zapisuju se koristei slijedee znakove:

Na slijedeem primjeru pokazati e se definiranje razliitih presjeka s obzirom na


postojanje i vrijednost sudjelujue irine. ''IF'' provjera uvjeta razdvaja provoenje
naredbenih redaka za sluaj da je itav presjek aktivan, i za sluaj da postoji
redukcija presjeka s obzirom na vrijednost sudjelujue irine. Uvjet za postojanje
sudjelujue irine je varijabla #BET ( faktor koji oznaava vrijednost redukcije irine
presjeka: =1 nema redukcije odnosno itav presjek je aktivan, <1 postoji
redukcija):

S obzirom na provoenje prvog ili drugog dijela ''IF'' strukture kreirati e se slijedee
varijante presjeka:

U drugoj varijanti presjeka limovi 6 i 7 su neaktivni (''PANE 6 TYPE NEFF'' i ''PANE 7


TYPE NEFF'').

22
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

2.3 Animator vizualizacija modela i animacija ponaanja

Animator se poziva nakon to je kreiran model (ili barem jedan njegov dio), dakle
nakon to je stvorena datoteka baze (*.cdb). Mogue ga je pozvati iz suelja Teddy-a
ili SSD-a odabirom ikone , ili direktnim otvaranjem datoteke *.cdb.

Vizualizacija modela u ANIMATORU obuhvaa strukturu u neoptereenom stanju i


prikaz progibanja strukture pri svakom od optereenja koja su izraunata. Moe se
vidjeti i prikaz faza graenja konstrukcije ako je koriten modul CSM, i vlastite
frekvencije ako je koriten modul ASE za dinamiku. Korisno je uvijek nakon
definiranja geometrije i izrauna optereenja provjeriti izgled modela pomou
Animatora i ponaanje prilikom nanoenja pojedinih optereenja. Vizualni pregled
ponaanja e nam moi ukazati na eventualne greke koje se mogu pojavljivati zbog
nepostojeih ili neadekvatnih veza izmeu elemenata, postojanje mehanizama zbog
neadekvatnih rubnih uvjeta ili neke druge greke.

Animator nam omoguuje i prikazivanje faza gradnje ukoliko je u modelu koriten


modul CSM, na nain da se za svaku faze gradnje u vizualizaciji prikazuju samo oni
elementi koji su u toj fazi aktivirani. Ovo podrazumijeva i dijelove presjeka koji se
aktiviraju po fazama pa pomou Animatora moemo vidjeti i kreiranje presjeka tokom
faza gradnje (korisno kod spregnutih presjeka).

ALATNATRAKA
TABOVI:Loadcase,Elementinfo,OpcijeVizualizacije,Image Export

Odabirloadcaseova zavizualizacijudeformacije
iaktivnihelemenatazatajloadcase

23
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a

Suelje Animatora podrazumijeva slijedee elemente:

7. Alatnu traku

Na alatnoj traci se nalaze alati za upravljanje prikazom vizualizacije i kratice za


odabir elemenata i optereenja.

Pozivanje Zoom
PozivanjeLoadcase taba, tabasaopcijama (uveavanje/smanjivanje
selekcijaoptereenja,zaustavljanjeanimacije vizualizacije prikaza)

Open,Print Selekcija Operacijes Odabirravninepogleda Opcijevizualizacije(sailibezleajeva,


elemeta grupama: navizualizacijuili mreakonanihelemenata,nainvizualizacije
(element deselektiranje i aksonometrije presjeka,prikazglobalnog/lokalnog
info tab) odabir koordinatnogsustava,prikazboja,itd.

8. Control Panel s lijeve strane koji sadri tabove

Loadcase tab izbor optereenja za prikaz deformacije i aktivnih grupa.


Mogue je i kontrola amplitude i brzine deformacije, ili zadavanje prikaza
deformacija za vie loadcaseova u slijedu (Loadcase loop).
Element info tab odabirom nekog elementa u vizualizaciji pomou
pripadajue ikone iz gornje alatne trake ( ), element info tab pokazuje
svojstva tog elementa njegov broj, broj njegovog presjeka, materijal,
granine vorove, dimenzije, ali i rezne sile za loadcase koji je odabran na
prethodnom tabu.
Opcije Vizualizacije u ovom tabu se nalaze opcije prikaza vizualizacije kao
to su veliina oslonaca (opruge, rubni uvjeti vorova),
ukljuivanje/iskljuivanje mree konanih elemenata, mogunosti vizualizacije
poprenih presjeka (bez presjeka samo linijski ili sa presjecima kao tijelo),
prikaz numeracija vorova na vizualizacije, opcije prikaza boja, itd.
Image Export tab doputa nam export odabrane slike vizualizacije sa
kontrolama mjesta spremanja, formata spremanja i rezolucije spremanja
(preporua se rezolucija 4x4).

24

You might also like