Vnos pravokotnikov

Iz SDMS
Redakcija dne 17:41, 18. marec 2010 od Aleš Trtnik (pogovor | prispevki)
(prim) ← Starejša redakcija | poglejte trenutno redakcijo (prim) | Novejša redakcija → (prim)
Jump to navigationJump to search

Včasih pripravljamo pravokotne izrise. S spodnjo rutino vnesemo v izbrano plast pravokotnike.

Po izbiri podatkovne plasti, v katero se bodo shranjevali pravokotniki, kliknemo sredino pravokotnika (centroid) in smer pravokotnika. Po vnosu dolžine in širine je pravokotnik narisan. Nadaljujemo z risanjem naslednjega.

Sub VnosPravokotnika
  Dim Y1, X1, Y2, X2, D1, D2, A As Float, L as TLayer
  L = SelectLayer ('Izberi plast za vnos pravokotnikov')
  If Not Assigned (L) Then Exit EndIf
  While InputLine ("Vnesi center in smer pravokotnika", Y1, X1, Y2, X2)
    A = Angle (Y2-Y1, X2-X1)
    If Not InputFloat ("Pravokotnik", "Vnesi dolžino", D1) Then Continue EndIf
    If Not InputFloat ("Pravokotnik", "Vnesi širino", D2) Then Continue EndIf
    L.EditRecord.Append
    L.EditRecord.SetPolygon
    L.EditRecord.AddPoint (Y1 - D1/2, X1 - D2/2)
    L.EditRecord.AddPoint (Y1 + D1/2, X1 - D2/2)
    L.EditRecord.AddPoint (Y1 + D1/2, X1 + D2/2)
    L.EditRecord.AddPoint (Y1 - D1/2, X1 + D2/2)
    L.EditRecord.SetCentroid (Y1, X1)
    L.EditRecord.Rotate (Y1, X1, RadToDeg (A))
    L.EditRecord.Update
    Redraw
  Wend
EndSub

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

Risanje zaključimo z desnim gumbom na miški.

Nazaj na Zanimive rutine