- Сообщения
- 2 501
- Реакции
- 2 437
Variable Outline Code Examples
Posted 12-03-2023 at 14:47 by shelbymIntroduction
CorelDRAW 2023 has a new Variable Outline Tool. You can also apply a variable outline via code.

Код:
Sub TestAddVariableWidthNodes()
Dim sLine As Shape
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
sLine.Outline.VariableWidthNodes.Add 0.25, 0.125
sLine.Outline.VariableWidthNodes.Add 0.5, 0.25
sLine.Outline.VariableWidthNodes.Add 0.75, 0.125
End Sub
Код:
Sub TestClearVariableWidthNodes()
Dim sLine As Shape
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
sLine.Outline.VariableWidthNodes.Add 0.25, 0.125
sLine.Outline.VariableWidthNodes.Add 0.5, 0.25
sLine.Outline.VariableWidthNodes.Add 0.75, 0.125
sLine.Outline.VariableWidthNodes.Clear
End Sub
Код:
Sub TestCopyVariableWidthNodes()
Dim sLine As Shape, sLine2 As Shape
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
sLine.Outline.VariableWidthNodes.Add 0.25, 0.125
sLine.Outline.VariableWidthNodes.Add 0.5, 0.25
sLine.Outline.VariableWidthNodes.Add 0.75, 0.125
Set sLine2 = ActiveLayer.CreateLineSegment(4, 8, 4, 5)
sLine2.Outline.VariableWidthNodes.Copy sLine.Outline.VariableWidthNodes
End Sub
Код:
Sub TestCountVariableWidthNodes()
Dim sLine As Shape
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
sLine.Outline.VariableWidthNodes.Add 0.25, 0.125
sLine.Outline.VariableWidthNodes.Add 0.5, 0.25
sLine.Outline.VariableWidthNodes.Add 0.75, 0.125
MsgBox “Number of variable width nodes: “ & sLine.Outline.VariableWidthNodes.Count, , “Variable Width Nodes”
End Sub
Код:
Sub TestSelectedVariableWidthNodes()
Dim sLine As Shape
Dim vwNode1 As IVGVariableWidthNode, vwNode2 As IVGVariableWidthNode, vwNode3 As IVGVariableWidthNode
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
Set vwNode1 = sLine.Outline.VariableWidthNodes.Add(0.25, 0.125)
Set vwNode2 = sLine.Outline.VariableWidthNodes.Add(0.5, 0.25)
Set vwNode3 = sLine.Outline.VariableWidthNodes.Add(0.75, 0.125)
vwNode2.Selected = True
End Sub
Код:
Sub TestSidesVariableWidthNodes()
Dim sLine As Shape
Dim vwNode1 As IVGVariableWidthNode, vwNode2 As IVGVariableWidthNode, vwNode3 As IVGVariableWidthNode
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
Set vwNode1 = sLine.Outline.VariableWidthNodes.Add(0.25, 0.125)
Set vwNode2 = sLine.Outline.VariableWidthNodes.Add(0.5, 0.25)
Set vwNode3 = sLine.Outline.VariableWidthNodes.Add(0.75, 0.125)
vwNode1.Side1Width = 0.25
vwNode3.Side2Width = 0.25
End Sub
Код:
Sub TestDeleteVariableWidthNodes()
Dim sLine As Shape
Dim vwNode1 As IVGVariableWidthNode, vwNode2 As IVGVariableWidthNode, vwNode3 As IVGVariableWidthNode
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
Set vwNode1 = sLine.Outline.VariableWidthNodes.Add(0.25, 0.125)
Set vwNode2 = sLine.Outline.VariableWidthNodes.Add(0.5, 0.25)
Set vwNode3 = sLine.Outline.VariableWidthNodes.Add(0.75, 0.125)
vwNode2.Delete
End Sub
Код:
Sub TestMoveVariableWidthNodes()
Dim sLine As Shape
Dim vwNode1 As IVGVariableWidthNode, vwNode2 As IVGVariableWidthNode, vwNode3 As IVGVariableWidthNode
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
Set vwNode1 = sLine.Outline.VariableWidthNodes.Add(0.25, 0.125)
Set vwNode2 = sLine.Outline.VariableWidthNodes.Add(0.5, 0.25)
Set vwNode3 = sLine.Outline.VariableWidthNodes.Add(0.75, 0.125)
vwNode1.PositionT = 0.125
vwNode3.PositionT = 0.875
End Sub
Код:
Sub TestDetialsVariableWidthNodes()
Dim sLine As Shape
Dim vwNode1 As IVGVariableWidthNode, vwNode2 As IVGVariableWidthNode, vwNode3 As IVGVariableWidthNode
Dim strDetails As String
Set sLine = ActiveLayer.CreateLineSegment(2, 8, 2, 5)
Set vwNode1 = sLine.Outline.VariableWidthNodes.Add(0.25, 0.125)
Set vwNode2 = sLine.Outline.VariableWidthNodes.Add(0.5, 0.25)
Set vwNode3 = sLine.Outline.VariableWidthNodes.Add(0.75, 0.125)
vwNode1.Selected = True
For i = 1 To sLine.Outline.VariableWidthNodes.Count
strDetails = strDetails & i & “: “ & sLine.Outline.VariableWidthNodes(i).Width & “ Pos: “ & sLine.Outline.VariableWidthNodes(i).PositionT & “ Sel: “ & sLine.Outline.VariableWidthNodes(i).Selected & “ S1: “ & sLine.Outline.VariableWidthNodes(i).Side1Width & “ S2: “ & sLine.Outline.VariableWidthNodes(i).Side2Width & “ Width: “ & sLine.Outline.VariableWidthNodes(i).Width & vbNewLine
Next i
MsgBox strDetails, , “Variable Width Nodes”
End Sub
Conclusion
Have some fun coding Variable Outlines.
