Changes between Version 12 and Version 13 of salome


Ignore:
Timestamp:
Nov 20, 2017, 1:27:30 PM (7 years ago)
Author:
brankm
Comment:

Numpy odstranjen iz primera za izdelavo panela.

Legend:

Unmodified
Added
Removed
Modified
  • salome

    v12 v13  
    174174# Uvoz knjiznic
    175175import salome
    176 import numpy as np
    177176import GEOM
    178177from salome.geom import geomBuilder
     
    182181'''Korak 2''': Uvoz podatkov v Python
    183182
    184 Podatke 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`.  Nato izvedemo iteracijo s for zanko in shranimo točke kot `geompy.MakeVertex()` ter jih shranimo v python-ov seznam.
     183Podatke v stolpcih v tekstovnem formatu lahko preberemo na vec načinov, v tem primeru smo uporabili funkcijo `open`. Podatke za krivuljo shranimo v spremenljivko tipa `list` 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`.  Nato izvedemo iteracijo s for zanko in shranimo točke kot `geompy.MakeVertex()` ter jih shranimo v python-ov seznam.
    185184[[Image(b_splineSalomePanelExample.png, 700, right)]]
    186185{{{
    187186#!python
    188187# Load data
    189 data = np.loadtxt('/pathtofile/data.txt')
    190 # convert coordinates to mm
    191 coord_x = data[:,0]*(1000)
    192 coord_y = data[:,1]*(1000)
    193 # mirror x coordinates over yz - plane
    194 coord_x_mirror = coord_x[::-1]*(-1)
    195 coord_y_mirror = coord_y[::-1]
     188# If file is not opened, determine path with os library
     189# import os
     190# os.chdir(os.path.expanduser('~/))
     191with open('data.txt','r') as f:
     192    fileread = f.readlines()
     193    content = [x.strip() for x in fileread]
     194    # Define data list
     195    data = []
     196    for coord in content:
     197        data.append([x.strip() for x in coord.split(" ")])
     198f.close()
     199
     200coord_x = []
     201coord_y = []
     202# convert coordinates to mm and to float type
     203for i in range(len(data)):
     204    data[i][0] = float(data[i][0])*(1000)
     205    data[i][1] = float(data[i][1])*(1000)
     206    data[i][2] = float(data[i][1])*(1000)
     207    coord_x.append(data[i][0])
     208    coord_y.append(data[i][1])
     209
     210
     211# mirror x coordinatex over yz - plane
     212coord_mirror_x = coord_x[::-1]
     213for n in range(len(coord_mirror_x)):
     214    coord_mirror_x[n] = coord_mirror_x[n]*(-1)
     215coord_mirror_y = coord_y[::-1]
     216
    196217# Iterate over coord_x and create geompy vertices and store those
    197218# vertices into python list.
     
    205226    point_y = geompy.MakeVertex(coord_mirror_x[i],coord_mirror_y[i],0)
    206227    points_y.append(point_y)
     228
    207229}}}
    208230
     
    242264'''Korak 4''': Izdelava krivulje za izvlek
    243265
    244 Nato izdelamo še krivuljo za izvlek, ki je prikazana na sliki. Ponovno uvozimo točke in jih shranimo v spremenljivke tipa `np.array()`.
     266Nato izdelamo še krivuljo za izvlek, ki je prikazana na sliki. Ponovno uvozimo točke in jih shranimo v spremenljivke tipa `list`.
    245267
    246268[[Image(polylineSalomePanelExample.png, 300, right)]]
     
    248270#!python
    249271# Load data for extrusion
    250 dataExtrusion = np.loadtxt('/pathtofile/dataPolyline.txt')
     272dataExtrusion = []
     273with open('dataPolyline.txt','r') as f:
     274    fileread = f.readlines()
     275    content = [x.strip() for x in fileread]
     276    # Define data list
     277    for coord in content:
     278        dataExtrusion.append([x.strip() for x in coord.split(" ")])
     279f.close()
     280
    251281# Read data for extrusion
    252 coord_xe = dataExtrusion[:,0]
    253 coord_ye = dataExtrusion[:,1]
    254 coord_ze = dataExtrusion[:,2]
     282coord_xe = []
     283coord_ye = []
     284coord_ze = []
     285for n in range(len(dataExtrusion)):
     286    coord_xe.append(float(dataExtrusion[n][0]))
     287    coord_ye.append(float(dataExtrusion[n][1]))
     288    coord_ze.append(float(dataExtrusion[n][2]))
     289
    255290}}}
    256291