Each ShapeNode object represents either a node between segments in a freeform or a control point for a curved segment of a freeform. You can create a freeform manually or by using the BuildFreeform and ConvertToShape methods.
Use the Nodes property to return the ShapeNodes collection.
Use the Insert method to create a new node and add it to the ShapeNodes collection.
Use Nodes(index), where index is the node index number, to return a single ShapeNode object.