Version 3 (modified by 7 years ago) (diff) | ,
---|
SALOME
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 Python OCC
Uporabljali bomo navodila za Salome 8.3. Za programiranje v geometrijskem modulu si poglejte Geometry module Python Interface.
V glavi programa je potrebno inicializirati knjiznico salome, ki nam omogoči preprosto manipulacijo predstavljenega objekta (glava dokumenta):
import salome salome.salome_init()
Nato je potrebno uvoziti python-ov modul GEOM, ki vsebuje funkcije, s katerimi izdelujemo geometrijske modele.
import GEOM from salome.geom import geomBuilder geompy = geomBuilder.New(salome.myStudy)
Osnovni program - Izdelava skatle
Funkcija geompy.MakeBox() sprejme koordinate dveh tock, ki lezita na diagonali.
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.
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 geompy.MakeVertex().
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
# 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 geompy.MakePolyline() izdelamo krivuljo, ki je sestavljena iz stirih daljic.
polyline = geompy.MakePolyline([p1, p2, p3, p4, p1]) # Dodamo novo krivuljo v studijo geompy.addToStudy(polyline,"polyline") # Posodobimo drevesno strukturo salome.sg.updateObjBrowser(True)
Korak 4: Izdelava povrsine.
Sedaj je potrebno izdelati povrsino, ki bo omejena s prej izdelano krivuljo. To storimo z ukazom geompy.MakeFace(). Ta funkcija sprejme zaprto krivuljo (polyline). Nato je spremenljivko potrebno dodati v studijo modula GEOM z ukazom addToStudy().
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.
Korak 5: Izvlek povrsine
Izvlek povrsine izvedemo z ukazom geompy.MakePrism(). Omenjeni ukaz sprejme tri argumente(povrsina, tocka1, tocka2), pri cemer sta tocka1 in tocka2 tocki, ki definirata vektor.
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)
Attachments (27)
-
data.txt (36.6 KB) - added by 7 years ago.
Tekstovna datoteka, ki vsebuje točke za izdelavo krivulje za panel
-
dataPolyline.txt (125 bytes) - added by 7 years ago.
Tekstovna datoteka, ki vsebuje točke za izdelavo krivulje za izvlek za panel
-
salomePrismExample.py (767 bytes) - added by 7 years ago.
Program za primer izdelave izvleka v prostor.
-
b_splineSalomePanelExample.png (7.3 KB) - added by 7 years ago.
Slika, ki prikazuje krivulji za primer izdelave panela.
-
prismSalomePrismExample.png (5.6 KB) - added by 7 years ago.
Slika, ki prikazuje izvlek kvadrata v prostor (kocka).
-
faceSalomePrismExample.png (5.0 KB) - added by 7 years ago.
Slika, ki prikazuje površino kvadrata.
-
polylineSalomePrismExample.png (5.5 KB) - added by 7 years ago.
Slika, ki prikazuje kvadrat za izvlek.
-
pointsSalomePrismExample.png (7.2 KB) - added by 7 years ago.
Slika, ki prikazuje točke, ki definirajo kvadrat.
-
modelSalomePanelExample.png (15.3 KB) - added by 7 years ago.
Slika, ki prikazuje model panela.
-
polylineSalomePanelExample.png (10.4 KB) - added by 7 years ago.
Prikaz krivulje za izvlek pri izdelavi panela.
-
salomePanelExample.py (3.0 KB) - added by 7 years ago.
Primer za izdelavo panela. Brez numpy knjiznice.
-
salomePanelDialogExample.png (4.5 KB) - added by 7 years ago.
Dialog za izdelavo panela.
-
salomePanelsRotatedExample.png (42.7 KB) - added by 7 years ago.
Prikaz rotiranih panelov.
-
salomeDialogPanelExample.py (5.6 KB) - added by 7 years ago.
Koda za izdelavo dialoga, ki izdela zasuke panela.
-
divertor_dlg.ui (3.7 KB) - added by 7 years ago.
Dialog za Qt designer
-
divertor.qrc (104 bytes) - added by 7 years ago.
Qt Resouce description v obliki XML
-
divertor.png (141.8 KB) - added by 7 years ago.
Slika divertorja
-
salomeDialogImageExample.png (19.8 KB) - added by 7 years ago.
Prikaz GUI-ja z izdelavo QtDesignerja?.
-
salomeDialogImageExample.py (197.5 KB) - added by 7 years ago.
Koda za izdelavo GUI-ja s sliko.
-
salomeDivertorGuiExample.png (47.8 KB) - added by 7 years ago.
Primer Gui-ja za divertor.
-
divertor.py (3.5 MB) - added by 7 years ago.
Koda izdelave GUI-ja za divertor.
-
salomeDivertorGuiExampleImage.png (103.0 KB) - added by 7 years ago.
Primer Gui-ja za divertor s sliko.
-
svessel.py (380.0 KB) - added by 7 years ago.
Program za magnete
-
ms.qrc (96 bytes) - added by 7 years ago.
Magnet System Resource file
-
vv.ui (5.9 KB) - added by 7 years ago.
Primer dialoga
-
ms.png (89.3 KB) - added by 7 years ago.
Slika magnetov
-
signal_primer.py (757 bytes) - added by 7 years ago.
Primer povezovanja signalov v PyQt5