Pretvorba točk v šestkotnike - T2P

Iz SDMS
Redakcija dne 09:51, 25. junij 2009 od 217.72.79.210 (pogovor) (New page: S spodnjo rutino iz filtriranih točkovnih objektov izdelamo ploskovne. Če vam šestkotniki ne ustrezajo, spremenite korak za J v stavku For, ali pa vstavite novo vrednost za D. Sub To...)
(prim) ← Starejša redakcija | poglejte trenutno redakcijo (prim) | Novejša redakcija → (prim)
Jump to navigationJump to search

S spodnjo rutino iz filtriranih točkovnih objektov izdelamo ploskovne. Če vam šestkotniki ne ustrezajo, spremenite korak za J v stavku For, ali pa vstavite novo vrednost za D.

Sub Tocka_v_ploskev
 Dim L as TLayer, I, J As Long, D, A, CA, SA As Float, ER As TEditRecord, R As TRecord,PA As PointArray
 L= [Plast s točkami]//plast, ki vsebuje točke
 D = 3 //razdalja od centroida v m
 ER = L.EditRecord
 L.BeginMultipleUpdate
 For I = 0 To L.FilteredRecords.Count - 1  //akcija nad filtriranimi objekti
   Hint (IntToStr (I))
   R = L.FilteredRecords.Items(I)
   ER.Edit (R)
   PA = CreatePointArray
   For J = 0 To 359 Step 60
     A = DegToRad (J)
     CA = Cos (A)
     SA = Sin (A)
     PA.AddPoint (R.Y + D*SA, R.X + D*CA)
   Next
   ER.SetPolygon
   ER.AddPointArray(PA)
   ER.Update
 Next
 L.EndMultipleUpdate
EndSub


Za uporabo rutine si pripravimo gumb na orodjarni. Več o tem je v poglavju Urejevalnik orodjarne.

Nazaj na Zanimive rutine