home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / Chip_2000-02_cd.bin / tema / ArcData / www / download / LABEL2~1.AVE < prev    next >
Text File  |  1999-12-17  |  2KB  |  66 lines

  1. '-------------------------------------------
  2. 'label2shp
  3. '-------------------------------------------
  4. ' ┌Φel:    p°evßdφ labely ArcView do shp. V atributovΘ tabulce shp jsou ulo₧en text popisu, v²Üku a natoΦenφ.
  5. '          
  6. '
  7. ' Pou₧itφ: Po kompilaci skriptu vytvo°te novΘ tlaΦφtko v menu tlaΦφtek dokumentu zobrazenφ
  8. ' a skript p°i°a∩te jeho vlastnosti Click. TΘma, jeho₧ popisy chcete p°evΘst, musφ b²t aktivnφ.
  9. '-------------------------------------------
  10.  
  11. aView = av.getActiveDoc
  12. aTheme = aView.getActiveThemes.get(0)
  13.  
  14.  
  15. aGraphList = aTheme.getGraphics
  16.  
  17. aList = {}
  18. aRect = rect.MakeEmpty
  19. av.setStatus (0)
  20. aMax = aGraphList.count
  21. i = 0
  22. aSym = Symbol.Make(#SYMBOL_PEN)
  23. aSymBod = Symbol.Make(#SYMBOL_MARKER)
  24. aDisp = aView.GetDisplay
  25. afilename = fileDialog.Put("c:\temp\label.shp".AsFileName,"*.shp","V²sledn² shapefile")
  26. NewFTab = FTab.MakeNew(aFileName,Point)
  27.  
  28. FldShp = NewFTab.FindField("Shape")
  29. FldHeight = Field.Make("HEIGHT",#FIELD_FLOAT,6,1)
  30. FldRot = Field.Make("ROTATION",#FIELD_FLOAT,6,1)
  31. FldText = Field.Make("TEXT",#FIELD_CHAR,25,0)
  32. NewFTab.AddFields({FldHeight,FldRot,FldText})
  33. aNewOrig=Point.MakeNull
  34.  
  35. for each itm in aGraphList
  36.  
  37.    aAngle = itm.getAngle
  38.    aOrigin = itm.GetOrigin
  39.    aShape  = itm.getShape
  40.       
  41.    itm.setAngle(0)
  42.    itm.invalidate
  43.    aRect   = itm.GetBounds
  44.    aHeight = aRect.GetHeight
  45.    itm.setAngle(aAngle)
  46.    itm.invalidate
  47.  
  48.    aText   = itm.GetText
  49.    
  50.    rec = NewFTab.AddRecord
  51.    
  52.    NewFTab.SetValue(FldHeight,rec,aHeight)
  53.    NewFTab.SetValue(FldText,rec,aText)
  54.    NewFTab.SetValue(FldRot,rec,aAngle)
  55.    NewFTab.SetValue(FldShp,rec,aorigin)
  56.    
  57.    i = i+1
  58.    av.SetStatus((i/aMax)*100)  
  59.  
  60. end
  61.  
  62. newFTab.SetEditable(FALSE)
  63. av.setStatus (0)
  64.  
  65.  
  66.