Sie sind auf Seite 1von 26

Sub axeio_hani()

'Cells for any change Azimuth + E-titl +

' Dim wsSheet9 As Worksheet


'Set wsSheet9 = Worksheets("Charts")
Dim wsresult As Worksheet
Set wsresult = Worksheets("Hani_T")
Dim x As Integer

Dim objFSO
Dim objTF
Dim ws As Worksheet
Dim lRow As Long
Dim lCol As Long
Dim strTmp As String
Dim lFnum As Long
Dim sFilePath As String
Dim i As Long

'used to represent the column that contains the address


'sFilePath = ActiveWorkbook.Path & "C:\Users\Yousef.Shaban\Desktop\Google-Earth
-Project\Yousef1\AddredsssImport.kml"

''C:\Users\Yousef.Shaban\Desktop\Worst Cell KPI Macro Backup\Delta Project\Full


Design Project Delta + Worst Cells

'Try to add Date create with file

' Sub filesave()


''Update 20141111
'ActiveWorkbook.SaveAs ("C:\Users\dt\Desktop\my information\nov-kte-data " &
Format(Now(), "DD-MMM-YYYY hh mm AMPM") & ".xlsx")
'End Sub

Dim SaveToDirectory As String

SaveToDirectory = ActiveWorkbook.Path & "\Charts\"


