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

  1. -- EditPoly Operations MacroScript File
  2. --
  3. -- Created:          Aug 19 2000
  4. -- Last Updated:     Dec 6 2000
  5. --
  6. -- Author :   Fred Ruff
  7. -- Version:  3ds max 4
  8. --
  9. -- 
  10. -- EditPoly operations Macroscript file.
  11. --***********************************************************************************************
  12. -- MODIFY THIS AT YOUR OWN RISK
  13. --
  14.  
  15.  
  16. MacroScript EPoly_Attach
  17. ButtonText:"Attach List"
  18. Category:"Editable Polygon Object" 
  19. internalCategory:"Editable Polygon Object" 
  20. Tooltip:"Attach List (Poly)" 
  21. -- Needs Icon
  22. (
  23.     On IsEnabled Return Filters.Is_EditPoly()
  24.     On IsVisible Return Filters.Is_EditPoly()
  25.  
  26.     On Execute Do
  27.     (
  28.         if subobjectlevel == undefined then max modify mode
  29.         ApplyOperation Edit_Poly Polyops.attachlist
  30.     
  31.     )
  32.  
  33. )
  34. MacroScript EPoly_Detach
  35. ButtonText:"Detach"
  36. Category:"Editable Polygon Object"
  37. internalCategory:"Editable Polygon Object"
  38. Tooltip:"Detach (Poly)" 
  39. -- Needs Icon
  40. (
  41.     On IsEnabled Return Filters.Is_EditPoly()
  42.     On IsVisible Return Filters.Is_EditPoly()
  43.  
  44.     On Execute Do
  45.     (
  46.         
  47.         if SubObjectLevel >=4 do Try(ApplyOperation Edit_Poly Polyops.Detach)Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  48.         
  49.     )
  50.  
  51. )
  52.  
  53. MacroScript EPoly_Hide
  54. ButtonText:"Hide (Poly)"
  55. Category:"Editable Polygon Object" 
  56. internalCategory:"Editable Polygon Object" 
  57. Tooltip:"Hide (Poly)" 
  58. -- Needs Icon
  59. (
  60.     On IsEnabled Return Filters.Is_EditPoly()
  61.     On IsVisible Return Filters.Is_EditPoly()
  62.  
  63.     On Execute Do
  64.     (
  65.         Try(ApplyOperation Edit_Poly Polyops.Hide)Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  66.     )
  67.  
  68. )
  69. MacroScript EPoly_UnHide
  70. ButtonText:"Unhide All (Poly)"
  71. Category:"Editable Polygon Object" 
  72. internalCategory:"Editable Polygon Object" 
  73. Tooltip:"Unhide All (Poly)" 
  74. -- Needs Icon
  75. (
  76.     On IsEnabled Return Filters.Is_EditPoly()
  77.     On IsVisible Return Filters.Is_EditPoly()
  78.  
  79.     On Execute Do
  80.     (
  81.         Try(ApplyOperation Edit_Poly Polyops.UnHide)Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  82.     )
  83. )
  84. MacroScript EPoly_Collapse
  85. ButtonText:"Collapse"
  86. Category:"Editable Polygon Object" 
  87. internalCategory:"Editable Polygon Object" 
  88. Tooltip:"Collapse (Poly)" 
  89. -- Needs Icon
  90. (
  91.     On IsEnabled Return Filters.Is_EditPoly()
  92.     On IsVisible Return Filters.Is_EditPoly()
  93.  
  94.     On Execute Do
  95.     (
  96.         Try(ApplyOperation Edit_Poly Polyops.collapse)Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  97.     )
  98. )
  99.  
  100.  
  101.  
  102. -- *******************************************************************
  103. --  Poly Ops:  Vertex Operations  
  104. -- *******************************************************************
  105. MacroScript EPoly_Weld
  106. ButtonText:"Weld"
  107. Category:"Editable Polygon Object" 
  108. internalCategory:"Editable Polygon Object" 
  109. Tooltip:"Weld Vertices (Poly)" 
  110. -- Needs Icon
  111. (
  112.     On IsEnabled Return Filters.Is_EditPoly()
  113.     On IsVisible Return Filters.Is_EditPoly()
  114.  
  115.     On Execute Do
  116.     (
  117.         if subobjectlevel == undefined then max modify mode
  118.         if subobjectlevel != 1 then subobjectlevel = 1
  119.         else ApplyOperation Edit_Poly Polyops.Weld
  120.     
  121.     )
  122.  
  123. )
  124.  
  125. MacroScript EPoly_VChamfer
  126. ButtonText:"Chamfer Vertex"
  127. Category:"Editable Polygon Object" 
  128. internalCategory:"Editable Polygon Object" 
  129. Tooltip:"Chamfer Vertex (Poly)" 
  130. -- Needs Icon
  131. (
  132.     On IsEnabled Return Filters.Is_EditPoly()
  133.     On IsVisible Return Filters.Is_EditPoly()
  134.  
  135.     On Execute Do
  136.     (
  137.         Try
  138.         (
  139.             If SubObjectLevel == undefined then Max Modify Mode
  140.             SubObjectLevel = 1
  141.             ApplyOperation Edit_Poly Polyops.startchamferVertex
  142.         )
  143.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  144.     
  145.     )
  146.  
  147. )
  148. MacroScript EPoly_VCreate
  149. ButtonText:"Create Vertices"
  150. Category:"Editable Polygon Object" 
  151. internalCategory:"Editable Polygon Object" 
  152. Tooltip:"Create Vertices (Poly)" 
  153. -- Needs Icon
  154. (
  155.     On IsEnabled Return Filters.Is_EditPoly()
  156.     On IsVisible Return Filters.Is_EditPoly()
  157.  
  158.     On Execute Do
  159.     (
  160.         
  161.         Try    
  162.         (
  163.             If SubObjectLevel == undefined then Max Modify Mode
  164.             SubObjectLevel = 1
  165.             ApplyOperation Edit_Poly Polyops.startCreateVertex
  166.         )
  167.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  168.     )
  169.  
  170. )
  171.  
  172. MacroScript EPoly_VBreak
  173. ButtonText:"Break Vertices"
  174. Category:"Editable Polygon Object" 
  175. internalCategory:"Editable Polygon Object" 
  176. Tooltip:"Break Vertices (Poly)" 
  177. -- Needs Icon
  178. (
  179.     On IsEnabled Return Filters.Is_EditPoly()
  180.     On IsVisible Return Filters.Is_EditPoly()
  181.  
  182.     On Execute Do
  183.     (
  184.         
  185.         Try    
  186.         (
  187.             If SubObjectLevel == undefined then Max Modify Mode
  188.             If SubObjectLevel != 1 then SubObjectLevel = 1
  189.             else ApplyOperation Edit_Poly Polyops.break
  190.         )
  191.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  192.     )
  193.  
  194. )
  195.  
  196. MacroScript EPoly_RemoveIsolatedVerts
  197. ButtonText:"Remove Isolated Verts"
  198. Category:"Editable Polygon Object" 
  199. internalCategory:"Editable Polygon Object" 
  200. Tooltip:"Remove Isolated Vertices (Poly)" 
  201. -- Needs Icon
  202. (
  203.     On IsEnabled Return Filters.Is_EditPoly()
  204.     On IsVisible Return Filters.Is_EditPoly()
  205.  
  206.     On Execute Do
  207.     (
  208.         
  209.         Try    
  210.         (
  211.             If SubObjectLevel == undefined then Max Modify Mode
  212.             ApplyOperation Edit_Poly Polyops.removeisolatedverts
  213.         )
  214.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  215.     )
  216.  
  217. )
  218.  
  219.  
  220. MacroScript EPoly_TargetWeld
  221. ButtonText:"Target Weld"
  222. Category:"Editable Polygon Object" 
  223. internalCategory:"Editable Polygon Object" 
  224. Tooltip:"Target Weld (Poly)" 
  225. -- Needs Icon
  226. (
  227.     On IsEnabled Return Filters.Is_EditPoly()
  228.     On IsVisible Return Filters.Is_EditPoly()
  229.  
  230.     On Execute Do
  231.     (
  232.         
  233.         Try    
  234.         (
  235.             If SubObjectLevel == undefined then Max Modify Mode
  236.             if SubObjectLevel == 1 do ApplyOperation Edit_Poly Polyops.startWeldTarget
  237.             if SubObjectLevel == 2 do ApplyOperation Edit_Poly Polyops.startWeldTarget
  238.             if SubObjectLevel > 2 do 
  239.                 (
  240.                 subobjectlevel = 1
  241.                 ApplyOperation Edit_Poly Polyops.startWeldTarget
  242.                 )
  243.             if SubObjectLevel == 0 do 
  244.                 (
  245.                 subobjectlevel = 1
  246.                 ApplyOperation Edit_Poly Polyops.startWeldTarget
  247.                 )
  248.         )
  249.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  250.     )
  251.  
  252. )
  253. MacroScript EPoly_CutVertex
  254. ButtonText:"Cut Vertex"
  255. Category:"Editable Polygon Object" 
  256. internalCategory:"Editable Polygon Object" 
  257. Tooltip:"Cut Vertex (Poly)" 
  258. -- Needs Icon
  259. (
  260.     On IsEnabled Return Filters.Is_EditPoly()
  261.     On IsVisible Return Filters.Is_EditPoly()
  262.  
  263.     On Execute Do
  264.     (
  265.         
  266.         Try    
  267.         (
  268.             If SubObjectLevel == undefined then Max Modify Mode
  269.             SubObjectLevel = 1
  270.             ApplyOperation Edit_Poly Polyops.startCutVertex
  271.         )
  272.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  273.     )
  274.  
  275. )
  276. -- *******************************************************************
  277. -- Poly Ops:  Edge Operations 
  278. -- *******************************************************************
  279. MacroScript EPoly_SlicePlane
  280. ButtonText:"Slice Plane"
  281. Category:"Editable Polygon Object" 
  282. internalCategory:"Editable Polygon Object" 
  283. Tooltip:"Slice Plane (Poly)" 
  284. -- Needs Icon
  285. (
  286.     On IsEnabled Return Filters.Is_EditPoly()
  287.     On IsVisible Return Filters.Is_EditPoly()
  288.  
  289.     On Execute Do
  290.     (
  291.         
  292.         Try    
  293.         (
  294.             If SubObjectLevel == undefined then Max Modify Mode
  295.             If SubObjectLevel == 0 then SubObjectLevel = 4
  296.             ApplyOperation Edit_Poly Polyops.startsliceplane
  297.         )
  298.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  299.     )
  300.  
  301. )
  302.  
  303.  
  304.  
  305. MacroScript EPoly_EChamfer
  306. ButtonText:"Chamfer Edge"
  307. Category:"Editable Polygon Object" 
  308. internalCategory:"Editable Polygon Object" 
  309. Tooltip:"Chamfer Edge (Poly)" 
  310. -- Needs Icon
  311. (
  312.     On IsEnabled Return Filters.Is_EditPoly()
  313.     On IsVisible Return Filters.Is_EditPoly()
  314.  
  315.     On Execute Do
  316.     (
  317.         
  318.         Try    
  319.         (
  320.             If SubObjectLevel == undefined then Max Modify Mode
  321.             SubObjectLevel = 2
  322.             ApplyOperation Edit_Poly Polyops.startChamferEdge
  323.         )
  324.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  325.     )
  326.  
  327. )
  328.  
  329. MacroScript EPoly_ECut
  330. ButtonText:"Cut Edge"
  331. Category:"Editable Polygon Object" 
  332. internalCategory:"Editable Polygon Object" 
  333. Tooltip:"Cut Edge (Poly)" 
  334. -- Needs Icon
  335. (
  336.     On IsEnabled Return Filters.Is_EditPoly()
  337.     On IsVisible Return Filters.Is_EditPoly()
  338.  
  339.     On Execute Do
  340.     (
  341.         
  342.         Try    
  343.         (
  344.             If SubObjectLevel == undefined then Max Modify Mode
  345.             SubObjectLevel = 2
  346.             ApplyOperation Edit_Poly Polyops.startCutEdge
  347.         )
  348.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  349.     )
  350.  
  351. )
  352.  
  353.  
  354. MacroScript EPoly_EDivide
  355. ButtonText:"Divide Edges"
  356. Category:"Editable Polygon Object" 
  357. internalCategory:"Editable Polygon Object" 
  358. Tooltip:"Divide Edges (Poly)" 
  359. -- Needs Icon
  360. (
  361.     On IsEnabled Return Filters.Is_EditPoly()
  362.     On IsVisible Return Filters.Is_EditPoly()
  363.  
  364.     On Execute Do
  365.     (
  366.         
  367.         Try    
  368.         (
  369.             If SubObjectLevel == undefined then Max Modify Mode
  370.             SubObjectLevel = 2
  371.             ApplyOperation Edit_Poly Polyops.startDivideEdge
  372.         )
  373.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  374.     )
  375.  
  376. )
  377.  
  378.  
  379. MacroScript EPoly_ShapeFromEdges
  380. ButtonText:"Shape from Edges"
  381. Category:"Editable Polygon Object" 
  382. internalCategory:"Editable Polygon Object" 
  383. Tooltip:"Create Shape from Edges (Poly)" 
  384. -- Needs Icon
  385. (
  386.     On IsEnabled Return Filters.Is_EditPoly()
  387.     On IsVisible Return Filters.Is_EditPoly()
  388.  
  389.     On Execute Do
  390.     (
  391.         
  392.         Try    
  393.         (
  394.             If SubObjectLevel == undefined then Max Modify Mode
  395.             SubObjectLevel = 2
  396.             ApplyOperation Edit_Poly Polyops.createShapeFromEdges
  397.         )
  398.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  399.     )
  400.  
  401. )
  402.  
  403. -- *******************************************************************
  404. --  Poly Ops: Polygon Operations  
  405. -- *******************************************************************
  406. MacroScript EPoly_View_Align
  407. ButtonText:"View Align"
  408. Category:"Editable Polygon Object" 
  409. internalCategory:"Editable Polygon Object" 
  410. Tooltip:"View Align (Poly)" 
  411. -- Needs Icon
  412. (
  413.     On IsEnabled Return Filters.Is_EditPoly()
  414.     On IsVisible Return Filters.Is_EditPoly()
  415.  
  416.     On Execute Do
  417.     (
  418.  
  419.         Try(ApplyOperation Edit_Poly Polyops.viewAlign)Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  420.     
  421.     )
  422.  
  423. )
  424.  
  425. MacroScript EPoly_Grid_Align
  426. ButtonText:"Grid Align"
  427. Category:"Editable Polygon Object" 
  428. internalCategory:"Editable Polygon Object" 
  429. Tooltip:"Grid Align (Poly)" 
  430. -- Needs Icon
  431. (
  432.     On IsEnabled Return Filters.Is_EditPoly()
  433.     On IsVisible Return Filters.Is_EditPoly()
  434.  
  435.     On Execute Do
  436.     (
  437.  
  438.         Try(ApplyOperation Edit_Poly Polyops.gridAlign)Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  439.     
  440.     )
  441.  
  442. )
  443. MacroScript EPoly_Make_Planer
  444. ButtonText:"Make Planar"
  445. Category:"Editable Polygon Object" 
  446. internalCategory:"Editable Polygon Object" 
  447. Tooltip:"Make Planar (Poly)" 
  448. -- Needs Icon
  449. (
  450.     On IsEnabled Return Filters.Is_EditPoly()
  451.     On IsVisible Return Filters.Is_EditPoly()
  452.  
  453.     On Execute Do
  454.     (
  455.         If SubObjectLevel == undefined then Max Modify Mode
  456.         If SubObjectLevel == 0 then SubObjectLevel = 4
  457.         else Try(ApplyOperation Edit_Poly Polyops.makeplanar) Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  458.     
  459.     )
  460.  
  461. )
  462. MacroScript EPoly_Flip
  463. ButtonText:"Flip Normals Element"
  464. Category:"Editable Polygon Object" 
  465. internalCategory:"Editable Polygon Object" 
  466. Tooltip:"Flip Normals Selected (Poly)" 
  467. -- Needs Icon
  468. (
  469.     On IsEnabled Return Filters.Is_EditPoly()
  470.     On IsVisible Return Filters.Is_EditPoly()
  471.  
  472.     On Execute Do
  473.     (
  474.         If SubObjectLevel == undefined then Max Modify Mode
  475.         If SubObjectLevel != 5 then SubObjectLevel = 5
  476.         else Try(ApplyOperation Edit_Poly Polyops.flipnormal)Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  477.         --If SubObjectLevel == 5 do Try(ApplyOperation Edit_Poly Polyops.flipnormal)Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  478.     
  479.     )
  480.  
  481. )
  482.  
  483. MacroScript EPoly_FExtrude
  484. ButtonText:"Extrude Polygon"
  485. Category:"Editable Polygon Object" 
  486. internalCategory:"Editable Polygon Object" 
  487. Tooltip:"Extrude Polygon (Poly)" 
  488. -- Needs Icon
  489. (
  490.     On IsEnabled Return Filters.Is_EditPoly()
  491.     On IsVisible Return Filters.Is_EditPoly()
  492.  
  493.     On Execute Do
  494.     (
  495.         
  496.         Try    
  497.         (
  498.             If SubObjectLevel == undefined then Max Modify Mode
  499.             if subobjectlevel != 4 then subobjectlevel = 4
  500.             ApplyOperation Edit_Poly Polyops.startExtrudeFace
  501.         )
  502.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  503.     )
  504.  
  505. )
  506.  
  507. MacroScript EPoly_FBevel
  508. ButtonText:"Bevel Polygon"
  509. Category:"Editable Polygon Object" 
  510. internalCategory:"Editable Polygon Object" 
  511. Tooltip:"Bevel Polygon (Poly)" 
  512. -- Needs Icon
  513. (
  514.     On IsEnabled Return Filters.Is_EditPoly()
  515.     On IsVisible Return Filters.Is_EditPoly()
  516.  
  517.     On Execute Do
  518.     (
  519.         
  520.         Try    
  521.         (
  522.             If SubObjectLevel == undefined then Max Modify Mode
  523.             if subobjectlevel != 4 then subobjectlevel = 4
  524.             ApplyOperation Edit_Poly Polyops.startBevel
  525.         )
  526.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  527.     )
  528.  
  529. )
  530.  
  531. MacroScript EPoly_FCreate
  532. ButtonText:"Create Polygon"
  533. Category:"Editable Polygon Object" 
  534. internalCategory:"Editable Polygon Object" 
  535. Tooltip:"Create Polygon (Poly)" 
  536. -- Needs Icon
  537. (
  538.     On IsEnabled Return Filters.Is_EditPoly()
  539.     On IsVisible Return Filters.Is_EditPoly()
  540.  
  541.     On Execute Do
  542.     (
  543.         
  544.         Try    
  545.         (
  546.             If SubObjectLevel == undefined then Max Modify Mode
  547.             if subobjectlevel != 4 then subobjectlevel = 4
  548.             ApplyOperation Edit_Poly Polyops.startCreateFace
  549.         )
  550.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  551.     )
  552.  
  553. )
  554.  
  555. MacroScript EPoly_FCut
  556. ButtonText:"Cut Polygon"
  557. Category:"Editable Polygon Object" 
  558. internalCategory:"Editable Polygon Object" 
  559. Tooltip:"Cut Polygon (Poly)" 
  560. -- Needs Icon
  561. (
  562.     On IsEnabled Return Filters.Is_EditPoly()
  563.     On IsVisible Return Filters.Is_EditPoly()
  564.  
  565.     On Execute Do
  566.     (
  567.         
  568.         Try    
  569.         (
  570.             If SubObjectLevel == undefined then Max Modify Mode
  571.             if subobjectlevel != 3 then subobjectlevel = 3
  572.             ApplyOperation Edit_Poly Polyops.startCutFace
  573.         )
  574.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  575.     )
  576.  
  577. )
  578.  
  579. MacroScript EPoly_FDivide
  580. ButtonText:"Divide Polygon"
  581. Category:"Editable Polygon Object" 
  582. internalCategory:"Editable Polygon Object" 
  583. Tooltip:"Divide Polygon (Poly)" 
  584. -- Needs Icon
  585. (
  586.     On IsEnabled Return Filters.Is_EditPoly()
  587.     On IsVisible Return Filters.Is_EditPoly()
  588.  
  589.     On Execute Do
  590.     (
  591.         
  592.         Try    
  593.         (
  594.             If SubObjectLevel == undefined then Max Modify Mode
  595.             if subobjectlevel != 4 then subobjectlevel = 4
  596.             ApplyOperation Edit_Poly Polyops.startDivideFace
  597.         )
  598.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  599.     )
  600.  
  601. )
  602. MacroScript EPoly_Tesselate
  603. ButtonText:"Tessellate"
  604. Category:"Editable Polygon Object" 
  605. internalCategory:"Editable Polygon Object" 
  606. Tooltip:"Tessellate (Poly)" 
  607. -- Needs Icon
  608. (
  609.     On IsEnabled Return Filters.Is_EditPoly()
  610.     On IsVisible Return Filters.Is_EditPoly()
  611.  
  612.     On Execute Do
  613.     (
  614.         
  615.         Try    
  616.         (
  617.             If SubObjectLevel == undefined then Max Modify Mode
  618.             if subobjectlevel == 0 then subobjectlevel = 4
  619.             else ApplyOperation Edit_Poly Polyops.tessellate
  620.         )
  621.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  622.     )
  623.  
  624. )
  625.  
  626. MacroScript EPoly_Autosmooth
  627. ButtonText:"Auto Smooth Polygon"
  628. Category:"Editable Polygon Object" 
  629. internalCategory:"Editable Polygon Object" 
  630. Tooltip:"Auto Smooth Polygon (Poly)" 
  631. -- Needs Icon
  632. (
  633.     On IsEnabled Return Filters.Is_EditPoly()
  634.     On IsVisible Return Filters.Is_EditPoly()
  635.  
  636.     On Execute Do
  637.     (
  638.         
  639.         Try    
  640.         (
  641.             If SubObjectLevel == undefined then Max Modify Mode
  642.             if subobjectlevel != 4 then subobjectlevel = 4
  643.             else ApplyOperation Edit_Poly Polyops.Autosmooth
  644.         )
  645.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  646.     )
  647.  
  648. )
  649.  
  650. MacroScript EPoly_EditTri
  651. ButtonText:"Edit Triangulation"
  652. Category:"Editable Polygon Object" 
  653. internalCategory:"Editable Polygon Object" 
  654. Tooltip:"Edit Triangulation (Poly)" 
  655. -- Needs Icon
  656. (
  657.     On IsEnabled Return Filters.Is_EditPoly()
  658.     On IsVisible Return Filters.Is_EditPoly()
  659.  
  660.     On Execute Do
  661.     (
  662.         
  663.         Try    
  664.         (
  665.             If SubObjectLevel == undefined then Max Modify Mode
  666.             if subobjectlevel != 4 then subobjectlevel = 4
  667.             ApplyOperation Edit_Poly Polyops.startEditTri
  668.         )
  669.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  670.     )
  671.  
  672. )
  673.  
  674. MacroScript EPoly_Cap
  675. ButtonText:"Cap"
  676. Category:"Editable Polygon Object" 
  677. internalCategory:"Editable Polygon Object" 
  678. Tooltip:"Cap (Poly)" 
  679. -- Needs Icon
  680. (
  681.     On IsEnabled Return Filters.Is_EditPoly()
  682.     On IsVisible Return Filters.Is_EditPoly()
  683.  
  684.     On Execute Do
  685.     (
  686.         
  687.         Try    
  688.         (
  689.             If SubObjectLevel == undefined then Max Modify Mode
  690.             if subobjectlevel != 3 then subobjectlevel = 3
  691.             else ApplyOperation Edit_Poly Polyops.Cap
  692.         )
  693.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  694.     )
  695.  
  696. )
  697. MacroScript EPoly_ClearSmoothing
  698. ButtonText:"Clear All Smoothing Groups"
  699. Category:"Editable Polygon Object" 
  700. internalCategory:"Editable Polygon Object" 
  701. Tooltip:"Clear All Smoothing Groups (Poly)" 
  702. -- Needs Icon
  703. (
  704.     On IsEnabled Return Filters.Is_EditPoly()
  705.     On IsVisible Return Filters.Is_EditPoly()
  706.  
  707.     On Execute Do
  708.     (
  709.         
  710.         Try    
  711.         (
  712.             If SubObjectLevel == undefined then Max Modify Mode
  713.             if subobjectlevel != 4 then subobjectlevel = 4
  714.             else ApplyOperation Edit_Poly Polyops.clearAllSG
  715.         )
  716.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  717.     )
  718.  
  719. )
  720. MacroScript EPoly_Meshsmooth
  721. ButtonText:"Meshsmooth"
  722. Category:"Editable Polygon Object" 
  723. internalCategory:"Editable Polygon Object" 
  724. Tooltip:"Meshsmooth (Poly)" 
  725. -- Needs Icon
  726. (
  727.     On IsEnabled Return Filters.Is_EditPoly()
  728.     On IsVisible Return Filters.Is_EditPoly()
  729.  
  730.     On Execute Do
  731.     (
  732.         
  733.         Try    
  734.         (
  735.             If SubObjectLevel == undefined then Max Modify Mode
  736.             if subobjectlevel == 0 then subobjectlevel = 4
  737.             else ApplyOperation Edit_Poly Polyops.Meshsmooth
  738.         )
  739.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  740.     )
  741.  
  742. )
  743. MacroScript EPoly_retriangulate
  744. ButtonText:"Retriangulate"
  745. Category:"Editable Polygon Object" 
  746. internalCategory:"Editable Polygon Object" 
  747. Tooltip:"Retriangulate (Poly)" 
  748. -- Needs Icon
  749. (
  750.     On IsEnabled Return Filters.Is_EditPoly()
  751.     On IsVisible Return Filters.Is_EditPoly()
  752.  
  753.     On Execute Do
  754.     (
  755.         
  756.         Try    
  757.         (
  758.             If SubObjectLevel == undefined then Max Modify Mode
  759.             if subobjectlevel != 4 then subobjectlevel = 4
  760.             else ApplyOperation Edit_Poly Polyops.retriangulate
  761.         )
  762.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  763.     )
  764.  
  765. )
  766. MacroScript EPoly_Split
  767. ButtonText:"Split"
  768. Category:"Editable Polygon Object" 
  769. internalCategory:"Editable Polygon Object" 
  770. Tooltip:"Split (Poly)" 
  771. -- Needs Icon
  772. (
  773.     On IsEnabled Return Filters.Is_EditPoly()
  774.     On IsVisible Return Filters.Is_EditPoly()
  775.  
  776.     On Execute Do
  777.     (
  778.         
  779.         Try    
  780.         (
  781.             If SubObjectLevel == undefined then Max Modify Mode
  782.             if subobjectlevel != 2 then subobjectlevel = 2
  783.             else ApplyOperation Edit_Poly Polyops.Split
  784.         )
  785.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  786.     )
  787.  
  788. )
  789. MacroScript EPoly_resetPlane
  790. ButtonText:"Reset Plane"
  791. Category:"Editable Polygon Object" 
  792. internalCategory:"Editable Polygon Object" 
  793. Tooltip:"Reset Plane (Poly)" 
  794. -- Needs Icon
  795. (
  796.     On IsEnabled Return Filters.Is_EditPoly()
  797.     On IsVisible Return Filters.Is_EditPoly()
  798.  
  799.     On Execute Do
  800.     (
  801.         
  802.         Try    
  803.         (
  804.             If SubObjectLevel == undefined then Max Modify Mode
  805.             if subobjectlevel == 0 then subobjectlevel = 4
  806.             ApplyOperation Edit_Poly Polyops.resetPlane
  807.         )
  808.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  809.     )
  810. )
  811. MacroScript EPoly_NURMS_Toggle
  812. ButtonText:"NURMS Toggle"
  813. Category:"Editable Polygon Object" 
  814. internalCategory:"Editable Polygon Object" 
  815. Tooltip:"NURMS Toggle (Poly)" 
  816. -- Needs Icon
  817. (
  818.     On IsEnabled Return Filters.Is_EditPoly()
  819.     On IsVisible Return Filters.Is_EditPoly()
  820.  
  821.     On Execute Do
  822.     (
  823.         
  824.         Try    
  825.         (
  826.         $.surfSubdivide = (not $. surfSubdivide)
  827.         )
  828.         Catch(MessageBox "Operation Failed" Title:"Poly Editing")
  829.     )
  830.  
  831. )
  832.