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

  1. 'This script shall enable the user to create a solid cylinder
  2.  
  3. '************************************************************************************************************
  4. '************************************************************************************************************
  5. '************************************************************************************************************
  6. '************************************************************************************************************
  7. REM ⌐ 1996 Corel Corporation. All rights reserved.
  8. '************************************************************************************************************
  9.  
  10. REM Declare Subroutines
  11. declare Sub Cross(xcoo&,ycoo&,zcoo&)
  12. declare Sub DoLine(x1&,y1&,z1&,x2&,y2&,z2&)
  13. declare Sub DoCylinder(x1&,y1&,z1&,x2&,y2&,z2&,x3&,y3&,z3&)
  14.  
  15.  
  16. REM Declare Variables
  17. Global Title as string
  18.  
  19. Rem Set Variable
  20. Title$ = "CorelCAD: SOLID CYLINDER demonstration"
  21.  
  22. Withobject "CorelCad.Automation.1"
  23.  
  24.     .FILENEW
  25.  
  26.     string1$ = "This script will demonstrate how to create a SOLID CYLINDER."
  27.     string2$ = "For more information on the SOLID CYLINDER tool, consult CorelCAD's On-line Help."
  28.     BEGIN DIALOG DispMessage 25, 70, 316, 75,Title$
  29.         TEXT  4, 4, 310, 18, String1$
  30.         TEXT  5, 28, 310, 18, String2$
  31.         TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  32.         PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  33.         CANCELBUTTON  240, 44, 40, 16
  34.     END DIALOG
  35.  
  36.     Return% = DIALOG (DispMessage)
  37.     if Return = 2 then STOP
  38.  
  39.     string1$ = "A CYLINDER will now be created by using the 3D SOLID: CYLINDER,CENTER and RADIUS Tool."
  40.     string2$ = "Three points are required for the construction of the CYLINDER."
  41.     BEGIN DIALOG DispMessage1 25, 70, 316, 75,Title$
  42.         TEXT  4, 4, 310, 18, String1$
  43.         TEXT  5, 28, 310, 18, String2$
  44.         TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  45.         PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  46.         CANCELBUTTON  240, 44, 40, 16
  47.     END DIALOG
  48.  
  49.     Return% = DIALOG (DispMessage1)
  50.     if Return = 2 then STOP
  51.  
  52.     string1$ = "The first point will be set to specify the center of the base."
  53.     string2$ = ""
  54.     BEGIN DIALOG DispMessage2 25, 70, 316, 75,Title$
  55.         TEXT  4, 4, 310, 18, String1$
  56.         TEXT  5, 28, 310, 18, String2$
  57.         TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  58.         PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  59.         CANCELBUTTON  240, 44, 40, 16
  60.     END DIALOG
  61.  
  62.     Return% = DIALOG (DispMessage2)
  63.     if Return = 2 then STOP
  64.  
  65.  
  66.     Cross -60,-60,0
  67.  
  68.     string1$ = "The second point will be set to specify the radius of the base."
  69.     string2$ = "The Insert Point Roll-up can be used for precise placement of points."
  70.     string3$ = "The Insert Point Roll-up is located in the Tools menu."
  71.     string4$ = ""
  72.     BEGIN DIALOG DispMessage3 25, 70, 316, 98, Title$
  73.         TEXT  4, 4, 310, 12, String1$
  74.         TEXT  4, 18, 310, 10, String2$
  75.         TEXT  4, 32, 310, 12, String3$
  76.         TEXT  4, 46, 310, 11, String4$
  77.         TEXT  4, 69, 310, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  78.         PUSHBUTTON  192, 67, 40, 16, "Next >>>"
  79.         CANCELBUTTON  240, 67, 40, 16
  80.     END DIALOG
  81.     
  82.     Return% = DIALOG (DispMessage3)
  83.     if Return = 2 then STOP
  84.  
  85.     doline -60,-60,0,-30,-30,0
  86.     .SelectPointAt -69.0982, 3.27301, 50, 0
  87.     Cross -30,-30,0
  88.     .setcurrentlayer " "
  89.     .circleradius 0,-60,-60,0,-30,-30,0 
  90.  
  91.     wait for 1
  92.     .setcurrentlayer "Default Layer"
  93.  
  94.     string1$ = "The third point will be set to specify the height of the CYLINDER."
  95.     string2$ = "Note: To move the cursor in the Z-direction while performing commands, hold the CTRL+SHIFT keys down."
  96. BEGIN DIALOG DispMessage4 25, 70, 316, 75,Title$
  97.     TEXT  4, 4, 310, 18, String1
  98.     TEXT  5, 20, 310, 18, String2
  99.     TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  100.     PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  101.     CANCELBUTTON  240, 44, 40, 16
  102. END DIALOG
  103.  
  104.     Return% = DIALOG (DispMessage4)
  105.     if Return = 2 then STOP
  106.  
  107.     doline -30,-30,0,-30,-30,60
  108.     cross -30,-30,60
  109.  
  110.        Call doCylinder ( -60,-60,0,-30,-30,0,-30,-30,60 )
  111.     .SelectPointAt -69.0982, 3.27301, 50, 0
  112.  
  113.     .ZoomToAll
  114.     Wait for 2
  115.  
  116.     .SelectAll
  117.     .deleteselection
  118.  
  119.     .Cylinder -1, -60,-60,0,-30,-30,0,-30,-30,60
  120.     .SelectAll
  121.  
  122.     STRING1$ = "A MATERIAL will now be applied to the CYLINDER."
  123.     STRING2$ = "RENDERING may take a moment."
  124. BEGIN DIALOG DispMessage5 25, 70, 316, 75,title
  125.     TEXT  4, 4, 310, 18, string1
  126.     TEXT  5, 23, 310, 18, string2
  127.     TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  128.     PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  129.     CANCELBUTTON  240, 44, 40, 16
  130. END DIALOG
  131.  
  132.     Return% = DIALOG (DispMessage5)
  133.     if Return = 2 then STOP
  134.  
  135.  
  136.     .SelectAll
  137.     .ApplyMaterial "Jewel", "Ambrite"
  138.     .ShadeSelected 0, 0, 3
  139.  
  140.     String1$ = "The 3D SOLID TOOLBAR FLYOUT can be dragged and dropped anywhere within the working environment."
  141.     string2$ = "For convenience, all toolbars are easily customized. The CUSTOMIZE command is located in the TOOLS menu."
  142. beep
  143. BEGIN DIALOG EndMess 25, 70, 316, 75, "FINAL HINTS"
  144.     TEXT  4, 4, 310, 16, String1$
  145.     TEXT  4, 25, 310, 17, String2$
  146.     TEXT  42, 48, 118, 8, "Click END to finish the demonstation."
  147.     PUSHBUTTON  223, 47, 40, 16, "END"
  148. END DIALOG
  149.  
  150. ret = DIALOG(EndMess)
  151.  
  152. END WITHOBJECT
  153. '************************************************************************************************
  154.  
  155.  
  156. SUB Cross (xcoo&,ycoo&,zcoo&)
  157. withobject "corelcad.automation.1"
  158.     .SetPointXYZ xcoo, ycoo, zcoo-7
  159.     .SetPointXYZ xcoo, ycoo, zcoo+7
  160.     .LineSegment 
  161.     .ChangeColor 51, 255, 102
  162.     .SetPointXYZ xcoo-7, ycoo, zcoo
  163.     .SetPointXYZ xcoo+7, ycoo, zcoo
  164.     .LineSegment 
  165.     .ChangeColor 0, 0, 0
  166.     .SetPointXYZ xcoo, ycoo-7, zcoo
  167.     .SetPointXYZ xcoo, ycoo+7, zcoo
  168.     .LineSegment 
  169.     .ChangeColor 255, 0, 0
  170.     .Box -1, xcoo-2, ycoo-2, zcoo-2, xcoo+2, ycoo+2, zcoo+2
  171.     .ChangeColor 0, 204, 255
  172.     .setpointxyz xcoo,ycoo,zcoo
  173.     .linesegment
  174.                 wait for 1
  175.     '.selectWithinRegion xcoo-6,ycoo-6,zcoo-6,xcoo+6,ycoo+6,zcoo+6 
  176. end withobject
  177. end sub
  178.  
  179.  
  180. SUB Doline(x1&,y1&,z1&,x2&,y2&,z2&)
  181.     WITHOBJECT "CorelCAD.automation.1"
  182.     .NewLayer " ", , -1, 0, 0, 0, 0, 255, 0, 2, ""
  183.     .setcurrentlayer " "
  184.     .setpointxyz x1,y1,z1 
  185.     .setpointxyz x2,y2,z2
  186.     .arrowLine 3,1
  187.     .setcurrentlayer "Default Layer"
  188.     end withobject
  189. END SUB
  190.  
  191.  
  192. SUB DoCylinder (x1&,y1&,z1&,x2&,y2&,z2&,x3&,y3&,z3&)
  193.     WITHOBJECT "CorelCAD.automation.1"
  194.     .NewLayer " ", , -1, 0, 0, 0, 0, 255, 0, 2, ""
  195.     .setcurrentlayer " "
  196.     .Cylinder -1, -60,-60,0,-30,-30,0,-30,-30,60
  197.     .setcurrentlayer "Default Layer"
  198.  
  199.     end withobject
  200. END SUB
  201.