home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2002 April / GSSH42002.iso / EDITOREN / DS / gmax / gmaxinst_1-1.exe / gmaxsetup11.cab / Macro_EditablePatch.mcr < prev    next >
Text File  |  2002-02-13  |  16KB  |  638 lines

  1. -- EditPatch Operations MacroScript File
  2. --
  3. -- Created:          June 12 2000
  4. -- Last Updated:     June 16 2000
  5. --
  6. -- Author :   Frank DeLise
  7. -- Version:  3ds max 4
  8. --
  9. -- 
  10. -- EditPatch operations Macroscript file.
  11. --***********************************************************************************************
  12. -- MODIFY THIS AT YOUR OWN RISK
  13. -- 
  14. -- Renamed Flt_EditPath --> Filters.Is_EditPatch
  15.  
  16. MacroScript EPatch_Attach
  17. ButtonText:"Attach"
  18. Category:"Editable Patch Object" 
  19. internalCategory:"Editable Patch Object" 
  20. Tooltip:"Attach (Patch)" 
  21. -- Needs Icon
  22. (
  23.     On IsEnabled Return Filters.Is_EditPatch()
  24.     On IsVisible Return Filters.Is_EditPatch()
  25.  
  26.     On Execute Do
  27.     (
  28.         if subobjectlevel == undefined then max modify mode
  29.         Try(ApplyOperation Edit_Patch Patchops.startAttach)Catch()
  30.     
  31.     )
  32.  
  33. )
  34.  
  35. MacroScript EPatch_Detach_Element
  36. ButtonText:"Detach Element"
  37. Category:"Editable Patch Object" 
  38. internalCategory:"Editable Patch Object" 
  39. Tooltip:"Detach Element (Patch)" 
  40. -- Needs Icon
  41. (
  42.     On IsEnabled Return Filters.Is_EditPatch()
  43.     On IsVisible Return Filters.Is_EditPatch()
  44.  
  45.     On Execute Do
  46.     (
  47.         if subobjectlevel == undefined then max modify mode
  48.         if subobjectlevel != 3 then subobjectlevel = 3
  49.         Try(ApplyOperation Edit_Patch PatchOps.Detach)Catch()
  50.     
  51.     )
  52.  
  53. )
  54. MacroScript EPatch_Detach_Patch
  55. ButtonText:"Detach"
  56. Category:"Editable Patch Object" 
  57. internalCategory:"Editable Patch Object" 
  58. Tooltip:"Detach (Patch)" 
  59. -- Needs Icon
  60. (
  61.     On IsEnabled Return Filters.Is_EditPatch()
  62.     On IsVisible Return Filters.Is_EditPatch()
  63.  
  64.     On Execute Do
  65.     (
  66.         if subobjectlevel == undefined then max modify mode
  67.         if subobjectlevel != 4 then subobjectlevel = 4
  68.         Try(ApplyOperation Edit_Patch PatchOps.Detach)Catch()
  69.     
  70.     )
  71.  
  72. )
  73. MacroScript EPatch_Extrude_Edge
  74. ButtonText:"Extrude Edge"
  75. Category:"Editable Patch Object" 
  76. internalCategory:"Editable Patch Object" 
  77. Tooltip:"Extrude Edge (Patch)" 
  78. -- Needs Icon
  79. (
  80.     On IsEnabled Return Filters.Is_EditPatch()
  81.     On IsVisible Return Filters.Is_EditPatch()
  82.  
  83.     On Execute Do
  84.     (
  85.         if subobjectlevel == undefined then max modify mode
  86.         if subobjectlevel != 2 then subobjectlevel = 2
  87.         Try(ApplyOperation Edit_Patch PatchOps.StartExtrude)Catch()
  88.     
  89.     )
  90.  
  91. )
  92. MacroScript EPatch_Extrude_Patch
  93. ButtonText:"Extrude Patch"
  94. Category:"Editable Patch Object" 
  95. internalCategory:"Editable Patch Object" 
  96. Tooltip:"Extrude Patch (Patch)" 
  97. -- Needs Icon
  98. (
  99.     On IsEnabled Return Filters.Is_EditPatch()
  100.     On IsVisible Return Filters.Is_EditPatch()
  101.  
  102.     On Execute Do
  103.     (
  104.         if subobjectlevel == undefined then max modify mode
  105.         if subobjectlevel != 3 then subobjectlevel = 3
  106.         Try(ApplyOperation Edit_Patch PatchOps.StartExtrude)Catch()
  107.     
  108.     )
  109.  
  110. )
  111. MacroScript EPatch_Extrude_Element
  112. ButtonText:"Extrude Element"
  113. Category:"Editable Patch Object" 
  114. internalCategory:"Editable Patch Object" 
  115. Tooltip:"Extrude Element (Patch)" 
  116. -- Needs Icon
  117. (
  118.     On IsEnabled Return Filters.Is_EditPatch()
  119.     On IsVisible Return Filters.Is_EditPatch()
  120.  
  121.     On Execute Do
  122.     (
  123.         if subobjectlevel == undefined then max modify mode
  124.         if subobjectlevel != 4 then subobjectlevel = 4
  125.         Try(ApplyOperation Edit_Patch PatchOps.StartExtrude)Catch()
  126.     
  127.     )
  128.  
  129. )
  130. MacroScript EPatch_Bind
  131. ButtonText:"Bind"
  132. Category:"Editable Patch Object" 
  133. internalCategory:"Editable Patch Object" 
  134. Tooltip:"Bind (Patch)" 
  135. -- Needs Icon
  136. (
  137.     On IsEnabled Return Filters.Is_EditPatch()
  138.     On IsVisible Return Filters.Is_EditPatch()
  139.  
  140.     On Execute Do
  141.     (
  142.         if subobjectlevel == undefined then max modify mode
  143.         if subobjectlevel != 1 then subobjectlevel = 1
  144.         Try(ApplyOperation Edit_Patch PatchOps.StartBind)Catch()
  145.     
  146.     )
  147.  
  148. )
  149. MacroScript EPatch_UnBind
  150. ButtonText:"Unbind"
  151. Category:"Editable Patch Object" 
  152. internalCategory:"Editable Patch Object" 
  153. Tooltip:"Unbind (Patch)" 
  154. -- Needs Icon
  155. (
  156.     On IsEnabled Return Filters.Is_EditPatch()
  157.     On IsVisible Return Filters.Is_EditPatch()
  158.  
  159.     On Execute Do
  160.     (
  161.         if subobjectlevel == undefined then max modify mode
  162.         if subobjectlevel == 1 then Try(ApplyOperation Edit_Patch PatchOps.UnBind)Catch()
  163.         else subobjectlevel = 1
  164.     )
  165.  
  166. )
  167. MacroScript EPatch_Weld
  168. ButtonText:"Weld Verticies"
  169. Category:"Editable Patch Object" 
  170. internalCategory:"Editable Patch Object" 
  171. Tooltip:"Weld Vertices (Patch)" 
  172. -- Needs Icon
  173. (
  174.     On IsEnabled Return Filters.Is_EditPatch()
  175.     On IsVisible Return Filters.Is_EditPatch()
  176.  
  177.     On Execute Do
  178.     (
  179.         if subobjectlevel == undefined then max modify mode
  180.         if subobjectlevel != 2 then subobjectlevel = 2
  181.         Try(ApplyOperation Edit_Patch PatchOps.Weld)Catch()
  182.     
  183.     )
  184.  
  185. )
  186. MacroScript EPatch_Add_Tri
  187. ButtonText:"Add Tri"
  188. Category:"Editable Patch Object" 
  189. internalCategory:"Editable Patch Object" 
  190. Tooltip:"Add Tri (Patch)" 
  191. -- Needs Icon
  192. (
  193.     On IsEnabled Return Filters.Is_EditPatch()
  194.     On IsVisible Return Filters.Is_EditPatch()
  195.  
  196.     On Execute Do
  197.     (
  198.         if subobjectlevel == undefined then max modify mode
  199.         if subobjectlevel != 2 then subobjectlevel = 2
  200.         Try(ApplyOperation Edit_Patch PatchOps.AddTri)Catch()
  201.     
  202.     )
  203.  
  204. )
  205.  
  206. MacroScript EPatch_Add_Quad
  207. ButtonText:"Add Quad"
  208. Category:"Editable Patch Object" 
  209. internalCategory:"Editable Patch Object" 
  210. Tooltip:"Add Quad (Patch)" 
  211. -- Needs Icon
  212. (
  213.     On IsEnabled Return Filters.Is_EditPatch()
  214.     On IsVisible Return Filters.Is_EditPatch()
  215.  
  216.     On Execute Do
  217.     (
  218.         if subobjectlevel == undefined then max modify mode
  219.         if subobjectlevel != 2 then subobjectlevel = 2
  220.         Try(ApplyOperation Edit_Patch PatchOps.AddQuad)Catch()
  221.     
  222.     )
  223.  
  224. )
  225.  
  226. MacroScript EPatch_Hide
  227. ButtonText:"Hide (Patch)"
  228. Category:"Editable Patch Object" 
  229. internalCategory:"Editable Patch Object" 
  230. Tooltip:"Hide (Patch)" 
  231. -- Needs Icon
  232. (
  233.     On IsEnabled Return Filters.Is_EditPatch()
  234.     On IsVisible Return Filters.Is_EditPatch()
  235.  
  236.     On Execute Do
  237.     (
  238.         if subobjectlevel == undefined then max modify mode
  239.         if subobjectlevel != 3 then subobjectlevel = 3
  240.         else Try(ApplyOperation Edit_Patch PatchOps.Hide)Catch()
  241.     
  242.     )
  243.  
  244. )
  245.  
  246. MacroScript EPatch_UnHide
  247. ButtonText:"Unhide All (Patch)"
  248. Category:"Editable Patch Object" 
  249. internalCategory:"Editable Patch Object" 
  250. Tooltip:"Unhide All (Patch)" 
  251. -- Needs Icon
  252. (
  253.     On IsEnabled Return Filters.Is_EditPatch()
  254.     On IsVisible Return Filters.Is_EditPatch()
  255.  
  256.     On Execute Do
  257.     (
  258.         if subobjectlevel == undefined then max modify mode
  259.         if subobjectlevel == undefined then subobjectlevel = 1
  260.         Try(ApplyOperation Edit_Patch PatchOps.UnHideAll)Catch()
  261.     
  262.     )
  263.  
  264. )
  265.  
  266. MacroScript EPatch_Bevel_Patch
  267. ButtonText:"Bevel Patch"
  268. Category:"Editable Patch Object" 
  269. internalCategory:"Editable Patch Object" 
  270. Tooltip:"Bevel Patch (Patch)" 
  271. -- Needs Icon
  272. (
  273.     On IsEnabled Return Filters.Is_EditPatch()
  274.     On IsVisible Return Filters.Is_EditPatch()
  275.  
  276.     On Execute Do
  277.     (
  278.         if subobjectlevel == undefined then max modify mode
  279.         if subobjectlevel != 3 then subobjectlevel = 3
  280.         Try(ApplyOperation Edit_Patch PatchOps.StartBevel)Catch()
  281.     
  282.     )
  283.  
  284. )
  285. MacroScript EPatch_Bevel_Element
  286. ButtonText:"Bevel Element"
  287. Category:"Editable Patch Object" 
  288. internalCategory:"Editable Patch Object" 
  289. Tooltip:"Bevel Element (Patch)" 
  290. -- Needs Icon
  291. (
  292.     On IsEnabled Return Filters.Is_EditPatch()
  293.     On IsVisible Return Filters.Is_EditPatch()
  294.  
  295.     On Execute Do
  296.     (
  297.         if subobjectlevel == undefined then max modify mode
  298.         if subobjectlevel != 4 then subobjectlevel = 4
  299.         Try(ApplyOperation Edit_Patch PatchOps.StartBevel)Catch()
  300.     
  301.     )
  302.  
  303. )
  304.  
  305. MacroScript EPatch_Delete_Vertex
  306. ButtonText:"Delete Vertex"
  307. Category:"Editable Patch Object" 
  308. internalCategory:"Editable Patch Object" 
  309. Tooltip:"Delete Patch Vertex (Patch)" 
  310. -- Needs Icon
  311. (
  312.     On IsEnabled Return Filters.Is_EditPatch()
  313.     On IsVisible Return Filters.Is_EditPatch()
  314.  
  315.     On Execute Do
  316.     (
  317.         if subobjectlevel == undefined then max modify mode
  318.         if subobjectlevel != 1 then subobjectlevel = 1
  319.         Try(ApplyOperation Edit_Patch PatchOps.Delete)Catch()
  320.     
  321.     )
  322.  
  323. )
  324.  
  325. MacroScript EPatch_Delete_Edge
  326. ButtonText:"Delete Edge"
  327. Category:"Editable Patch Object" 
  328. internalCategory:"Editable Patch Object" 
  329. Tooltip:"Delete Patch Edge (Patch)" 
  330. -- Needs Icon
  331. (
  332.     On IsEnabled Return Filters.Is_EditPatch()
  333.     On IsVisible Return Filters.Is_EditPatch()
  334.  
  335.     On Execute Do
  336.     (
  337.         if subobjectlevel == undefined then max modify mode
  338.         if subobjectlevel != 2 then subobjectlevel = 2
  339.         Try(ApplyOperation Edit_Patch PatchOps.Delete)Catch()
  340.     
  341.     )
  342.  
  343. )
  344.  
  345.  
  346. MacroScript EPatch_Delete_Patch
  347. ButtonText:"Delete Patch"
  348. Category:"Editable Patch Object" 
  349. internalCategory:"Editable Patch Object" 
  350. Tooltip:"Delete Patch (Patch)" 
  351. -- Needs Icon
  352. (
  353.     On IsEnabled Return Filters.Is_EditPatch()
  354.     On IsVisible Return Filters.Is_EditPatch()
  355.  
  356.     On Execute Do
  357.     (
  358.         if subobjectlevel == undefined then max modify mode
  359.         if subobjectlevel != 3 then subobjectlevel = 3
  360.         Try(ApplyOperation Edit_Patch PatchOps.Delete)Catch()
  361.     
  362.     )
  363.  
  364. )
  365.  
  366. MacroScript EPatch_Delete_Element
  367. ButtonText:"Delete Patch Element"
  368. Category:"Editable Patch Object" 
  369. internalCategory:"Editable Patch Object" 
  370. Tooltip:"Delete Patch Element (Patch)" 
  371. -- Needs Icon
  372. (
  373.     On IsEnabled Return Filters.Is_EditPatch()
  374.     On IsVisible Return Filters.Is_EditPatch()
  375.  
  376.     On Execute Do
  377.     (
  378.         if subobjectlevel == undefined then max modify mode
  379.         if subobjectlevel != 4 then subobjectlevel = 4
  380.         Try(ApplyOperation Edit_Patch PatchOps.Delete)Catch()
  381.     
  382.     )
  383.  
  384. )
  385.  
  386. MacroScript EPatch_Subdivide_Edge
  387. ButtonText:"Subdivide Edge"
  388. Category:"Editable Patch Object" 
  389. internalCategory:"Editable Patch Object" 
  390. Tooltip:"Subdivide Edge (Patch)" 
  391. -- Needs Icon
  392. (
  393.     On IsEnabled Return Filters.Is_EditPatch()
  394.     On IsVisible Return Filters.Is_EditPatch()
  395.  
  396.     On Execute Do
  397.     (
  398.         if subobjectlevel == undefined then max modify mode
  399.         if subobjectlevel == 2 then Try(ApplyOperation Edit_Patch PatchOps.Subdivide)Catch()
  400.         else subobjectlevel = 2
  401.     
  402.     )
  403.  
  404. )
  405.  
  406. MacroScript EPatch_Subdivide_Patch
  407. ButtonText:"Subdivide Patch"
  408. Category:"Editable Patch Object" 
  409. internalCategory:"Editable Patch Object" 
  410. Tooltip:"Subdivide Patch (Patch)" 
  411. -- Needs Icon
  412. (
  413.     On IsEnabled Return Filters.Is_EditPatch()
  414.     On IsVisible Return Filters.Is_EditPatch()
  415.  
  416.     On Execute Do
  417.     (
  418.         if subobjectlevel == undefined then max modify mode
  419.         if subobjectlevel == 3 or subobjectlevel == 4 then Try(ApplyOperation Edit_Patch PatchOps.Subdivide)Catch()
  420.         else subobjectlevel = 3
  421.     )
  422.  
  423. )
  424. MacroScript EPatch_Subdivide_Element
  425. ButtonText:"Subdivide Element"
  426. Category:"Editable Patch Object" 
  427. internalCategory:"Editable Patch Object" 
  428. Tooltip:"Subdivide Element (Patch)" 
  429. -- Needs Icon
  430. (
  431.     On IsEnabled Return Filters.Is_EditPatch()
  432.     On IsVisible Return Filters.Is_EditPatch()
  433.  
  434.     On Execute Do
  435.     (
  436.         if subobjectlevel == undefined then max modify mode
  437.         if subobjectlevel == 4 then Try(ApplyOperation Edit_Patch PatchOps.Subdivide)Catch()
  438.         else subobjectlevel = 4
  439.     )
  440.  
  441. )
  442. -- Last Updated:     Sept 5 2000
  443. --
  444. -- Author :   Fred Ruff
  445. -- Version:  3ds max 4
  446. --
  447. -- 
  448. -- EditPatch operations Macroscript updates.
  449. --***********************************************************************************************
  450. -- MODIFY THIS AT YOUR OWN RISK
  451. MacroScript EPatch_CreatePatch
  452. ButtonText:"Create Patch"
  453. Category:"Editable Patch Object" 
  454. internalCategory:"Editable Patch Object" 
  455. Tooltip:"Create (Patch)" 
  456. -- Needs Icon
  457. (
  458.     On IsEnabled Return Filters.Is_EditPatch()
  459.     On IsVisible Return Filters.Is_EditPatch()
  460.  
  461.     On Execute Do
  462.     (
  463.         if subobjectlevel == undefined then max modify mode
  464.         if subobjectlevel != 3 then subobjectlevel = 3
  465.         Try(ApplyOperation Edit_Patch PatchOps.startcreate)Catch()
  466.     )
  467. )
  468. MacroScript EPatch_TargetWeld
  469. ButtonText:"Target Weld"
  470. Category:"Editable Patch Object" 
  471. internalCategory:"Editable Patch Object" 
  472. Tooltip:"Target Weld (Patch)" 
  473. -- Needs Icon
  474. (
  475.     On IsEnabled Return Filters.Is_EditPatch()
  476.     On IsVisible Return Filters.Is_EditPatch()
  477.  
  478.     On Execute Do
  479.     (
  480.         if subobjectlevel == undefined then max modify mode
  481.         if subobjectlevel != 1 then subobjectlevel = 1
  482.         Try(ApplyOperation Edit_Patch PatchOps.StartWeldtarget)Catch()
  483.     )
  484. )
  485. MacroScript EPatch_FlipNormalMode
  486. ButtonText:"Flip Normals Mode"
  487. Category:"Editable Patch Object" 
  488. internalCategory:"Editable Patch Object" 
  489. Tooltip:"Flip Normals Mode (Patch)" 
  490. -- Needs Icon
  491. (
  492.     On IsEnabled Return Filters.Is_EditPatch()
  493.     On IsVisible Return Filters.Is_EditPatch()
  494.  
  495.     On Execute Do
  496.     (
  497.         if subobjectlevel == undefined then max modify mode
  498.         if subobjectlevel != 3 then subobjectlevel = 3
  499.         Try(ApplyOperation Edit_Patch PatchOps.StartFlipNormalMode)Catch()
  500.     )
  501. )
  502. MacroScript EPatch_SelectOpenEdges
  503. ButtonText:"Select Open Edges"
  504. Category:"Editable Patch Object" 
  505. internalCategory:"Editable Patch Object" 
  506. Tooltip:"Select Open Edges (Patch)" 
  507. -- Needs Icon
  508. (
  509.     On IsEnabled Return Filters.Is_EditPatch()
  510.     On IsVisible Return Filters.Is_EditPatch()
  511.  
  512.     On Execute Do
  513.     (
  514.         if subobjectlevel == undefined then max modify mode
  515.         if subobjectlevel != 2 then subobjectlevel = 2
  516.         Try(ApplyOperation Edit_Patch PatchOps.SelectOpenEdges)Catch()
  517.     )
  518. )
  519. MacroScript EPatch_BreakVertex
  520. ButtonText:"Break Vertex"
  521. Category:"Editable Patch Object" 
  522. internalCategory:"Editable Patch Object" 
  523. Tooltip:"Break Vertex (Patch)" 
  524. -- Needs Icon
  525. (
  526.     On IsEnabled Return Filters.Is_EditPatch()
  527.     On IsVisible Return Filters.Is_EditPatch()
  528.  
  529.     On Execute Do
  530.     (
  531.         if subobjectlevel == undefined then max modify mode
  532.         if subobjectlevel == 1  then Try(ApplyOperation Edit_Patch PatchOps.Break)Catch()
  533.         else subobjectlevel = 1
  534.     )
  535. )
  536. MacroScript EPatch_CreateShapeFromEdges
  537. ButtonText:"Create Shape"
  538. Category:"Editable Patch Object" 
  539. internalCategory:"Editable Patch Object" 
  540. Tooltip:"Create Shape From Edges (Patch)" 
  541. -- Needs Icon
  542. (
  543.     On IsEnabled Return Filters.Is_EditPatch()
  544.     On IsVisible Return Filters.Is_EditPatch()
  545.  
  546.     On Execute Do
  547.     (
  548.         if subobjectlevel == undefined then max modify mode
  549.         if subobjectlevel != 2 then subobjectlevel = 2
  550.         Try(ApplyOperation Edit_Patch PatchOps.CreateShapeFromEdges)Catch()
  551.     )
  552. )
  553. MacroScript EPatch_FlipNormal
  554. ButtonText:"Flip Normal"
  555. Category:"Editable Patch Object" 
  556. internalCategory:"Editable Patch Object" 
  557. Tooltip:"Flip Normals Selected (Patch)" 
  558. -- Needs Icon
  559. (
  560.     On IsEnabled Return Filters.Is_EditPatch()
  561.     On IsVisible Return Filters.Is_EditPatch()
  562.  
  563.     On Execute Do
  564.     (
  565.         if subobjectlevel == undefined then max modify mode
  566.         if subobjectlevel != 4 then subobjectlevel = 4
  567.         Try(ApplyOperation Edit_Patch PatchOps.FlipNormal)Catch()
  568.     )
  569. )
  570. MacroScript EPatch_UnifyNormal
  571. ButtonText:"Unify Normals"
  572. Category:"Editable Patch Object" 
  573. internalCategory:"Editable Patch Object" 
  574. Tooltip:"Unify Normals (Patch)" 
  575. -- Needs Icon
  576. (
  577.     On IsEnabled Return Filters.Is_EditPatch()
  578.     On IsVisible Return Filters.Is_EditPatch()
  579.  
  580.     On Execute Do
  581.     (
  582.         if subobjectlevel == undefined then max modify mode
  583.         if subobjectlevel != 4 then subobjectlevel = 4
  584.         Try(ApplyOperation Edit_Patch PatchOps.UnifyNormal)Catch()
  585.     )
  586. )
  587. MacroScript EPatch_SelectByMatID
  588. ButtonText:"Selected by ID"
  589. Category:"Editable Patch Object" 
  590. internalCategory:"Editable Patch Object" 
  591. Tooltip:"Select by Material ID (Patch)" 
  592. -- Needs Icon
  593. (
  594.     On IsEnabled Return Filters.Is_EditPatch()
  595.     On IsVisible Return Filters.Is_EditPatch()
  596.  
  597.     On Execute Do
  598.     (
  599.         if subobjectlevel == undefined then max modify mode
  600.         if subobjectlevel != 4 then subobjectlevel = 4
  601.         Try(ApplyOperation Edit_Patch PatchOps.SelectByMatID)Catch()
  602.     )
  603. )
  604. MacroScript EPatch_SelectBySG
  605. ButtonText:"Selected by Smoothing Group"
  606. Category:"Editable Patch Object" 
  607. internalCategory:"Editable Patch Object" 
  608. Tooltip:"Selected by Smoothing Group (Patch)" 
  609. -- Needs Icon
  610. (
  611.     On IsEnabled Return Filters.Is_EditPatch()
  612.     On IsVisible Return Filters.Is_EditPatch()
  613.  
  614.     On Execute Do
  615.     (
  616.         if subobjectlevel == undefined then max modify mode
  617.         if subobjectlevel != 4 then subobjectlevel = 4
  618.         Try(ApplyOperation Edit_Patch PatchOps.SelectBySG)Catch()
  619.     )
  620. )
  621. MacroScript EPatch_ClearAllSG
  622. ButtonText:"Clear All Smoothing Groups"
  623. Category:"Editable Patch Object" 
  624. internalCategory:"Editable Patch Object" 
  625. Tooltip:"Clear All Smoothing Groups (Patch)" 
  626. -- Needs Icon
  627. (
  628.     On IsEnabled Return Filters.Is_EditPatch()
  629.     On IsVisible Return Filters.Is_EditPatch()
  630.  
  631.     On Execute Do
  632.     (
  633.         if subobjectlevel == undefined then max modify mode
  634.         if subobjectlevel != 4 then subobjectlevel = 4
  635.         Try(ApplyOperation Edit_Patch PatchOps.ClearAllSG)Catch()
  636.     )
  637. )
  638.