home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / turbocad / V4 / tcw.z / Expoint.bas < prev    next >
BASIC Source File  |  1997-10-28  |  2KB  |  79 lines

  1. ' This sample program is an example of how to do custom file IO from  TurboCAD.  All vertices of selected graphics are output to a table.
  2. '
  3. ' Author    : Mike Cartwright, Tamara Cartwright, Natalia Karaseva (updated to TurboCAD 4.0 interface)
  4. ' Date        : 01/08/96,  3/8/97,  09/30/97
  5. 'Constants
  6. Global Const GK_GRAPHIC = 11
  7.  
  8. Sub Main ()
  9.     Dim FileName As String
  10.     Dim myLine As String
  11.     Dim myInf As String
  12.     Dim g As Long
  13.     Dim v As Long
  14.     Dim vi As Long
  15.     Dim vCount As Long
  16.     Dim gCount As Long
  17.     Dim i As Long
  18.     Dim fh As Long
  19.     Dim dActive As Long
  20.     
  21.         ' Check for valid drawing
  22.     dActive = TCWDrawingActive ()
  23.         If dActive = 0 Then
  24.            MsgBox "Program requires active drawing. Open any drawing and try again."
  25.            ' Terminate the program
  26.            Stop
  27.         End If
  28.        
  29.         gCount = TCWSelectionCount()        
  30.         If (gCount = 0) Then
  31.             MsgBox "Need to have at least one graphic selected"
  32.             Stop
  33.   
  34.         End If
  35.           ' Get the name of the output file.
  36.         
  37.           FileName = InputBox("Type in the filename to export to","TurboCAD")
  38.  if FileName<>"" Then              
  39.  ' Open the output text file.
  40.         fh = TCWOpenOutput(FileName)
  41.        
  42.             ' Walk through the selected graphics and pick only
  43.             ' GK_GRAPHICS.
  44.         for i = 0 to gCount - 1
  45.             g= TCWSelectionAt(i)
  46.                                                  
  47.                                               result=TCWGraphicPropertyGet(g, "Kind")
  48.                                               myInf=TCWGraphicPropertyGet(g, "Info")
  49.  
  50.  
  51.     if (result= GK_GRAPHIC) and (myInf="") Then
  52.  
  53.                 if vi > 0 then
  54.                     ' Place a blank line after the previous graphic
  55.                      TCWWriteOutput fh, ""
  56.                 End If
  57.                 
  58.                 vCount = TCWVertexCount(g)
  59.                 ' Iterate through the vertices of the graphic g.
  60.                 for vi = 0 to vCount - 1
  61.                     v = TCWVertexAt(g, vi)
  62.                     ' Write the coordinates of vertex v into the string Line.
  63.                     ' The delimeter for numeric fields is chr(9) character.
  64.                     myLine = Str$(vi) & chr$(9) & Str$(TCWGetX(v)) & chr$(9) & _ 
  65.                              Str$(TCWGetY(v)) & chr$(9) & Str$(TCWGetZ(v))
  66.                     TCWWriteOutput fh, myLine
  67.                 next vi            
  68.     End If
  69.    next i
  70.  
  71.  
  72.         TCWCloseOutput fh
  73.                             
  74.     End If
  75. result=TCWDeselectAll()
  76. MsgBox "Finished"
  77. End Sub
  78.