Option Explicit Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub tunnel() Dim dummy As AcadLine, outerloop(0) As AcadEntity, myhatch As AcadHatch Dim p1#(2), p2#(2), p3#(2), p4#(2), coo Dim n#, r#, i%, k% Const pi# = 3.14159265358979 n = 10: r = 3 p2(0) = r: p3(0) = r + 7 With ThisDrawing.ModelSpace Set myhatch = .AddHatch(1, "SOLID", 0) Set dummy = .AddLine(p1, p2) ReDim p#((n + 1) * 2 - 1) For i = 0 To UBound(p) Step 2 coo = dummy.EndPoint p(i) = coo(0) p(i + 1) = coo(1) dummy.Rotate p1, 360 / n * pi / 180 Next dummy.Delete Set dummy = .AddLine(p2, p3) dummy.Rotate p4, 18 * pi / 180 ReDim star#(UBound(p) * 2 - 1) k = 0 For i = 0 To UBound(star) - 3 Step 4 coo = dummy.EndPoint star(i) = p(k) star(i + 1) = p(k + 1) star(i + 2) = coo(0) star(i + 3) = coo(1) k = k + 2 dummy.Rotate p4, 36 * pi / 180 Next star(UBound(star) - 1) = p(0) star(UBound(star)) = p(1) dummy.Delete Set outerloop(0) = .AddLightWeightPolyline(star) outerloop(0).Closed = 1 myhatch.AppendOuterLoop outerloop myhatch.Evaluate ZoomExtents outerloop(0).Delete For i = 1 To 255 myhatch.color = i myhatch.Rotate p4, 0.5 * pi / 180 ThisDrawing.Regen acActiveViewport Sleep 100 Next myhatch.Delete End With End Sub