不相信?
- Sub polygon()
- Dim myselect(1 To 300) As AcadEntity '定义选择集数组
- Dim num As Integer
- Dim pnt As Variant
- Dim lpnt As Variant
- num = 5 '正多边形边数
- Dim fpnt(0 To 2) As Double '起点坐标
- Dim leng As Double
- Dim i As Long
- For i = 1 To 300 '循环300次
- fpnt(0) = 3000 * Rnd: fpnt(1) = 3000 * Rnd: fpnt(2) = 0 '起点随机坐标
- leng = Rnd * 10 + 1 '边长随机长度
- ReDim lpnt(0 To num * 2 - 1) As Double '下面是画正多边形
- pnt = fpnt
- lpnt(0) = pnt(0)
- lpnt(1) = pnt(1)
- Dim st As Integer
- For st = 1 To num - 1
- pnt = ThisDrawing.Utility.PolarPoint(pnt, (3.14159265 * 2 / num) * (st - 1), leng)
- lpnt(st * 2) = pnt(0)
- lpnt(st * 2 + 1) = pnt(1)
- Next st
- Set myselect(i) = ThisDrawing.ModelSpace.AddLightWeightPolyline(lpnt)
- Next i
- ThisDrawing.Regen (True)
- End Sub
|