Represents common features of individual geometric entities, such as vertex, edge and block.
Working on a geometric model we operate with vertices, edges and blocks. There is a separate object for each kind of these geometric entities (Vertex, Edge, and Block respectively). These three inherit their methods and properties from a more basic Shape object. In some situations it is more convenient to manipulate with the Shape object without regard to its details. So, when you iterate through the Shapes or ShapeRange collection, the Item method always returns a Shape object
The exact type of the Shape object can be obtained by the property Type. If you need some specific features of the Shape object, you may assign it to the variable of the specific type:
Dim mdl as QuickField.Model
Dim shp As QuickField.Shape
Dim range As QuickField.ShapeRange
Set range = mdl.Shapes.Nearest(QF.PointXY(0, 1)).Blocks
Set shp = range(1) ' Get a first element of the collection
Dim blk As QuickField.Block
Set blk = shp ' Cast it to the type Block
With the Shape object you can do typical geometric operations: Select it for highlighting on the screen, Delete the shape, Move or Duplicate it. You can also assign to the shape properties, such as Label and Spacing. There is also specific property UserData, applicable only for Shape, not for the Shapes collection. UserData is an integer value that you can assign to the shape for any purpose. Then you will be able to use the Flagged property to construct a ShapeRange collection by the UserData value, which is checked through the given mask.