Pretvorba toÄk v Å¡estkotnike - T2P
Iz SDMS
Redakcija dne 11:16, 26. marec 2010 od Aleš Trtnik (pogovor | prispevki)
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
EndSubZa uporabo rutine si pripravimo gumb na orodjarni. Več o tem je v poglavju Urejevalnik orodjarne.
Nazaj na Zanimive rutine