Excelだけで東京タワー立体模型!を作るコードと設計図
Excelの図形・3D書式・回転で、東京タワー立体模型を作っちゃいます!ご堪能ください!
作成用コードのURLは下記にしています!!コードをExcelVBAに貼り付けて、「test_run01()」を実行すると、動画と同様のものが出来上がります!ただし、動作には30分程度かかるので、ご了承ください💦動画は30倍まで圧縮してあります!
同様に、このコードを書く際に使用した設計図も掲載します!(Instagramの投稿にて)
#東京タワー #模型 #立体図形 #立体模型 #Excel #3dart #3danimation #3d #3ddrawing #3dmodeling #エクセル
Sub set_ball(cx_cm, cy_cm, x_cm, y_cm, z_cm, r_cm, bk As Workbook, rgb_r, rgb_g, rgb_b)
cx = Application.CentimetersToPoints(cx_cm)
cy = Application.CentimetersToPoints(cy_cm)
x = Application.CentimetersToPoints(x_cm)
y = Application.CentimetersToPoints(y_cm)
z_ = Application.CentimetersToPoints(z_cm)
r = Application.CentimetersToPoints(r_cm)
Dim sha As Shape
Dim sh As Worksheet
Set sh = bk.Worksheets(1)
Set sha = sh.Shapes.AddShape(msoShapeOval, cx + x - r, cy - y - r, 2 * r, 2 * r)
Dim s3d As ThreeDFormat
Set s3d = sha.ThreeD
s3d.BevelTopInset = r
s3d.BevelTopDepth = r
s3d.BevelBottomInset = r
s3d.BevelBottomDepth = r
s3d.Z = z_
sha.Line.Visible = msoFalse
sha.Fill.ForeColor.RGB = RGB(rgb_r, rgb_g, rgb_b)
End Sub
Sub test_run01()
Dim bk As Workbook
Set bk = Workbooks.Add
cx_cm = 70
cy_cm = 70
'r_cm = 0.5
'配置変更
bk.Windows(1).Zoom = 10
bk.Windows(1).ScrollColumn = 2
bk.Windows(1).ScrollRow = 4
bk.Activate
DoEvents
'直線群の設定
Line_alls = bec_group()
Line_all = Line_alls(0)
Circle_all = Line_alls(1)
'直線図形の絵画_PartB以外
For Each Ls In Line_all
Call create_line(cx_cm, cy_cm, Ls(0), Ls(1), Ls(2), bk, Ls(3))
Next
'円柱図形の絵画_PartB
Call create_circle(cx_cm, cy_cm, Circle_all, bk)
'Call set_ball(cx_cm, cy_cm, x_cm, y_cm, z_cm, r_cm, bk, rgb_r, rgb_g, rgb_b)
'図形の名称取得
Dim sh As Worksheet
Set sh = bk.Worksheets(1)
Dim sha_ns()
n = 0
For Each sha_n In sh.Shapes
ReDim Preserve sha_ns(n)
sha_ns(n) = sha_n.Name
n = n + 1
Next
'図形をグループ化、3D回転
Dim s3d As ThreeDFormat
Set s3d = sh.Shapes.Range(sha_ns).Group.ThreeD
s3d.SetPresetCamera (msoCameraPerspectiveContrastingLeftFacing)
s3d.RotationX = 307.7
s3d.RotationY = 3.6
s3d.RotationZ = 6.1
s3d.FieldOfView = 14
bk.Activate
DoEvents
'回転アニメーション
Set s3d = sh.Shapes(1).ThreeD
For i = 1 To 50
s3d.IncrementRotationX 20
DoEvents
DoEvents
DoEvents
Application.Wait Now + TimeSerial(0, 0, 0.1)
Next i
For i = 1 To 5
s3d.IncrementRotationY -5
DoEvents
DoEvents
DoEvents
Application.Wait Now + TimeSerial(0, 0, 0.1)
Next i
For i = 1 To 30
s3d.IncrementRotationX 20
DoEvents
DoEvents
DoEvents
Application.Wait Now + TimeSerial(0, 0, 0.1)
Next i
For i = 1 To 36
s3d.IncrementRotationY 10
DoEvents
DoEvents
DoEvents
Application.Wait Now + TimeSerial(0, 0, 0.1)
Next i
DoEvents
Application.Wait Now + TimeSerial(0, 0, 5)
DoEvents
MsgBox "絵画修了!"
End Sub
Sub create_circle(cx_cm, cy_cm, Circle_all, bk As Workbook)
Pai = Application.WorksheetFunction.Pi()
For Each cir In Circle_all
cen = cir(0)
d_cm = cir(1)
rgb_p = cir(2)
r_cm = cir(3)
num_e = 60
For num = 1 To num_e
Call set_ball(cx_cm, cy_cm, cen(0) + d_cm * Cos(num / num_e * 2 * Pai), cen(1), cen(2) + d_cm * Sin(num / num_e * 2 * Pai), r_cm, bk, rgb_p(0), rgb_p(1), rgb_p(2))
DoEvents
Next num
Next
End Sub
Sub create_line(cx_cm, cy_cm, bec_start, bec_end, r_cm, bk As Workbook, rgb_p)
rgb_r = rgb_p(0)
rgb_g = rgb_p(1)
rgb_b = rgb_p(2)
num_e = cal_ball_num(bec_start, bec_end, r_cm)
For num = 0 To num_e
now_bec = sum_bec(1 - num / num_e, bec_start, num / num_e, bec_end)
For rotate = 0 To 3
x_cm = now_bec(0)
y_cm = now_bec(1)
z_cm = now_bec(2)
Call set_ball(cx_cm, cy_cm, x_cm, y_cm, z_cm, r_cm, bk, rgb_r, rgb_g, rgb_b)
now_bec = rotate90xz(now_bec)
Next rotate
DoEvents
Next num
End Sub
Function sum_bec(coef_1, bec_1, coef_2, bec_2)
sum_bec = Array( _
coef_1 * bec_1(0) + coef_2 * bec_2(0), _
coef_1 * bec_1(1) + coef_2 * bec_2(1), _
coef_1 * bec_1(2) + coef_2 * bec_2(2))
End Function
Function rotate90xz(bec)
rotate90xz = Array((-1) * bec(2), bec(1), bec(0))
End Function
Function cal_ball_num(bec_1, bec_2, r_cm)
cal_ball_num = Round(( _
(bec_1(0) - bec_2(0)) ^ 2 + _
(bec_1(1) - bec_2(1)) ^ 2 + _
(bec_1(2) - bec_2(2)) ^ 2 _
) ^ 0.5 / (2 * r_cm) * 1.03, 0) + 1
End Function
Function bec_group()
'基本パラメータ
m = 6
a = 2 * m
b = 4 / 3 * a
r = 16
n = 2 * r
c = 2 / 3 * n
d = 5 / 2 * b
e = 1.2 * c
h = a
f = 5 / 4 * h
g = 1 / 5 * f
i = g * h / f
o = 8
j = 1 / 2 * o
k = f + (2 ^ 0.5) * g
l = h + (2 ^ 0.5) * i
p = o / 3
n_1 = (2 ^ 0.5) * m
q = n_1 / (2 ^ 0.5)
Pai = Application.WorksheetFunction.Pi()
rgb_red = Array(255, 0, 0)
rgb_white = Array(217, 217, 217)
'座標_PartA
A_1 = Array(0, r + o + n + j, 0)
A_2 = Array(-q / 2, o + n + j, q / 2)
A_3 = Array(q / 2, o + n + j, q / 2)
'直線_PartA
Dim Line_col As New Collection
AL_1 = Array(sum_bec(6 / 7, A_1, 1 / 7, A_2), sum_bec(6 / 7, A_1, 1 / 7, A_3), 0.235, rgb_red)
Line_col.Add AL_1
AL_2 = Array(sum_bec(5 / 7, A_1, 2 / 7, A_2), sum_bec(5 / 7, A_1, 2 / 7, A_3), 0.235, rgb_red)
Line_col.Add AL_2
AL_3 = Array(sum_bec(4 / 7, A_1, 3 / 7, A_2), sum_bec(4 / 7, A_1, 3 / 7, A_3), 0.235, rgb_white)
Line_col.Add AL_3
AL_4 = Array(sum_bec(3 / 7, A_1, 4 / 7, A_2), sum_bec(3 / 7, A_1, 4 / 7, A_3), 0.235, rgb_white)
Line_col.Add AL_4
AL_5 = Array(sum_bec(2 / 7, A_1, 5 / 7, A_2), sum_bec(2 / 7, A_1, 5 / 7, A_3), 0.235, rgb_white)
Line_col.Add AL_5
AL_6 = Array(sum_bec(1 / 7, A_1, 6 / 7, A_2), sum_bec(1 / 7, A_1, 6 / 7, A_3), 0.235, rgb_red)
Line_col.Add AL_6
AL_7_1 = Array(A_1, sum_bec(5 / 7, A_1, 2 / 7, A_2), 0.235, rgb_red)
Line_col.Add AL_7_1
AL_7_2 = Array(sum_bec(5 / 7, A_1, 2 / 7, A_2), sum_bec(2 / 7, A_1, 5 / 7, A_2), 0.235, rgb_white)
Line_col.Add AL_7_2
AL_7_3 = Array(sum_bec(2 / 7, A_1, 5 / 7, A_2), A_2, 0.235, rgb_red)
Line_col.Add AL_7_3
'座標_PartB
B_1 = Array(0, n + j, 0)
B_2 = Array(0, o + n + j, 0)
B_3 = sum_bec(p / o, B_1, 1 - p / o, B_2)
rads = Array(0, Pai / 10, Pai / 5, Pai * 3 / 10, Pai * 2 / 5)
Dim B_4s(), B_5s(), B_6s()
num = 0
For Each rad In rads
ReDim Preserve B_4s(num)
B_4s(num) = sum_bec(1, B_1, 1, Array(1 / 2 * n_1 * Cos(rad), 0, 1 / 2 * n_1 * Sin(rad)))
ReDim Preserve B_5s(num)
B_5s(num) = sum_bec(1, B_3, 1, Array(1 / 2 * n_1 * Cos(rad), 0, 1 / 2 * n_1 * Sin(rad)))
ReDim Preserve B_6s(num)
B_6s(num) = sum_bec(1, B_2, 1, Array(1 / 2 * n_1 * Cos(rad), 0, 1 / 2 * n_1 * Sin(rad)))
num = num + 1
Next
'直線_PartB
BL_1 = Array(B_1, B_4s(0), 0.235, rgb_white)
Line_col.Add BL_1
Dim BL_2s(), BL_3s()
For num = 0 To 4
ReDim Preserve BL_2s(num)
BL_2s(num) = Array(B_4s(num), B_5s(num), 0.235, rgb_white)
Line_col.Add BL_2s(num)
ReDim Preserve BL_3s(num)
BL_3s(num) = Array(B_5s(num), B_6s(num), 0.235, rgb_red)
Line_col.Add BL_3s(num)
Next num
BL_4 = Array(B_2, B_6s(0), 0.235, rgb_red)
Line_col.Add BL_4
'円形_PartB
BC_1 = Array(B_1, 1 / 2 * n_1, rgb_white, 0.235)
BC_2 = Array(B_3, 1 / 2 * n_1, rgb_red, 0.235)
BC_3 = Array(B_2, 1 / 2 * n_1, rgb_red, 0.235)
'座標_PartC
C_1 = Array(-1 / 2 * a, j, 1 / 2 * a)
C_2 = Array(-1 / 2 * m, j + n, 1 / 2 * m)
C_3 = Array(1 / 2 * m, j + n, 1 / 2 * m)
C_4 = Array(1 / 2 * a, j, 1 / 2 * a)
C_5 = Array(0, j, 1 / 2 * a)
C_6 = Array(0, j + n, 1 / 2 * m)
'直線_PartC
CL_1 = Array(C_2, sum_bec(1 / 3, C_1, 2 / 3, C_2), 0.235, rgb_red)
Line_col.Add CL_1
CL_2 = Array(sum_bec(1 / 3, C_1, 2 / 3, C_2), sum_bec(2 / 3, C_1, 1 / 3, C_2), 0.235, rgb_white)
Line_col.Add CL_2
CL_3 = Array(sum_bec(2 / 3, C_1, 1 / 3, C_2), C_1, 0.235, rgb_red)
Line_col.Add CL_3
CL_4 = Array(C_2, C_3, 0.235, rgb_red)
Line_col.Add CL_4
CL_5 = Array(sum_bec(1 / 6, C_1, 5 / 6, C_2), sum_bec(1 / 6, C_4, 5 / 6, C_3), 0.235, rgb_red)
Line_col.Add CL_5
CL_6 = Array(sum_bec(1 / 3, C_1, 2 / 3, C_2), sum_bec(1 / 3, C_4, 2 / 3, C_3), 0.235, rgb_red)
Line_col.Add CL_6
CL_7 = Array(sum_bec(1 / 2, C_1, 1 / 2, C_2), sum_bec(1 / 2, C_4, 1 / 2, C_3), 0.235, rgb_white)
Line_col.Add CL_7
CL_8 = Array(sum_bec(2 / 3, C_1, 1 / 3, C_2), sum_bec(2 / 3, C_4, 1 / 3, C_3), 0.235, rgb_white)
Line_col.Add CL_8
CL_9 = Array(sum_bec(5 / 6, C_1, 1 / 6, C_2), sum_bec(5 / 6, C_4, 1 / 6, C_3), 0.235, rgb_red)
Line_col.Add CL_9
CL_10 = Array(C_1, C_4, 0.235, rgb_red)
Line_col.Add CL_10
CL_11 = Array(C_2, sum_bec(1 / 6, C_5, 5 / 6, C_6), 0.235, rgb_red)
Line_col.Add CL_11
CL_12 = Array(sum_bec(1 / 6, C_5, 5 / 6, C_6), C_3, 0.235, rgb_red)
Line_col.Add CL_12
CL_13 = Array(sum_bec(1 / 6, C_1, 5 / 6, C_2), sum_bec(1 / 3, C_5, 2 / 3, C_6), 0.235, rgb_red)
Line_col.Add CL_13
CL_14 = Array(sum_bec(1 / 3, C_5, 2 / 3, C_6), sum_bec(1 / 6, C_4, 5 / 6, C_3), 0.235, rgb_red)
Line_col.Add CL_14
CL_15 = Array(sum_bec(1 / 3, C_1, 2 / 3, C_2), sum_bec(1 / 2, C_5, 1 / 2, C_6), 0.235, rgb_white)
Line_col.Add CL_15
CL_16 = Array(sum_bec(1 / 2, C_5, 1 / 2, C_6), sum_bec(1 / 3, C_4, 2 / 3, C_3), 0.235, rgb_white)
Line_col.Add CL_16
CL_17 = Array(sum_bec(1 / 2, C_1, 1 / 2, C_2), sum_bec(2 / 3, C_5, 1 / 3, C_6), 0.235, rgb_white)
Line_col.Add CL_17
CL_18 = Array(sum_bec(2 / 3, C_5, 1 / 3, C_6), sum_bec(1 / 2, C_4, 1 / 2, C_3), 0.235, rgb_white)
Line_col.Add CL_18
CL_19 = Array(sum_bec(2 / 3, C_1, 1 / 3, C_2), sum_bec(5 / 6, C_5, 1 / 6, C_6), 0.235, rgb_red)
Line_col.Add CL_19
CL_20 = Array(sum_bec(5 / 6, C_5, 1 / 6, C_6), sum_bec(2 / 3, C_4, 1 / 3, C_3), 0.235, rgb_red)
Line_col.Add CL_20
CL_21 = Array(sum_bec(5 / 6, C_1, 1 / 6, C_2), C_5, 0.235, rgb_red)
Line_col.Add CL_21
CL_22 = Array(C_5, sum_bec(5 / 6, C_4, 1 / 6, C_3), 0.235, rgb_red)
Line_col.Add CL_22
'座標_PartD
D_1 = Array(-1 / 2 * l, 0, 1 / 2 * h)
D_2 = Array(-1 / 2 * h, 0, 1 / 2 * l)
D_3 = Array(1 / 2 * h, 0, 1 / 2 * l)
D_4 = Array(-1 / 2 * k, j, 1 / 2 * f)
D_5 = Array(-1 / 2 * f, j, 1 / 2 * k)
D_6 = Array(1 / 2 * f, j, 1 / 2 * k)
D_7 = Array(0, j, 0)
D_8 = Array(0, 0, 0)
'直線_PartD
DL_1 = Array(D_1, D_2, 0.235, rgb_white)
Line_col.Add DL_1
DL_2 = Array(D_2, D_3, 0.235, rgb_white)
Line_col.Add DL_2
DL_3 = Array(sum_bec(1 / 2, D_1, 1 / 2, D_4), sum_bec(1 / 2, D_2, 1 / 2, D_5), 0.235, rgb_white)
Line_col.Add DL_3
DL_4 = Array(sum_bec(1 / 2, D_2, 1 / 2, D_5), sum_bec(1 / 2, D_3, 1 / 2, D_6), 0.235, rgb_white)
Line_col.Add DL_4
DL_5 = Array(D_4, D_5, 0.235, rgb_white)
Line_col.Add DL_5
DL_6 = Array(D_5, D_6, 0.235, rgb_white)
Line_col.Add DL_6
DL_7 = Array(D_1, D_4, 0.235, rgb_white)
Line_col.Add DL_7
DL_8 = Array(sum_bec(1 / 2, D_1, 1 / 2, D_2), sum_bec(1 / 2, D_4, 1 / 2, D_5), 0.235, rgb_white)
Line_col.Add DL_8
DL_9 = Array(D_2, D_5, 0.235, rgb_white)
Line_col.Add DL_9
DL_10 = Array(sum_bec(9 / 10, D_2, 1 / 10, D_3), sum_bec(9 / 10, D_5, 1 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_10
DL_11 = Array(sum_bec(8 / 10, D_2, 2 / 10, D_3), sum_bec(8 / 10, D_5, 2 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_11
DL_12 = Array(sum_bec(7 / 10, D_2, 3 / 10, D_3), sum_bec(7 / 10, D_5, 3 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_12
DL_13 = Array(sum_bec(6 / 10, D_2, 4 / 10, D_3), sum_bec(6 / 10, D_5, 4 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_13
DL_14 = Array(sum_bec(5 / 10, D_2, 5 / 10, D_3), sum_bec(5 / 10, D_5, 5 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_14
DL_15 = Array(sum_bec(4 / 10, D_2, 6 / 10, D_3), sum_bec(4 / 10, D_5, 6 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_15
DL_16 = Array(sum_bec(3 / 10, D_2, 7 / 10, D_3), sum_bec(3 / 10, D_5, 7 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_16
DL_17 = Array(sum_bec(2 / 10, D_2, 8 / 10, D_3), sum_bec(2 / 10, D_5, 8 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_17
DL_18 = Array(sum_bec(1 / 10, D_2, 9 / 10, D_3), sum_bec(1 / 10, D_5, 9 / 10, D_6), 0.235, rgb_white)
Line_col.Add DL_18
DL_19 = Array(D_4, D_7, 0.235, rgb_white)
Line_col.Add DL_19
DL_20 = Array(D_5, D_7, 0.235, rgb_white)
Line_col.Add DL_20
DL_21 = Array(D_1, D_8, 0.235, rgb_white)
Line_col.Add DL_21
DL_22 = Array(D_2, D_8, 0.235, rgb_white)
Line_col.Add DL_22
'座標_PartE
E_1 = Array(-1 / 2 * b, -c, 1 / 2 * b)
E_2 = Array(1 / 2 * b, -c, 1 / 2 * b)
E_3 = Array(-1 / 2 * a, 0, 1 / 2 * a)
E_4 = Array(1 / 2 * a, 0, 1 / 2 * a)
E_5 = Array(0, 0, 0)
'直線_PartE
EL_1 = Array(E_1, E_2, 0.235, rgb_red)
Line_col.Add EL_1
EL_2 = Array(sum_bec(1 / 2, E_1, 1 / 2, E_3), sum_bec(1 / 2, E_2, 1 / 2, E_4), 0.235, rgb_red)
Line_col.Add EL_2
EL_3 = Array(E_3, E_4, 0.235, rgb_red)
Line_col.Add EL_3
EL_4 = Array(E_1, E_3, 0.235, rgb_red)
Line_col.Add EL_4
EL_5 = Array(sum_bec(3 / 4, E_1, 1 / 4, E_2), sum_bec(3 / 4, E_3, 1 / 4, E_4), 0.235, rgb_red)
Line_col.Add EL_5
EL_6 = Array(sum_bec(2 / 4, E_1, 2 / 4, E_2), sum_bec(2 / 4, E_3, 2 / 4, E_4), 0.235, rgb_red)
Line_col.Add EL_6
EL_7 = Array(sum_bec(1 / 4, E_1, 3 / 4, E_2), sum_bec(1 / 4, E_3, 3 / 4, E_4), 0.235, rgb_red)
Line_col.Add EL_7
EL_8 = Array(E_3, E_5, 0.235, rgb_red)
Line_col.Add EL_8
EL_9 = Array(sum_bec(1 / 2, E_1, 1 / 2, E_3), sum_bec(3 / 4, E_3, 1 / 4, E_4), 0.235, rgb_red)
Line_col.Add EL_9
EL_10 = Array(sum_bec(3 / 4, E_1, 1 / 4, E_2), sum_bec(1 / 4, E_3, 3 / 4, E_4), 0.235, rgb_red)
Line_col.Add EL_10
EL_11 = Array(sum_bec(1 / 2, E_2, 1 / 2, E_4), sum_bec(1 / 4, E_1, 3 / 4, E_2), 0.235, rgb_red)
Line_col.Add EL_11
EL_12 = Array(sum_bec(1 / 2, E_1, 1 / 2, E_3), sum_bec(3 / 4, E_1, 1 / 4, E_2), 0.235, rgb_red)
Line_col.Add EL_12
EL_13 = Array(sum_bec(3 / 4, E_3, 1 / 4, E_4), sum_bec(1 / 4, E_1, 3 / 4, E_2), 0.235, rgb_red)
Line_col.Add EL_13
EL_14 = Array(sum_bec(1 / 2, E_2, 1 / 2, E_4), sum_bec(1 / 4, E_3, 3 / 4, E_4), 0.235, rgb_red)
Line_col.Add EL_14
'座標_PartF
F_1 = Array(-1 / 2 * d, (-c - e), 1 / 2 * d)
F_2 = Array(1 / 2 * d, (-c - e), 1 / 2 * d)
F_3 = Array(-1 / 2 * b, -c, 1 / 2 * b)
F_4 = Array(1 / 2 * b, -c, 1 / 2 * b)
F_5 = Array(0, -c, 0)
F_6 = sum_bec(1 / 5, F_1, 4 / 5, F_3)
F_7 = sum_bec(1 / 5, F_2, 4 / 5, F_4)
F_8 = sum_bec(3 / 4, F_6, 1 / 4, F_7)
F_9 = sum_bec(1 / 4, F_6, 3 / 4, F_7)
'直線_PartF
FL_1 = Array(F_1, F_3, 0.235, rgb_red)
Line_col.Add FL_1
FL_3 = Array(F_6, F_7, 0.235, rgb_red)
Line_col.Add FL_3
FL_4 = Array(F_3, F_5, 0.235, rgb_red)
Line_col.Add FL_4
FL_5 = Array(sum_bec(3 / 4, F_3, 1 / 4, F_4), sum_bec(3 / 4, F_6, 1 / 4, F_7), 0.235, rgb_red)
Line_col.Add FL_5
FL_6 = Array(sum_bec(2 / 4, F_3, 2 / 4, F_4), sum_bec(2 / 4, F_6, 2 / 4, F_7), 0.235, rgb_red)
Line_col.Add FL_6
FL_7 = Array(sum_bec(1 / 4, F_3, 3 / 4, F_4), sum_bec(1 / 4, F_6, 3 / 4, F_7), 0.235, rgb_red)
Line_col.Add FL_7
FL_8 = Array(sum_bec(1 / 4, F_1, 3 / 4, F_6), sum_bec(1 / 4, F_1, 3 / 4, F_8), 0.235, rgb_red)
Line_col.Add FL_8
FL_9 = Array(sum_bec(2 / 4, F_1, 2 / 4, F_6), sum_bec(2 / 4, F_1, 2 / 4, F_8), 0.235, rgb_red)
Line_col.Add FL_9
FL_10 = Array(sum_bec(3 / 4, F_1, 1 / 4, F_6), sum_bec(3 / 4, F_1, 1 / 4, F_8), 0.235, rgb_red)
Line_col.Add FL_10
FL_11 = Array(sum_bec(1 / 4, F_2, 3 / 4, F_7), sum_bec(1 / 4, F_2, 3 / 4, F_9), 0.235, rgb_red)
Line_col.Add FL_11
FL_12 = Array(sum_bec(2 / 4, F_2, 2 / 4, F_7), sum_bec(2 / 4, F_2, 2 / 4, F_9), 0.235, rgb_red)
Line_col.Add FL_12
FL_13 = Array(sum_bec(3 / 4, F_2, 1 / 4, F_7), sum_bec(3 / 4, F_2, 1 / 4, F_9), 0.235, rgb_red)
Line_col.Add FL_13
FL_14 = Array(F_3, F_8, 0.235, rgb_red)
Line_col.Add FL_14
FL_15 = Array(sum_bec(3 / 4, F_3, 1 / 4, F_4), sum_bec(1 / 2, F_6, 1 / 2, F_7), 0.235, rgb_red)
Line_col.Add FL_15
FL_16 = Array(sum_bec(1 / 2, F_3, 1 / 2, F_4), F_9, 0.235, rgb_red)
Line_col.Add FL_16
FL_17 = Array(sum_bec(1 / 4, F_3, 3 / 4, F_4), F_7, 0.235, rgb_red)
Line_col.Add FL_17
FL_18 = Array(F_6, sum_bec(3 / 4, F_3, 1 / 4, F_4), 0.235, rgb_red)
Line_col.Add FL_18
FL_19 = Array(F_8, sum_bec(1 / 2, F_3, 1 / 2, F_4), 0.235, rgb_red)
Line_col.Add FL_19
FL_20 = Array(sum_bec(1 / 2, F_6, 1 / 2, F_7), sum_bec(1 / 4, F_3, 3 / 4, F_4), 0.235, rgb_red)
Line_col.Add FL_20
FL_21 = Array(F_9, F_4, 0.235, rgb_red)
Line_col.Add FL_21
FL_22 = Array(F_6, sum_bec(1 / 4, F_1, 3 / 4, F_8), 0.235, rgb_red)
Line_col.Add FL_22
FL_23 = Array(sum_bec(1 / 4, F_1, 3 / 4, F_6), sum_bec(1 / 2, F_1, 1 / 2, F_8), 0.235, rgb_red)
Line_col.Add FL_23
FL_24 = Array(sum_bec(1 / 2, F_1, 1 / 2, F_6), sum_bec(3 / 4, F_1, 1 / 4, F_8), 0.235, rgb_red)
Line_col.Add FL_24
FL_25 = Array(F_7, sum_bec(1 / 4, F_2, 3 / 4, F_9), 0.235, rgb_red)
Line_col.Add FL_25
FL_26 = Array(sum_bec(1 / 4, F_2, 3 / 4, F_7), sum_bec(1 / 2, F_2, 1 / 2, F_9), 0.235, rgb_red)
Line_col.Add FL_26
FL_27 = Array(sum_bec(1 / 2, F_2, 1 / 2, F_7), sum_bec(3 / 4, F_2, 1 / 4, F_9), 0.235, rgb_red)
Line_col.Add FL_27
FL_28 = Array(F_1, F_8, 0.235, rgb_red)
Line_col.Add FL_28
FL_29 = Array(F_2, F_9, 0.235, rgb_red)
Line_col.Add FL_29
Dim Line_gr()
num = 0
For Each ll In Line_col
ReDim Preserve Line_gr(num)
Line_gr(num) = ll
num = num + 1
Next
bec_group = Array(Line_gr, Array(BC_1, BC_2, BC_3))
End Function