# rgb color cube script # july 31 2004 # Clinton Reese # # before running set material editor to default and set reflectance lum to max value # select reference object for location and scale # delete all lights to see pure color # # after run update viewport manually to see the colors import trueSpace doc = trueSpace.GetActiveDocument() doc.ClearOutTxt() # define size of color cube # 2 = 2x2x2, 3 = 3x3x3 csegments = 3 csegmentsM1 = csegments - 1 spacing = -2 # # # first get start position and size from selected object myselect = doc.CurrentSelection () startpos = myselect.Position mysize = myselect.Scale for i in range(0,csegments): for j in range(0,csegments): for k in range(0,csegments): curcube = doc.CreateCube(1, mysize[0], mysize[1], mysize[2]) cred = int(255*i/csegmentsM1) cgreen = int(255*j/csegmentsM1) cblue = int(255*k/csegmentsM1) thename = "cube" + str(i) + str(j) + str(k) curcube.Name = "cube" + str(i) + str(j) + str(k) #print i," ",j," ",k,"\n" #print cred," ",cgreen," ",cblue,"\n" curpos = (startpos[0]+i*mysize[0]*spacing, startpos[1]+j*mysize[1]*spacing, startpos[2]+k*mysize[2]*spacing+mysize[2]*spacing) curcube.Position = curpos # only color will change - all other material attributes unchanged curcube.Color = (cred,cgreen,cblue,255) # this didn't quite work real time was transparent even though it rendered correctly # #matrl = doc.CreateMaterial() #matrl.Color = (cred,cgreen,cblue) #matrl.SurfaceProps[0] = 1.0 #matrl.SurfaceProps = (0.999,0.99,3.0) #print matrl.SurfaceProps[0]," ",matrl.SurfaceProps[1]," ",matrl.SurfaceProps[2]," ","\n" #curcube.Paint(matrl) # print myselect.Name , "\n" print "Position = ", startpos[0], " ", startpos[1], " ", startpos[2], "\n" print "Size = ", mysize[0], " ", mysize[1], " ", mysize[2], "\n" trueSpace.Stop()