home *** CD-ROM | disk | FTP | other *** search
/ Corel Draw 7 / CD7_CAD.ISO / cad / shade.csc < prev    next >
Text File  |  1996-10-28  |  10KB  |  331 lines

  1. 'This demonstration will demonstrate some of the  SHADING options of CorelCAD
  2.  
  3. '************************************************************************************************************
  4. '************************************************************************************************************
  5. '************************************************************************************************************
  6. '************************************************************************************************************
  7. REM ⌐ 1996 Corel Corporation. All rights reserved.
  8. '************************************************************************************************************
  9.  
  10.  
  11. REM Declare Variables
  12. Global Title as string
  13.  
  14. Rem Set Variable
  15. Title$ = "CorelCAD: SHADE demonstration"
  16.  
  17. REM Declare Variables
  18. DIM i%
  19. DIM XCoord$
  20. DIM XCoordNum%
  21. DIM ShadeNum%
  22. DIM ShadeType$(7)
  23. DIM MatType1$(6)
  24. DIM MatNum1%
  25. DIM MatNum2%
  26. DIM MetType$(4)
  27. DIM CategoryType$(6)
  28. DIM GlassType$(4)
  29. DIM JewelType$(4) 
  30. DIM MinType$(4)
  31. DIM PlasType$(4)
  32. DIM WoodType$(4)
  33. DIM ImageNum%
  34. DIM Yes$
  35. DIM YesNum%
  36. DIM No$
  37. DIM NoNum%
  38. DIM FileName$
  39. DIM FileNum%
  40.  
  41.  
  42. Withobject "CorelCAD.Automation.1"
  43.  
  44.     REM Call First Dialog and Open Chain Ring File
  45.     .FileOpen "..\cad\Shade.ccd"
  46.     .zoomtoall
  47.  
  48.     STRING1$ = "This script will open a CorelCAD file and perform the SHADE command on the model within."
  49.     string2$ = "For more information on the SHADE command consult CorelCAD's On-line Help."
  50.     BEGIN DIALOG DispMessage 25, 70, 316, 75, Title$
  51.         TEXT  4, 4, 310, 12, String1$
  52.         TEXT  4, 18, 310, 10, String2$
  53.         TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  54.         PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  55.         CANCELBUTTON  240, 44, 40, 16
  56.     END DIALOG
  57.  
  58.     Return% = DIALOG (DispMessage)
  59.     if Return = 2 then STOP
  60.  
  61.     string1$ = "This model is a 3-Dimensional solid. "
  62.     string2$ = "A MATERIAL can be selected and applied to this model."
  63.     BEGIN DIALOG DispMessage1 25, 70, 316, 75, Title$
  64.         TEXT  4, 4, 310, 12, String1$
  65.         TEXT  4, 18, 310, 10, String2$
  66.         TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  67.         PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  68.         CANCELBUTTON  240, 44, 40, 16
  69.     END DIALOG
  70.  
  71.     Return% = DIALOG (DispMessage1)
  72.     if Return = 2 then STOP
  73.  
  74.  
  75.     'RENDERING QUALITY
  76.  
  77.     ShadeType(1) = "Flat Shading"
  78.     ShadeType(2) = "Gouraud Shading"
  79.     ShadeType(3) = "Phong Shading"
  80.     ShadeType(4) = "Preview"
  81.     ShadeType(5) = "Full Render"
  82.     ShadeType(6) = "Ray Traced Preview"
  83.     ShadeType(7) = "Ray Traced Render"
  84.  
  85.  
  86.     ShadeNum = 4
  87.  
  88.  
  89.     'DEFINING CATEGORY TYPES
  90.  
  91.     MatType1(1) = "Metallic"
  92.     MatType1(2) = "Glass"
  93.     MatType1(3) = "Jewel"
  94.     MatType1(4) = "Mineral"
  95.     MatType1(5) = "Plastics"
  96.     MatType1(6) = "Woods"
  97.  
  98.  
  99.     MatNum1 = 4
  100.  
  101.  
  102.     'DEFINING THE MATERIAL
  103.  
  104.  
  105.     MatNum2 = 1
  106.  
  107.  
  108.     GlassType(1) = "Crystal Blue"
  109.     GlassType(2) = "Crystal Red"
  110.     GlassType(3) = "Glass Green"
  111.     GlassType(4) = "Glass Frosted"
  112.  
  113.     JewelType(1) = "Sapphire"
  114.     JewelType(2) = "Ambrite"
  115.     JewelType(3) = "Ruby"
  116.     JewelType(4) = "Tiger's Eye"
  117.  
  118.     MetType(1) = "Bronze"
  119.     MetType(2) = "Copper"
  120.     MetType(3) = "Chrome"
  121.     MetType(4) = "Steel"
  122.  
  123.     MinType(1) = "Bricks"
  124.     MinType(2) = "Blue Marbel"
  125.     MinType(3) = "Granite"
  126.     MinType(4) = "Pavement"
  127.  
  128.     PlasType(1) = "Bumpy Orange"
  129.     PlasType(2) = "Matte Black"
  130.     PlasType(3) = "Shiny Red"
  131.     PlasType(4) = "Clear Blue"
  132.  
  133.     WoodType(1) = "Cedar"
  134.     WoodType(2) = "Mahogany"
  135.     WoodType(3) = "Oak"
  136.     WoodType(4) = "Pine"
  137.  
  138.     ' ************************************************************************************************
  139.     ' ************************************************************************************************
  140.     ' ************************************************************************************************
  141.     ' ************************************************************************************************
  142.  
  143.  
  144.     START:
  145.  
  146.     DONECOLORCHANGE:
  147.  
  148.     BEGIN DIALOG StartDia 25, 70, 132, 114, "Material Selection"
  149.         LISTBOX  26, 26, 72, 56, MatType1$, MatNum1%
  150.         OKBUTTON  15, 94, 44, 14
  151.         CANCELBUTTON  61, 94, 44, 14
  152.         TEXT  8, 3, 122, 9, "Select Material Category."
  153.         GROUPBOX  20, 15, 84, 69, "Category Selection"
  154.     END DIALOG
  155.     Return = DIALOG(StartDia)    'Runs the dialog box
  156.     If return = 2 then stop        'If the user presses ESC, cancels the script
  157.  
  158.     
  159.     If MatNum1 = 1 then
  160.  
  161.         BEGIN DIALOG Matchange3 25, 70, 132, 115, "Material Selection"
  162.             LISTBOX  32, 36, 72, 48, MetType$, MatNum2%
  163.             OKBUTTON  12, 96, 48, 14
  164.             CANCELBUTTON  64, 96, 48, 14
  165.             TEXT  3, 8, 128, 12, "Select Material to be applied."
  166.             GROUPBOX  26, 24, 84, 64, "Metallic Types"
  167.         END DIALOG
  168.         Return = DIALOG(Matchange3)    'Runs the dialog box
  169.         If return = 2 then stop        'If the user presses ESC, cancels the script
  170.         .SelectAll     'Selects the object to apply the Shading or Material.
  171.         Select Case matnum2%
  172.              Case 1
  173.                 .ApplyMaterial "Metallic", "Bronze"
  174.             Case    2    
  175.                 .ApplyMaterial "Metallic", "Copper"                    
  176.             Case    3    
  177.                 .ApplyMaterial "Metallic", "Chrome"
  178.             Case     4    
  179.                 .ApplyMaterial "Metallic", "Steel"
  180.             Case else 
  181.         End Select
  182.     
  183.     elseif MatNum1 = 2 then
  184.         BEGIN DIALOG Matchange1 25, 70, 132, 112, "Material Selection"
  185.             LISTBOX  32, 36, 72, 45, GlassType$, MatNum2%
  186.             OKBUTTON  12, 94, 48, 14
  187.             CANCELBUTTON  64, 94, 48, 14
  188.             TEXT  4, 8, 128, 12, "Select Material to be applied."
  189.             GROUPBOX  26, 24, 84, 63, "Glass Types"
  190.         END DIALOG
  191.         Return = DIALOG(Matchange1)    'Runs the dialog box
  192.         If Return = 2 then stop        'If the user presses ESC, cancels the script
  193.         .SelectAll     'Selects the object to apply the Shading or Material.
  194.         Select Case MatNum2%
  195.             Case    1    
  196.                 .ApplyMaterial "Glass","Crystal Blue"
  197.             Case    2
  198.                 .ApplyMaterial "Glass","Crystal Red"    
  199.             Case    3    
  200.                 .ApplyMaterial "Glass","Glass Green"
  201.             Case    4
  202.                 .ApplyMaterial "Glass","Glass Frosted"
  203.         End Select
  204.  
  205.     elseif matnum1 = 3 then
  206.  
  207.         BEGIN DIALOG Matchange2 25, 70, 130, 112, "Material Selection"
  208.             LISTBOX  32, 36, 72, 47, JewelType$, MatNum2%
  209.             OKBUTTON  13, 94, 48, 14
  210.             CANCELBUTTON  65, 94, 48, 14
  211.             TEXT  1, 8, 129, 10, "Select Material to be applied."
  212.             GROUPBOX  26, 24, 84, 64, "Jewel Types"
  213.         END DIALOG
  214.         Return = DIALOG(Matchange2)    'Runs the dialog box
  215.         If return = 2 then stop        'If the user presses ESC, cancels the script
  216.         .SelectAll     'Selects the object to apply the Shading or Material.
  217.         Select Case MatNum2%
  218.             Case    1    
  219.                 .ApplyMaterial "Jewel","Sapphire"
  220.             Case    2    
  221.                 .ApplyMaterial "Jewel","Ambrite"    
  222.             Case    3    
  223.                 .ApplyMaterial "Jewel","Ruby"
  224.             Case    4    
  225.                 .ApplyMaterial "Jewel","Tiger's Eye"
  226.         End Select
  227.  
  228.     elseif matnum1  =4 then
  229.  
  230.         BEGIN DIALOG Matchange4 25, 70, 134, 112, "Material Selection"
  231.             LISTBOX  32, 36, 72, 48, MinType$, MatNum2%
  232.             OKBUTTON  16, 94, 48, 14
  233.             CANCELBUTTON  68, 94, 48, 14
  234.             TEXT  4, 8, 129, 12, "Select Material to be applied."
  235.             GROUPBOX  26, 25, 84, 64, "Mineral Types"
  236.         END DIALOG
  237.         Return = DIALOG(Matchange4)    'Runs the dialog box
  238.         If return = 2 then stop        'If the user presses ESC, cancels the script
  239.         .SelectAll     'Selects the object to apply the Shading or Material.
  240.         Select Case MatNum2%
  241.             Case    1    
  242.                 .ApplyMaterial "Mineral","Bricks"
  243.             Case    2    
  244.                 .ApplyMaterial "Mineral","Blue Marbel"    
  245.             Case    3    
  246.                 .ApplyMaterial "Mineral","Granite"
  247.             Case    4    
  248.                 .ApplyMaterial "Mineral","Pavement"
  249.         End Select
  250.  
  251.     elseif matnum1=5 then
  252.  
  253.         BEGIN DIALOG Matchange5 25, 70, 132, 112, "Material Selection"
  254.             LISTBOX  32, 36, 72, 46, PlasType$, MatNum2%
  255.             OKBUTTON  14, 92, 48, 15
  256.             CANCELBUTTON  66, 92, 48, 15
  257.             TEXT  2, 8, 128, 12, "Select Material to be applied."
  258.             GROUPBOX  26, 24, 84, 60, "Plastic Types"
  259.         END DIALOG
  260.         Return = DIALOG(Matchange5)    'Runs the dialog box
  261.         If return = 2 then stop        'If the user presses ESC, cancels the script
  262.         .SelectAll     'Selects the object to apply the Shading or Material.
  263.         Select Case MatNum2%
  264.             Case    1    
  265.                 .ApplyMaterial "Plastics", "Bumpy Orange"
  266.             Case    2    
  267.                 .ApplyMaterial "Plastics", "Matte Black"
  268.             Case    3    
  269.                 .ApplyMaterial "Plastics", "Shiny Red"
  270.             Case    4    
  271.                 .ApplyMaterial "Plastics", "Clear Blue"
  272.         End Select
  273.  
  274.     elseif matnum1 = 6 then
  275.  
  276.         BEGIN DIALOG Matchange6 25, 70, 130, 112, "Material Selection"
  277.             LISTBOX  32, 36, 72, 48, WoodType$, MatNum2%
  278.             OKBUTTON  16, 95, 48, 13
  279.             CANCELBUTTON  68, 95, 48, 13
  280.             TEXT  2, 8, 128, 12, "Select Material to be applied."
  281.             GROUPBOX  26, 24, 84, 65, "Wood Types"
  282.         END DIALOG
  283.         Return = DIALOG(Matchange6)    'Runs the dialog box
  284.         If return = 2 then stop        'If the user presses ESC, cancels the scrip
  285.         .SelectAll     'Selects the object to apply the Shading or Material.
  286.         Select Case MatNum2%
  287.             Case    1    
  288.                 .ApplyMaterial "Woods", "Cedar"
  289.             Case    2    
  290.                 .ApplyMaterial "Woods", "Mahogany"
  291.             Case    3    
  292.                 .ApplyMaterial "Woods", "Oak"
  293.             Case    4    
  294.                 .ApplyMaterial "Woods", "Pine"
  295.         End Select
  296.  
  297.     Endif
  298.  
  299.  
  300. BEGIN DIALOG Shade 25, 70, 126, 145, "Rendering Quality"
  301.     LISTBOX  26, 26, 72, 56, ShadeType$, ShadeNum%
  302.     OKBUTTON  14, 124, 44, 15
  303.     CANCELBUTTON  60, 124, 44, 15
  304.     TEXT  8, 3, 118, 9, "Select Render Quality:"
  305.     GROUPBOX  20, 15, 84, 69, "Render Quality"
  306.     TEXT  16, 89, 97, 34, "The RENDER types are listed in increasing RENDER quality. A high quality RENDER may take a moment."
  307. END DIALOG
  308.     Return = DIALOG(Shade)    'Runs the dialog box
  309.     If return = 2 then stop        'If the user presses ESC, cancels the script
  310.     ShadeNum = ShadeNum - 1
  311.     .ShadeEntireView 0,0,ShadeNum,0
  312.  
  313.     String1$ = "The SHADE PROPERTIES dialog box can be opened by right-mouse clicking on the SHADE button."
  314.     String2$ = "Lighting, shadows, and render options are all available in the SHADE PROPERTIES dialog box."
  315. beep
  316. BEGIN DIALOG EndMess 25, 70, 316, 75, "FINAL HINTS"
  317.     TEXT  4, 4, 310, 16, String1$
  318.     TEXT  4, 25, 310, 17, String2$
  319.     TEXT  42, 48, 118, 8, "Click END to finish the demonstation."
  320.     PUSHBUTTON  223, 47, 40, 16, "END"
  321. END DIALOG
  322.  
  323. ret = DIALOG(EndMess)
  324. END WITHOBJECT
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.