= SALOME = [[PageOutline]] == Namestitev Za namestitev SALOME-a shranite Windows paket SALOME-8.3.0-WIN64.exe ki se nahaja na spodnji povezavi: http://www.salome-platform.org/downloads/current-version Odpakirajte Windows paket SALOME-8.3.0-WIN64.exe kot administrator (desni klik --> Run as Administrator) v C:\Program Files. Program SALOME se zažene s skriptom run_salome.bat ki se nahaja v C:\Program Files\SALOME-8.3.0-WIN64\WORK. == Struktura programa v programskem jeziku Python Uporabljali bomo [htdocs:doc8.3.0/index.html navodila za Salome 8.3]. Za programiranje v geometrijskem modulu si poglejte [htdocs:doc8.3.0/gui/GEOM/python_interface.html Geometry module Python Interface]. V glavi programa je potrebno inicializirati knjiznico salome, ki nam omogoči preprosto manipulacijo predstavljenega objekta (glava dokumenta): {{{ #!python import salome salome.salome_init() }}} Nato je potrebno uvoziti python-ov modul **GEOM**, ki vsebuje funkcije, s katerimi izdelujemo geometrijske modele. {{{ #!python import GEOM from salome.geom import geomBuilder geompy = geomBuilder.New(salome.myStudy) }}} === Osnovni program - Izdelava skatle Funkcija [http://docs.salome-platform.org/5/geom/user/geompy_doc/group__l3__3d__primitives.html#ga0ec4f2fdbec2bfbbda8d2acfe5d73164 geompy.MakeBox()] sprejme koordinate dveh tock, ki lezita na diagonali. {{{ #!python import salome import GEOM from salome.geom import geomBuilder geompy = geomBuilder.New(salome.myStudy) box = geompy.MakeBox(10.0,10.0,10.0, 20, 20, 20) # Dodamo novo spremenljivko v studijo geompy.addToStudy(box, 'Skatla') salome.sg.updateObjBrowser(True) }}} === Osnovni program - Primer izdelave izvleka v prostor (Extrusion) Postopek modeliranja v komercialnih modelirnikih (SolidWorks, Creo, Catia, NX, ProEngineer, Inventor,...) je sledeči: * izbira ravnine, na katero se nariše skica * izris oblike skice (kvadrat) * definiranje skice (dimenzije, geometrijske relacije, pozicija v prostoru) * izbira ustrezne značilke za izdelavo 3D objekta (Izvlek- Extrude) * določitev parametrov izvleka (smer, dolžina izvleka) * model je zmodeliran V okolju Salome poteka izris objekta nekoliko drugače. Razložen je preprosti postopek izdelave kocke, ki poteka v večih korakih. Pri izdelavi je potrebno manualno določiti vse parametre, ki jih komercialni modelirnik običajno določi namesto nas. '''Korak 1''': Uvoz knjiznic Z uvozom knjiznic je omogocena uporaba vseh funkcij, ki jih potrebujemo za izdelavo kocke. {{{ #!python import salome salome.salome_init() import GEOM from salome.geom import geomBuilder geompy = geomBuilder.New(salome.myStudy) gg = salome.ImportComponentGUI("GEOM") }}} '''Korak 2''': Izdelava tock V prostoru je potrebno definirati tocke. Definiramo jih s funkcijo [http://docs.salome-platform.org/5/geom/user/geompy_doc/group__l3__basic__go.html#gaff61924656b186b1bbed2d8acbaeaea2 geompy.MakeVertex()]. [[Image(pointsSalomePrismExample.png, 300, right)]] {{{ #!python p1 = geompy.MakeVertex( 0., 0., 0.) p2 = geompy.MakeVertex( 100., 0., 0.) p3 = geompy.MakeVertex( 100., 100., 0.) p4 = geompy.MakeVertex( 0., 100., 0.) }}} Za prikaz objektov v modulu Geometry v okolju Salome uporabimo naslednje ukaze {{{ #!python # Dodamo nove tocke v studijo geompy.addToStudy(p1,"point1") geompy.addToStudy(p2,"point2") geompy.addToStudy(p3,"point3") geompy.addToStudy(p4,"point4") salome.sg.updateObjBrowser(True) }}} '''Korak 3''': Izdelava krivulje, ki povezuje vse tocke Z ukazom [http://docs.salome-platform.org/5/geom/user/geompy_doc/group__l4__curves.html#ga599e70c2624244a5b6ef742568d1b925 geompy.MakePolyline()] izdelamo krivuljo, ki je sestavljena iz stirih daljic. [[Image(polylineSalomePrismExample.png, 300, right)]] {{{ #!python polyline = geompy.MakePolyline([p1, p2, p3, p4, p1]) # Dodamo novo krivuljo v studijo geompy.addToStudy(polyline,"polyline") # Posodobimo drevesno strukturo salome.sg.updateObjBrowser(True) }}} [[BR]][[BR]][[BR]][[BR]] '''Korak 4''': Izdelava povrsine. Sedaj je potrebno izdelati povrsino, ki bo omejena s prej izdelano krivuljo. To storimo z ukazom [http://docs.salome-platform.org/5/geom/user/geompy_doc/group__l3__advanced.html#ga808d5981a10de3c662ab9781c959b738 geompy.MakeFace()]. Ta funkcija sprejme zaprto krivuljo (**polyline**). Nato je spremenljivko potrebno dodati v studijo modula '''GEOM''' z ukazom [http://docs.salome-platform.org/7/gui/GEOM/geompy_doc/group__l1__publish__data.html#gab203ccf5cab3daaf83bdf5d640e0c9f6 addToStudy()]. [[Image(faceSalomePrismExample.png, 300, right)]] {{{ #!python face = geompy.MakeFace(polyline, True) # Dodamo novo povrsino v studijo geompy.addToStudy(face, "face") # Posodobimo drevesno strukturo salome.sg.updateObjBrowser(True) }}} Drevesno strukturo posodobimo, ce zelimo prikazati nove geometrijske elemente v modelnem oknu. [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]] '''Korak 5''': Izvlek povrsine Izvlek povrsine izvedemo z ukazom [http://docs.salome-platform.org/5/geom/user/geompy_doc/group__l3__complex.html#ga9cec1d70a613916e8bb47e7b45edc3c4 geompy.MakePrism()]. Omenjeni ukaz sprejme tri argumente(povrsina, tocka1, tocka2), pri cemer sta tocka1 in tocka2 tocki, ki definirata vektor. [[Image(prismSalomePrismExample.png, 300, right)]] {{{ #!python p5 = geompy.MakeVertex(0.,0.,100.) prism1 = geompy.MakePrism(face, p1, p5) # Dodamo nov izvlek v studijo geompy.addToStudy(prism1, "prism1") # Posodobimo drevesno strukturo salome.sg.updateObjBrowser(True) }}} Celoten postopek izdelave izvleka je v priponki (''salomePrismExample.py'').