[IButton,???,"Align View to Plane", [If,[TransposeIsShown],,[Exit]]//Transpose line must be showing [If,[CanvasZoomGet]!=1,[Note,"Canvas should be set to Actual Size"][Exit]] //get these values so can reset ui [VarSet,xYZ,[IGet,Transform:Rot XYZ]] [VarSet,xAxis,[IGet,Transform:Rot X]] [VarSet,yAxis,[IGet,Transform:Rot Y]] [VarSet,zAxis,[IGet,Transform:Rot Z]] [VarSet,tmpSpd,[IGet,Preferences:Interface:Rotate Speed]] [VarSet,tmpLcl,[IGet,Transform:Local Transform]] [ISet,Transform:Local Transform,0]//should be off so rotation about pivot [TransposeGet,x,y,z,xE,yE,zE] [VarSet,xE,xE-x] [VarSet,yE,yE-y] [VarSet,zE,zE-z] [VarSet,xDeg,ACOS(xE/(SQRT((xE^^2)+(yE^^2)+(zE^^2))))] [VarSet,yDeg,ACOS(yE/(SQRT((xE^^2)+(yE^^2)+(zE^^2))))] [VarSet,zDeg,ACOS(zE/(SQRT((xE^^2)+(yE^^2)+(zE^^2))))] //rotate about Y [If,zDeg > 89.9, [VarSet,ang,xDeg-90] , [VarSet,ang,NEG(xDeg+90)] ] [TransformSet, , , , , , ,0 , 0,0 ] [IPress,Transform:Rot Y] [ISet,Preferences:Interface:Rotate Speed,1] [VarSet,shift,(((600/360)*ang))] [CanvasClick,-4096,-4096,-4096+(shift),-4096] //rotate about X [If,zDeg > 89.9, [VarSet,ang,NEG(yDeg-90)] , [VarSet,ang,(yDeg-90)] ] [IPress,Transform:Rot X] [VarSet,shift,(((600/360)*ang))] [CanvasClick,-4096,-4096,-4096+(shift),-4096] //reset ui [ISet,Transform:Local Transform,tmpLcl] [ISet,Preferences:Interface:Rotate Speed,tmpSpd] [ISet,Transform:Rot XYZ,xYZ] [ISet,Transform:Rot X,xAxis] [ISet,Transform:Rot Y,yAxis] [ISet,Transform:Rot Z,zAxis] ,,0.5]//end button