Professional Documents
Culture Documents
Mostovi III
Separat 00
Izradili:
Sadraj
2.2.4 Komentari.............................................................................................. 16
1
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a
2
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a
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.
4
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a
2 Korisniko suelje
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
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.
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
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
8
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a
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.
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.
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.
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''.
10
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a
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:
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
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
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.
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
2.2.4 Komentari
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.
16
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a
2.2.5 Varijable
Varijable se zadaju naredbom ''LET#'' ili ''STO#'', nakon ega slijedi ime varijable i
njena vrijednost, npr.:
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''.
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:
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:
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
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
Prvu liniju Zapisa sa potrebnim Predmetima moemo definirati kao blok na nain:
Ukoliko ovom Zapisu alimo dodati neke Predmete koji ne postoje u definiciji bloka,
moemo to uiniti u nastavku linije gdje pozivamo blok Zapisa:
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.
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.
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:
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:
S obzirom na provoenje prvog ili drugog dijela ''IF'' strukture kreirati e se slijedee
varijante presjeka:
22
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a
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.
ALATNATRAKA
TABOVI:Loadcase,Elementinfo,OpcijeVizualizacije,Image Export
Odabirloadcaseova zavizualizacijudeformacije
iaktivnihelemenatazatajloadcase
23
MOSTOVI III
Osnove strukture i programskog jezika SOFiSTiK-a
7. Alatnu traku
Pozivanje Zoom
PozivanjeLoadcase taba, tabasaopcijama (uveavanje/smanjivanje
selekcijaoptereenja,zaustavljanjeanimacije vizualizacije prikaza)
24