gH]kDwP&trueSpaceBeta 7.61[VS_O93YJClinton Reese, Clintons 3D Creations`d8pM*#ͺOD$PNG  IHDR`ZIDATx1 0@1B>2z*Xyq]` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5k hpIENDB`/tfѭ8Lwb"qhr܂dKu=\u{(install target weldH.;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects"H"%AQHI34W}@O{4W}@O{$ Owner4Owner of the Encapsulator$(XFҦV(XFҦV"LE2Data$LE2 Data for node >g'JNjn*p" zFAa| zFAa|DhelpText\vRm)EC!avRm)EC!aD leftClickScript\1V {E!Y1V {E!YD name\!K0}q!K0}qD"rightClickScript\-1OSM n-1OSM n"LayoutLayout 럆L<_ї"1V {E!YsayHello!K0}q2System.Alert("goodbye");(XFҦV>g'JNjn*pFCr@@Z@xC?vRm)EC!a<System.Alert("hello there!");-1OSM n 럆L<_ї8DefaultOˁ CRih[  }}LActivity.Run('%THIS_NAME%' + "/doIt")8install buttons and scriptsZ`Ez]UOOˁ CRih[ 8}}PActivity.Run('%THIS_NAME%' + "/unDoIt")uninstallZ`Ez]UO GFʠN=8H.}} version 2.0.2Z`Ez]UO}} zFAa|say hello!!4&`._E#ބ6v{CustomFrame)".;]kI 忞@"0H"4W}@O{$*O΢C}*O΢C} WinIDWindow IDH!-pϗO 0)t-pϗO 0)PositionShelf Position mz!OHwc  >-MD'zZt>-MD'zZRectangle"Screen Rectangle THj6F 2s*H RÒGbDeC tRÒGbDeC  WidthWindow width [FB%n*jt[FB%n*jHeightWindow height  [GDJM [GDJMMin Width$Min. Window width%]GJ7ψ%]GJ7ψMin Height&Min. Window height^^Dy^^DyMax Width$Max. Window widthv43N tv43N tMax Height&Max. Window height~൱D@ j#^c~൱D@ j#^cMaximized(Window Is Maximized 9@'s9@'sRootNodeRootNode{Q !aOt {Q !aOt  TitleTitle Text6*Mv46*Mv4View Index$View window indexf$I `7f$I `7Frame TypeFrame Typej^G@!,j^G@!,"ViewersViewers array 2bOdA)f "I)LL !I)LL ! Def1D Default 1D GUID8M0cry8M0cry Def2D Default 2D GUIDF L$3F L$3 Def3D Default 3D GUIDobFFJL}obFFJL}SnappedTo$Snapped To WindowBXPjKɸtEBXPjKɸtE SnappedToTarget@Snapped To Window Target CornerkJHx(V@WkJHx(V@W SnappedToSource@Snapped To Window Source CornerKTLA7~fKTLA7~f"SnappedToOffsetX6Snapped To Window Offset XK8Y8O#=gtMK8Y8O#=gtM"SnappedToOffsetY6Snapped To Window Offset Ymk~_Lb.mk~_Lb.SnappedToWidth0Snapped To Window Width|7EId |7EId  SnappedToHeight2Snapped To Window HeightKXtO LKXtO L,StartSnappedToOffsetXBStart Snapped To Window Offset XVG))jHETVG))jHET,StartSnappedToOffsetYBStart Snapped To Window Offset Y?V{N7l?V{N7lSnappedToRatio,Snapped To Ratio Mode 86*n^HD9t 86*n^HD9t OwnedByOwned By|_ D|_ DTabsAsButtons Tabs As Buttons _N>G1_N>G1HiddenHidden Flag \q^2FII3w\q^2FII3wPreference,View Preference Panel >=жaMpT>=жaMpT&HideDockedTitlebarJHide Title bar when window is docked N'D)L-N'D)L-MinimizedBHJWindow Is Minimized into Blue Handle ϕ`&FSx9wϕ`&FSx9wSizeLockPrevent horizontal and/or vertical size change. 0x01 - horizontal, 0x02 - vertical˽OS˽OSDispTitleText,Display Titlebar Text Ī8mݧC>!7Ī8mݧC>!7SmallerTabs*Display smaller Tabs (XFҦV"-1OSM n"'>-MD'zZ9@'s^^DyVG))jHETF L$3[FB%n*jmk~_Lb.*O΢C}N{5FDDFE6E-518F-464A-B4B9-8D24B556E36C}˽OS6*Mv48M0cryN{485B725E-A69D-4AD5-A876-B3BBA72D2C0A}>=жaMpT~൱D@ j#^c?V{N7l KTLA7~fj^G@!,2bOdA)f 6^r[HJv-, ^r[HJv-, v43N t |7EId I)LL !BXPjKɸtEkJHx(V@W86*n^HD9t KXtO L%]GJ7ψ-1OSM n 럆L<_ї0(XFҦV>g'JNjn*pF@DBX@1@?-pϗO 0)mz!OHwc _N>G1K8Y8O#=gtMobFFJL}f$I `7 [GDJMRÒGbDeC 1ϕ`&FSx9wĪ8mݧC>!7|_ DN'D)L-{Q !aOt \q^2FII3w^r[HJv-, L{{Toolbar.;]kI 忞@"04W}@O{$n_<&KES Qn_<&KES Q NameItem nameo(K ]p do(K ]p dHelpTextHelp text8Cechg8Cechg RowsToolbar RowsNL {NL {$Dimension$Toolbar dimension$Z_IFL!OSZ_IFL!OSHorizontal Horizontal Flag .S)A2UЍc.S)A2UЍcIsSubToolbar$IsSubToolbar Flag =JM@hM Q3=JM@hM Q3IsImportant2IsImportant Toolbar Flag .UuwO e.UuwO eIDToolbar ID'0#ԪC'X/9}'0#ԪC'X/9}$ IndexItem Index$_N>G1JdWJc~JdWJc~PrototypePrototype name<9BH@b\<9BH@b\IsMinimizedPTrue/False flag if toolbar is minimized m O1Wwm O1Ww$IsAspectT(Aspect Toolbar Flag $(XFҦV".UuwO e'0#ԪC'X/9}m O1Ww=JM@hM Q3 (XFҦV>g'JNjn*pFBCb@ f@?_N>G1Z_IFL!OS NL {JdWJc~8Cechg.S)A2UЍc n_<&KES Qo(K ]p d<9BH@b\ 48@J g'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %%4W}@O{$(XFҦVLE2Data, 1#J@#QLJ@#QLLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 3MT^RwL~YYTMT^RwL~YYTޢLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 22|=Bynj2|=Bynj Control OutTransitionOutz@Hoz@Ho Control InTransitionIn 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ BNewCommand// Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); button1 = "targetWeldButton"; button2 = "Target Weld";//remove version 1.0 button theScript = "vertexTargetWeld"; theWidget = "PE TargetWeld"; //theWidget2 = "PE lasso select"; theWidgetPath = "/Widgets/Tools/Mesh editor"; // if(Node.Exists("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button1)) { replaceLeft = System.Question(button1 + " button already exists in the toolbar. Would you like to replace it?"); if(replaceLeft) Node.Delete("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button1); else return; } //remove the target weld version 1.x button if(Node.Exists("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button2)) { Node.Delete("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button2); } //check for and create customframe if(!Node.Exists("/Project/Windows Manager Space/CustomFrame")) Node.Copy(owner + "/CustomFrame","/Project/Windows Manager Space"); //copy buttons to custom frame oldButt = Node.Copy(owner + "/" + button1,"/Project/Windows Manager Space/CustomFrame/Toolbar"); //oldButt = Node.Copy(owner + "/" + button2,"/Project/Windows Manager Space/CustomFrame/Toolbar"); //copy script to custom commands //create CustomCommands if(!Node.Exists("/Scripts/CustomCommands")) { temp = Node.Create("Kernel Package/Object","/Scripts"); custcom = Node.Rename(temp,"CustomCommands"); } if(Node.Exists("/Scripts/CustomCommands/" + theScript)) { replaceLeft = System.Question(theScript + " script already exists. Would you like to replace it?"); if(replaceLeft) Node.Delete("/Scripts/CustomCommands/" + theScript); else return; } Node.Copy(owner + "/" + theScript,"/Scripts/CustomCommands"); //replacing base widgets for point edit rectangle select and lasso select //backup the originals if not already backedup //if(!Node.Exists(theWidgetPath + "/" + theWidget + "ORIGINAL")) //{ // //rename the widget node // Node.Rename(theWidgetPath + "/" + theWidget, theWidget+"ORIGINAL"); //} //else //{ Node.Delete(theWidgetPath + "/" + theWidget);//delete non-original //} //copy replacement widget node Node.Copy(owner + "/" + theWidget, theWidgetPath); //second widget backup the originals if not already backedup //if(!Node.Exists(theWidgetPath + "/" + theWidget2 + "ORIGINAL")) //{ // //rename the widget node // Node.Rename(theWidgetPath + "/" + theWidget2, theWidget2+"ORIGINAL"); //} //else //{ // Node.Delete(theWidgetPath + "/" + theWidget2);//delete non-original //} ////copy replacement widget node //Node.Copy(owner + "/" + theWidget2, theWidgetPath); //activate it WindowsManager.Activate(); WindowsManager.UpdateWindowsStructure(); //reset the toolbar //1D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/CustomFrame', 1); //2D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/CustomFrame', 2); } NScript Object Package/jScript language"4W}@O{(XFҦV>g'JNjn*pnB Cb@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ Ca8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Ca:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); button1 = "targetWeldButton"; //button2 = "lassoSelectButton"; theScript = "vertexTargetWeld"; theWidget = "PE TargetWeld"; //theWidget2 = "PE lasso select"; theWidgetPath = "/Widgets/Tools/Mesh editor"; //remove buttons if(Node.Exists("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button1)) { Node.Delete("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button1); } //if(Node.Exists("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button2)) //{ // Node.Delete("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button2); //} //remove the script if(Node.Exists("/Scripts/CustomCommands/" + theScript)) { Node.Delete("/Scripts/CustomCommands/" + theScript); } if(Node.Exists(theWidgetPath + "/" + theWidget)) Node.Delete(theWidgetPath + "/" + theWidget); //replacing custom widgets for point edit rectangle select and lasso select with originals //if(Node.Exists(theWidgetPath + "/" + theWidget + "ORIGINAL")) //{ // if(Node.Exists(theWidgetPath + "/" + theWidget)) // Node.Delete(theWidgetPath + "/" + theWidget); // widg = Node.Copy(theWidgetPath + "/" + theWidget+"ORIGINAL", theWidgetPath); // Node.Rename(widg, theWidget) //} //second custom widget revert to original //if(Node.Exists(theWidgetPath + "/" + theWidget2 + "ORIGINAL")) //{ // if(Node.Exists(theWidgetPath + "/" + theWidget2)) // Node.Delete(theWidgetPath + "/" + theWidget2); // widg = Node.Copy(theWidgetPath + "/" + theWidget2+"ORIGINAL", theWidgetPath); // Node.Rename(widg, theWidget2) //} //activate it WindowsManager.Activate(); WindowsManager.UpdateWindowsStructure(); //reset the toolbar //1D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/CustomFrame', 1); //2D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/CustomFrame', 2); } NScript Object Package/jScript languageZh"4W}@O{(XFҦV>g'JNjn*pnD^Cb@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ Ca8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Ca:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HoR/$ķKniaWy{"targetWeldButton.;]kI 忞@"Q4W}@O{$n_<&KES Qo(K ]p dQm6l3Ll/V^Qm6l3Ll/V^CommandAction commandN="QEj%:N="QEj%:RClickCommand,RClick Action Command$ܿORE bi$ܿORE biPreview2D8Item preview 2D resource id*S]?G[~x;*S]?G[~x;Preview3D8Item preview 3D resource id'0#ԪC'X/9}'0#ԪC'X/9} IndexItem IndexSr)B8Sr)B8Package"Package class idDNOQsP'ѭDNOQsP'ѭBitmap.Item preview 3D bitmap eSBgciDsL[wiDsL[wRadio Group(Radio buttons group4E*4E*ControlID2D&User Control ID 2Dh>ǑJ]@<h>ǑJ]@<ControlID3D&User Control ID 3D+fyOA7XC+fyOA7XC MaxItemBmpWidth2Maximal item bitmap sizeTl@fC.^&GZTl@fC.^&GZ"MaxItemBmpHeight2Maximal item bitmap sizeh0OY~ C h0OY~ C  MaxItemTxtWidth.Maximal item text size]8teO?s]8teO?s"MaxItemTxtHeight.Maximal item text size sH?DC sH?DCTagTagIlfāA>ˁwIlfāA>ˁwTagAliasTag Alias/ru|GF0/ru|GF0AgentIDUpdate agentID][D+Iv(][D+Iv( MenuAct As Menu ?Aυ D)7t?Aυ D)7tGrayPercentxGray icon about specified percents if it is not highlighted8{Nm(!8{Nm(!IsMenuButtonIs Menu Button (XFҦV"-1OSM n"ko6fx L="$ avڨRɐ+3:dJcM5 *x \WF_uRѨ3~Y<oQO;u)e_W2K6Ф+e1v)%*ԍofk"m1a sH?DCk 3V I"x{PE TargetWeldHJ.;]kI 忞@"PvPP PHI4W}@O{$8ܖE){h8ܖE){hHelp stringHelp stringqMN,,qMN,, Icon Icon eSBgc՞'fA5-_՞'fA5-_D3DEYED3DEYE =xNT{-1OSM n"qjigzAZ{\qjigzAZ{\LE2Data, 2$LE2 Data for node >g'JNjn*p(XFҦVLE2Data, 1"qMN,,qjigzAZ{\>g'JNjn*pFBDC`@0@?4W}@O{(XFҦV>g'JNjn*pF DCb@@T@BpB?՞'fA5-_-1OSM n 럆L<_ї0.;]kI 忞@8ܖE){hPE target weldx{Cnf!E2)O=.Tx{Default ()K{()K{Help stringHelp string^H@$E)}Ϟ^H@$E)}Ϟ Icon Icon eSBgcWAd3@>'zCGAtAd3@>'zCGAAspect name4Name of the widget aspectHWHW6Sm6FCbE^mt6Sm6FCbE^mAspect&Aspect name output9C]O<%`9C]O<%`All contextsCheck to make widget visible in all contexts. Uncheck to use context rules to evaluate widget visibility PxWW} @?lWW} @?l$Coordinate systemJDefault coordinate system for widget 0d'O5S.JNCp;?NCp;?Cachable:Check to cache widget aspect PwEP/Mv0d `EP/Mv0d `$Widget components^Widget components to activate with this aspect p\_Fœŗ!O[Lޜ~6pŗ!O[Lޜ~6pIn front8Render in front of geometry Pv4W}@O{$(XFҦVLE2Data, 1"-1OSM n" Ad3@>'zCGADefault4W}@O{ŗ!O[Lޜ~6p (XFҦV>g'JNjn*pFCb@ h@?9C]O<%` -1OSM n 럆L<_ї0()K{^H@$E)}Ϟ6Sm6FCbE^mDefaultNCp;?WW} @?lEP/Mv0d `pE LM})w{*World origin dockingPk>PPP#Ā5B(N#Ā5B(N"Widget component"Widget component p\_FœPwP4W}@O{$(XFҦV"-1OSM n"(XFҦV>g'JNjn*pFhRCb@H@?k>g'JNjn*p-1OSM n"nptDwJ@RvnptDwJ@RvLE2Data, 3$LE2 Data for node >g'JNjn*p՞'fA5-_lK E/&R6lK E/&R6LE2Data, 6$LE2 Data for node >g'JNjn*p9F*DI}58P9F*DI}58PLE2Data, 4$LE2 Data for node >g'JNjn*p(XFҦVLE2Data, 1"OCh}?d=OCh}?d=LE2Data, 2$LE2 Data for node >g'JNjn*pP`|oC3`|oC3 DockingPosition"Docking position \J C[>PazM@aazM@aLE2Data, 5$LE2 Data for node >g'JNjn*p lK E/&R6>g'JNjn*pFDC`@0@C,B)\?4W}@O{nptDwJ@Rv>g'JNjn*pFC@C`@0@?(XFҦV>g'JNjn*pFoCCb@@@A?azM@a>g'JNjn*pFC@C`@0@$B?啯]`O둒B>g'JNjn*pFC@C`@0@BB?՞'fA5-_9F*DI}58P>g'JNjn*pFC@C`@0@!?OCh}?d=>g'JNjn*pFC@C`@0@?`|oC3-1OSM n 럆L<_ї0.;]kI 忞@wI}g{{GesturePWGA^ֵ WGA^ֵ InputFilterInput filters PC`N,n<%C`N,n<%ControlOut&Control activationP⸄BxɜJK@B>y⸄BxɜJK@B>yGestureGesture output Է`HgC:MUPk1<:KU~k1<:KU~ActiveGesture active P4W}@O{$lK E/&R6LE2Data(XFҦVLE2Data, 1"-1OSM n"lK E/&R6>g'JNjn*pFCC`@T@?⸄BxɜJK@B>y4W}@O{(XFҦV>g'JNjn*pF>CCb@@T@?C`N,n<%k1<:KU~ WGA^ֵ -1OSM n 럆L<_ї0sN!{8Et{:Background widget controller P!N޷IZ}յQ!N޷IZ}յQ DockingPosition"Docking position \J C[>k+D"J>Pk+D"J>PActive>True, it base widget is active PS:iD p\ohe}S:iD p\ohe}GesturesJGestures assigned to control surface Է`HgC:MUhd~F Hwhd~F HwOrientation6Coordinate system modifier `^02eE{|@cLo@d:cLo@d:$Coordinate system$Coordinate system 0d'O5S.J-1OSM n#/4W}@O{%(XFҦVLE2Data, 1#dCu繹NdCu繹NPriorityTool priority dCu繹NS:iD p\ohe}4W}@O{!N޷IZ}յQhd~F Hw`^02eE{|@B????(XFҦV>g'JNjn*pFCCb@_@?cLo@d:k+D"J>P -1OSM n 럆L<_ї02Owj%{g~{Mouse RClickbŽiI[_"tbŽiI[_"$Input stateInput state NO7*-%7z^drAE7z^drAEKeyfilterIn(Key control flow in mIo`'ǾpTmIo`'ǾpKeyfilterOut*Key control flow out P4W}@O{%(XFҦVLE2Data, 1#-1OSM n#4W}@O{(XFҦV>g'JNjn*pFCb@H@?mIo`'ǾpbŽiI[_"7z^drAE -1OSM n 럆L<_ї0A^[Lۇ~8D~{,Simple Script CommandոV*!JLոV*!JLConntrolInControl inucT @daucT @daCommand&Command to execute9Lg x\9Lg x\Undo commandUndo commandJAQH\ 8JAQH\ 8$$Widget parameters2Hidden widget parameters WAMydY_$4W}@O{$(XFҦV"9Lg x\(XFҦV>g'JNjn*pF@:DCb@@P@?JAQH\ 8ucT @daTMeshModifiers.CancelSelectionBasedTool();ոV*!JLA^[Lۇ~8}{2Simple Script Command, 1ոV*!JLucT @da9Lg x\JAQH\ 8$(XFҦV"4W}@O{$-1OSM n"9Lg x\(XFҦV>g'JNjn*pF*DCb@S@?JAQH\ 8ucT @daActivity.Run("Scripts/CustomCommands/vertexTargetWeld/exitweldmode");ոV*!JL-1OSM n 럆L<_ї0HZ>YTMH{}{(Continuous Sequenceˆ%#@~ˆ%#@~ControlInControl inPB~OuqhcB~Ouqhc First8First action, button style.ZqNBaZqNBaSecondBSecond action, continuous style.JAQH\ 8$(XFҦV"P4W}@O{$ˆ%#@~(XFҦV>g'JNjn*pFCCb@@P@?ZqNBaJAQH\ 8B~Ouqhc-Jcy||{$Coordinate systemPJAQH\ 8p%0G_RE}T0G_RE}$Coordinate system$coordinate system 0d'O5S.JPxP4W}@O{%(XFҦV#-1OSM n#0G_RE}4W}@O{(XFҦV>g'JNjn*pFLb@@@?JAQH\ 8-1OSM n 럆L<_ї0܂dKu= {Select_applyP.;]kI 忞@" PkfPc`PEAP>P<P54W}@O{$P!N޷IZ}յQi(XFҦV"-1OSM n"!N޷IZ}յQ(XFҦV>g'JNjn*pFCCBb@@@B?-1OSM n 럆L<_ї0"?@ !G{Apply commandrT@ӘrT@ӘConntrolInControl inJAQH\ 8$P4W}@O{$(XFҦV"-1OSM n"(XFҦV>g'JNjn*pF$DsCb@@@?rT@ӘJAQH\ 8-1OSM n 럆L<_ї0\tCE=I& U`{Basic select о4M.FN4M.FNControlInControl inP 6'BY:n 6'BY:n ModeSelection mode. vertex,triangle edge,face edge,triangle,face,autoд~2Dq@O=~~2Dq@O=~ Style<Selection style. all, visible-1OSM n"pa_M9hȴpa_M9hȴActiveActive D \MFRemove elements from selection аJAQH\ 8p$ji:4Ox1i:4Ox1$ Active viewport6Active viewport parameters 3obݠOG`ѷ$k4W}@O{$(XFҦV"jO]DTO]DHighlite mesh0Selection highlite mesh >W5f@(䐈P`:UI9d(Q:UI9d(QEnabledEnabled  pa_M9hȴ ~2Dq@O=~visibleD \MFg'JNjn*pF@Db@ b@?Zn창LL); JAQH\ 8:UI9d(Q 4M.FNi:4Ox1 6'BY:nvertexO]D-1OSM n 럆L<_ї0sN!{8E:Background widget controller i!N޷IZ}յQk+D"J>PhS:iD p\ohe}hd~F HwcLo@d:-1OSM n#f4W}@O{%(XFҦVLE2Data, 1#dCu繹N dCu繹NS:iD p\ohe}4W}@O{!N޷IZ}յQhd~F Hw(XFҦV>g'JNjn*pFCjb@_@?cLo@d:k+D"J>P -1OSM n 럆L<_ї0wI}g|GesturePeWGA^ֵ dC`N,n<%CPd⸄BxɜJK@B>yhk1<:KU~Pc4W}@O{$lK E/&R6LE2Data(XFҦVLE2Data, 1"-1OSM n"lK E/&R6>g'JNjn*pFCC`@T@?⸄BxɜJK@B>y4W}@O{(XFҦV>g'JNjn*pFLClBb@@T@?C`N,n<%k1<:KU~ WGA^ֵ -1OSM n 럆L<_ї0܂dKu=f Render Highlite Pa.;]kI 忞@"[PXUPM`4W}@O{$P`VIQGіF͡TVIQGіF͡TInput Mesh*Input Mesh for Shape >W5f@(䐈PV_׊;Jf|ڢ׊;Jf|ڢBWldMatrixWorld matrix `^02eE{|@[A0!I0"-1OSM n#(XFҦV"P^tveDCE`"IWJtveDCE`"IWJB Mesh"Ouput Shape Mesh >W5f@(䐈Z!z"I0"].F_P#.F_P#D3DMaterial Output material D瞲tEY&ak0!P]S $hKnPSVmS $hKnPSVm"RenderAttributes"RenderAttributes HEoq5v"! S $hKnPSVm4W}@O{(XFҦV>g'JNjn*pFJDBb@@X@?VIQGіF͡T׊;Jf|ڢ.F_P#-1OSM n 럆L<_ї0tveDCE`"IWJ.;]kI 忞@2"A$D3DMaterialSimple\JurGNCltJurGNClDiffuseColorDiffuse color -n,NjlpgP\P\.F_P#P][4W}@O{%(XFҦV"-1OSM n"JurGNCl-n,Njlpg????4W}@O{(XFҦV>g'JNjn*pFDCb@H@?.F_P#-1OSM n 럆L<_ї047m2O _TransformPZ<ĠF姁J]t<ĠF姁J]DMatrix,Object's input matrix `^02eE{|@EPYXYWAGtWAGOwnerMatrixOwner's matrix `^02eE{|@XPY偢jD%~`8t偢jD%~`8BObjMatrix Object's matrix `^02eE{|@CX׊;Jf|ڢPC_PX4W}@O{%(XFҦV"-1OSM n"偢jD%~`84W}@O{(XFҦV>g'JNjn*pFDCb@@T@?׊;Jf|ڢWAG`^02eE{|@B????<ĠF姁J]`^02eE{|@B????-1OSM n 럆L<_ї0vEwTݬ^ ShapeVtveDCE`"IWJPBP^PVVIQGіF͡TpVU4W}@O{$(XFҦV"-1OSM n"(XFҦV>g'JNjn*pFD$Cb@H@?VIQGіF͡TtveDCE`"IWJ-1OSM n 럆L<_ї0qU F3f2Object Render AttributesPTS $hKnPSVmPP]S8Ns2]t8Ns2] Surface Opacity Surface OpacityPTPS^mګA~Ksi[t^mګA~Ksi[Points opacityPoints opacityPTR(lrsGrt(lrsGrPoints Size>Point Size in Point rendering.PTPR\Eh{5t\Eh{5Points ColorLColor of points during the rendering. -n,NjlpgPTQ"PbEGDߗrt"PbEGDߗr0Ignore mesh point color0Ignore mesh point color PTPQF?N dtF?N d.Ignore mesh point size.Ignore mesh point size PTP]*qBCxt]*qBCxEdges opacityEdges opacityPTPP\J:I%7ut\J:I%7uEdges ColorEdges Color -n,NjlpgPTOiA޲1rIK>XtiA޲1rIK>X0Ignore mesh edges color0Ignore mesh edges color PTPO,ot"AaYt,ot"AaY$Show hidden lines`Do not use ZBuffer in point and wireframe modes PTN^RI8ÿRt^RI8ÿRShow backfaceslEnable two-sided rendering when Color mode is enabled PTPNçwH5#VtçwH5#V0Ignore layer attributesvDo not combine render attributes with layer defined values PTW0@zdW0@zd%VersionVersion%PM4W}@O{$(XFҦV"-1OSM n"Kȅ8vDCxZtȅ8vDCxZInvisibleInvisible flag PTPKF+2MGtF+2MGCast shadows$Cast shadows flag PTJI2GWM:).$tI2GWM:).$ Receive shadows Receive shadows PTPJmBޖw ptmBޖw pLayer index(Modeler layer indexPTIo[nfFto[nfF Overlay opacity Overlay opacityPTPIzgGFohN)tzgGFohN)Overlay ColorOverlay Color. -n,NjlpgPTHvhD zʔtvhD zʔ4Ignore mesh overlay color6Ignore mesh overlay color. PTPHfB #^tfB #^$Transparency Mode@Quality of transparency solving :KrbSxPTG|$}mK;)t|$}mK;) OverlayEnable*Enable color overlay  PTPGrg@*oHtrg@*oH OverlayColor*Color of the overlay -n,Njlpg PTF!eLZE^Nt!eLZE^N OverlayStrengthJStrength (visibility) of the overlay PTI2GWM:).$zgGFohN)S $hKnPSVm]*qBCx?vhD zʔçwH5#V rg@*oH\Eh{5-n,Njlpg?\J:I%7u-n,Njlpg?fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort(XFҦV>g'JNjn*pFD}Cb@w@?F?N d 8Ns2]ȅ8vDCxZ"PbEGDߗr F+2MG^mګA~Ksi[?(lrsGr?W0@zdo[nfF?mBޖw p,ot"AaY -1OSM n 럆L<_ї DefaultAdvanced GFʠN=5 }} ^RI8ÿRZ`Ez]UOͽ>fdN*5Ւh, ^RI8ÿRϱZ`Ez]UO GFʠN= 5 }} ,ot"AaYZ`Ez]UOͽ>fdN*5Ւh , Ϳ,ot"AaYZ`Ez]UO GFʠN= 05 }} ȅ8vDCxZZ`Ez]UOͽ>fdN*5Ւh 0, ȅ8vDCxZZ`Ez]UO GFʠN=0@5 }} F+2MGZ`Ez]UOͽ>fdN*5Ւh0@, F+2MGZ`Ez]UO GFʠN=@P5 }} I2GWM:).$Z`Ez]UOͽ>fdN*5Ւh@P, I2GWM:).$Z`Ez]UO GFʠN=P`5 }} mBޖw pZ`Ez]UO1釥GP>aP`,mBޖw pZ`Ez]UO GFʠN=0(@: }} Color\J:I%7uZ`Ez]UO B>I(0h@%\VV\J:I%7uZ`Ez]UO GFʠN=@(P< }} Opacity]*qBCxZ`Ez]UON\q+nN-K^(@hPA?]*qBCxZ`Ez]UOY@ GFʠN=h@PD }} Enable Obj ModeçwH5#VZ`Ez]UOͽ>fdN*5Ւh@P, çwH5#VZ`Ez]UO GFʠN=h : }} Color\Eh{5Z`Ez]UO B>I %\VV\Eh{5Z`Ez]UO GFʠN=h 0< }} Opacity^mګA~Ksi[Z`Ez]UON\q+nN-K^ 0A?^mګA~Ksi[Z`Ez]UOY@ GFʠN=h0@9 }} Size(lrsGrZ`Ez]UON\q+nN-K^0@A?$@(lrsGrZ`Ez]UOY@ GFʠN=( < }} Opacity8Ns2]Z`Ez]UON\q+nN-K^(h A?8Ns2]Z`Ez]UOY@ GFʠN=h,}} SurfaceZ`Ez]UO GFʠN= h0*}} EdgesZ`Ez]UO GFʠN=h+}} PointsZ`Ez]UO GFʠN=Ph`5 }} fB #^Z`Ez]UOnevG4'hP`̎ fB #^VNo hidden faces No solving Triangle sortZ`Ez]UO^RI8ÿR |$}mK;)!eLZE^NiA޲1rIK>X R BO[8˕dPE select modePFz+"ERhQovtz+"ERhQov NameHMesh editor settings connector nameEE56gNƥ~3T56gNƥ~3 Value^Specified Mesh editor settings connector valuePPE4W}@O{$(XFҦV"-1OSM n"56gNƥ~3vertex(XFҦV>g'JNjn*pFC@b@H@?-1OSM n 럆L<_ї0z+"ERhQov$PE selection modeHZ>YTMH{Ԣ(Continuous SequenceCˆ%#@~PCB~OuqhcоBZqNBa:JAQH\ 8$A4W}@O{$(XFҦV"-1OSM n"ˆ%#@~(XFҦV>g'JNjn*pF CDCb@@P@?ZqNBaJAQH\ 8B~Ouqhc-1OSM n 럆L<_ї0DOEĕMouse LDragP@bŽiI[_"p$P?7z^drAEP?mIo`'ǾpPPe(XFҦV"P>4W}@O{$-1OSM n"(XFҦV>g'JNjn*pF$BBX@1@?mIo`'Ǿp-1OSM n 럆L<_ї0bŽiI[_"7z^drAE R BO[8˕4 Pe select styleP=z+"ERhQovp<<56gNƥ~3PдP<4W}@O{$(XFҦV"-1OSM n"56gNƥ~3visible(XFҦV>g'JNjn*pFCCb@H@?-1OSM n 럆L<_ї0z+"ERhQov&PE selection styleA^[Lۇ~8x,Simple Script Command:ոV*!JLucT @da9Lg x\JAQH\ 8$(XFҦV"P54W}@O{$-1OSM n"9Lg x\(XFҦV>g'JNjn*pFB Cb@@P@?JAQH\ 8ucT @daActivity.Run("Scripts/CustomCommands/vertexTargetWeld/twstep");ոV*!JL-1OSM n 럆L<_ї0܂dKu=lj"vertexTargetWeldP4.;]kI 忞@"-(P#PdP'_34W}@O{$(XFҦV"-1OSM n"(XFҦV>g'JNjn*pF Db@@X@cB?-1OSM n 럆L<_їDefaultOˁ CRih[ }}VActivity.Run('%THIS_NAME%' + "/startHere")RunZ`Ez]UOOˁ CRih[ 0}}^Activity.Stop('%THIS_NAME%' + "/Run Activity") StopZ`Ez]UO GFʠN=0@.}} version 2.0.2Z`Ez]UO}}48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { var firstvertset = params.ConValue('firstvertset'); // TODO: put your action code here owner = System.ThisOwner(); if(firstvertset) { //Node.Value(System.ThisName(),"firstvertset") = false; Activity.Run(owner + "/getsecondvert"); } else { Activity.Run(owner + "/getfirstvert"); } } NScript Object Package/jScript language~൱D@ j#^cbooleanfirstvertset ;x{ ?Meh;x{ ?Meh 4W}@O{(XFҦV>g'JNjn*pn8D8B`@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ b NewCommand// Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); sel = Node.FirstSelected();//get selected object //if not in point edit mode return if(!Node.ConExists(sel,"Selection")) return; //get the mesh and read it's selection data - IRdMeshSelection themesh = Node.Value(sel,"Mesh"); seldata = System.CreateDO('Space 3D Package/Selection Data'); seldata = Node.Value(sel,"Selection"); //return if vertex selection count is not 1 vertcnt = seldata.GetNumSelectedVertices(); if(vertcnt!=1) { //params.ConValue("loop") = 1; params.ConValue("validvertex") = false; return; } vertind0 = seldata.GetSelectedVertexIndex(0); if(Node.Exists("/Status Line")) { if(Node.ConExists("/Status Line","Model")) { Node.Value("/Status Line","Model") = "Target Weld: Select the second target vertex"; } } params.ConValue("firstvertex") = vertind0; params.ConValue("validvertex") = true; } NScript Object Package/jScript language}"intfirstvertexr(O H booleanvalidvertex +HJ6v4W}@O{(XFҦV>g'JNjn*pnCBb@@T@2|=Bynj|?z@Hoۙ>?r(O H J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho+HJ6v 48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ (NewCommand2 // Execute // Called to execute the command function Execute(params) { var firstvertex = params.ConValue('firstvertex'); var secondvertex = params.ConValue('secondvertex'); var firstvalid = params.ConValue('firstvalid'); var secondvalid = params.ConValue('secondvalid'); // TODO: put your action code here sel = Node.FirstSelected(); //get the mesh and read it's selection data - IRdMeshSelection //fix work with sds //themesh = Node.Value(sel,"Mesh"); themesh = Node.Value(sel + "/Editable shape","Mesh"); seldata = System.CreateDO('Space 3D Package/Selection Data'); seldata = Node.Value(sel,"Selection"); dV = System.CreateDO("Space 3D Package/Vertex Stream Data"); dV = themesh.GetVertices(); //select both points and weld them together seldata.ClearSelection(); seldata.SelectVertex(firstvertex,1);//weight=1 seldata.SelectVertex(secondvertex,1); Node.Value(sel,"Selection") = seldata; ScriptObject.RunCmd("mesh modifiers package/weld", "ConntrolIn", 0, "Selection", ""); if(Node.Exists("/Status Line")) { if(Node.ConExists("/Status Line","Model")) { Node.Value("/Status Line","Model") = ""; } } if(Node.Exists("/Status Line")) { if(Node.ConExists("/Status Line","Model")) { Node.Value("/Status Line","Model") = "Target Weld: Select the first vertex"; } } //reset flags for next weld owner = System.ThisOwner(); Node.Value(owner + "/getfirstvert","validvertex") = false; Node.Value(owner + "/getsecondvert","validvertex") = false; } NScript Object Package/jScript language~൱Dl"#^cintfirstvertexlbɋFoœintsecondvertexqW^F!`ACbooleanfirstvalid HiX=@Mlgx]booleansecondvalid kG RZmJ,<HiX=@Mlgx] 4W}@O{(XFҦV>g'JNjn*pnkDBb@@\@2|=Bynj|?z@Hoۙ>?kG RZmJ,< J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?lbɋFoœ-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HoqW^F!`AC48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?6M ?_ ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { var firstvalid = params.ConValue('firstvalid'); var firstvertex = params.ConValue('firstvertex'); if(!firstvalid) { params.ConValue("validvertex") = false; return; } // TODO: put your action code here owner = System.ThisOwner(); sel = Node.FirstSelected();//get selected object //if not in point edit mode return if(!Node.ConExists(sel,"Selection")) return; //get the mesh and read it's selection data - IRdMeshSelection themesh = Node.Value(sel,"Mesh"); seldata = System.CreateDO('Space 3D Package/Selection Data'); seldata = Node.Value(sel,"Selection"); //return if vertex selection count is not 1 vertcnt = seldata.GetNumSelectedVertices(); if(vertcnt!=1) { //params.ConValue("loop") = 1; params.ConValue("validvertex") = false; return; } vertind0 = seldata.GetSelectedVertexIndex(0); params.ConValue("secondvertex") = vertind0; params.ConValue("validvertex") = true; // //move first point to second point location // //get mesh data dV = System.CreateDO("Space 3D Package/Vertex Stream Data"); dV = themesh.GetVertices(); //put first vertex in 0 second in 1 vertind1 = vertind0; vertind0 = firstvertex; // find distance between first and second vertices dX = dV.x(vertind1) - dV.x(vertind0); dY = dV.y(vertind1) - dV.y(vertind0); dZ = dV.z(vertind1) - dV.z(vertind0); //transform from local to world coordinates(somewhat) theMatrix = System.CreateDO('Math Package/Matrix Float Data'); theMatrix = Node.Value(sel,"WldMatrix"); //Widgets.Move for PE takes rotation into account but not translation theMatrix.SetTransX(0); theMatrix.SetTransY(0); theMatrix.SetTransZ(0); oldPoint = System.CreateDO('Math Package/Point Data'); newPoint = System.CreateDO('Math Package/Point Data'); oldPoint.x = dX; oldPoint.y = dY; oldPoint.z = dZ; newPoint = theMatrix.TransformPoint(oldPoint); xval = newPoint.x; yval = newPoint.y; zval = newPoint.z; //select first point and move it to be coincedent with the second vertex seldata.ClearSelection(); seldata.SelectVertex(vertind0,1);//weight=1 Node.Value(sel,"Selection") = seldata; Widgets.Move(sel,xval,yval,zval);//semi local coordinates for PE widgets move } NScript Object Package/jScript language~൱D@ j#^cintsecondvertexF9a,BO]k booleanvalidvertex +HJ6vbooleanfirstvalid 6M ?_intfirstvertexkJI"aA.tK^4W}@O{(XFҦV>g'JNjn*pn)DNCb@@\@2|=Bynj|?z@Hoۙ>?kJI"aA.tK^J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho+HJ6v 48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand<// Execute // Called to execute the command function Execute(params) { if(Node.Exists("/Status Line")) { if(Node.ConExists("/Status Line","Model")) { Node.Value("/Status Line","Model") = ""; } } //reset flags for next weld owner = System.ThisOwner(); Node.Value(owner + "/getfirstvert","validvertex") = false; Node.Value(owner + "/getsecondvert","validvertex") = false; } NScript Object Package/jScript language~൱D\G#^c4W}@O{(XFҦV>g'JNjn*pnvCCb@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommandx// Execute // Called to execute the command function Execute(params) { MeshModifiers.CancelSelectionBasedTool(); //reset flags for next weld owner = System.ThisOwner(); Node.Value(owner + "/getfirstvert","validvertex") = false; Node.Value(owner + "/getsecondvert","validvertex") = false; } NScript Object Package/jScript language4W}@O{(XFҦV>g'JNjn*pnC_Cb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho8ʯȥJH|o7 gH]kDwPU8`d8pM*#ͺOD/tfѭ8Lwb"qhrTt