Changes between Version 12 and Version 13 of salome
- Timestamp:
- Nov 20, 2017, 1:27:30 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
salome
v12 v13 174 174 # Uvoz knjiznic 175 175 import salome 176 import numpy as np177 176 import GEOM 178 177 from salome.geom import geomBuilder … … 182 181 '''Korak 2''': Uvoz podatkov v Python 183 182 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.183 Podatke 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. 185 184 [[Image(b_splineSalomePanelExample.png, 700, right)]] 186 185 {{{ 187 186 #!python 188 187 # 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('~/)) 191 with 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(" ")]) 198 f.close() 199 200 coord_x = [] 201 coord_y = [] 202 # convert coordinates to mm and to float type 203 for 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 212 coord_mirror_x = coord_x[::-1] 213 for n in range(len(coord_mirror_x)): 214 coord_mirror_x[n] = coord_mirror_x[n]*(-1) 215 coord_mirror_y = coord_y[::-1] 216 196 217 # Iterate over coord_x and create geompy vertices and store those 197 218 # vertices into python list. … … 205 226 point_y = geompy.MakeVertex(coord_mirror_x[i],coord_mirror_y[i],0) 206 227 points_y.append(point_y) 228 207 229 }}} 208 230 … … 242 264 '''Korak 4''': Izdelava krivulje za izvlek 243 265 244 Nato izdelamo še krivuljo za izvlek, ki je prikazana na sliki. Ponovno uvozimo točke in jih shranimo v spremenljivke tipa ` np.array()`.266 Nato izdelamo še krivuljo za izvlek, ki je prikazana na sliki. Ponovno uvozimo točke in jih shranimo v spremenljivke tipa `list`. 245 267 246 268 [[Image(polylineSalomePanelExample.png, 300, right)]] … … 248 270 #!python 249 271 # Load data for extrusion 250 dataExtrusion = np.loadtxt('/pathtofile/dataPolyline.txt') 272 dataExtrusion = [] 273 with 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(" ")]) 279 f.close() 280 251 281 # Read data for extrusion 252 coord_xe = dataExtrusion[:,0] 253 coord_ye = dataExtrusion[:,1] 254 coord_ze = dataExtrusion[:,2] 282 coord_xe = [] 283 coord_ye = [] 284 coord_ze = [] 285 for 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 255 290 }}} 256 291