Changes between Version 5 and Version 6 of salome


Ignore:
Timestamp:
Nov 14, 2017, 4:31:39 PM (6 years ago)
Author:
brankm
Comment:

Popravki teksta pri primeru izdelave panela.

Legend:

Unmodified
Added
Removed
Modified
  • salome

    v5 v6  
    1616Za programiranje v geometrijskem modulu si poglejte [htdocs:doc8.3.0/gui/GEOM/python_interface.html Geometry module Python Interface].
    1717
    18 V glavi programa je potrebno inicializirati  knjiznico salome, ki nam omogoči preprosto manipulacijo predstavljenega objekta (glava dokumenta):
     18V glavi programa je potrebno inicializirati knjižnico salome, ki nam omogoči preprosto manipulacijo predstavljenega objekta (glava dokumenta):
    1919{{{
    2020#!python
     
    135135
    136136Drevesno strukturo posodobimo, ce zelimo prikazati nove geometrijske elemente v modelnem oknu.
    137 [[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]]
     137[[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]]
    138138'''Korak 5''': Izvlek povrsine
    139139
     
    151151
    152152Celoten postopek izdelave izvleka je v priponki (''salomePrismExample.py'').
    153 
     153[[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]]
    154154=== Primer izdelave panela v fuzijskem reaktorju ITER
    155155
    156 V tem primeru bo prikazana izdelava krivulj v 3D prostoru in izvlek krivulj, s katerim generiramo povrsino v prostoru. Koncni cilj je izdelava panela, prikazanega na sliki. V datoteki data.txt imamo podane koordinate tock (x, y in z), iz katerih bomo generirali krivujo. To krivuljo bomo nato izvlekli v prostor s pomocjo daljic, ki so prav tako definirana s tockami (xe, ye in ze). Podatki so podani v formatu
    157 [[Image(prismSalomePrismExample.png, 300, right)]]
     156V tem primeru bo prikazana izdelava krivulj v 3D prostoru in izvlek krivulj, s katerim generiramo površino v prostoru. Končni cilj je izdelava panela, prikazanega na sliki.
     157V datoteki data.txt imamo podane koordinate točk (x, y in z), iz katerih bomo generirali krivujo.
     158To krivuljo bomo nato izvlekli v prostor s pomočjo daljic, ki so prav tako definirana s točkami (xe, ye in ze). Podatki so podani v formatu
     159[[Image(modelSalomePanelExample.png, 300, right)]]
    158160{{{
    159161x1 y1 z1 xe1 ye1 ze1
     
    164166}}}
    165167
    166 1. Uvoz modulov
    167 
    168 Najprej je potrebno v python uvoziti vse knjiznice, ki jih bomo uporabili v Salome okolju. Nato pa je potrebno definirati novo studijo.
     168'''Korak 1''': Uvoz modulov
     169
     170Najprej je potrebno v python uvoziti vse knjižnice, ki jih bomo uporabili v Salome okolju. Nato pa je potrebno definirati novo študijo.
    169171
    170172{{{
     
    177179geompy = geomBuilder.New(salome.myStudy)
    178180}}}
    179 
    180 2. Uvoz podatkov v Python
    181 
    182 Podatke v stolpcih v tekstovnem formatu lahko preberemo na vec nacinov, v tem primeru smo uporabili funkcijo `loadtxt()` iz knjiznice `numpy`. Podatke za krivuljo shranimo v spremenljivko tipa `np.array()` z imenoma ''coord_x'' in ''coord_y''. Nato te tocke zrcalimo preko ravnine y-z, da dobimo krivuljo se za levo stran panela, in jih shranimo v spremenljivki `coord_x_mirror` in `coord_y_mirror`.
    183 
     181[[BR]][[BR]][[BR]][[BR]][[BR]]
     182'''Korak 2''': Uvoz podatkov v Python
     183
     184Podatke v stolpcih v tekstovnem formatu lahko preberemo na vec načinov, v tem primeru smo uporabili funkcijo `loadtxt()` iz knjižnice `numpy`. Podatke za krivuljo shranimo v spremenljivko tipa `np.array()` z imenoma ''coord_x'' in ''coord_y''. Nato te točke zrcalimo preko ravnine y-z, da dobimo krivuljo še za levo stran panela, in jih shranimo v spremenljivki `coord_x_mirror` in `coord_y_mirror`.
     185[[Image(b_splineSalomePanelExample.png, 700, right)]]
    184186{{{
    185187#!python
     
    194196}}}
    195197
    196 Nato generiramo B-zlepek krivuljo s pomocjo metode `geompy.MakeInterpol()`, ki sprejme seznam tock, na katerih izvede interpolacijo. rezultat je polinom, ki predstavlja podano krivuljo. Nato izracunano krivuljo dodamo v studijo.
     198'''Korak 3''': Izdelava krivulj
     199
     200Nato generiramo B-zlepek krivuljo s pomočjo metode `geompy.MakeInterpol()`, ki sprejme seznam točk, na katerih izvede interpolacijo. Rezultat je polinom, ki predstavlja podano krivuljo. Nato izračunano krivuljo dodamo v študijo.
    197201{{{
    198202#!python
     
    205209}}}
    206210
    207 Sedaj je potrebno kreirati se daljico, s katero bomo povezali obe krivulji (na sliki oznacena z rumeno barvo).
     211Sedaj je potrebno kreirati še daljico, s katero bomo povezali obe krivulji (na sliki označena z rumeno barvo).
    208212
    209213{{{
     
    216220}}}
    217221
    218 Nato je potrebno vse tri komponente zdruziti v skupen objekt, ki ga bomo izvlekli v prostor. To storimo z metodo `geompy.MakeWire()`, ki sprejme seznam krivulj, robov in daljic, ki jih zelimo zdruziti v en objekt.
     222Nato je potrebno vse tri komponente združiti v skupen objekt, ki ga bomo izvlekli v prostor. To storimo z metodo `geompy.MakeWire()`, ki sprejme seznam krivulj, robov in daljic, ki jih želimo združiti v en objekt.
    219223
    220224{{{
     
    225229}}}
    226230
    227 Nato izdelamo se krivuljo za izvlek, ki je prikazana na sliki. Ponovno uvozimo tocke in jih shranimo v spremenljivke tipa `np.array()`.
    228 
     231'''Korak 4''': Izdelava krivulje za izvlek
     232
     233Nato izdelamo še krivuljo za izvlek, ki je prikazana na sliki. Ponovno uvozimo točke in jih shranimo v spremenljivke tipa `np.array()`.
     234[[Image(polylineSalomePanelExample.png, 300, right)]]
    229235{{{
    230236#!python
     
    237243}}}
    238244
    239 Koordinate ponovno pretvorimo v tocke tipa `geompy` z ukazom `geompy.MakeVertex()` ter nato generiramo polyline.
     245Koordinate ponovno pretvorimo v točke tipa `geompy` z ukazom `geompy.MakeVertex()` ter nato generiramo polyline.
    240246
    241247{{{
     
    251257}}}
    252258
    253 Na koncu ustvarimo izvlek iz obeh danih krivulj. Izvlek dodamo v studijo in posodobimo drevesno strukturo.
     259'''Korak 5''': Izvlek iz krivulj
     260
     261Na koncu ustvarimo izvlek iz obeh danih krivulj. Izvlek dodamo v študijo in posodobimo drevesno strukturo.
    254262
    255263{{{