'sFilePath = SaveToDirectory & "PH11New.kml"
sFilePath = SaveToDirectory & "Gaza_Cells_" & Format(Now(), "DD-MMM-YYYY hh mm
AMPM") & ".kml"

'sFilePath = "C:\Users\Yousef.Shaban\Desktop\Worst Cell KPI Macro Backup\Delta


Project\Full Design Project Delta + Worst Cells\Charts\PH1New.kml"
Set objFSO = CreateObject("scripting.filesystemobject")
Set objTF = objFSO.createtextfile(sFilePath, True, False)

'Reset Sheet from A to Z


wsresult.AutoFilterMode = False
wsresult.Range("A1:K1").AutoFilter

wsresult.AutoFilter.sort.SortFields.Clear
wsresult.AutoFilter.sort.SortFields.Add Key:=Range _
("A:A"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With wsresult.AutoFilter.sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

'Header information
objTF.writeline "<?xml version=""1.0"" encoding=""UTF-8""?>"
objTF.writeline "<kml xmlns=""http://www.opengis.net/kml/2.2""
xmlns:gx=""http://www.google.com/kml/ext/2.2""
xmlns:kml=""http://www.opengis.net/kml/2.2""
xmlns:atom=""http://www.w3.org/2005/Atom"">"

'** Change based on LAT & Long

Dim LatCol As Integer


LatCol = 183
Dim LongCol As Integer
LongCol = 184
Dim MagCol As Integer
'MagCol = Asc(TextBox4.Text) - Asc("A") + 1
MagCol = 1

'Filter Auto A to Z

'Call outputLine("<xml version='1.0' encoding='UTF-8'>")


'Call outputLine("<kml xmlns='http://earth.google.com/kml/2.2'>")
'Call outputLine("<Document>")
objTF.writeline "<Document>"

' *************** Define Styles **************************************8


objTF.writeline "<name>Sites </name>"
objTF.writeline " <open>1</open>"
' objTF.writeline " <snippet"
'maxLines = "2" > ""
'
' objTF.writeline " Created by Yousef Shaban OordeoO Palestine ver.1.1.1"

objTF.writeline "<snippet maxLines=""2"">Created by Yousef Shaban ver.1.1.1"


objTF.writeline " </snippet>"
objTF.writeline " <Style id=""Cell_Red"">"

objTF.writeline " <LineStyle>"


objTF.writeline " <color>c80000ff</color>"
objTF.writeline " <width>3</width>"
objTF.writeline " </LineStyle>"

objTF.writeline " <PolyStyle>"


objTF.writeline " <color>c80000ff</color>"
objTF.writeline " <fill>0</fill>"
objTF.writeline " </PolyStyle>"
objTF.writeline " </Style>"
objTF.writeline " <Style id=""sh_shaded_dot"">"
objTF.writeline " <IconStyle>"
objTF.writeline " <scale>0.02</scale>"
objTF.writeline " <Icon>"
objTF.writeline "
<href>http://maps.google.com/mapfiles/kml/shapes/shaded_dot.png</href>"
objTF.writeline " </Icon>"
objTF.writeline " </IconStyle>"
objTF.writeline " </Style>"
objTF.writeline " <Style id=""Cell_Yellow"">"
objTF.writeline " <LineStyle>"
objTF.writeline " <color>ff00ffff</color>"
objTF.writeline " <width>3</width>"
objTF.writeline " </LineStyle>"
objTF.writeline " <PolyStyle>"
objTF.writeline " <color>ff00ffff</color>"
objTF.writeline " <fill>0</fill>"
objTF.writeline " </PolyStyle>"
objTF.writeline " </Style>"
objTF.writeline " <Style id=""Cell_Green"">"
objTF.writeline " <LineStyle>"
objTF.writeline " <color>c800ff00</color>"
objTF.writeline " <width>3</width>"
objTF.writeline " </LineStyle>"
objTF.writeline " <PolyStyle>"
objTF.writeline " <color>c800ff00</color>"
objTF.writeline " <fill>0</fill>"
objTF.writeline " </PolyStyle>"
objTF.writeline " </Style>"

objTF.writeline " <Style id=""Cell_Blue"">"


objTF.writeline " <LineStyle>"
objTF.writeline " <color>c8ff0000</color>"
objTF.writeline " <width>3</width>"
objTF.writeline " </LineStyle>"
objTF.writeline " <PolyStyle>"
objTF.writeline " <color>c8ff0000</color>"
objTF.writeline " <fill>0</fill>"
objTF.writeline " </PolyStyle>"
objTF.writeline " </Style>"

'#0055ff

'Main Folder that Contain KPIs Folders *******************

DDL = " Physical Changes " & (wsresult.Range("Q1"))


objTF.writeline "<Folder>"
objTF.writeline " <name>"
objTF.writeline DDL
objTF.writeline "</name>"
objTF.writeline " <open>1</open>"
objTF.writeline " <Folder>"
objTF.writeline " <name>Sites</name>"
' objTF.writeline " <visibility>1</visibility> "

' For Loop TCH Drop Rate Folders


*************************************************************************
Dim Row As Integer
Row = 2
Do Until (wsresult.Range("E" & Row) = "")

'Site Name
If Len(wsresult.Range("I" & Row)) <= 3 Then

If wsresult.Range("A" & Row) <> wsresult.Range("A" & Row - 1) Then

objTF.writeline "<Placemark>"
objTF.writeline "<name>"
objTF.writeline (wsresult.Range("A" & Row))
objTF.writeline "</name>"
' objTF.writeline "<visibility>0</visibility> "
objTF.writeline "<styleUrl>#sh_shaded_dot</styleUrl>"
objTF.writeline "<Point>"
'
'Long >> Lat

' wsresult.Range ("CH" & Row)


objTF.writeline "<coordinates>"
objTF.writeline wsresult.Range("F" & Row)
objTF.writeline ","
objTF.writeline wsresult.Range("E" & Row)
objTF.writeline ", 20"
objTF.writeline "</coordinates>"
objTF.writeline "</Point>"
objTF.writeline "</Placemark>"
End If

'MID Cell name


'=MID(B36,7,3)

' A & B ' C


objTF.writeline "<Placemark>"
objTF.writeline "<name>"
objTF.writeline (Mid(wsresult.Range("B" & Row), 7, 3))
objTF.writeline "</name>"
' objTF.writeline "<visibility>0</visibility> "
objTF.writeline "<styleUrl>#sh_shaded_dot</styleUrl>"
objTF.writeline "<Point>"
'
'Long >> Lat
' wsresult.Range ("CH" & Row)
objTF.writeline "<coordinates>"
' objTF.writeline wsresult.Range("F" & Row)
' objTF.writeline ","
' objTF.writeline wsresult.Range("E" & Row)
'objTF.writeline ", 20"

'OverFlow ?? Indoor if not string or more than 3 Digits

objTF.writeline (PolygonP(wsresult.Range("M" & Row), wsresult.Range("L" & Row),


0.001, wsresult.Range("F" & Row)))

objTF.writeline "</coordinates>"
objTF.writeline "</Point>"
objTF.writeline "</Placemark>"

' RBS 6000


'If wsresult.Range("D" & Row) = "RBS-6000" Then
'
'
'
''Private Sub MakePlaceMark(
'' lon As Double,
'' lat As Double,
'' mag As Double)
' objTF.writeline " <Placemark> "
'objTF.writeline " <Point><coordinates> "
'' Call outputLine(lon F & "," & lat E)
'objTF.writeline (wsresult.Range("F" & Row) & "," & wsresult.Range("E" & Row))
' objTF.writeline "</coordinates> </Point>"
'objTF.writeline "</Placemark>"
'
'
'
'
'End If

' Cell Name


objTF.writeline "<Placemark>"
objTF.writeline "<name>"
objTF.writeline (wsresult.Range("B" & Row))
objTF.writeline "</name>"
' objTF.writeline " <styleUrl>#sh_shaded_dot</styleUrl>"
'Based on Cell Name take values for DCR
' For i = 1 To 1000
'
' If wsSheet9.Range("BH" & i) = wsresult.Range("A" & Row) Then
'
' 'You can write: Space
''<img src="buttons/bu%20hover.png" />
'
' objTF.writeline " <description><![CDATA[<img src=""./" & wsSheet9.Range("BJ" &
i) & ".png""/>]]>"
'' objTF.writeline
' objTF.writeline "</description>"
''<img src="img/apple_" + total + ".png" id="imageBox"/>
'End If
'
''<description>
'' <![CDATA[<div align="center"><table width="500"><tr><td>
'' <a href="pics/IMG_0988.jpg"><img src="pics/IMG_0988.jpg" width="500"
height="373"></a>
'' </td></tr></table></div>]]>
''</description>
''
'Next i

'----------------------------------------------------------------------------------
--
objTF.writeline " <description><![CDATA[Date or Time: "
objTF.writeline " Start Date"
objTF.writeline (wsresult.Range("BO1"))
objTF.writeline " End Date"
objTF.writeline (wsresult.Range("BQ1"))

'Site ID Cell ID Site Type RBS type Lat Long Height on mast Ground Height
Azimuth E-tilt Implemented Antenna

'Site ID Cell ID Site Type RBS type Implemented Antenna Azimuth E-tilt BCCH
BSIC TCH-Traffic BH TCH-traffic AVG

objTF.writeline " <table border='1' padding='3' widhth='500px'>"


objTF.writeline "<tr> <th colspan=""10"">Physical Changes</th>"
objTF.writeline " </tr>"
objTF.writeline "<tr>"
objTF.writeline " <th >site Name</th>"
objTF.writeline " <th >Cell Name</th>"
objTF.writeline " <th >RBS type</th>"
objTF.writeline " <th >Implemented Antenna</th>"

objTF.writeline " <th >Azimuth</th>"


objTF.writeline " <th >E-titl</th>"

objTF.writeline " <th >BCCH</th>"


objTF.writeline " <th >BSIC </th>"

objTF.writeline " <th >TCH-Traffic BH</th>"


objTF.writeline " <th >TCH-traffic AVG</th>"

objTF.writeline " </tr>"

objTF.writeline "<tr>"
objTF.writeline " <td >"
' objTF.writeline " <description><![CDATA[<img src=""./" & wsSheet9.Range("BJ" &
i) & ".png""/>]]>"

'href="http://file:///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf"

'****************************
objTF.writeline " <a href=""file:///X:/Gaza_Sites/" & wsresult.Range("A" &
Row) & "/""> "

' objTF.writeline " <a href=""file:///10.200.16.221""> "


'file://///\\wtpapp001\Programs Folder">

' objTF.writeline " <a href=""///\\wtpapp001" & "/""


target=""_explorer.exe"">"
'<a href="file://///\\wtpapp001\Programs Folder">useful link </a

'http:///////\\10.200.16.221
' file://///\\wtpapp001\Programs Folder">

' objTF.writeline " <a href='file://wtpapp001/'> "

'objTF.writeline " <a href='http://10.200.16.221/Gaza


