from pymol import cmd
from pmg_tk.startup.ProMol import promolglobals as glb
from pmg_tk.startup.ProMol.Methods.visual import *
from tkMessageBox import showinfo
import Pmw
Pmw.initialise()
def premovie(tag):
if tag == 'Build Protein':
growProtein()
elif tag == 'Highlight Chains':
highlight_chains()
elif tag == 'Rotate':
rotate_y()
elif tag == 'Chain Pull':
chain_pull()
elif tag == 'Ligand Pull':
Ligand_Pull()
elif tag == 'Surface to Stick':
surface_stick()
elif tag == 'Surface to Cartoon':
surface_cartoon()
elif tag == 'Play':
play()
elif tag == 'Stop':
stop()
elif tag == 'Rewind':
rewind()
def rotate_y():
cmd.mset()
cmd.mset('1', '180')
cmd.util.mroll('1', '180', '1')
cmd.mplay()
cmd.extend('rotate', rotate_y)
# Movie to show locations of each of the chains in the molecule
#does not run on external pdbs - Brett
def highlight_chains():
cmd.mstop()
cmd.mclear()
cmd.mset()
glb.update()
colors = ['blue', 'orange', 'silver', 'green', 'yellow',
'purple', 'brightorange', 'lightblue', 'lightorange',
'pink', 'forest', 'firebrick', 'paleyellow', 'salmon',
'ruby', 'wheat', 'lightmagenta', 'nitblue']
chains = []
numChains = 0
objects = cmd.get_names('all')
for obj in objects:
split = obj.split('Chain-')
if len(split) == 2:
chains.append(split[1])
numChains += 1
numFrames = (numChains*200)+70
cmd.mset('1', numFrames)
cmd.mdo(1,'color red, all; hide cartoon, all')
cmd.orient()
cmd.mview('store', '1')
colorCount = 0
frameCount = 1
for i in chains:
cmd.orient('chain ' + i)
cmd.mview('store', frameCount+59)
cmd.mview('store', frameCount+115)
flash_chain(i, frameCount+59, 'red', colors[colorCount])
cmd.orient()
cmd.turn('x', '270')
cmd.turn('y', '180')
cmd.mview('store', frameCount+150)
cmd.mview('store', frameCount+170)
colorCount += 1
frameCount += 200
if(frameCount > numFrames-100):
cmd.orient()
cmd.mdo(numFrames,'mstop')
cmd.mview('store', (numChains*200)+70)
cmd.mview('interpolate')
cmd.show('ribbon')
cmd.color('red', 'all')
cmd.extend('highlight_chains', highlight_chains)
# flash the chains on and off, eventually changing the color
# (utilized by the highlight_chains method)
def flash_chain(chainID, frame, initialColor, afterColor):
cmd.mdo(frame, 'show cartoon, chain %s'%chainID)
cmd.mdo(frame+7, 'color %s, chain %s'%(afterColor,chainID))
cmd.mdo(frame+14, 'color %s, chain %s'%(initialColor,chainID))
cmd.mdo(frame+21, 'color %s, chain %s'%(afterColor,chainID))
cmd.mdo(frame+28, 'color %s, chain %s'%(initialColor,chainID))
cmd.mdo(frame+35, 'color %s, chain %s'%(afterColor,chainID))
cmd.mdo(frame+42, 'color %s, chain %s'%(initialColor,chainID))
cmd.mdo(frame+49, 'color %s, chain %s'%(afterColor,chainID))
def growProtein():
cmd.mstop()
cmd.mclear()
cmd.mset()
glb.update()
objects = cmd.get_names('all')
if 'protein' in objects:
cmd.bg_color('black')
# create the objects to be used in this movie
cmd.create('helix', 'ss h and protein')
cmd.create('sheets', 'ss s and protein')
cmd.create('surface', objects[0])
cmd.mset('1', '1400')
# dna and rna will be represented as sticks
# to make them stand out from the protein
if 'dna' in objects:
glb.procolor('dna','sticks','cpk',None)
if 'rna' in objects:
glb.procolor('rna','sticks','cpk',None)
# coloring the protein and secondary structures
cmd.color('white', 'protein')
cmd.color('purple', 'helix')
cmd.color('teal', 'sheets')
cmd.cartoon('loop', 'protein')
cmd.cartoon('automatic', 'helix')
cmd.cartoon('automatic', 'sheets')
cmd.hide('all')
cmd.show('cartoon', 'protein')
#cmd.mdo(1,'hide cartoon, helix; hide cartoon, sheets;')
cmd.util.mrock('2', '200', '90', '1', '1')
cmd.mdo(201,'show cartoon, helix;')
cmd.util.mrock('202', '400', '90', '1', '1')
cmd.mdo(401,'show cartoon, sheets;')
cmd.util.mrock('402', '600', '90', '1', '1')
if 'ligands' in objects:
cmd.color('hotpink', 'ligands')
cmd.mdo(600, 'show spheres, ligands; show sticks, ligands;'+
' set sphere_transparency = 0.5, ligands;')
cmd.util.mroll('601', '800', '1', axis = "x")
cmd.color('blue', 'surface')
cmd.mview('store', '800')
cmd.turn('z', 180)
cmd.mview('store' , '1000')
cmd.turn('z', 180)
cmd.mdo(800, 'show surface, surface; '+
'set transparency = 0.8, surface;')
cmd.mdo(850,'set transparency = 0.7, surface;')
cmd.mdo(900,'set transparency = 0.6, surface;')
cmd.mdo(950,'set transparency = 0.5, surface;')
cmd.mdo(1000,'set transparency = 0.4, surface;')
cmd.mdo(1050,'set transparency = 0.3, surface;')
cmd.mdo(1100,'set transparency = 0.2, surface;')
cmd.mdo(1150,'set transparency = 0.1, surface;')
cmd.mdo(1200,'set transparency = 0.0, surface;')
cmd.mview('store', '1200')
cmd.util.mrock('1201', '1399', '180', '1', '1')
cmd.hide('everything', 'surface')
cmd.hide('everything', 'helix')
cmd.hide('everything', 'sheets')
cmd.reset()
cmd.orient()
cmd.mdo(1400,'hide everything, all; show cartoon, protein;')
cmd.mdo(1400,'mstop')
cmd.mview('interpolate')
cmd.rewind()
cmd.extend('build_protein', growProtein)
def surface_cartoon():
glb.update()
cmd.mstop()
cmd.mclear()
cmd.mset('1', '60')
cmd.hide('everything')
objects = cmd.get_names('all')
glb.procolor(None,show_all=('cartoon','surface'))
cmd.set("cartoon_fancy_helices", "1")
cmd.set("cartoon_fancy_sheets", "1")
cmd.mdo(1,'set transparency = 0.75, all;')
cmd.mdo(2,'set transparency = 0.7, all;')
cmd.mdo(3,'set transparency = 0.65, all;')
cmd.mdo(4,'set transparency = 0.6, all;')
cmd.mdo(5,'set transparency = 0.55, all;')
cmd.mdo(6,'set transparency = 0.5, all;')
cmd.mdo(7,'set transparency = 0.45, all;')
cmd.mdo(8,'set transparency = 0.4, all;')
cmd.mdo(9,'set transparency = 0.35, all;')
cmd.mdo(10,'set transparency = 0.3, all;')
cmd.mdo(11,'set transparency = 0.25, all;')
cmd.mdo(12,'set transparency = 0.2, all;')
cmd.mdo(13,'set transparency = 0.15, all;')
cmd.mdo(14,'set transparency = 0.1, all;')
cmd.mdo(15,'set transparency = 0.05, all;')
cmd.mdo(16,'set transparency = 0, all;')
cmd.mdo(17,'set transparency = 0, all;')
cmd.mdo(19,'set transparency = 0, all;')
cmd.mdo(20,'set transparency = 0, all;')
cmd.mdo(21,'set transparency = 0, all;')
cmd.mdo(22,'set transparency = 0, all;')
cmd.mdo(23,'set transparency = 0, all;')
cmd.mdo(24,'set transparency = 0, all;')
cmd.mdo(25,'set transparency = 0, all;')
cmd.mdo(26,'set transparency = 0, all;')
cmd.mdo(27,'set transparency = 0, all;')
cmd.mdo(28,'set transparency = 0, all;')
cmd.mdo(29,'set transparency = 0.05, all;')
cmd.mdo(30,'set transparency = 0.1, all;')
cmd.mdo(31,'set transparency = 0.15, all;')
cmd.mdo(32,'set transparency = 0.2, all;')
cmd.mdo(33,'set transparency = 0.25, all;')
cmd.mdo(34,'set transparency = 0.3, all;')
cmd.mdo(35,'set transparency = 0.35, all;')
cmd.mdo(36,'set transparency = 0.4, all;')
cmd.mdo(37,'set transparency = 0.45, all;')
cmd.mdo(38,'set transparency = 0.5, all;')
cmd.mdo(39,'set transparency = 0.55, all;')
cmd.mdo(40,'set transparency = 0.6, all;')
cmd.mdo(41,'set transparency = 0.65, all;')
cmd.mdo(42,'set transparency = 0.7, all;')
cmd.mdo(43,'set transparency = 0.75, all;')
cmd.mdo(44,'set transparency = 0.8, all;')
cmd.mdo(45,'set transparency = 0.85, all;')
cmd.mdo(46,'set transparency = 0.9, all;')
cmd.mdo(47,'set transparency = 0.9, all;')
cmd.mdo(48,'set transparency = 0.9, all;')
cmd.mdo(49,'set transparency = 0.85, all;')
cmd.mdo(50,'set transparency = 0.85, all;')
cmd.mdo(51,'set transparency = 0.85, all;')
cmd.mdo(52,'set transparency = 0.85, all;')
cmd.mdo(53,'set transparency = 0.85, all;')
cmd.mdo(54,'set transparency = 0.85, all;')
cmd.mdo(55,'set transparency = 0.85, all;')
cmd.mdo(56,'set transparency = 0.85, all;')
cmd.mdo(57,'set transparency = 0.85, all;')
cmd.mdo(58,'set transparency = 0.85, all;')
cmd.mdo(59,'set transparency = 0.85, all;')
cmd.mdo(60,'set transparency = 0.8, all;')
cmd.extend('surface_cartoon', surface_cartoon)
def surface_stick():
'''surface over stick movie'''
glb.update()
cmd.mstop()
cmd.mclear()
cmd.mset()
cmd.mset('1', '60')
glb.procolor(None,show_all=('sticks','surface'))
cmd.mdo(1,'set transparency = 0.75, all;')
cmd.mdo(2,'set transparency = 0.7, all;')
cmd.mdo(3,'set transparency = 0.65, all;')
cmd.mdo(4,'set transparency = 0.6, all;')
cmd.mdo(5,'set transparency = 0.55, all;')
cmd.mdo(6,'set transparency = 0.5, all;')
cmd.mdo(7,'set transparency = 0.45, all;')
cmd.mdo(8,'set transparency = 0.4, all;')
cmd.mdo(9,'set transparency = 0.35, all;')
cmd.mdo(10,'set transparency = 0.3, all;')
cmd.mdo(11,'set transparency = 0.25, all;')
cmd.mdo(12,'set transparency = 0.2, all;')
cmd.mdo(13,'set transparency = 0.15, all;')
cmd.mdo(14,'set transparency = 0.1, all;')
cmd.mdo(15,'set transparency = 0.05, all;')
cmd.mdo(16,'set transparency = 0, all;')
cmd.mdo(17,'set transparency = 0, all;')
cmd.mdo(19,'set transparency = 0, all;')
cmd.mdo(20,'set transparency = 0, all;')
cmd.mdo(21,'set transparency = 0, all;')
cmd.mdo(22,'set transparency = 0, all;')
cmd.mdo(23,'set transparency = 0, all;')
cmd.mdo(24,'set transparency = 0, all;')
cmd.mdo(25,'set transparency = 0, all;')
cmd.mdo(26,'set transparency = 0, all;')
cmd.mdo(27,'set transparency = 0, all;')
cmd.mdo(28,'set transparency = 0, all;')
cmd.mdo(29,'set transparency = 0.05, all;')
cmd.mdo(30,'set transparency = 0.1, all;')
cmd.mdo(31,'set transparency = 0.15, all;')
cmd.mdo(32,'set transparency = 0.2, all;')
cmd.mdo(33,'set transparency = 0.25, all;')
cmd.mdo(34,'set transparency = 0.3, all;')
cmd.mdo(35,'set transparency = 0.35, all;')
cmd.mdo(36,'set transparency = 0.4, all;')
cmd.mdo(37,'set transparency = 0.45, all;')
cmd.mdo(38,'set transparency = 0.5, all;')
cmd.mdo(39,'set transparency = 0.55, all;')
cmd.mdo(40,'set transparency = 0.6, all;')
cmd.mdo(41,'set transparency = 0.65, all;')
cmd.mdo(42,'set transparency = 0.7, all;')
cmd.mdo(43,'set transparency = 0.75, all;')
cmd.mdo(44,'set transparency = 0.8, all;')
cmd.mdo(45,'set transparency = 0.85, all;')
cmd.mdo(46,'set transparency = 0.9, all;')
cmd.mdo(47,'set transparency = 0.9, all;')
cmd.mdo(48,'set transparency = 0.9, all;')
cmd.mdo(49,'set transparency = 0.85, all;')
cmd.mdo(50,'set transparency = 0.85, all;')
cmd.mdo(51,'set transparency = 0.85, all;')
cmd.mdo(52,'set transparency = 0.85, all;')
cmd.mdo(53,'set transparency = 0.85, all;')
cmd.mdo(54,'set transparency = 0.85, all;')
cmd.mdo(55,'set transparency = 0.85, all;')
cmd.mdo(56,'set transparency = 0.85, all;')
cmd.mdo(57,'set transparency = 0.85, all;')
cmd.mdo(58,'set transparency = 0.85, all;')
cmd.mdo(59,'set transparency = 0.85, all;')
cmd.mdo(60,'set transparency = 0.8, all;')
cmd.extend('surface_stick', surface_stick)
#movie that pulls ligands out of and puts them back in
def Ligand_Pull():
glb.update()
cmd.mstop()
cmd.mclear()
cmd.mset('1', '442')
cmd.hide('everything')
cmd.remove('resn HOH')
cmd.color('green', 'all')
objects = cmd.get_names('all')
if 'ligands' in objects:
cmd.set('stick_radius', '0.3')
glb.procolor('ligands around 6','sticks','cpk','cartoon')
glb.procolor('ligands','spheres','orange',None)
cmd.set("cartoon_fancy_helices", "1")
cmd.set("cartoon_fancy_sheets", "1")
cmd.set('cartoon_transparency', '0.5')
cmd.zoom()
cmd.orient()
cmd.mdo(1,'orient')
cmd.mdo(2,'translate [2,0,0],ligands;')
cmd.mdo(3,'translate [2,0,0],ligands;')
cmd.mdo(4,'translate [2,0,0],ligands;')
cmd.mdo(5,'translate [2,0,0],ligands;')
cmd.mdo(6,'translate [2,0,0],ligands;')
cmd.mdo(7,'translate [2,0,0],ligands;')
cmd.mdo(8,'translate [2,0,0],ligands;')
cmd.mdo(9,'translate [2,0,0],ligands;')
cmd.mdo(10,'translate [2,0,0],ligands;')
cmd.mdo(11,'translate [2,0,0],ligands;')
cmd.mdo(12,'translate [2,0,0],ligands;')
cmd.mdo(13,'translate [2,0,0],ligands;')
cmd.mdo(14,'translate [2,0,0],ligands;')
cmd.mdo(15,'translate [2,0,0],ligands;')
cmd.mdo(16,'translate [2,0,0],ligands;')
cmd.mdo(17,'translate [2,0,0],ligands;')
cmd.mdo(18,'translate [2,0,0],ligands;')
cmd.mdo(19,'translate [2,0,0],ligands;')
cmd.mdo(20,'translate [2,0,0],ligands;')
cmd.mdo(21,'translate [2,0,0],ligands;')
cmd.mdo(22,'translate [2,0,0],ligands;')
cmd.mdo(23,'translate [2,0,0],ligands;')
cmd.mdo(24,'translate [2,0,0],ligands;')
cmd.mdo(25,'translate [2,0,0],ligands;')
cmd.mdo(26,'translate [2,0,0],ligands;')
cmd.mdo(27,'translate [2,0,0],ligands;')
cmd.mdo(28,'translate [2,0,0],ligands;')
cmd.mdo(29,'translate [2,0,0],ligands;')
cmd.mdo(30,'translate [2,0,0],ligands;')
cmd.mdo(31,'translate [2,0,0],ligands;')
cmd.mdo(32,'translate [2,0,0],ligands;')
cmd.mdo(33,'translate [2,0,0],ligands;')
cmd.mdo(34,'translate [2,0,0],ligands;')
cmd.mdo(35,'translate [2,0,0],ligands;')
cmd.mdo(36,'translate [2,0,0],ligands;')
cmd.mdo(37,'translate [2,0,0],ligands;')
cmd.mdo(38,'translate [2,0,0],ligands;')
cmd.mdo(39,'translate [2,0,0],ligands;')
cmd.mdo(40,'translate [2,0,0],ligands;')
cmd.mdo(41,'translate [2,0,0],ligands;')
cmd.mdo(42,'orient')
cmd.util.mroll('42','222','1')
cmd.mdo(223,'translate [-2,0,0],ligands;')
cmd.mdo(224,'translate [-2,0,0],ligands;')
cmd.mdo(225,'translate [-2,0,0],ligands;')
cmd.mdo(226,'translate [-2,0,0],ligands;')
cmd.mdo(227,'translate [-2,0,0],ligands;')
cmd.mdo(228,'translate [-2,0,0],ligands;')
cmd.mdo(229,'translate [-2,0,0],ligands;')
cmd.mdo(230,'translate [-2,0,0],ligands;')
cmd.mdo(231,'translate [-2,0,0],ligands;')
cmd.mdo(232,'translate [-2,0,0],ligands;')
cmd.mdo(233,'translate [-2,0,0],ligands;')
cmd.mdo(234,'translate [-2,0,0],ligands;')
cmd.mdo(235,'translate [-2,0,0],ligands;')
cmd.mdo(236,'translate [-2,0,0],ligands;')
cmd.mdo(237,'translate [-2,0,0],ligands;')
cmd.mdo(238,'translate [-2,0,0],ligands;')
cmd.mdo(239,'translate [-2,0,0],ligands;')
cmd.mdo(240,'translate [-2,0,0],ligands;')
cmd.mdo(241,'translate [-2,0,0],ligands;')
cmd.mdo(242,'translate [-2,0,0],ligands;')
cmd.mdo(243,'translate [-2,0,0],ligands;')
cmd.mdo(244,'translate [-2,0,0],ligands;')
cmd.mdo(245,'translate [-2,0,0],ligands;')
cmd.mdo(246,'translate [-2,0,0],ligands;')
cmd.mdo(247,'translate [-2,0,0],ligands;')
cmd.mdo(248,'translate [-2,0,0],ligands;')
cmd.mdo(249,'translate [-2,0,0],ligands;')
cmd.mdo(250,'translate [-2,0,0],ligands;')
cmd.mdo(251,'translate [-2,0,0],ligands;')
cmd.mdo(252,'translate [-2,0,0],ligands;')
cmd.mdo(253,'translate [-2,0,0],ligands;')
cmd.mdo(254,'translate [-2,0,0],ligands;')
cmd.mdo(255,'translate [-2,0,0],ligands;')
cmd.mdo(256,'translate [-2,0,0],ligands;')
cmd.mdo(257,'translate [-2,0,0],ligands;')
cmd.mdo(258,'translate [-2,0,0],ligands;')
cmd.mdo(259,'translate [-2,0,0],ligands;')
cmd.mdo(260,'translate [-2,0,0],ligands;')
cmd.mdo(261,'translate [-2,0,0],ligands;')
cmd.mdo(262,'translate [-2,0,0],ligands;')
cmd.mdo(263,'orient')
cmd.util.mroll('264','442','1')
else:
showinfo('No ligands','There are no ligands in this PDB.')
cmd.extend('ligand_pull',Ligand_Pull)
def chain_pull():
cmd.mstop
cmd.mclear
coor = { 2:'[0,0,0]', 3:'[75,0,0]', 4:'[0,75,0]',
5:'[0,0,75]', 6:'[-75,0,0]', 7:'[0,-75,0]',
8:'[0,0,-75]', 9:'[75,75,0]', 10:'[-75,-75,0]',
11:'[0,75,75]', 12:'[0,-75,-75]', 13:'[75,0,75]',
14:'[-75,0,-75]', 15:'[75,75,75]', 16:'[-75,-75,-75]',
17:'[75,-75,0]', 18:'[-75,75,0]', 19:'[0,75,-75]',
20:'[0,-75,75]', 21:'[75,0,-75]', 22:'[-75,0,75]',
23:'[75,75,-75]', 24:'[75,-75,75]', 25:'[-75,75,75]',
26:'[-75,-75,75]',27:'[75,-75,-75]',28:'[-75,-75,-75]'}
chainPullList = chain_contact()
if chainPullList == False:
return False
chainPullLen = len(chainPullList)
frames = 1+chainPullLen+172+chainPullLen+172
cmd.mset('1','%s'%frames)
i = chainPullLen+2
for h in range(2,i):
print 'translate %s,%s'%(coor[h],chainPullList[h-2])
cmd.mdo(h,'translate %s,%s'%(coor[h],chainPullList[h-2]))
cmd.mdo(i,'zoom all')
util.mroll(i+1,i+171,1)
i += 172
for g in range(i,chainPullLen+i):
c = coor[(g-i)+2].replace('7','-7').replace('--','-')
cmd.mdo(g,'translate %s,%s'%(c,chainPullList[g-i]))
g = chainPullLen+i
cmd.mdo(g,'zoom all')
util.mroll(g+1,g+171,1)
cmd.extend('chain_pull',chain_pull)
cmd.extend('chain_pull', chain_pull)
#movie controls
def play():
cmd.mplay()
def stop():
cmd.mstop()
def rewind():
cmd.mstop()
cmd.rewind()
#Ray Trace Frames
def do_ray( r, state):
if state:
if askyesno('Ray Trace Frames', 'Enabling this feature may '+
'slow own the playback of your movie significantly. '+
'Are you sure that you want to proceed?'):
cmd.set('ray_trace_frames', '1')
else:
ray.invoke('Ray Trace Frames')
else:
cmd.set('ray_trace_frames', '0')
def cacheframe( r, state):
if state:
cmd.set('cache_frames', '0')
else:
cmd.set('cache_frames', '1')
def loadframe(event):
file = askopenfilename(defaultextension=entfilex.get(), initialdir=glb.HOME)
if len(file)>0:
cmd.load(file, "mov", entl.get())
glb.GUI.movie_maker['tab'].mainloop()
def gotoframe(event):
try:
cmd.frame(gotoent.get())
except:
showinfo('Alert!', 'You need to enter the frame number')
interior.mainloop()
def mping(event):
cmd.mpng(name_mov.get(), first=0, last=0 )
def clearram(event):
cmd.mclear()
def makmovie(event):
try:
cmd.mset("1 -%s"%fent.get())
scriptent.delete(0,100000000)
scriptent.insert(0,0)
except:
showinfo('Alert!', 'Enter the amount of frames to be in the movie')
interior.mainloop()
def movsetx(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "move x," + entmx.get())
def movsety(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "move y," + entmy.get())
def movsetz(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "move z," + entmz.get())
def tursetx(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "turn x," + enttx.get())
def tursety(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "turn y," + entty.get())
def tursetz(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "turn z," + enttz.get())
def tursetz(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "turn z," + enttz.get())
def movsetxyz(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "move x, %s; move y, %s; move z, %s" % (entmx.get(),entmy.get(),entmz.get()))
def tursetxyz(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "turn x, %s; turn y, %s; turn z, %s" % (enttx.get(),entty.get(),enttz.get()))
def tursetxyzmovsetxyz(event):
a = int(scriptent.get()) +1
scriptent.delete(0,100000)
scriptent.insert(0,a)
cmd.mdo( scriptent.get(), "turn x, %s; turn y, %s; turn z, %s; move x, %s; move y, %s; move z, %s" % (enttx.get(),entty.get(),enttz.get(),entmx.get(),entmy.get(),entmz.get()))
#------Masking and protecting functions, prevents manipulation-----
#------of specified selections, although protect function not------
#------well documented, and for advanced users only------------
def maskedman(event):
try:
if len(maskent.get()) < 1:
showinfo("Error", 'Please enter the name of an object.')
interior.mainloop()
else:
cmd.mask(maskent.get())
except:
showinfo("Error", 'That object is not present')
interior.mainloop()
def unmaskedman(event):
try:
if len(maskent.get()) < 1:
showinfo("Error", 'Please enter the name of an object.')
interior.mainloop()
else:
cmd.unmask(maskent.get())
except:
showinfo("Error", 'That object is not present')
interior.mainloop()
def maskallexcept(event):
try:
if len(maskent.get()) < 1:
showinfo("Error", 'Please enter the name of an object.')
interior.mainloop()
else:
cmd.mask('All')
cmd.unmask(maskent.get())
except:
showinfo("Error", 'That object is not present')
interior.mainloop()
cmd.extend('maskallexcept',maskallexcept)
def protectallexcept(event):
try:
if len(maskent.get()) < 1:
showinfo("Error", 'Please enter the name of an object.')
interior.mainloop()
else:
cmd.protect('All')
cmd.deprotect(maskent.get())
except:
showinfo("Error", 'That object is not present')
interior.mainloop()
def protectme(event):
try:
if len(maskent.get()) < 1:
showinfo("Error", 'Please enter the name of an object.')
interior.mainloop()
else:
cmd.protect(maskent.get())
except:
showinfo("Error", 'That object is not present')
interior.mainloop()
def deprotectme(event):
try:
if len(maskent.get()) < 1:
showinfo("Error", 'Please enter the name of an object.')
interior.mainloop()
else:
cmd.deprotect(maskent.get())
except:
showinfo("Error", 'That object is not present')
interior.mainloop()