Vnos pravokotnikov: Razlika med redakcijama

Iz SDMS
Jump to navigationJump to search
Vrstica 5: Vrstica 5:
 
<source>
 
<source>
 
  Sub VnosPravokotnika
 
  Sub VnosPravokotnika
 
 
   Dim Y1, X1, Y2, X2, D1, D2, A As Float, L as TLayer
 
   Dim Y1, X1, Y2, X2, D1, D2, A As Float, L as TLayer
 
   L = SelectLayer ('Izberi plast za vnos pravokotnikov')
 
   L = SelectLayer ('Izberi plast za vnos pravokotnikov')

Redakcija: 17:41, 18. marec 2010

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