Project/Gaza_Sites/GC2002/'> "
' objTF.writeline " <a href=""/////10.200.16.221/Gaza Project/" &
wsresult.Range("A" & Row) & "/""> "

'file://10.200.16.221/Optimization/

'<a href="FOLDER_PATH" target="_explorer.exe">Link Text</a>

'objTF.writeline " <a href=""/////10.200.16.221/Optimization/""


target=_explorer.exe'> "
'
' objTF.writeline " <a href=""/////10.200.16.221/Optimization" & "/""
target=""_explorer.exe""> "
' objTF.writeline " <a href='/////10.200.16.221/Gaza
Project/Gaza_Sites/GC2002/'> "
'file://10.200.16.221/Gaza Project/Gaza_Sites/GC2002/
'objTF.writeline " <a href='/////10.200.16.221/'> "

'<img style="max-width:500px;" src="file:///\\10.200.16.221\Gaza


Project\Gaza_Sites">

'file://10.200.16.221/Gaza Project/Gaza_Sites/GC2002/Cell A.JPG">

'Work
' <a
href="file:///C:/Users/Yousef.Shaban/Desktop/RF_Survey/GC2003_Site_Survey/">
'Site ID Cell ID Site Type RBS type Lat Long Height on mast Ground Height
Azimuth E-tilt Implemented Antenna

'Site ID Cell ID RBS type Implemented Antenna Azimuth E-tilt BCCH BSIC
TCH-Traffic BH TCH-traffic AVG

objTF.writeline (wsresult.Range("A" & Row))

objTF.writeline " </a>"


objTF.writeline " </td>"
objTF.writeline " <td >"
objTF.writeline wsresult.Range("B" & Row)

objTF.writeline " </td>"

objTF.writeline " <td >"


objTF.writeline wsresult.Range("D" & Row)
objTF.writeline " </td>"

objTF.writeline " <td >"


objTF.writeline wsresult.Range("E" & Row)
objTF.writeline " </td>"

objTF.writeline " <td >"


objTF.writeline (wsresult.Range("F" & Row))
objTF.writeline " </td>"

If Not IsError(wsresult.Range("G" & Row)) Then


objTF.writeline " <td >"
objTF.writeline wsresult.Range("G" & Row)
objTF.writeline " </td>"
End If

' objTF.writeline " <td >"


' objTF.writeline (wsresult.Range("G" & Row))
' objTF.writeline " </td>"

' BCCH BSIC TCH-Traffic BH TCH-traffic AVG


' H I J K

objTF.writeline " <td >"


objTF.writeline (wsresult.Range("H" & Row))
objTF.writeline " </td>"

objTF.writeline " <td >"


objTF.writeline wsresult.Range("I" & Row)
objTF.writeline " </td>"

objTF.writeline " <td >"


objTF.writeline wsresult.Range("J" & Row)
objTF.writeline " </td>"

objTF.writeline " <td >"


objTF.writeline wsresult.Range("K" & Row)
objTF.writeline " </td>"
'
' objTF.writeline " <td >"
' objTF.writeline wsresult.Range("G" & Row)
' objTF.writeline " </td>"
' objTF.writeline " <td >"
' objTF.writeline wsresult.Range("H" & Row)
' objTF.writeline " </td>"
' objTF.writeline " <td >"
' objTF.writeline wsresult.Range("K" & Row)
' objTF.writeline " </td>"

objTF.writeline "</tr>"
objTF.writeline " </table>]]></description>"
'----------------------------------------------------------------------------------
--

'if > 5 DCR Times Trend ( Red Colors ) else ( Green )


###########################################
' If wsresult.Range("L" & Row).Value > 3 Then
' objTF.writeline " <styleUrl>#Cell_Red</styleUrl>"
' End If
'

'if color based on antenna type


'64 Green
'66 red
'22'Yellow

'82 Blue
'VEGA ' Pink

'MsgBox vartybe(wsresult.Range("K" & Row).Value)

If wsresult.Range("E" & Row).Value = "742264" Then


objTF.writeline "<styleUrl>#Cell_Blue</styleUrl>"
ElseIf wsresult.Range("E" & Row).Value = "742266" Then
objTF.writeline "<styleUrl>#Cell_Red</styleUrl>"
ElseIf wsresult.Range("E" & Row).Value = "80010682" Then

objTF.writeline " <styleUrl>#Cell_Yellow</styleUrl>"


Else
objTF.writeline " <styleUrl>#Cell_Green</styleUrl>"
End If
'80010622V01

' objTF.writeline " <styleUrl>#Cell_Green</styleUrl>"


'
objTF.writeline "<MultiGeometry>"
objTF.writeline "
<Polygon><extrude>1</extrude><altitudeMode>relativeToGround</altitudeMode><outerBou
ndaryIs>"

objTF.writeline " <LinearRing><coordinates>"

'LONG to LAT
objTF.writeline (Polygon(wsresult.Range("M" & Row), wsresult.Range("L" & Row),
0.001, wsresult.Range("F" & Row)))
objTF.writeline "</coordinates>"
objTF.writeline " </LinearRing>"
objTF.writeline " </outerBoundaryIs> </Polygon></MultiGeometry>"

objTF.writeline "</Placemark>"

End If

Row = Row + 1
Loop

objTF.writeline " </Folder>"

'
'
' objTF.writeline " <Folder>"
' objTF.writeline " <name>Call Setup Success</name>"
'' objTF.writeline " <open>0</open>"
' objTF.writeline " <visibility>0</visibility> "
'' objTF.writeline " <Placemark>"
'' objTF.writeline " <name>DemoSite_10</name>"
'' objTF.writeline " <visibility>0</visibility> **************** ??"
'Dim RowC As Integer
'RowC = 3
'Do Until (wsresult.Range("CH" & RowC) = "")
'
'
'
''Site Name
'If wsresult.Range("CK" & RowC) <> wsresult.Range("CK" & RowC - 1) Then

objTF.writeline " <Folder>"


objTF.writeline " <name>RBS 6000</name>"
objTF.writeline " <visibility>0</visibility> "

' objTF.writeline " <visibility>1</visibility> "


' For Loop TCH Drop Rate Folders
*************************************************************************
Dim Rows As Integer
Rows = 2
Do Until (wsresult.Range("L" & Rows) = "")

