from stl import STL from geometry import Geometry start_time = time.time() #centerbody= STL('nozzle/Centerbody.stl') centerbody= STL('NozzleSurfacesBin/Centerbody_Bin.stl') print "STL Load Time: ", time.time()-start_time start_time = time.time() n_c = 3 body = Body(centerbody,controls=n_c) #just makes n_C evenly spaced points #body = Body(centerbody,C,name="centerbody") #uses given tuples of points body0 = body.copy() geom = Geometry() #geom.add(body0,name="cb0") geom.add(body,name="centerbody") #params = geom.get_params() #params['centerbody'] = [(0,0),] print "Bspline Compute Time: ", time.time()-start_time start_time = time.time() deltaC_x = np.zeros((n_c,)) deltaC_r = np.zeros((n_c,)) deltaC_r[-1] = 10 #second to last element, set to 10
sin_theta = np.sin(Theta) cos_theta = np.cos(Theta) P = [] for t in Theta: P.extend(zip(X,Ro,t*ones)) P = np.array(P) #center line control points n_Cc = 4 Cc_x = np.linspace(0,10,n_Cc) Cc_r = np.zeros((n_Cc,)) Cc = np.array(zip(Cc_x,Cc_r)) body = Body(P,Cc,cartesian=False) #move the control points for centerline deltaC_r = np.array([0,2,0,0]) deltaC_x = np.array([0,0,0,1]) deltaCc = np.array(zip(deltaC_x,deltaC_r)) #calculate new P's body.deform(deltaCc) fig = pylab.figure() ax = fig.add_subplot(3,1,1) ax.set_title('Centerline b-sPiine Interpolant') body.plot_spline(ax) ax.legend(loc=2)