//Beckman Institute // Imaging Technology Group // University of Illinois at Urbana-Champaign // 405 N. Mathews, Urbana, IL 61801 // itg@itg.uiuc.edu // Copyright 2001, Board of Trustees of the University of Illinois, // All Rights Reserved // This is unpublished proprietary software developed by the Beckman // Institute Imaging Technology Group (ITG) at the University of // Illinois at Urbana-Champaign (UIUC). The copyright notice above does not // evidence any actual or intended publication of such software. // This software may not be redistributed for any purpose and may not // be used for or incorporated in commercial products or services without // the prior written permission of UIUC c/o The Beckman Institute Imaging // Technology Group. // All advertising materials mentioning features or use of this software // must display the following acknowledgement: This product includes software // developed by The Beckman Institute Imaging Technology Group at the // University of Illinois at Urbana-Champaign. // UIUC MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE // FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED // WARRANTY. THE UI SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY THE // USERS OF THIS SOFTWARE. // Thanks to all the people who helped me at the MEL Developers forum// // at Highend3d.com. Could not have made this without their help// // Please do not remove my name or the University's name from this script// //if any improvements are made on this script, I would love to have them// //email them to me at jrgilles@itg.uiuc.edu// //To run this, source the script, then run polyMol from the script editor, this can also //be put into a shelf button in the format of //source "c:/maya/scripts/molNewSimple.mel"; (filling in the correct path for the location) //polyMol; global proc polyMol (){ global int $elementCounter=0; global float $elementRad; global string $elementPrefix; global int $chooserBol=1; //fix error in placement perameters, make window to choose one of 2 intersection processes, //partial (slow) and complete (fast) window -t "molSlicerSimple" -wh 370 175 theSlicer; columnLayout -cw 100; text -l "Choose Boolean Operation:\n"; radioButtonGrp -numberOfRadioButtons 3 -sl 1 -labelArray3 "Difference" "Intersection (Fast)" "Intersection (Slow)" -on1 "$chooserBol=1" -on2 "$chooserBol=2" -on3 "$chooserBol=3" stereoGrp; text -l " "; polyCube -w 1 -h 1 -d 1 -sx 1 -sy 1 -sz 1 -ax 0 1 0 -tx 1 -ch 1; select -r pCube1 ; scale -r 12 9 12 ; text -l "Click to advance once polyCube is in place."; text -l "The Intersection (Fast) option is only for intersecting a full slice."; text -l "If you are only intersecting a partial slice, you must use Intersection (Slow)."; text -l " "; button -w 192 -l "Complete" -command atomFinderRun; showWindow theSlicer; } global proc atomFinderRun (){ global int $elementCounter=0; deleteUI theSlicer; atomFinder; } global proc atomFinder (){ print "atomFinder running...\n"; global int $elementCounter; global float $elementRad; global string $elementPrefix; int $realityTest; $elementCounter++; if ($elementCounter==1){ $realityTest=`objExists "C_1"`; if ($realityTest==1){ $elementRad=3.851; $elementPrefix="C_"; theSlicer;} else $elementCounter++;} if ($elementCounter==2){ $realityTest=`objExists "H_1"`; if ($realityTest==1){ $elementRad=2.886; $elementPrefix="H_"; theSlicer;} else $elementCounter++;} if ($elementCounter==3){ $realityTest=`objExists "F_1"`; if ($realityTest==1){ $elementRad=3.364; $elementPrefix="F_"; theSlicer;} else $elementCounter++;} if ($elementCounter==4){ $realityTest=`objExists "Al_1"`; if ($realityTest==1){ $elementRad=4.499; $elementPrefix="Al_"; theSlicer;} else $elementCounter++;} if ($elementCounter==5){ $realityTest=`objExists "Cl_1"`; if ($realityTest==1){ $elementRad=1.3947; $elementPrefix="Cl_"; theSlicer;} else $elementCounter++;} if ($elementCounter==6){ $realityTest=`objExists "Sc_1"`; if ($realityTest==1){ $elementRad=3.295; $elementPrefix="Sc_"; theSlicer;} else $elementCounter++;} if ($elementCounter==7){ $realityTest=`objExists "Mn_1"`; if ($realityTest==1){ $elementRad=2.961; $elementPrefix="Mn_"; theSlicer;} else $elementCounter++;} if ($elementCounter==8){ $realityTest=`objExists "Cu_1"`; if ($realityTest==1){ $elementRad=3.495; $elementPrefix="Cu_"; theSlicer;} else $elementCounter++;} if ($elementCounter==9){ $realityTest=`objExists "As_1"`; if ($realityTest==1){ $elementRad=4.230; $elementPrefix="As_"; theSlicer;} else $elementCounter++;} if ($elementCounter==10){ $realityTest=`objExists "Rb_1"`; if ($realityTest==1){ $elementRad=4.114; $elementPrefix="Rb_"; theSlicer;} else $elementCounter++;} if ($elementCounter==11){ $realityTest=`objExists "Nb_1"`; if ($realityTest==1){ $elementRad=3.165; $elementPrefix="Nb_"; theSlicer;} else $elementCounter++;} if ($elementCounter==12){ $realityTest=`objExists "Rh_1"`; if ($realityTest==1){ $elementRad=2.929; $elementPrefix="Rh_"; theSlicer;} else $elementCounter++;} if ($elementCounter==13){ $realityTest=`objExists "In_1"`; if ($realityTest==1){ $elementRad=4.463; $elementPrefix="In_"; theSlicer;} else $elementCounter++;} if ($elementCounter==14){ $realityTest=`objExists "I_1"`; if ($realityTest==1){ $elementRad=4.500; $elementPrefix="I_"; theSlicer;} else $elementCounter++;} if ($elementCounter==15){ $realityTest=`objExists "La_1"`; if ($realityTest==1){ $elementRad=3.522; $elementPrefix="La_"; theSlicer;} else $elementCounter++;} if ($elementCounter==16){ $realityTest=`objExists "Pm_1"`; if ($realityTest==1){ $elementRad=3.547; $elementPrefix="Pm_"; theSlicer;} else $elementCounter++;} if ($elementCounter==17){ $realityTest=`objExists "Tb_1"`; if ($realityTest==1){ $elementRad=3.451; $elementPrefix="Tb_"; theSlicer;} else $elementCounter++;} if ($elementCounter==18){ $realityTest=`objExists "Tm_1"`; if ($realityTest==1){ $elementRad=3.374; $elementPrefix="C_"; theSlicer;} else $elementCounter++;} if ($elementCounter==19){ $realityTest=`objExists "Tm_1"`; if ($realityTest==1){ $elementRad=3.374; $elementPrefix="C_"; theSlicer;} else $elementCounter++;} if ($elementCounter==20){ $realityTest=`objExists "Ta_1"`; if ($realityTest==1){ $elementRad=3.170; $elementPrefix="Ta_"; theSlicer;} else $elementCounter++;} if ($elementCounter==21){ $realityTest=`objExists "Ir_1"`; if ($realityTest==1){ $elementRad=2.840; $elementPrefix="Ir_"; theSlicer;} else $elementCounter++;} if ($elementCounter==22){ $realityTest=`objExists "Tl_1"`; if ($realityTest==1){ $elementRad=4.347; $elementPrefix="Tl_"; theSlicer;} else $elementCounter++;} if ($elementCounter==23){ $realityTest=`objExists "At_1"`; if ($realityTest==1){ $elementRad=4.750; $elementPrefix="At_"; theSlicer;} else $elementCounter++;} if ($elementCounter==24){ $realityTest=`objExists "Ac_1"`; if ($realityTest==1){ $elementRad=3.478; $elementPrefix="Ac_"; theSlicer;} else $elementCounter++;} if ($elementCounter==25){ $realityTest=`objExists "Np_1"`; if ($realityTest==1){ $elementRad=3.424; $elementPrefix="Np_"; theSlicer;} else $elementCounter++;} if ($elementCounter==26){ $realityTest=`objExists "Bk_1"`; if ($realityTest==1){ $elementRad=3.339; $elementPrefix="Bk_"; theSlicer;} else $elementCounter++;} if ($elementCounter==27){ $realityTest=`objExists "Md_1"`; if ($realityTest==1){ $elementRad=3.274; $elementPrefix="Md_"; theSlicer;} else $elementCounter++;} if ($elementCounter==28){ $realityTest=`objExists "Ci_1"`; if ($realityTest==1){ $elementRad=3.851; $elementPrefix="Ci_"; theSlicer;} else $elementCounter++;} if ($elementCounter==29){ $realityTest=`objExists "He_1"`; if ($realityTest==1){ $elementRad=2.362; $elementPrefix="He_"; theSlicer;} else $elementCounter++;} if ($elementCounter==30){ $realityTest=`objExists "Ne_1"`; if ($realityTest==1){ $elementRad=3.243; $elementPrefix="Ne_"; theSlicer;} else $elementCounter++;} if ($elementCounter==31){ $realityTest=`objExists "Si_1"`; if ($realityTest==1){ $elementRad=4.295; $elementPrefix="Si_"; theSlicer;} else $elementCounter++;} if ($elementCounter==32){ $realityTest=`objExists "Ar_1"`; if ($realityTest==1){ $elementRad=3.868; $elementPrefix="Ar_"; theSlicer;} else $elementCounter++;} if ($elementCounter==33){ $realityTest=`objExists "Ti_1"`; if ($realityTest==1){ $elementRad=3.175; $elementPrefix="Ti_"; theSlicer;} else $elementCounter++;} if ($elementCounter==34){ $realityTest=`objExists "Fe_1"`; if ($realityTest==1){ $elementRad=2.912; $elementPrefix="Fe_"; theSlicer;} else $elementCounter++;} if ($elementCounter==35){ $realityTest=`objExists "Zn_1"`; if ($realityTest==1){ $elementRad=2.763; $elementPrefix="Zn_"; theSlicer;} else $elementCounter++;} if ($elementCounter==36){ $realityTest=`objExists "Se_1"`; if ($realityTest==1){ $elementRad=4.205; $elementPrefix="Se_"; theSlicer;} else $elementCounter++;} if ($elementCounter==37){ $realityTest=`objExists "Sr_1"`; if ($realityTest==1){ $elementRad=3.641; $elementPrefix="Sr_"; theSlicer;} else $elementCounter++;} if ($elementCounter==38){ $realityTest=`objExists "Mo_1"`; if ($realityTest==1){ $elementRad=3.052; $elementPrefix="Pd_"; theSlicer;} else $elementCounter++;} if ($elementCounter==39){ $realityTest=`objExists "Sn_1"`; if ($realityTest==1){ $elementRad=4.392; $elementPrefix="Sn_"; theSlicer;} else $elementCounter++;} if ($elementCounter==40){ $realityTest=`objExists "Xe_1"`; if ($realityTest==1){ $elementRad=4.404; $elementPrefix="Xe_"; theSlicer;} else $elementCounter++;} if ($elementCounter==41){ $realityTest=`objExists "Ce_1"`; if ($realityTest==1){ $elementRad=3.556; $elementPrefix="Ce_"; theSlicer;} else $elementCounter++;} if ($elementCounter==42){ $realityTest=`objExists "Sm_1"`; if ($realityTest==1){ $elementRad=3.520; $elementPrefix="Sm_"; theSlicer;} else $elementCounter++;} if ($elementCounter==43){ $realityTest=`objExists "Dy_1"`; if ($realityTest==1){ $elementRad=3.428; $elementPrefix="Dy_"; theSlicer;} else $elementCounter++;} if ($elementCounter==44){ $realityTest=`objExists "Yb_1"`; if ($realityTest==1){ $elementRad=3.355; $elementPrefix="Yb_"; theSlicer;} else $elementCounter++;} if ($elementCounter==45){ $realityTest=`objExists "W_1"`; if ($realityTest==1){ $elementRad=3.069; $elementPrefix="W_"; theSlicer;} else $elementCounter++;} if ($elementCounter==46){ $realityTest=`objExists "Pt_1"`; if ($realityTest==1){ $elementRad=2.754; $elementPrefix="Pt_"; theSlicer;} else $elementCounter++;} if ($elementCounter==47){ $realityTest=`objExists "Pb_1"`; if ($realityTest==1){ $elementRad=4.297; $elementPrefix="Pb_"; theSlicer;} else $elementCounter++;} if ($elementCounter==48){ $realityTest=`objExists "Rn_1"`; if ($realityTest==1){ $elementRad=4.765; $elementPrefix="Rn_"; theSlicer;} else $elementCounter++;} if ($elementCounter==49){ $realityTest=`objExists "Th_1"`; if ($realityTest==1){ $elementRad=3.396; $elementPrefix="Th_"; theSlicer;} else $elementCounter++;} if ($elementCounter==50){ $realityTest=`objExists "Pu_1"`; if ($realityTest==1){ $elementRad=3.424; $elementPrefix="Pu_"; theSlicer;} else $elementCounter++;} if ($elementCounter==51){ $realityTest=`objExists "Cf_1"`; if ($realityTest==1){ $elementRad=3.313; $elementPrefix="Cf_"; theSlicer;} else $elementCounter++;} if ($elementCounter==52){ $realityTest=`objExists "No_1"`; if ($realityTest==1){ $elementRad=3.248; $elementPrefix="No_"; theSlicer;} else $elementCounter++;} if ($elementCounter==53){ $realityTest=`objExists "Pi_1"`; if ($realityTest==1){ $elementRad=3.851; $elementPrefix="Pi_"; theSlicer;} else $elementCounter++;} if ($elementCounter==54){ $realityTest=`objExists "Li_1"`; if ($realityTest==1){ $elementRad=2.451; $elementPrefix="Li_"; theSlicer;} else $elementCounter++;} if ($elementCounter==55){ $realityTest=`objExists "N_1"`; if ($realityTest==1){ $elementRad=3.660; $elementPrefix="N_"; theSlicer;} else $elementCounter++;} if ($elementCounter==56){ $realityTest=`objExists "Na_1"`; if ($realityTest==1){ $elementRad=2.983; $elementPrefix="Na_"; theSlicer;} else $elementCounter++;} if ($elementCounter==57){ $realityTest=`objExists "P_1"`; if ($realityTest==1){ $elementRad=4.147; $elementPrefix="P_"; theSlicer;} else $elementCounter++;} if ($elementCounter==58){ $realityTest=`objExists "K_1"`; if ($realityTest==1){ $elementRad=3.812; $elementPrefix="K_"; theSlicer;} else $elementCounter++;} if ($elementCounter==59){ $realityTest=`objExists "V_1"`; if ($realityTest==1){ $elementRad=3.144; $elementPrefix="V_"; theSlicer;} else $elementCounter++;} if ($elementCounter==60){ $realityTest=`objExists "Co_1"`; if ($realityTest==1){ $elementRad=2.872; $elementPrefix="Co_"; theSlicer;} else $elementCounter++;} if ($elementCounter==61){ $realityTest=`objExists "Ga_1"`; if ($realityTest==1){ $elementRad=4.383; $elementPrefix="Ga_"; theSlicer;} else $elementCounter++;} if ($elementCounter==62){ $realityTest=`objExists "Br_1"`; if ($realityTest==1){ $elementRad=4.189; $elementPrefix="Br_"; theSlicer;} else $elementCounter++;} if ($elementCounter==63){ $realityTest=`objExists "Y_1"`; if ($realityTest==1){ $elementRad=3.345; $elementPrefix="Y_"; theSlicer;} else $elementCounter++;} if ($elementCounter==64){ $realityTest=`objExists "Tc_1"`; if ($realityTest==1){ $elementRad=2.998; $elementPrefix="Tc_"; theSlicer;} else $elementCounter++;} if ($elementCounter==65){ $realityTest=`objExists "Ag_1"`; if ($realityTest==1){ $elementRad=3.148; $elementPrefix="Ag_"; theSlicer;} else $elementCounter++;} if ($elementCounter==66){ $realityTest=`objExists "Sb_1"`; if ($realityTest==1){ $elementRad=4.420; $elementPrefix="Sb_"; theSlicer;} else $elementCounter++;} if ($elementCounter==67){ $realityTest=`objExists "Cs_1"`; if ($realityTest==1){ $elementRad=4.517; $elementPrefix="Cs_"; theSlicer;} else $elementCounter++;} if ($elementCounter==68){ $realityTest=`objExists "Pr_1"`; if ($realityTest==1){ $elementRad=3.606; $elementPrefix="Pr_"; theSlicer;} else $elementCounter++;} if ($elementCounter==69){ $realityTest=`objExists "Eu_1"`; if ($realityTest==1){ $elementRad=3.493; $elementPrefix="Eu_"; theSlicer;} else $elementCounter++;} if ($elementCounter==70){ $realityTest=`objExists "Ho_1"`; if ($realityTest==1){ $elementRad=3.409; $elementPrefix="Ho_"; theSlicer;} else $elementCounter++;} if ($elementCounter==71){ $realityTest=`objExists "Lu_1"`; if ($realityTest==1){ $elementRad=3.640; $elementPrefix="Lu_"; theSlicer;} else $elementCounter++;} if ($elementCounter==72){ $realityTest=`objExists "Re_1"`; if ($realityTest==1){ $elementRad=2.954; $elementPrefix="Re_"; theSlicer;} else $elementCounter++;} if ($elementCounter==73){ $realityTest=`objExists "Au_1"`; if ($realityTest==1){ $elementRad=3.293; $elementPrefix="Au_"; theSlicer;} else $elementCounter++;} if ($elementCounter==74){ $realityTest=`objExists "Bi_1"`; if ($realityTest==1){ $elementRad=4.370; $elementPrefix="Bi_"; theSlicer;} else $elementCounter++;} if ($elementCounter==75){ $realityTest=`objExists "Fr_1"`; if ($realityTest==1){ $elementRad=4.900; $elementPrefix="Fr_"; theSlicer;} else $elementCounter++;} if ($elementCounter==76){ $realityTest=`objExists "Pa_1"`; if ($realityTest==1){ $elementRad=3.424; $elementPrefix="Pa_"; theSlicer;} else $elementCounter++;} if ($elementCounter==77){ $realityTest=`objExists "Am_1"`; if ($realityTest==1){ $elementRad=3.381; $elementPrefix="Am_"; theSlicer;} else $elementCounter++;} if ($elementCounter==78){ $realityTest=`objExists "Es_1"`; if ($realityTest==1){ $elementRad=3.299; $elementPrefix="Es_"; theSlicer;} else $elementCounter++;} if ($elementCounter==79){ $realityTest=`objExists "Lw_1"`; if ($realityTest==1){ $elementRad=3.236; $elementPrefix="Lw_"; theSlicer;} else $elementCounter++;} if ($elementCounter==80){ $realityTest=`objExists "D_1"`; if ($realityTest==1){ $elementRad=2.886; $elementPrefix="D_"; theSlicer;} else $elementCounter++;} if ($elementCounter==81){ $realityTest=`objExists "Be_1"`; if ($realityTest==1){ $elementRad=2.745; $elementPrefix="Be_"; theSlicer;} else $elementCounter++;} if ($elementCounter==82){ $realityTest=`objExists "O_1"`; if ($realityTest==1){ $elementRad=3.500; $elementPrefix="O_"; theSlicer;} else $elementCounter++;} if ($elementCounter==83){ $realityTest=`objExists "Mg_1"`; if ($realityTest==1){ $elementRad=3.021; $elementPrefix="Mg_"; theSlicer;} else $elementCounter++;} if ($elementCounter==84){ $realityTest=`objExists "S_1"`; if ($realityTest==1){ $elementRad=4.035; $elementPrefix="S_"; theSlicer;} else $elementCounter++;} if ($elementCounter==85){ $realityTest=`objExists "Ca_1"`; if ($realityTest==1){ $elementRad=3.399; $elementPrefix="Ca_"; theSlicer;} else $elementCounter++;} if ($elementCounter==86){ $realityTest=`objExists "Cr_1"`; if ($realityTest==1){ $elementRad=3.023; $elementPrefix="Cr_"; theSlicer;} else $elementCounter++;} if ($elementCounter==87){ $realityTest=`objExists "Ni_1"`; if ($realityTest==1){ $elementRad=2.834; $elementPrefix="Ni_"; theSlicer;} else $elementCounter++;} if ($elementCounter==88){ $realityTest=`objExists "Ge_1"`; if ($realityTest==1){ $elementRad=4.280; $elementPrefix="Ge_"; theSlicer;} else $elementCounter++;} if ($elementCounter==89){ $realityTest=`objExists "Kr_1"`; if ($realityTest==1){ $elementRad=4.141; $elementPrefix="Kr_"; theSlicer;} else $elementCounter++;} if ($elementCounter==90){ $realityTest=`objExists "Zr_1"`; if ($realityTest==1){ $elementRad=3.124; $elementPrefix="Zr_"; theSlicer;} else $elementCounter++;} if ($elementCounter==91){ $realityTest=`objExists "Ru_1"`; if ($realityTest==1){ $elementRad=2.963; $elementPrefix="Ru_"; theSlicer;} else $elementCounter++;} if ($elementCounter==92){ $realityTest=`objExists "Cd_1"`; if ($realityTest==1){ $elementRad=2.848; $elementPrefix="Cd_"; theSlicer;} else $elementCounter++;} if ($elementCounter==93){ $realityTest=`objExists "Te_1"`; if ($realityTest==1){ $elementRad=4.470; $elementPrefix="Te_"; theSlicer;} else $elementCounter++;} if ($elementCounter==94){ $realityTest=`objExists "Ba_1"`; if ($realityTest==1){ $elementRad=3.703; $elementPrefix="Ba_"; theSlicer;} else $elementCounter++;} if ($elementCounter==95){ $realityTest=`objExists "Nd_1"`; if ($realityTest==1){ $elementRad=3.575; $elementPrefix="Nd_"; theSlicer;} else $elementCounter++;} if ($elementCounter==96){ $realityTest=`objExists "Gd_1"`; if ($realityTest==1){ $elementRad=3.368; $elementPrefix="Gd_"; theSlicer;} else $elementCounter++;} if ($elementCounter==97){ $realityTest=`objExists "Er_1"`; if ($realityTest==1){ $elementRad=3.391; $elementPrefix="Er_"; theSlicer;} else $elementCounter++;} if ($elementCounter==98){ $realityTest=`objExists "Hf_1"`; if ($realityTest==1){ $elementRad=3.141; $elementPrefix="Hf_"; theSlicer;} else $elementCounter++;} if ($elementCounter==99){ $realityTest=`objExists "Os_1"`; if ($realityTest==1){ $elementRad=3.120; $elementPrefix="Os_"; theSlicer;} else $elementCounter++;} if ($elementCounter==100){ $realityTest=`objExists "Hg_1"`; if ($realityTest==1){ $elementRad=2.705; $elementPrefix="Hg_"; theSlicer;} else $elementCounter++;} if ($elementCounter==101){ $realityTest=`objExists "Po_1"`; if ($realityTest==1){ $elementRad=4.709; $elementPrefix="Po_"; theSlicer;} else $elementCounter++;} if ($elementCounter==102){ $realityTest=`objExists "Ra_1"`; if ($realityTest==1){ $elementRad=3.677; $elementPrefix="Ra_"; theSlicer;} else $elementCounter++;} if ($elementCounter==103){ $realityTest=`objExists "U_1"`; if ($realityTest==1){ $elementRad=3.395; $elementPrefix="U_"; theSlicer;} else $elementCounter++;} if ($elementCounter==104){ $realityTest=`objExists "Cm_1"`; if ($realityTest==1){ $elementRad=3.326; $elementPrefix="Cm_"; theSlicer;} else $elementCounter++;} if ($elementCounter==105){ $realityTest=`objExists "Fm_1"`; if ($realityTest==1){ $elementRad=3.286; $elementPrefix="Fm_"; theSlicer;} else $elementCounter++;} if ($elementCounter==106){ $realityTest=`objExists "Cp_1"`; if ($realityTest==1){ $elementRad=3.851; $elementPrefix="Cp_"; theSlicer;} else $elementCounter++;} if ($elementCounter==107){ $realityTest=`objExists "B_1"`; if ($realityTest==1){ $elementRad=4.083; $elementPrefix="B_"; theSlicer;} else $elementCounter++;} if ($elementCounter==108){ print "Done with all elements.\n"; select -r pCube1; delete; $elementCounter++; } if ($elementCounter==109){ //DeleteAllHistory; //delete -all -constructionHistory; print "End of process.\n"; $elementCounter++;} } global proc theSlicer (){ global int $chooserBol; if ($chooserBol==1){ print "Performing Boolean Difference:\n"; theDifference;} if ($chooserBol==2){ print "Performing Boolean Intersection (Fast):\n"; theIntersect;} if ($chooserBol==3){ print "Performing Boolean Intersection (Slow):\n"; intersectSlow; }} global proc theDifference () { global float $elementRad; global string $elementPrefix; int $i=1; int $loop=5; float $cMinX=`getAttr pCube1.boundingBoxMinX`; float $cMinY=`getAttr pCube1.boundingBoxMinY`; float $cMinZ=`getAttr pCube1.boundingBoxMinZ`; float $cMaxX=`getAttr pCube1.boundingBoxMaxX`; float $cMaxY=`getAttr pCube1.boundingBoxMaxY`; float $cMaxZ=`getAttr pCube1.boundingBoxMaxZ`; float $sMinX; float $sMinY; float $sMinZ; float $sMaxX; float $sMaxY; float $sMaxZ; eval ("group -em -n "+$elementPrefix+"sliced"); while ($loop==5) { int $sepXa; int $sepX; int $sepYa; int $sepY; int $sepZa; int $sepZ; float $sMinX=`getAttr ($elementPrefix+$i+".boundingBoxMinX")`; float $sMinY=`getAttr ($elementPrefix+$i+".boundingBoxMinY")`; float $sMinZ=`getAttr ($elementPrefix+$i+".boundingBoxMinZ")`; float $sMaxX=`getAttr ($elementPrefix+$i+".boundingBoxMaxX")`; float $sMaxY=`getAttr ($elementPrefix+$i+".boundingBoxMaxY")`; float $sMaxZ=`getAttr ($elementPrefix+$i+".boundingBoxMaxZ")`; int $sepXa, $sepXb, $sepYa, $sepYb, $sepZa, $sepZb; if (($cMinX<$sMinX&&$sMinX<$cMaxX)||($cMinX<$sMaxX&&$sMaxX<$cMaxX)||($sMinX<$cMinX&&$sMaxX>$cMaxX)){ print ("Currently Processing Atom "+$elementPrefix+$i+"\n"); if (($cMinY<$sMinY&&$sMinY<$cMaxY)||($cMinY<$sMaxY&&$sMaxY<$cMaxY)||($sMinY<$cMinY&&$sMaxY>$cMaxY)){ //print "passed2"; if (($cMinZ<$sMinZ&&$sMinZ<$cMaxZ)||($cMinZ<$sMaxZ&&$sMaxZ<$cMaxZ)||($sMinZ<$cMinZ&&$sMaxZ>$cMaxZ)){ //print "hit3"; print ("Performing Boolean Difference on Atom "+$elementPrefix+$i+"\n"); setAttr ($elementPrefix+$i+".translateX") 40; select -r pCube1; duplicate -rr -n Scalpel; move -r 40 0 0; nurbsToPoly -n ($elementPrefix+"PolyHolder"+$i) -mnd 1 -ch 1 -f 1 -pt 0 -pc 450 -chr 0.1 -ft 0.01 -mel 0.001 -d 0.1 -ut 1 -un 3 -vt 1 -vn 3 -uch 0 -ucr 0 -cht 0.2 -es 0 -ntr 0 -uss 1 ($elementPrefix+$i); polyBoolOp -op 2 -ch 1 -n ($elementPrefix+"Poly"+$i) ($elementPrefix+"PolyHolder"+$i) Scalpel; select ($elementPrefix+"Poly"+$i); eval("defaultNavigation -source phong"+$elementPrefix+" -destination "+$elementPrefix+"Poly"+$i+"|"+$elementPrefix+"Poly"+$i+"Shape.instObjGroups[0] -connectToExisting"); select -r ($elementPrefix+"Poly"+$i); DeleteHistory; delete -ch; eval ("parent "+$elementPrefix+"Poly"+$i+" "+$elementPrefix+"sliced"); delete ($elementPrefix+$i); setAttr ($elementPrefix+"Poly"+$i+".translateX") -40; if ((((($sMinY+$sMaxY)/2)-($elementRad*.3))<$cMinY)&&(((($sMinY+$sMaxY)/2)+($elementRad*.3))>$cMaxY)){ select ($elementPrefix+"Poly"+$i); polySeparate -ch 1 ($elementPrefix+"Poly"+$i);} }}} $i++; int $realityTest2=`objExists ($elementPrefix+$i)`; if ($realityTest2==0){ print "End of Element\n"; break;} } //DeleteAllHistory; //delete -all -constructionHistory; atomFinder; } global proc theIntersect () { global float $elementRad; global string $elementPrefix; int $i=1; int $loop=5; float $cMinX=`getAttr pCube1.boundingBoxMinX`; float $cMinY=`getAttr pCube1.boundingBoxMinY`; float $cMinZ=`getAttr pCube1.boundingBoxMinZ`; float $cMaxX=`getAttr pCube1.boundingBoxMaxX`; float $cMaxY=`getAttr pCube1.boundingBoxMaxY`; float $cMaxZ=`getAttr pCube1.boundingBoxMaxZ`; float $sMinX; float $sMinY; float $sMinZ; float $sMaxX; float $sMaxY; float $sMaxZ; eval ("group -em -n "+$elementPrefix+"sliced"); while ($loop==5) { int $sepXa; int $sepX; int $sepYa; int $sepY; int $sepZa; int $sepZ; float $sMinX=`getAttr ($elementPrefix+$i+".boundingBoxMinX")`; float $sMinY=`getAttr ($elementPrefix+$i+".boundingBoxMinY")`; float $sMinZ=`getAttr ($elementPrefix+$i+".boundingBoxMinZ")`; float $sMaxX=`getAttr ($elementPrefix+$i+".boundingBoxMaxX")`; float $sMaxY=`getAttr ($elementPrefix+$i+".boundingBoxMaxY")`; float $sMaxZ=`getAttr ($elementPrefix+$i+".boundingBoxMaxZ")`; //float $sMinX=((($sMinXa+$sMaxXa)/2)-($elementRad*.3)); //float $sMaxX=((($sMinXa+$sMaxXa)/2)+($elementRad*.3)); //float $sMinY=((($sMinYa+$sMaxYa)/2)-($elementRad*.3)); //float $sMinY=((($sMinYa+$sMaxYa)/2)+($elementRad*.3)); //float $sMinZ=((($sMinZa+$sMaxZa)/2)-($elementRad*.3)); //float $sMinZ=((($sMinZa+$sMaxZa)/2)+($elementRad*.3)); int $sepXa, $sepXb, $sepYa, $sepYb, $sepZa, $sepZb; if (($cMinX>$sMinX&&$sMaxX>$cMaxX)||($sMinX>$cMinX&&$sMaxX>$cMaxX)||($sMinX<$cMinX&&$sMaxX<$cMaxX)||($sMinX>$cMinX&&$sMaxX<$cMaxX)){ print ("Currently Processing Atom "+$elementPrefix+$i+"\n"); if (($cMinY>$sMinY&&$sMaxY>$cMaxY)||($sMinY>$cMinY&&$sMaxY>$cMaxY)||($sMinY<$cMinY&&$sMaxY<$cMaxY)){ //print "passed2"; if (($cMinZ>$sMinZ&&$sMaxZ>$cMaxZ)||($sMinZ>$cMinZ&&$sMaxZ>$cMaxZ)||($sMinZ<$cMinZ&&$sMaxZ<$cMaxZ)||($sMinZ>$cMinZ&&$sMaxZ<$cMaxZ)){ //print "hit3"; print ("Performing Boolean Intersection on Atom "+$elementPrefix+$i+"\n"); setAttr ($elementPrefix+$i+".translateX") 60; select -r pCube1; duplicate -rr -n Scalpel; move -r 60 0 0; nurbsToPoly -n ($elementPrefix+"PolyHolder"+$i) -mnd 1 -ch 1 -f 1 -pt 0 -pc 450 -chr 0.1 -ft 0.01 -mel 0.001 -d 0.1 -ut 1 -un 3 -vt 1 -vn 3 -uch 0 -ucr 0 -cht 0.2 -es 0 -ntr 0 -uss 1 ($elementPrefix+$i); polyBoolOp -op 3 -ch 1 -n ($elementPrefix+"Poly"+$i) ($elementPrefix+"PolyHolder"+$i) Scalpel; select ($elementPrefix+"Poly"+$i); eval("defaultNavigation -source phong"+$elementPrefix+" -destination "+$elementPrefix+"Poly"+$i+"|"+$elementPrefix+"Poly"+$i+"Shape.instObjGroups[0] -connectToExisting"); select -r ($elementPrefix+"Poly"+$i); DeleteHistory; select -r ($elementPrefix+"Poly"+$i); eval ("parent "+$elementPrefix+"Poly"+$i+" "+$elementPrefix+"sliced"); delete -ch; delete ($elementPrefix+$i); setAttr ($elementPrefix+"Poly"+$i+".translateX") -60; }}} $i++; int $realityTest2=`objExists ($elementPrefix+$i)`; if ($realityTest2==0){ print "End of Element\n"; break;} } //DeleteAllHistory; //delete -all -constructionHistory; atomFinder; } global proc intersectSlow () { global float $elementRad; global string $elementPrefix; int $i=1; int $loop=5; float $cMinX=`getAttr pCube1.boundingBoxMinX`; float $cMinY=`getAttr pCube1.boundingBoxMinY`; float $cMinZ=`getAttr pCube1.boundingBoxMinZ`; float $cMaxX=`getAttr pCube1.boundingBoxMaxX`; float $cMaxY=`getAttr pCube1.boundingBoxMaxY`; float $cMaxZ=`getAttr pCube1.boundingBoxMaxZ`; float $sMinX; float $sMinY; float $sMinZ; float $sMaxX; float $sMaxY; float $sMaxZ; eval ("group -em -n "+$elementPrefix+"sliced"); while ($loop==5) { int $sepXa; int $sepX; int $sepYa; int $sepY; int $sepZa; int $sepZ; float $sMinX=`getAttr ($elementPrefix+$i+".boundingBoxMinX")`; float $sMinY=`getAttr ($elementPrefix+$i+".boundingBoxMinY")`; float $sMinZ=`getAttr ($elementPrefix+$i+".boundingBoxMinZ")`; float $sMaxX=`getAttr ($elementPrefix+$i+".boundingBoxMaxX")`; float $sMaxY=`getAttr ($elementPrefix+$i+".boundingBoxMaxY")`; float $sMaxZ=`getAttr ($elementPrefix+$i+".boundingBoxMaxZ")`; //float $sMinX=((($sMinXa+$sMaxXa)/2)-($elementRad*.3)); //float $sMaxX=((($sMinXa+$sMaxXa)/2)+($elementRad*.3)); //float $sMinY=((($sMinYa+$sMaxYa)/2)-($elementRad*.3)); //float $sMinY=((($sMinYa+$sMaxYa)/2)+($elementRad*.3)); //float $sMinZ=((($sMinZa+$sMaxZa)/2)-($elementRad*.3)); //float $sMinZ=((($sMinZa+$sMaxZa)/2)+($elementRad*.3)); int $sepXa, $sepXb, $sepYa, $sepYb, $sepZa, $sepZb; if (($sMinX<$cMaxX&&$sMinX>$cMinX)||($cMinX<$sMaxX&&$sMaxX<$cMaxX)||($cMinX<$sMinX&&$cMaxX>$sMaxX)){ print ("Currently Processing Atom "+$elementPrefix+$i+"\n"); if (($sMinY<$cMaxY&&$sMinY>$cMinY)||($cMinY<$sMaxY&&$sMaxY<$cMaxY)||($cMinY<$sMinY&&$cMaxY>$sMaxY)){ //print "passed2\n"; if (($sMinZ<$cMaxZ&&$sMinZ>$cMinZ)||($cMinZ<$sMaxZ&&$sMaxZ<$cMaxZ)||($cMinZ<$sMinZ&&$cMaxZ>$sMaxZ)){ //print "hit3\n"; print ("Performing Boolean Intersection on Atom "+$elementPrefix+$i+"\n"); setAttr ($elementPrefix+$i+".translateX") 60; select -r pCube1; duplicate -rr -n Scalpel; move -r 60 0 0; nurbsToPoly -n ($elementPrefix+"PolyHolder"+$i) -mnd 1 -ch 1 -f 1 -pt 0 -pc 450 -chr 0.1 -ft 0.01 -mel 0.001 -d 0.1 -ut 1 -un 3 -vt 1 -vn 3 -uch 0 -ucr 0 -cht 0.2 -es 0 -ntr 0 -uss 1 ($elementPrefix+$i); polyBoolOp -op 3 -ch 1 -n ($elementPrefix+"Poly"+$i) ($elementPrefix+"PolyHolder"+$i) Scalpel; select ($elementPrefix+"Poly"+$i); eval("defaultNavigation -source phong"+$elementPrefix+" -destination "+$elementPrefix+"Poly"+$i+"|"+$elementPrefix+"Poly"+$i+"Shape.instObjGroups[0] -connectToExisting"); select -r ($elementPrefix+"Poly"+$i); DeleteHistory; select -r ($elementPrefix+"Poly"+$i); eval ("parent "+$elementPrefix+"Poly"+$i+" "+$elementPrefix+"sliced"); delete -ch; delete ($elementPrefix+$i); setAttr ($elementPrefix+"Poly"+$i+".translateX") -60; }}} $i++; int $realityTest2=`objExists ($elementPrefix+$i)`; if ($realityTest2==0){ print "End of Element\n"; break;} } //DeleteAllHistory; //delete -all -constructionHistory; atomFinder; }