Changes between Version 1 and Version 2 of salome


Ignore:
Timestamp:
Nov 9, 2017, 4:32:40 PM (6 years ago)
Author:
brankm
Comment:

Napisan primer za izvlek površine

Legend:

Unmodified
Added
Removed
Modified
  • salome

    v1 v2  
    1111Program SALOME se zažene s skriptom run_salome.bat ki se nahaja v C:\Program Files\SALOME-8.3.0-WIN64\WORK.
    1212
    13 == Primer primitiva
     13== Struktura programa v Python OCC
    1414
    1515Uporabljali bomo [htdocs:doc8.3.0/index.html navodila za Salome 8.3].
    1616Za programiranje v geometrijskem modulu si poglejte [htdocs:doc8.3.0/gui/GEOM/python_interface.html Geometry module Python Interface].
    1717
     18V glavi programa je potrebno inicializirati  knjiznico salome, ki nam omogoči preprosto manipulacijo predstavljenega objekta (glava dokumenta):
    1819{{{
    1920#!python
    20 >>> import salome
    21 >>> import GEOM
    22 >>> from salome.geom import geomBuilder
    23 >>> geompy = geomBuilder.New(salome.myStudy)
    24 >>> box =  geompy.MakeBox(10.0,10.0,10.0, 20, 20, 20)
    25 >>> geompy.addToStudy(box, 'Skatla')
    26 >>> salome.sg.updateObjBrowser(True)
     21import salome
     22salome.salome_init()
    2723}}}
     24
     25Nato je potrebno uvoziti python-ov modul **GEOM**, ki vsebuje funkcije, s katerimi izdelujemo geometrijske modele.
     26
     27{{{
     28#!python
     29import GEOM
     30from salome.geom import geomBuilder
     31geompy = geomBuilder.New(salome.myStudy)
     32}}}
     33
     34=== Osnovni program - Izdelava skatle
     35
     36Funkcija [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.
     37
     38
     39
     40{{{
     41#!python
     42import salome
     43import GEOM
     44from salome.geom import geomBuilder
     45geompy = geomBuilder.New(salome.myStudy)
     46box =  geompy.MakeBox(10.0,10.0,10.0, 20, 20, 20)
     47geompy.addToStudy(box, 'Skatla')
     48salome.sg.updateObjBrowser(True)
     49}}}
     50
     51=== Osnovni program - Primer izdelave izvleka v prostor (Extrusion)
     52Postopek modeliranja v komercialnih modelirnikih (SolidWorks, Creo, Catia, NX, ProEngineer, Inventor,...) je sledeči:
     53
     54    * izbira ravnine, na katero se nariše skica
     55
     56    * izris oblike skice (kvadrat)
     57
     58    * definiranje skice (dimenzije, geometrijske relacije, pozicija v prostoru)
     59
     60    * izbira ustrezne značilke za izdelavo 3D objekta (Izvlek- Extrude)
     61
     62    * določitev parametrov izvleka (smer, dolžina izvleka)
     63
     64    * model je zmodeliran
     65
     66V 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.
     67
     68'''Korak 1''': Uvoz knjiznic
     69
     70Z uvozom knjiznic je omogocena uporaba vseh funkcij, ki jih potrebujemo za izdelavo kocke.
     71
     72{{{
     73#!python
     74import salome
     75salome.salome_init()
     76import GEOM
     77from salome.geom import geomBuilder
     78geompy = geomBuilder.New(salome.myStudy)
     79gg = salome.ImportComponentGUI("GEOM")
     80}}}
     81
     82'''Korak 2''': Izdelava tock
     83
     84V 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()].
     85
     86{{{
     87#!python
     88p1 = geompy.MakeVertex(   0.,   0.,   0.)
     89p2 = geompy.MakeVertex( 100.,   0.,   0.)
     90p3 = geompy.MakeVertex( 100., 100.,   0.)
     91p4 = geompy.MakeVertex(   0., 100.,   0.)
     92}}}
     93
     94Za prikaz objektov v modulu Geometry v okolju Salome uporabimo naslednje ukaze
     95
     96{{{
     97#!python
     98geompy.addToStudy(p1,"point1")
     99geompy.addToStudy(p2,"point2")
     100geompy.addToStudy(p3,"point3")
     101geompy.addToStudy(p4,"point4")
     102salome.sg.updateObjBrowser(True)
     103}}}
     104
     105'''Korak 3''': Izdelava krivulje, ki povezuje vse tocke
     106
     107Z 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.
     108
     109{{{
     110#!python
     111polyline = geompy.MakePolyline([p1, p2, p3, p4, p1])
     112geompy.addToStudy(polyline,"polyline")
     113salome.sg.updateObjBrowser(True)
     114}}}
     115
     116'''Korak 4''': Izdelava povrsine.
     117
     118Sedaj 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()]
     119
     120{{{
     121#!python
     122face = geompy.MakeFace(polyline, True)
     123geompy.addToStudy(face, "face")
     124salome.sg.updateObjBrowser(True)
     125}}}
     126
     127'''Korak 5''': Izvlek povrsine
     128
     129Izvlek 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.
     130
     131{{{
     132#!python
     133p5 = geompy.MakeVertex(0.,0.,100.)
     134prism1 = geompy.MakePrism(face, p1, p5)
     135geompy.addToStudy(prism1, "prism1")
     136salome.sg.updateObjBrowser(True)
     137}}}
     138