6.16 VertexArray object

The VertexArray is a sequence of Vertex objects.

Access
import part
mdb.models[name].parts[name].allInternalSets[name].vertices
mdb.models[name].parts[name].allSets[name].vertices
mdb.models[name].parts[name].sets[name].vertices
mdb.models[name].parts[name].vertices
import assembly
mdb.models[name].rootAssembly.allInternalSets[name].vertices
mdb.models[name].rootAssembly.allSets[name].vertices
mdb.models[name].rootAssembly.instances[name].sets[name].vertices
mdb.models[name].rootAssembly.instances[name].vertices
mdb.models[name].rootAssembly.sets[name].vertices
mdb.models[name].rootAssembly.vertices


6.16.1 findAt(...)

This method returns the object or objects in the VertexArray located at the given coordinates.

findAt initially uses the ACIS tolerance of 1E-6. As a result, findAt returns any Vertex object that is at the arbitrary point specified or at a distance of less than 1E-6 from the arbitrary point. If nothing is found, findAt uses the tolerance for imprecise geometry (applicable only for imprecise geometric entities).

findAt will always try to find objects among all the vertices in the part or assembly instance and will not restrict itself to a subset even if the VertexArray represents such subset.

Required argument

coordinates

A sequence of Floats specifying the X-, Y-, and Z-coordinates of the object to find.

findAt returns either a Vertex object or a sequence of Vertex objects based on the type of input.

  • If coordinates is a sequence of Floats, findAt returns the Vertex object at that point.

  • If you omit the coordinates keyword argument, findAt accepts as arguments a sequence of sequence of floats in the following format:

    verts = v.findAt(((20.19686, -169.513997, 27.798593), ),
               ((19.657627, -167.295749, 27.056402), ),
               ((18.274129, -157.144741, 25.15218), ))

Optional argument

printWarning

A Boolean specifying whether a message is to be printed to the CLI if no entity is found at the specified location. The default value is True.

Return value

A Vertex object or a sequence of Vertex objects.

Exceptions

None.


6.16.2 getSequenceFromMask(...)

This method returns the object or objects in the VertexArray identified using the specified mask. This command is generated when the JournalOptions are set to COMPRESSEDINDEX. When large number of objects are involved, this method is highly efficient.

Required argument

mask

A String specifying the object or objects.

Optional arguments

None.

Return value

A Vertexobject or a sequence of Vertex objects.

Exceptions

None.


6.16.3 getClosest(...)

This method returns a object or objects in the VertexArray closest to the given set of points, where the given points need not lie on Vertex objects in the VertexArray.

Required argument

coordinates

A sequence of a sequence of floats, where each sequence of floats describes the X-, Y-, and Z coordinates of a point.

r=v.getClosest(coordinates=((20.0,20.0,10.0),(-1.0, -15.0, 15),)) 
r.keys()
[0, 1]
r[0] 
(mdb.models['Model-1'].parts['Part-1'].vertices[0],
            (15.7090625762939, 29.1666641235352, 20.0))

Optional arguments

None.

Return value

This method returns a dictionary object. The key to the dictionary object is the position of the input point in the tuple specified in the coordinates starting at index 0. If a closest vertex could be found then the value is a sequence consisting of two objects. The first object in the sequence is a Vertex that is close to the input point referred to by the key. The second object in the sequence is a sequence of floats that specifies the X-, Y-, and Z location of the Vertex. See program listing above.

Exceptions

An exception occurs if the resulting sequence is empty.

Error: The mask results in an empty sequence


6.16.4  Members

The VertexArray object has no members.