'Site Name
If wsresult.Range("A" & Rows) <> wsresult.Range("A" & Rows - 1) And
wsresult.Range("D" & Rows) = "RBS-6000" Then

' objTF.writeline "<Placemark>"


' objTF.writeline "<name>"
' objTF.writeline (wsresult.Range("A" & Row))
' objTF.writeline "</name>"
'' objTF.writeline "<visibility>0</visibility> "
' objTF.writeline "<styleUrl>#sh_shaded_dot</styleUrl>"
' objTF.writeline "<Point>"
''
''Long >> Lat
'
'' wsresult.Range ("CH" & Row)
' objTF.writeline "<coordinates>"
' objTF.writeline wsresult.Range("F" & Row)
' objTF.writeline ","
' objTF.writeline wsresult.Range("E" & Row)
'objTF.writeline ", 20"
' objTF.writeline "</coordinates>"
' objTF.writeline "</Point>"
' objTF.writeline "</Placemark>"
'End If

' RBS 6000


'If wsresult.Range("D" & Row) = "RBS-6000" Then
'
'
'
''Private Sub MakePlaceMark(
'' lon As Double,
'' lat As Double,
'' mag As Double)
' objTF.writeline " <Placemark> "
'objTF.writeline " <Point><coordinates> "
'' Call outputLine(lon F & "," & lat E)
'objTF.writeline (wsresult.Range("F" & Row) & "," & wsresult.Range("E" & Row))
' objTF.writeline "</coordinates> </Point>"
'objTF.writeline "</Placemark>"
'
'
'
'
'End If

'
'objTF.writeline "</Folder>"

'If wsresult.Range("D" & Rows) = "RBS-6000" Then

objTF.writeline " <Placemark> "


objTF.writeline " <Point><coordinates> "
' Call outputLine(lon F & "," & lat E)
objTF.writeline (wsresult.Range("M" & Rows) & "," & wsresult.Range("L" & Rows))
objTF.writeline "</coordinates> </Point>"
objTF.writeline "</Placemark>"

End If

Rows = Rows + 1
Loop

objTF.writeline " </Folder>"

' Close main Folder


objTF.writeline " </Folder>"
objTF.writeline "</Document>"
objTF.writeline "</kml>"

objTF.Close
Set objFSO = Nothing
MsgBox "Done!", vbOKOnly

Unload UserForm11
Unload UserForm2
wsresult.Activate

End Sub

'Private Sub MakePlaceMark(lon As Double, lat As Double, mag As String)


'sFilePath = "C:\Users\Yousef.Shaban\Desktop\Google-Earth
-Project\Yousef1\Addredsss1.kml"
'
' Set objFSO = CreateObject("scripting.filesystemobject")
' Set objTF = objFSO.createtextfile(sFilePath, True, False)
'
' objTF.writeline "<Placemark>"
' objTF.writeline "<name> mag</name>"
'
' objTF.writeline "<Point> <coordinates>"
' objTF.writeline "lon & ", " & lat"
' objTF.writeline "</coordinates> </Point>"
' objTF.writeline "</Placemark>"
'End Sub

'Private Function Polygon(x As Double, y As Double, r As Double, n As Integer) As


String
' Dim Angle As Double
' Dim Coords As String
' Coords = ""
' Angle = 2 * 3.141592654 / n
'
' px1 = r * Sin(Angle * i) + x
' py1 = r * Cos(Angle * i) + y
' Coords = Coords & px1 & "," & py1 & ",20 "
'
' For i = 1 To n - 1
' px = r * Sin(Angle * i) + x
' py = r * Cos(Angle * i) + y
' Coords = Coords & px & "," & py & ",20 "
' Next i
'
' Coords = Coords & px1 & "," & py1 & ",20"
' Polygon = Coords
'End Function

Private Function Polygon(x As Double, y As Double, r As Double, Angle As Integer)


As String
' Dim Angle As Double
Dim Coords As String
Coords = ""
' Angle = 2 * 3.141592654 / n
'
'60 * pi / 180

' px11 = r * Sin(Angle * i) + x


' py11 = r * Cos(Angle * i) + y
' Coords = Coords & px11 & "," & py11 & ",20 "
Coords = Coords & x & "," & y & ",20 "
' For i = 1 To n - 1
' px = r * Sin(Angle * i) + x
' py = r * Cos(Angle * i) + y
' Coords = Coords & px & "," & py & ",20 "
' Next i

'Point 1
Const pi = 3.14159265358979
Dim val1 As Double
' Convert 60 degrees to radians by multiplying by pi/180.
val1 = Sin(60 * pi / 180)

'MsgBox "r " & r


'MsgBox "Sin(30) " & Sin(30)
'MsgBox "Sin(( 30 * (Pi / 180)) " & Sin((Angle + 30) * (pi / 180))
'MsgBox "Sin((30) * (pi / 180)) small " & Sin((30) * (pi / 180))
'MsgBox "x " & x

'Point 1

px1 = r * Sin((Angle + 30) * (pi / 180)) + x


py1 = r * Cos((Angle + 30) * (pi / 180)) + y
' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y
'' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y

''Point 2
px2 = r * Sin((Angle + 25) * (pi / 180)) + x
py2 = r * Cos((Angle + 25) * (pi / 180)) + y

'
''point 3
px3 = r * Sin((Angle + 20) * (pi / 180)) + x
py3 = r * Cos((Angle + 20) * (pi / 180)) + y
'
''point 4

px4 = r * Sin((Angle + 15) * (pi / 180)) + x


py4 = r * Cos((Angle + 15) * (pi / 180)) + y

'point 5
px5 = r * Sin((Angle + 10) * (pi / 180)) + x
py5 = r * Cos((Angle + 10) * (pi / 180)) + y

px6 = r * Sin((Angle + 5) * (pi / 180)) + x


py6 = r * Cos((Angle + 5) * (pi / 180)) + y

'Point 6 Center

px7 = r * Sin((Angle) * (pi / 180)) + x


py7 = r * Cos((Angle) * (pi / 180)) + y

'point 7

px8 = r * Sin((Angle - 5) * (pi / 180)) + x


