Sub CreateMyVirtualCurve()
'##利用虚拟图形创建形状
Dim s As Shape, crv As Curve
Dim x As Double, y As Double
Dim arrPoints(9, 1) As Double
arrPoints(0, 0) = 162.4175222: arrPoints(0, 1) = 0.750376435
arrPoints(1, 0) = 162.1904178: arrPoints(1, 1) = 1.42190801
arrPoints(2, 0) = 161.8497645: arrPoints(2, 1) = 1.948110991
arrPoints(3, 0) = 161.4460634: arrPoints(3, 1) = 2.285272734
arrPoints(4, 0) = 161.0384773: arrPoints(4, 1) = 2.41926736
arrPoints(5, 0) = 160.6855104: arrPoints(5, 1) = 2.367701481
arrPoints(6, 0) = 160.4357975: arrPoints(6, 1) = 2.177051589
arrPoints(7, 0) = 160.3204565: arrPoints(7, 1) = 1.915245416
arrPoints(8, 0) = 160.3482122: arrPoints(8, 1) = 1.66085887
arrPoints(9, 0) = 160.5040603: arrPoints(9, 1) = 1.490634456
x = arrPoints(0, 0)
y = arrPoints(0, 1)
Set crv = New Curve 'Create our curve in Memory
Set sp = crv.CreateSubPath(x, y)
For i = 1 To 9
x = arrPoints(i, 0)
y = arrPoints(i, 1)
sp.AppendCurveSegment x, y
Next i
sp.Closed = False
'Take our curve in memory and create a virtual shape
Set s = ActiveVirtualLayer.CreateCurve(crv)
'Smooth all the nodes
s.Curve.Nodes.All.SetType cdrSmoothNode
'Log the newly created virual shape
ActiveDocument.LogCreateShape s
End Sub