MZ@ !L!This program cannot be run in DOS mode. $PELAzH! ` y @ 4yW  H.textY ` `.rsrcp@@.reloc @BpyH-K( *( *s s s s *0 ~o *0 ~o *0 ~o *0 ~o *0 ( ( *0( *0 ( *0( *0 -(+**0 *( *0( { o -(+ { o *J( s } *( *0 rp( *0 rOp*0rip*0*0( *(! *0rqp*0rp*0rp*0rp*0rp*0r5p*0rYp*0r[p**>~,**(" *0rp( *0rp*0j (!rp rp(# r3p(# rkp(# rp(# rp(# rp(# r.p(# rNp(# rpp(# rp(# rp(# rp(# rp(# rp(# rBp(# r`p(# r p(# r%p(# r;p(# rIp(# r{p(# rp(# rxp(# rp(# rOp(# rcp(# rp(# rp(# rp(# r p(# rxp(# r p(# rOp(# rp(# rI p(# r> p(# rp(# rH p(# r p(# r p(# r p(# rxp(# r p(# rOp(# rp(# r p(# rp(# rxp(# rp(# rOp(# rxp(# rp(# rp(# rEp(# rp(# rlp(# rp(# rp(# rp(# r:p(# rp(# rp(# rOp(# rp(# rp(# rp(# r p(# rRp(# rdp(# rp(# rp(# rp(# r*p(# rNp(# r`p(# rxp(# rp(# rp(# rQp(# rp(# rLp(# rxp(# rp(# rOp(# rp(# r0p(# rfp(# rxp(# rp(# rOp(# rp(# rVp(# rp(# rp(# rp(# rp(# r,p(# rFp(# r`p(# rp(# rp(# rp(# rp(# r>p(# rOp(# rp(# rp(# r> p(# rp(# r,p(# rp(# rp(# rlp(# rp(# r p(# rp(# rp(# r p(# r6 p(# rJ p(# r` p(# rt p(# r p(# r p(# r4!p(# r!p(# r$"p(# rJ"p(# rl"p(# r"p(# r"p(# r#p(# r#p(# r %p(# r%p(# r&p(# rQ&p(# r('p(# r'p(# rt p(# r'p(# r'p(# r(p(# r %p(# r(p(# r&p(# r )p(# r)p(# rt p(# r%*p(# r=*p(# rk*p(# r*p(# r+p(# r&p(# r+p(# r)p(# rt p(# r,p(# r,p(# r-p(# r*p(# r+p(# r&p(# r-p(# rH.p(# rt p(# r.p(# r.p(# r.p(# r*p(# r+p(# r&p(# rb/p(# rH.p(# rt p(# r)0p(# r?0p(# rm0p(# r %p(# r+p(# r&p(# r0p(# r1p(# rt p(# r 2p(# r&2p(# rT2p(# r2p(# r(p(# r&p(# rk3p(# r44p(# rt p(# r;p(# r4p(# r4p(# r5p(# r5p(# r5p(# r6p(# r6p(# r7p(# r> p(# r.7p(# rT7p(# r7p(# r> p(# r7p(# r7p(# r7p(# rn8p(# r8p(# r8p(# r&9p(# r`9p(# r9p(# r&:p(# r:p(# r:p(# ($ o% &*BSJB v2.0.50727l#~\#Strings<:#USH#GUIDI|#BlobW 3! %''   K-[T 1T T*'7d7WApA  S6hTT 1ERT`ghh)7:7 E7 O ] x-  1"1v 1-1:1G!P 'X '` b i ( 5 B Fc!F%h!6l4!F>qH!Gxd!e!'!y!'!'!F!Fq"Fq"FH,"FWh@"'H"F{q\"Fqp"Fq"Fq"Fq"Fq"Fq"Fq"b"#'#F$#Fq8#F.#\\9 '''''$','4'<'$y,y4y<y'''gc%h)t>q''DLLL''9'A'WhY'a'Y5q;z@'L ')!.;Z.3Q@+@CCIScci2+s{?++#++ + #s@+@`+`+++++ lp{)0p)FKOTY^  uu  T ZZZ-- mscorlibMicrosoft.VisualBasicMyApplicationMyMyComputerMyProjectMyWebServicesThreadSafeObjectProvider`1MonkeyScriptWrapperPluginPlugInAttributesLibraryLoader_c70405a3_40be_4db8_2707_0a59b93a5bd6TheRenderGroupsCommandMicrosoft.VisualBasic.ApplicationServicesApplicationBase.ctorMicrosoft.VisualBasic.DevicesComputerSystemObject.cctorget_Computerm_ComputerObjectProviderget_Applicationm_AppObjectProviderUserget_Userm_UserObjectProviderget_WebServicesm_MyWebServicesObjectProviderApplicationWebServicesEqualsoGetHashCodeTypeGetTypeToStringCreate__Instance__TinstanceDispose__Instance__get_GetInstanceMicrosoft.VisualBasic.MyServices.InternalContextValue`1m_ContextGetInstanceRhino_DotNetRMA.RhinoMRhinoUtilityPlugInGuidPlugInIDPlugInNamePlugInVersionIRhinoPlugInplugin_load_timePlugInLoadTimeOnLoadPlugInMRhinoPlugInAttributesAddressCountryEmailFaxOrganizationPhoneUpdateURLWebsitem_LoadedLoadLibrariesMRhinoScriptCommandCommandUUIDEnglishCommandNameIRhinoCommandresultIRhinoCommandContextRunCommandcontextSystem.ComponentModelEditorBrowsableAttributeEditorBrowsableStateSystem.CodeDom.CompilerGeneratedCodeAttributeSystem.DiagnosticsDebuggerHiddenAttributeMicrosoft.VisualBasic.CompilerServicesStandardModuleAttributeHideModuleNameAttributeSystem.ComponentModel.DesignHelpKeywordAttributeSystem.Runtime.CompilerServicesRuntimeHelpersGetObjectValueRuntimeTypeHandleGetTypeFromHandleActivatorCreateInstanceMyGroupCollectionAttributeget_Valueset_ValueSystem.Runtime.InteropServicesComVisibleAttributeMRhinoPlugInStringConcatRhUtilMRhinoAppRhinoAppRunScriptCompilationRelaxationsAttributeRuntimeCompatibilityAttributeRender_GroupRender_Group.dllM{c70405a3-40be-4db8-2707-0a59b93a5bd6}Render_Group066'<Developer address>'<Developer country>!cwwang@gmail.com<Developer fax>1<Developer organization>#<Developer phone>'<Developer website>M{67829fd3-7ac8-4ea4-812c-0a5df9d42652}RenderGroups#! -_RunScript ( #Option Explicit 7'Script written by cwwang e'Script version Sunday, July 13, 2008 7:34:43 PM 'renders selected views (with current renderer) of all objects in the scene whether they are hidden or not ['all groups in the scene will get rendered. %Private folder Private width !Private height !Private angle1 !Private angle2 Private name Call Main() Sub Main() 9 Dim c:c= rhino.GroupCount  If c<1 Then Rhino.Print ("No groups in current scene. Create a groups of objects to render")  Exit Sub  End If 1 ''get folder location 5 If isEmpty(folder) Then folder = Rhino.BrowseForFolder("c:/", "Browse for folder to save renderings", "Batch Render")  Else folder = Rhino.BrowseForFolder(folder, "Browse for folder to save renderings", "Batch Render")  End If E If IsNull(folder) Then Exit Sub   'get prefix 1 If isEmpty(name) Then name=Rhino.GetString("Enter prefix for jpeg file naming (ex. testRender)") name=Rhino.GetString("Enter prefix for jpeg file naming (ex. testRender)",name) Dim arrShowObjects:arrShowObjects=Rhino.GetObjects("select objects to keep along with groups during render (ex. groundplane. Don't select your groups. All groups will get rendered individually, including groups inside groups and hidden groups)" )  i Dim arrObjects : arrObjects = rhino.GroupNames () + 'get camera angles 5 If isEmpty(angle1) Then angle1=Rhino.GetReal("Enter camera angle (degrees) of camera Z rotation (clockwise in top view)",45) angle1=Rhino.GetReal("Enter camera angle (degrees) of camera Z rotation (clockwise in top view)",angle1) angle2=Rhino.GetReal("Enter camera angle (degrees) of camera X rotation (clockwise in right view)",45) angle2=Rhino.GetReal("Enter camera angle (degrees) of camera X rotation (clockwise in right view)",angle1) 3 'Dim angle1:angle1=45 1 'Dim angle2:angle2=45 e 'Dim views : views = Rhino.CheckListBox (Array("Perspective","Top", "Right", "Left", "Front","Back","Bottom") , Array(1,1,1,0,1,0,0),"Select views To render.", "Batch Render") _ ' Let the user pick the named view to render  Dim std_views: std_views = Array("Perspective","Top", "Right", "Left", "Front","Back","Bottom") g Dim named_views : named_views = Rhino.NamedViews  Dim arrViews E If Not isNull(named_views) Then m arrViews= Rhino.JoinArrays(std_views, named_views)  Else - arrViews=std_views # Dim arrCheck() E 'If Not isArray(chviews)=0 Then  Dim i ? For i=2 To uBound(arrViews) = ReDim Preserve arrCheck(i) # arrCheck(0)=1 # arrCheck(1)=1 # arrCheck(i)=0  Next  'End If  dim views views = Rhino.CheckListBox ( arrViews, arrCheck, "Select views To render.", "Batch Render") ' Dim views : views = Rhino.MultiListBox ( arrViews, "Select views To render.", "Batch Render") 3 If isEmpty(width) Then o width=rhino.GetReal("Render resolution width ",400) s width=rhino.GetReal("Render resolution width ",width) 5 If isEmpty(height) Then s height=rhino.GetReal("Render resolution height ",400) { height=rhino.GetReal("Render resolution height ",height) 1 'Dim width:width=3000 5 'Dim height:height=3000 % Dim arrTarget()  Dim object + Dim count: count=0  Dim label  Dim group ' Dim ObjectBound i Call Rhino.HideObjects (Rhino.ObjectsByType (0)) K If Not isnull(arrShowObjects) Then U Call Rhino.ShowObjects(arrShowObjects) A For Each object In arrObjects U If Not Rhino.IsGroupEmpty(object) Then u 'Rhino.Command "_SetView " & "World "& "Perspective " u Rhino.Command "_BringViewportToTop " & "Perspective " S group= Rhino.ObjectsByGroup(object) I Call Rhino.ShowObjects (group) S ObjectBound=Rhino.BoundingBox(group) y Dim a:a=Rhino.Distance(ObjectBound(0),objectBound(6))*2 y Dim b:b=Rhino.Distance(ObjectBound(2),objectBound(4))*2  Dim d ! If a>b Then  d=a  Else  d=b  End If / ReDim arrTarget(2) w arrTarget(0)=( ObjectBound(3)(0)+ ObjectBound(5)(0))/2 w arrTarget(1)= (ObjectBound(3)(1)+ ObjectBound(5)(1))/2 w arrTarget(2)= (ObjectBound(3)(2)+ ObjectBound(5)(2))/2 % Dim arrCamera ! Dim ptarget k Call Rhino.RenderResolution(Array(width,height)) - If(views(0)) Then 'label= Rhino.AddTextDot(GetRenderFileName(" ", count, "Perspective"," "),objectBound(0)) 5 arrCamera=Array(arrTarget(0)-d*Sin(Rhino.ToRadians(angle1)),arrTarget(1)-d*Cos(Rhino.ToRadians(angle1)),arrTarget(2)+d*Sin(Rhino.toradians(angle2)))  ptarget=Rhino.ViewCameraTarget("Perspective",arrCamera, arrTarget) u Call Rhino.ViewCameraUp("Perspective",Array(0,0,1)) = Rhino.Command "_-Render"  Rhino.Command "_-SaveRenderWindowAs " & GetRenderFileName(name, folder, count, "Perspective", "png") [ Rhino.Command "_-CloseRenderWindow" M 'Call Rhino.DeleteObject(label)  'TOP - If(views(1)) Then  arrCamera=Array(arrTarget(0),arrTarget(1),arrTarget(2)+d) w Call Rhino.ViewCameraUp("Perspective",Array(0,1,0)) Rhino.Command "_-SaveRenderWindowAs " & GetRenderFileName(name,folder,count, "Top", "png") U Rhino.Command "_-CloseRenderWindow"  'RIGHT - If(views(2)) Then  arrCamera=Array(arrTarget(0)+d,arrTarget(1),arrTarget(2)) ptarget=Rhino.ViewCameraTarget("Perspective",arrCamera, arrTarget) w Call Rhino.ViewCameraUp("Perspective",Array(0,0,1)) Rhino.Command "_-SaveRenderWindowAs " & GetRenderFileName(name,folder,count, "Right", "png")  'LEFT - If(views(3)) Then  arrCamera=Array(arrTarget(0)-d,arrTarget(1),arrTarget(2))  Rhino.Command "_-SaveRenderWindowAs " & GetRenderFileName(name,folder,count, "Left", "png") S Rhino.Command "_-CloseRenderWindow"  'FRONT - If(views(4)) Then  arrCamera=Array(arrTarget(0),arrTarget(1)-d,arrTarget(2))  Rhino.Command "_-SaveRenderWindowAs " & GetRenderFileName(name,folder,count, "Front", "png")  'BACK - If(views(5)) Then  arrCamera=Array(arrTarget(0),arrTarget(1)+d,arrTarget(2)) Rhino.Command "_-SaveRenderWindowAs " & GetRenderFileName(name,folder,count, "Back", "png") Y Rhino.Command "_-CloseRenderWindow"  'BOTTOM - If(views(6)) Then  arrCamera=Array(arrTarget(0),arrTarget(1),arrTarget(2)-d)  ptarget=Rhino.ViewCameraTarget("Perspective",arrCamera, arrTarget) Rhino.Command "_-SaveRenderWindowAs " & GetRenderFileName(name,folder,count, "Bottom", "png") W Rhino.Command "_-CloseRenderWindow" A For i=7 To uBound(arrViews) 1 If(views(i)) Then Rhino.Command "_-NamedView _Restore " & arrViews(i) & " _Enter", 0 ? Rhino.Command "_-Render"  Rhino.Command "_-SaveRenderWindowAs " & GetRenderFileName(name,folder,count, arrViews(i), "png") W Rhino.Command "_-CloseRenderWindow"  End If  Next % count=count+1 I Call Rhino.HideObjects (group)  End If  Next 3 Rhino.Command("_Show") o Rhino.Command "_SetView " & "World "& "Perspective " End Sub uFunction GetRenderFileName(name,folder,count, view, ext) - Dim doc, file, temp 9 'doc = Rhino.DocumentName e temp = name & "_"& count &"_"& view & "." & ext _ 'file = LCase(Replace( ".3dm", temp, -1, 1)) q GetRenderFileName = Chr(34) & folder & temp & Chr(34) End Function )%OY*C=`2Kz\V4?_ :        0 (U"|uU0 ! ) 9= E  MyTemplate8.0.0.0    My.Computer My.UserMy.WebServicesMy.Applicationa  a4System.Web.Services.Protocols.SoapHttpClientProtocolCreate__Instance__Dispose__Instance__   !!)} 9 TWrapNonExceptionThrows\y~y py_CorDllMainmscoree.dll% @0HX\\4VS_VERSION_INFO?DVarFileInfo$TranslationStringFileInfo000004b0,FileDescription 0FileVersion0.0.0.0DInternalNameRender_Group.dll(LegalCopyright LOriginalFilenameRender_Group.dll4ProductVersion0.0.0.08Assembly Version0.0.0.0p 9