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

  1. 'This script gives a demonstration of OBJECT DEFINE and EXTRUDE commands in CorelCAD
  2. '
  3. '************************************************************************************************************
  4. '************************************************************************************************************
  5. '************************************************************************************************************
  6. '************************************************************************************************************
  7. REM ⌐ 1995 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 DoPRISM(x1#,y1#,z1#,x2#,y2#,z2#)
  14.  
  15. REM Declare Variables
  16. Global Title as string
  17.  
  18. Rem Set Variable
  19. Title$ = "CorelCAD: POLYGON to PRISM demonstration"
  20.  
  21. Withobject "CorelCad.Automation.1"
  22.     
  23.     .FileNew
  24.  
  25.     string1$ = "This script will demonstrate how to create a solid PRISM from a 2D POLYGON."
  26.     string2$ = "For more information on the POLYGON and EXTRUDE tools, consult CorelCAD's On-line Help."
  27.     BEGIN DIALOG DispMessage 25, 70, 316, 75,Title$
  28.         TEXT  4, 3, 310, 17, String1$
  29.         TEXT  4, 25, 310, 18, String2$
  30.         TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  31.         PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  32.         CANCELBUTTON  240, 44, 40, 16
  33.     END DIALOG
  34.  
  35.     Return% = DIALOG (DispMessage)
  36.     if Return = 2 then STOP
  37.  
  38.     string1$ = "A POLYGON will be created by using the POLYGON: CENTER and VERTEX Tool."
  39.     string2$ = "Two points are required for the construction of this POLYGON."
  40.     string3$ = "A dialog box allows the user to define the POLYGON as a surface or a wireframe."
  41.     string4$ = ""
  42.     BEGIN DIALOG DispMessage2 25, 70, 316, 98, Title$
  43.         TEXT  4, 4, 310, 12, String1$
  44.         TEXT  4, 18, 310, 10, String2$
  45.         TEXT  4, 32, 310, 12, String3$
  46.         TEXT  4, 46, 310, 11, String4$
  47.         TEXT  4, 69, 310, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  48.         PUSHBUTTON  192, 67, 40, 16, "Next >>>"
  49.         CANCELBUTTON  240, 67, 40, 16
  50.     END DIALOG
  51.     
  52.     Return% = DIALOG (DispMessage2)
  53.     if Return = 2 then STOP
  54.  
  55.     string1$ = "The first point specifies the center of the POLYGON."
  56.     string2$ = ""
  57.     BEGIN DIALOG DispMessage3 25, 70, 316, 75,Title$
  58.         TEXT  4, 3, 310, 17, String1$
  59.         TEXT  4, 25, 310, 18, String2$
  60.         TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  61.         PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  62.         CANCELBUTTON  240, 44, 40, 16
  63.     END DIALOG
  64.  
  65.     Return% = DIALOG (DispMessage3)
  66.     if Return = 2 then STOP
  67.  
  68.     CALL cross( -53.4695, -23.5108, 0)
  69.     
  70.     string1$ = "The second point specifies the vertex of the POLYGON."
  71.     string2$ = ""
  72.     BEGIN DIALOG DispMessage4 25, 70, 316, 75,Title$
  73.         TEXT  4, 3, 310, 17, String1$
  74.         TEXT  4, 25, 310, 18, String2$
  75.         TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  76.         PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  77.         CANCELBUTTON  240, 44, 40, 16
  78.     END DIALOG
  79.  
  80.     Return% = DIALOG (DispMessage4)
  81.     if Return = 2 then STOP
  82.  
  83.     CAll doline (-53.4695, -23.5108, 0,-32.3422, -28.6715, 0)
  84.     CALL cross(-32.3422, -28.6715, 0)
  85.  
  86.     Wait for 1
  87.     .Selectall
  88.     .DeleteSelection
  89.  
  90.     .PolygonCenter -1, 6, -53.4695, -23.5108, 0, -32.3422, -28.6715, 0
  91.  
  92.     string1$ = "The POLYGON will now be EXTRUDED into a PRISM."
  93.     string2$ = "The first point of the EXTRUDE path is set."    
  94. BEGIN DIALOG DispMessage5 25, 70, 316, 75,title
  95.     TEXT  4, 3, 310, 17, string1
  96.     TEXT  4, 21, 310, 18, string2
  97.     TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  98.     PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  99.     CANCELBUTTON  240, 44, 40, 16
  100. END DIALOG
  101.  
  102.     Return% = DIALOG (DispMessage5)
  103.     if Return = 2 then STOP
  104.  
  105.     .SelectPointAt -62.4463, -5.93935, 0, 0
  106.     .StartAddCmdPoint 2
  107.     CALL cross(-68.5024, -39.2272, 0)
  108.     .AddCmdPoint -68.5024, -39.2272, 0
  109.  
  110.     string1$ = "The second point of the EXTRUDE path is set. This will define the EXTRUDE height."
  111.     string2$ = "Note: To move the cursor in the Z-direction while performing commands, hold the CTRL+SHIFT keys down."
  112. BEGIN DIALOG DispMessage6 25, 70, 316, 75,title
  113.     TEXT  4, 3, 310, 17, string1
  114.     TEXT  4, 20, 310, 18, string2
  115.     TEXT  4, 46, 170, 8, "Click NEXT to proceed or CANCEL to exit the Script."
  116.     PUSHBUTTON  192, 44, 40, 16, "Next >>>"
  117.     CANCELBUTTON  240, 44, 40, 16
  118. END DIALOG
  119.  
  120.     Return% = DIALOG (DispMessage6)
  121.     if Return = 2 then STOP
  122.     
  123.     CALL cross(-68.5024, -39.2272, 50)
  124.     .AddCmdPoint -68.5024, -39.2272, 50
  125.     CAll doline (-68.5024, -39.2272, 0,-68.5024, -39.2272, 50)
  126.     .zoomtoall
  127.     CALL cross(-68.5024, -39.2272, 50)
  128.     .SelectPointAt -95.9686, -44.5701, 50, 0
  129.     Wait for 1
  130.     .EndAddCmdPoint 
  131.     .Extrude 0
  132.     .SelectAll
  133.     .DeleteSelection
  134.  
  135.     'Extruding the polygon into a PRISM
  136.  
  137.     .PolygonCenter -1, 6, -53.4695, -23.5108, 0, -32.3422, -28.6715, 0
  138.     .SelectPointAt -70.4639, -31.7042, 0, 0
  139.     .StartAddCmdPoint 2
  140.     .AddCmdPoint -68.5024, -39.2272, 0
  141.     .AddCmdPoint -68.5024, -39.2272, 50
  142.     .EndAddCmdPoint 
  143.     .Extrude 0
  144.     .ZoomToAll
  145.  
  146.     String1$ = "The HIDE button can be used to give us a realistic view of our model. It hides all construction lines which would not be normally visible." 
  147.     String2$ = "The HIDE PROPERTIES dialog box can be opened by right-mouse clicking on the HIDE button, located on the STANDARD toolbar."
  148. beep
  149. BEGIN DIALOG EndMess 25, 70, 316, 75, "FINAL HINTS"
  150.     TEXT  4, 4, 310, 16, String1$
  151.     TEXT  4, 25, 310, 17, String2$
  152.     TEXT  42, 48, 118, 8, "Click END to finish the demonstation."
  153.     PUSHBUTTON  223, 47, 40, 16, "END"
  154. END DIALOG
  155.  
  156. ret = DIALOG(EndMess)
  157. .hideentireview 0,0,0,0
  158.  
  159.  
  160. END WITHOBJECT
  161. '************************************************************************************************
  162.  
  163.  
  164.  
  165. SUB Cross (xcoo#,ycoo#,zcoo#)
  166. withobject "corelcad.automation.1"
  167.     .SetPointXYZ xcoo, ycoo, zcoo-7
  168.     .SetPointXYZ xcoo, ycoo, zcoo+7
  169.     .LineSegment 
  170.     .ChangeColor 51, 255, 102
  171.     .SetPointXYZ xcoo-7, ycoo, zcoo
  172.     .SetPointXYZ xcoo+7, ycoo, zcoo
  173.     .LineSegment 
  174.     .ChangeColor 0, 0, 0
  175.     .SetPointXYZ xcoo, ycoo-7, zcoo
  176.     .SetPointXYZ xcoo, ycoo+7, zcoo
  177.     .LineSegment 
  178.     .ChangeColor 255, 0, 0
  179.     .Box -1, xcoo-2, ycoo-2, zcoo-2, xcoo+2, ycoo+2, zcoo+2
  180.     .ChangeColor 0, 204, 255
  181.     .setpointxyz xcoo,ycoo,zcoo
  182.     .linesegment
  183.                 wait for 1
  184.     '.selectWithinRegion xcoo-6,ycoo-6,zcoo-6,xcoo+6,ycoo+6,zcoo+6 
  185. end withobject
  186. end sub
  187.  
  188.  
  189. SUB DoLine(x1#,y1#,z1#,x2#,y2#,z2#)
  190.     WITHOBJECT "CorelCAD.automation.1"
  191.     .NewLayer " ", , -1, 0, 0, 0, 0, 255, 0, 2, ""
  192.     .setcurrentlayer " "
  193.     .setpointxyz x1,y1,z1 
  194.     .setpointxyz x2,y2,z2
  195.     .arrowLine 3,1
  196.     .setcurrentlayer "Default Layer"
  197.     end withobject
  198. END SUB
  199.  
  200.  
  201.  
  202. SUB DoPRISM(x1#,y1#,z1#,x2#,y2#,z2#)
  203.     WITHOBJECT "CorelCAD.automation.1"
  204.     .NewLayer " ", , -1, 0, 0, 0, 0, 255, 0, 2, ""
  205.     .setcurrentlayer " "
  206.     .Box -1, -60,-60,0,0,0,60
  207.     .setcurrentlayer "Default Layer"
  208.  
  209.     end withobject
  210. END SUB
  211.