py8 = r * Cos((Angle - 5) * (pi / 180)) + y

'point 8

px9 = r * Sin((Angle - 10) * (pi / 180)) + x


py9 = r * Cos((Angle - 10) * (pi / 180)) + y

'point 9

px10 = r * Sin((Angle - 15) * (pi / 180)) + x


py10 = r * Cos((Angle - 15) * (pi / 180)) + y

'point 10

px11 = r * Sin((Angle - 20) * (pi / 180)) + x


py11 = r * Cos((Angle - 20) * (pi / 180)) + y
'point 11

px12 = r * Sin((Angle - 25) * (pi / 180)) + x


py12 = r * Cos((Angle - 25) * (pi / 180)) + y

'point 12

px13 = r * Sin((Angle - 30) * (pi / 180)) + x


py13 = r * Cos((Angle - 30) * (pi / 180)) + y

'point 13 as the same start coordinates.

Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
px3 & "," & py3 & ",20" & " " & px4 & "," & py4 & ",20" & " " & px5 & "," & py5 &
",20" & " " & px6 & "," & py6 & ",20" & " " & px7 & "," & py7 & ",20" & " " & px8 &
"," & py8 & ",20" & " " & px9 & "," & py9 & ",20" & " " & px10 & "," & py10 & ",20"
& " " & px11 & "," & py11 & ",20" & " " & px12 & "," & py12 & ",20" & " " & x & ","
& y & ",20"
' Coords = Coords & px1 & "," & py1 & ",20" & " " & px3 & "," & py3 & ",20" & px5
& "," & py5 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
px3 & "," & py3 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & " " & px2 & "," & py2 & ",20" & " " & x & ","
& y & ",20"

Polygon = Coords
End Function

Private Function PolygonP2(x As Double, y As Double, r As Double, Angle As Integer)


As String
' Dim Angle As Double
Dim Coords As String
Coords = ""
' Angle = 2 * 3.141592654 / n
'
'60 * pi / 180

' px11 = r * Sin(Angle * i) + x


' py11 = r * Cos(Angle * i) + y
' Coords = Coords & px11 & "," & py11 & ",0 "
Coords = Coords & x & "," & y & ",20 "
' For i = 1 To n - 1
' px = r * Sin(Angle * i) + x
' py = r * Cos(Angle * i) + y
' Coords = Coords & px & "," & py & ",0 "
' Next i

'Point 1
Const pi = 3.14159265358979
Dim val1 As Double
' Convert 60 degrees to radians by multiplying by pi/180.
val1 = Sin(60 * pi / 180)

'MsgBox "r " & r


'MsgBox "Sin(30) " & Sin(30)
'MsgBox "Sin(( 30 * (Pi / 180)) " & Sin((Angle + 30) * (pi / 180))
'MsgBox "Sin((30) * (pi / 180)) small " & Sin((30) * (pi / 180))
'MsgBox "x " & x

'Point 1

px1 = r * Sin((Angle + 30) * (pi / 180)) + x


py1 = r * Cos((Angle + 30) * (pi / 180)) + y

' px1 = r * Sin(360 - Angle + 30) + x


' py1 = r * Cos(360 - Angle + 30) + y
'' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y

''Point 2
px2 = r * Sin((Angle + 25) * (pi / 180)) + x
py2 = r * Cos((Angle + 25) * (pi / 180)) + y

'
''point 3
px3 = r * Sin((Angle + 20) * (pi / 180)) + x
py3 = r * Cos((Angle + 20) * (pi / 180)) + y
'
''point 4

px4 = r * Sin((Angle + 15) * (pi / 180)) + x


py4 = r * Cos((Angle + 15) * (pi / 180)) + y

'point 5
px5 = r * Sin((Angle + 10) * (pi / 180)) + x
py5 = r * Cos((Angle + 10) * (pi / 180)) + y

px6 = r * Sin((Angle + 5) * (pi / 180)) + x


py6 = r * Cos((Angle + 5) * (pi / 180)) + y

'Point 6 Center

px7 = r * Sin((Angle) * (pi / 180)) + x


py7 = r * Cos((Angle) * (pi / 180)) + y

'point 7

px8 = r * Sin((Angle - 5) * (pi / 180)) + x


py8 = r * Cos((Angle - 5) * (pi / 180)) + y

'point 8

px9 = r * Sin((Angle - 10) * (pi / 180)) + x


py9 = r * Cos((Angle - 10) * (pi / 180)) + y

'point 9
px10 = r * Sin((Angle - 15) * (pi / 180)) + x
py10 = r * Cos((Angle - 15) * (pi / 180)) + y

'point 10

px11 = r * Sin((Angle - 20) * (pi / 180)) + x


py11 = r * Cos((Angle - 20) * (pi / 180)) + y

'point 11

px12 = r * Sin((Angle - 25) * (pi / 180)) + x


py12 = r * Cos((Angle - 25) * (pi / 180)) + y

'point 12

px13 = r * Sin((Angle - 30) * (pi / 180)) + x


py13 = r * Cos((Angle - 30) * (pi / 180)) + y

'point 13 as the same start coordinates.

Coords = px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " & px3 & ","
& py3 & ",20" & " " & px4 & "," & py4 & ",20" & " " & px5 & "," & py5 & ",20" & " "
& px6 & "," & py6 & ",20" & " " & px7 & "," & py7 & ",20" & " " & px8 & "," & py8 &
",20" & " " & px9 & "," & py9 & ",20" & " " & px10 & "," & py10 & ",20" & " " &
px11 & "," & py11 & ",20" & " " & px1 & "," & py1 & ",20" ' & " " & px11 & "," &
py11 & ",20" & " " & x & "," & y & ",20"

'Coords = px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " & px3 &
"," & py3 & ",20" & " " & px4 & "," & py4 & ",20" & " " & px5 & "," & py5 & ",20" &
" " & px6 & "," & py6 & ",20" & " " & px7 & "," & py7 & ",20" & " " & px8 & "," &
py8 & ",20" & " " & px9 & "," & py9 & ",20" & " " & px10 & "," & py10 & ",20" & " "
& px11 & "," & py11 & ",20" & " " & px12 & "," & py12 & ",20" & " " & px1 & "," &
py1 & ",20" ' & " " & px11 & "," & py11 & ",20" & " " & x & "," & y & ",20"
' Coords = Coords & px1 & "," & py1 & ",20" & " " & px3 & "," & py3 & ",20" & px5
& "," & py5 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
px3 & "," & py3 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & " " & px2 & "," & py2 & ",20" & " " & x & ","
& y & ",20"

