Vnos pravokotnikov: Razlika med redakcijama
Iz SDMS
Jump to navigationJump to search| (6 vmesnih redakcij istega uporabnika ni prikazanih) | |||
| Vrstica 3: | Vrstica 3: | ||
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. | 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. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<source> | <source> | ||
| + | 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 | ||
| + | </source> | ||
Za uporabo rutine si pripravimo gumb na orodjarni.Več o tem je v poglavju [[Urejevalnik orodjarne]]. | Za uporabo rutine si pripravimo gumb na orodjarni.Več o tem je v poglavju [[Urejevalnik orodjarne]]. | ||
Trenutna redakcija s časom 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
EndSubZa 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