hi

Some times we make a drawing 2D in top view to create a Face but after many times we figure out some vertex is not in same Z position, any way

How to set all vertexs Z_position to zero?

Basically, vertices are an `Entity`

subclass, so they can be transformed using `Entities#transform_by_vectors()`

where each vector for a given vertex is the vector from it’s current position to the new position whose Z == 0.

Beware that if the vertex is already close to zero, but not quite (within the equal tolerance of Point3d) - then it won’t be moved.

Thomas, isn’t there a trick with transforming a vertex using a zero length vector ?

… what was that for ?

Yes! You jogged my memory - there is a way to move a vertex with absolute precision;

Scale to zero around the target position:

```
vertices = [...]
positions = [...] # maps 1:1 to `vertices`
vertices.each_with_index { |vertex, index|
pt = positions[index]
tr = Geom::Transformation.new(pt, 0.0)
entities.transform_entities(tr, vertex)
}
```

This does mean you have to process each vertex individually, but that’s the only sure way to move vertices to 100% exact positions.

Ideally we’d have a `entities.position_vertices(vertices, positions)`

method.