PolygonP2 = Coords
End Function

Private Function PolygonP3(x As Double, y As Double, r As Double, Angle As Integer)


As String
' Dim Angle As Double
Dim Coords As String
Coords = ""
' Angle = 2 * 3.141592654 / n
'
'60 * pi / 180

' px11 = r * Sin(Angle * i) + x


' py11 = r * Cos(Angle * i) + y
' Coords = Coords & px11 & "," & py11 & ",0 "
Coords = Coords & x & "," & y & ",20 "
' For i = 1 To n - 1
' px = r * Sin(Angle * i) + x
' py = r * Cos(Angle * i) + y
' Coords = Coords & px & "," & py & ",0 "
' Next i

'Point 1
Const pi = 3.14159265358979
Dim val1 As Double
' Convert 60 degrees to radians by multiplying by pi/180.
val1 = Sin(60 * pi / 180)

'MsgBox "r " & r


'MsgBox "Sin(30) " & Sin(30)
'MsgBox "Sin(( 30 * (Pi / 180)) " & Sin((Angle + 30) * (pi / 180))
'MsgBox "Sin((30) * (pi / 180)) small " & Sin((30) * (pi / 180))
'MsgBox "x " & x

'Point 1
px1 = r * Sin((Angle + 32) * (pi / 180)) + x
py1 = r * Cos((Angle + 32) * (pi / 180)) + y
' px1 = r * Sin((Angle + 30) * (pi / 180)) + x
' py1 = r * Cos((Angle + 30) * (pi / 180)) + y
'
' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y
'' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y

''Point 2
px2 = r * Sin((Angle + 35) * (pi / 180)) + x
py2 = r * Cos((Angle + 35) * (pi / 180)) + y

'
'px2 = r * Sin((Angle + 25) * (pi / 180)) + x
' py2 = r * Cos((Angle + 25) * (pi / 180)) + y

'
''point 3
px3 = r * Sin((Angle + 20) * (pi / 180)) + x
py3 = r * Cos((Angle + 20) * (pi / 180)) + y
'
''point 4

px4 = r * Sin((Angle + 15) * (pi / 180)) + x


py4 = r * Cos((Angle + 15) * (pi / 180)) + y

'point 5
px5 = r * Sin((Angle + 10) * (pi / 180)) + x
py5 = r * Cos((Angle + 10) * (pi / 180)) + y

px6 = r * Sin((Angle + 5) * (pi / 180)) + x


py6 = r * Cos((Angle + 5) * (pi / 180)) + y
'Point 6 Center

px7 = r * Sin((Angle) * (pi / 180)) + x


py7 = r * Cos((Angle) * (pi / 180)) + y

'point 7

px8 = r * Sin((Angle - 5) * (pi / 180)) + x


py8 = r * Cos((Angle - 5) * (pi / 180)) + y

'point 8

px9 = r * Sin((Angle - 10) * (pi / 180)) + x


py9 = r * Cos((Angle - 10) * (pi / 180)) + y

'point 9

px10 = r * Sin((Angle - 15) * (pi / 180)) + x


py10 = r * Cos((Angle - 15) * (pi / 180)) + y

'point 10

px11 = r * Sin((Angle - 20) * (pi / 180)) + x


py11 = r * Cos((Angle - 20) * (pi / 180)) + y

'point 11

px12 = r * Sin((Angle - 25) * (pi / 180)) + x


py12 = r * Cos((Angle - 25) * (pi / 180)) + y

'point 12

px13 = r * Sin((Angle - 30) * (pi / 180)) + x


py13 = r * Cos((Angle - 30) * (pi / 180)) + y

'point 13 as the same start coordinates.

'Coords =

'Coords = px2 & "," & py2 & ",20" & " " & px3 & "," & py3 & ",20" & " " & px4 &
"," & py4 & ",20" & " " & px5 & "," & py5 & ",20" & " " & px6 & "," & py6 & ",20" &
" " & px7 & "," & py7 & ",20" & " " & px8 & "," & py8 & ",20" & " " & px9 & "," &
py9 & ",20" & " " & px10 & "," & py10 & ",20" & " " & px11 & "," & py11 & ",20"

' & " " & px11 & "," & py11 & ",20" & " " & px12 & "," & py12 & ",20" & " " & x &
"," & y & ",20"
' Coords = Coords & px1 & "," & py1 & ",20" & " " & px3 & "," & py3 & ",20" & px5
& "," & py5 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
px3 & "," & py3 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & " " & px2 & "," & py2 & ",20" & " " & x & ","
& y & ",20"
Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " & x
& "," & y & ",20"

PolygonP3 = Coords
End Function

Private Function PolygonP4(x As Double, y As Double, r As Double, Angle As Integer)


As String
' Dim Angle As Double
Dim Coords As String
Coords = ""
' Angle = 2 * 3.141592654 / n
'
'60 * pi / 180

' px11 = r * Sin(Angle * i) + x


' py11 = r * Cos(Angle * i) + y
' Coords = Coords & px11 & "," & py11 & ",0 "
Coords = Coords & x & "," & y & ",20 "
' For i = 1 To n - 1
' px = r * Sin(Angle * i) + x
' py = r * Cos(Angle * i) + y
' Coords = Coords & px & "," & py & ",0 "
' Next i

'Point 1
Const pi = 3.14159265358979
Dim val1 As Double
' Convert 60 degrees to radians by multiplying by pi/180.
val1 = Sin(60 * pi / 180)

'MsgBox "r " & r


'MsgBox "Sin(30) " & Sin(30)
'MsgBox "Sin(( 30 * (Pi / 180)) " & Sin((Angle + 30) * (pi / 180))
'MsgBox "Sin((30) * (pi / 180)) small " & Sin((30) * (pi / 180))
'MsgBox "x " & x

