Class FreeformBuilder (PowerPoint VBA)

The class FreeformBuilder represents the geometry of a freeform while it is being built. To use a FreeformBuilder class variable it first needs to be instantiated, for example


Dim fbr as FreeformBuilder
Set fbr = ActivePresentation.SlideMaster.Shapes

AddNodes

Inserts a new segment at the end of the freeform that's being created, and adds the nodes that define the segment. You can use this method as many times as you want to add nodes to the freeform you are creating. When you finish adding nodes, use the ConvertToShape method to create the freeform you've just defined. To add nodes to a freeform after it is been created, use the Insert method of the ShapeNodes collection.

AddNodes (SegmentType, EditingType, X1, Y1, X2, Y2, X3, Y3)


ActiveWindow.Selection.SlideRange(1).Shapes.BuildFreeform.AddNodes SegmentType:=msoSegmentLine, EditingType:=msoEditingAuto, X1:=, Y1:=

Arguments

The following arguments are required:

SegmentType (Office.MsoSegmentType) - The type of segment to be added.

EditingType (Office.MsoEditingType) - The editing property of the vertex. If SegmentType is msoSegmentLine, EditingType must be msoEditingAuto.

X1 (Single) - If the EditingType of the new segment is msoEditingAuto, this argument specifies the horizontal distance (in points) from the upper-left corner of the document to the endpoint of the new segment. If the EditingType of the new node is msoEditingCorner, this argument specifies the horizontal distance (in points) from the upper-left corner of the document to the first control point for the new segment.

Y1 (Single) - If the EditingType of the new segment is msoEditingAuto, this argument specifies the vertical distance (in points) from the upper-left corner of the document to the endpoint of the new segment. If the EditingType of the new node is msoEditingCorner, this argument specifies the vertical distance (in points) from the upper-left corner of the document to the first control point for the new segment.

Optional arguments

The following arguments are optional

X2 (Single) - If the EditingType of the new segment is msoEditingCorner, this argument specifies the horizontal distance (in points) from the upper-left corner of the document to the second control point for the new segment. If the EditingType of the new segment is msoEditingAuto, don't specify a value for this argument.

Y2 (Single) - If the EditingType of the new segment is msoEditingCorner, this argument specifies the vertical distance (in points) from the upper-left corner of the document to the second control point for the new segment. If the EditingType of the new segment is msoEditingAuto, don't specify a value for this argument.

X3 (Single) - If the EditingType of the new segment is msoEditingCorner, this argument specifies the horizontal distance (in points) from the upper-left corner of the document to the endpoint of the new segment. If the EditingType of the new segment is msoEditingAuto, don't specify a value for this argument.

Y3 (Single) - If the EditingType of the new segment is msoEditingCorner, this argument specifies the vertical distance (in points) from the upper-left corner of the document to the endpoint of the new segment. If the EditingType of the new segment is msoEditingAuto, don't specify a value for this argument.

ConvertToShape

Creates a shape that has the geometric characteristics of the specified FreeformBuilder object. Returns a Shape object that represents the new shape.

You must apply the AddNodesmethod to a FreeformBuilder object at least once before you use the ConvertToShape method.


Dim shpConvertToShape As Shape
Set shpConvertToShape = ActiveWindow.Selection.SlideRange(1).Shapes.BuildFreeform.ConvertToShape()