'Point 1
px1 = r * Sin((Angle - 27) * (pi / 180)) + x
py1 = r * Cos((Angle - 27) * (pi / 180)) + y
' px1 = r * Sin((Angle + 30) * (pi / 180)) + x
' py1 = r * Cos((Angle + 30) * (pi / 180)) + y
'
' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y
'' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y

''Point 2
px2 = r * Sin((Angle - 30) * (pi / 180)) + x
py2 = r * Cos((Angle - 30) * (pi / 180)) + y

'px2 = r * Sin((Angle + 25) * (pi / 180)) + x


' py2 = r * Cos((Angle + 25) * (pi / 180)) + y

'
''point 3
px3 = r * Sin((Angle + 20) * (pi / 180)) + x
py3 = r * Cos((Angle + 20) * (pi / 180)) + y
'
''point 4

px4 = r * Sin((Angle + 15) * (pi / 180)) + x


py4 = r * Cos((Angle + 15) * (pi / 180)) + y

'point 5
px5 = r * Sin((Angle + 10) * (pi / 180)) + x
py5 = r * Cos((Angle + 10) * (pi / 180)) + y

px6 = r * Sin((Angle + 5) * (pi / 180)) + x


py6 = r * Cos((Angle + 5) * (pi / 180)) + y

'Point 6 Center

px7 = r * Sin((Angle) * (pi / 180)) + x


py7 = r * Cos((Angle) * (pi / 180)) + y

'point 7

px8 = r * Sin((Angle - 5) * (pi / 180)) + x


py8 = r * Cos((Angle - 5) * (pi / 180)) + y

'point 8

px9 = r * Sin((Angle - 10) * (pi / 180)) + x


py9 = r * Cos((Angle - 10) * (pi / 180)) + y

'point 9

px10 = r * Sin((Angle - 15) * (pi / 180)) + x


py10 = r * Cos((Angle - 15) * (pi / 180)) + y

'point 10

px11 = r * Sin((Angle - 20) * (pi / 180)) + x


py11 = r * Cos((Angle - 20) * (pi / 180)) + y

'point 11

px12 = r * Sin((Angle - 25) * (pi / 180)) + x


py12 = r * Cos((Angle - 25) * (pi / 180)) + y

'point 12

px13 = r * Sin((Angle - 30) * (pi / 180)) + x


py13 = r * Cos((Angle - 30) * (pi / 180)) + y

'point 13 as the same start coordinates.


'Coords =

'Coords = px2 & "," & py2 & ",20" & " " & px3 & "," & py3 & ",20" & " " & px4 &
"," & py4 & ",20" & " " & px5 & "," & py5 & ",20" & " " & px6 & "," & py6 & ",20" &
" " & px7 & "," & py7 & ",20" & " " & px8 & "," & py8 & ",20" & " " & px9 & "," &
py9 & ",20" & " " & px10 & "," & py10 & ",20" & " " & px11 & "," & py11 & ",20"

' & " " & px11 & "," & py11 & ",20" & " " & px12 & "," & py12 & ",20" & " " & x &
"," & y & ",20"
' Coords = Coords & px1 & "," & py1 & ",20" & " " & px3 & "," & py3 & ",20" & px5
& "," & py5 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
px3 & "," & py3 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
px3 & "," & py3 x & "," & y & ",20"
Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " & x
& "," & y & ",20"
PolygonP4 = Coords
End Function

Private Function PolygonT(x As Double, y As Double, r As Double, Angle As Integer)


As String
' Dim Angle As Double
Dim Coords As String
Coords = ""
' Angle = 2 * 3.141592654 / n
'
'60 * pi / 180

' px11 = r * Sin(Angle * i) + x


' py11 = r * Cos(Angle * i) + y
' Coords = Coords & px11 & "," & py11 & ",20 "
Coords = Coords & x & "," & y & ",10 "
' For i = 1 To n - 1
' px = r * Sin(Angle * i) + x
' py = r * Cos(Angle * i) + y
' Coords = Coords & px & "," & py & ",20 "
' Next i

'Point 1
Const pi = 3.14159265358979
Dim val1 As Double
' Convert 60 degrees to radians by multiplying by pi/180.
val1 = Sin(60 * pi / 180)

'MsgBox "r " & r


'MsgBox "Sin(30) " & Sin(30)
'MsgBox "Sin(( 30 * (Pi / 180)) " & Sin((Angle + 30) * (pi / 180))
'MsgBox "Sin((30) * (pi / 180)) small " & Sin((30) * (pi / 180))
'MsgBox "x " & x

'Point 1

px1 = r * Sin((Angle + 30) * (pi / 180)) + x


py1 = r * Cos((Angle + 30) * (pi / 180)) + y
' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y
'' px1 = r * Sin(360 - Angle + 30) + x
' py1 = r * Cos(360 - Angle + 30) + y

''Point 2
px2 = r * Sin((Angle + 25) * (pi / 180)) + x
py2 = r * Cos((Angle + 25) * (pi / 180)) + y

'
''point 3
px3 = r * Sin((Angle + 20) * (pi / 180)) + x
py3 = r * Cos((Angle + 20) * (pi / 180)) + y
'
''point 4

px4 = r * Sin((Angle + 15) * (pi / 180)) + x


py4 = r * Cos((Angle + 15) * (pi / 180)) + y

'point 5
px5 = r * Sin((Angle + 10) * (pi / 180)) + x
py5 = r * Cos((Angle + 10) * (pi / 180)) + y

px6 = r * Sin((Angle + 5) * (pi / 180)) + x


py6 = r * Cos((Angle + 5) * (pi / 180)) + y

'Point 6 Center

px7 = r * Sin((Angle) * (pi / 180)) + x


py7 = r * Cos((Angle) * (pi / 180)) + y

'point 7

px8 = r * Sin((Angle - 5) * (pi / 180)) + x


py8 = r * Cos((Angle - 5) * (pi / 180)) + y

'point 8

px9 = r * Sin((Angle - 10) * (pi / 180)) + x


py9 = r * Cos((Angle - 10) * (pi / 180)) + y

'point 9

px10 = r * Sin((Angle - 15) * (pi / 180)) + x


py10 = r * Cos((Angle - 15) * (pi / 180)) + y

'point 10

px11 = r * Sin((Angle - 20) * (pi / 180)) + x


py11 = r * Cos((Angle - 20) * (pi / 180)) + y
'point 11

px12 = r * Sin((Angle - 25) * (pi / 180)) + x


py12 = r * Cos((Angle - 25) * (pi / 180)) + y

'point 12

px13 = r * Sin((Angle - 30) * (pi / 180)) + x


py13 = r * Cos((Angle - 30) * (pi / 180)) + y

'point 13 as the same start coordinates.

Coords = Coords & px1 & "," & py1 & ",10" & " " & px2 & "," & py2 & ",10" & " " &
px3 & "," & py3 & ",10" & " " & px4 & "," & py4 & ",10" & " " & px5 & "," & py5 &
",10" & " " & px6 & "," & py6 & ",10" & " " & px7 & "," & py7 & ",10" & " " & px8 &
"," & py8 & ",10" & " " & px9 & "," & py9 & ",10" & " " & px10 & "," & py10 & ",10"
& " " & px11 & "," & py11 & ",10" & " " & px12 & "," & py12 & ",10" & " " & x & ","
& y & ",10"
' Coords = Coords & px1 & "," & py1 & ",20" & " " & px3 & "," & py3 & ",20" & px5
& "," & py5 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
px3 & "," & py3 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & " " & px2 & "," & py2 & ",20" & " " & x & ","
& y & ",20"

PolygonT = Coords
End Function

Private Function PolygonP(x As Double, y As Double, r As Double, Angle As Integer)


As String
' Dim Angle As Double
Dim Coords As String
Coords = ""
' Angle = 2 * 3.141592654 / n
'
'60 * pi / 180

' px11 = r * Sin(Angle * i) + x


' py11 = r * Cos(Angle * i) + y
' Coords = Coords & px11 & "," & py11 & ",20 "
'Coords = Coords & x & "," & y & ",10 "
' For i = 1 To n - 1
' px = r * Sin(Angle * i) + x
' py = r * Cos(Angle * i) + y
' Coords = Coords & px & "," & py & ",20 "
' Next i

'Point 1
Const pi = 3.14159265358979
Dim val1 As Double
' Convert 60 degrees to radians by multiplying by pi/180.
val1 = Sin(60 * pi / 180)
'MsgBox "r " & r
'MsgBox "Sin(30) " & Sin(30)
'MsgBox "Sin(( 30 * (Pi / 180)) " & Sin((Angle + 30) * (pi / 180))
'MsgBox "Sin((30) * (pi / 180)) small " & Sin((30) * (pi / 180))
'MsgBox "x " & x

'Point 1

' px1 = r * Sin((Angle + 30) * (pi / 180)) + x


' py1 = r * Cos((Angle + 30) * (pi / 180)) + y
'
'' px1 = r * Sin(360 - Angle + 30) + x
'' py1 = r * Cos(360 - Angle + 30) + y
''' px1 = r * Sin(360 - Angle + 30) + x
'' py1 = r * Cos(360 - Angle + 30) + y
'
'''Point 2
'px2 = r * Sin((Angle + 25) * (pi / 180)) + x
' py2 = r * Cos((Angle + 25) * (pi / 180)) + y
'
''
'''point 3
' px3 = r * Sin((Angle + 20) * (pi / 180)) + x
' py3 = r * Cos((Angle + 20) * (pi / 180)) + y
''
'''point 4
'
' px4 = r * Sin((Angle + 15) * (pi / 180)) + x
' py4 = r * Cos((Angle + 15) * (pi / 180)) + y
'
'
''point 5
' px5 = r * Sin((Angle + 10) * (pi / 180)) + x
' py5 = r * Cos((Angle + 10) * (pi / 180)) + y
'
' px6 = r * Sin((Angle + 5) * (pi / 180)) + x
' py6 = r * Cos((Angle + 5) * (pi / 180)) + y
'

'Point 6 Center

px7 = r * Sin((Angle) * (pi / 180)) + x


py7 = r * Cos((Angle) * (pi / 180)) + y

'point 7

'px8 = r * Sin((Angle - 5) * (pi / 180)) + x


'py8 = r * Cos((Angle - 5) * (pi / 180)) + y
'
'
''point 8
'
'px9 = r * Sin((Angle - 10) * (pi / 180)) + x
'py9 = r * Cos((Angle - 10) * (pi / 180)) + y
'
'
''point 9
'
'px10 = r * Sin((Angle - 15) * (pi / 180)) + x
'py10 = r * Cos((Angle - 15) * (pi / 180)) + y
'
'
''point 10
'
'px11 = r * Sin((Angle - 20) * (pi / 180)) + x
'py11 = r * Cos((Angle - 20) * (pi / 180)) + y
'
'
''point 11
'
'px12 = r * Sin((Angle - 25) * (pi / 180)) + x
'py12 = r * Cos((Angle - 25) * (pi / 180)) + y
'
'
''point 12
'
'px13 = r * Sin((Angle - 30) * (pi / 180)) + x
' py13 = r * Cos((Angle - 30) * (pi / 180)) + y

'point 13 as the same start coordinates.

' Coords = Coords & px1 & "," & py1 & ",10" & " " & px2 & "," & py2 & ",10" & " " &
px3 & "," & py3 & ",10" & " " & px4 & "," & py4 & ",10" & " " & px5 & "," & py5 &
",10" & " " & px6 & "," & py6 & ",10" & " " & px7 & "," & py7 & ",10" & " " & px8 &
"," & py8 & ",10" & " " & px9 & "," & py9 & ",10" & " " & px10 & "," & py10 & ",10"
& " " & px11 & "," & py11 & ",10" & " " & px12 & "," & py12 & ",10" & " " & x & ","
& y & ",10"
' Coords = Coords & px1 & "," & py1 & ",20" & " " & px3 & "," & py3 & ",20" & px5
& "," & py5 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & ",20" & " " & px2 & "," & py2 & ",20" & " " &
px3 & "," & py3 & ",20" & " " & x & "," & y & ",20"
'Coords = Coords & px1 & "," & py1 & " " & px2 & "," & py2 & ",20" & " " & x & ","
& y & ",20"
Coords = Coords & px7 & "," & py7
PolygonP = Coords
End Function

Das könnte Ihnen auch gefallen