A rectangular mesh ( PolygonMesh object) represents an object's surface using planar facets. The mesh density, or number of facets, is defined in terms of a matrix of M and N vertices, similar to a grid consisting of columns and rows. M and N specify the column and row position, respectively, of any given vertex. You can create meshes in both 2D and 3D, but they are used primarily for 3D.

Use the Add3DMesh method for creating rectangular meshes. This method takes three values as input: the number of vertices in the M direction, the numer of vertices in the N direction, and a variant array containing coordinates for all the vertices in the mesh.

Once the PolygonMesh is created, use the MClose and NClose properties to close the mesh.

For more information on creating meshes, see “Create Surfaces” in the User's Guide.

Create a polygon mesh

This example creates a 4W4 polygon mesh. The direction of the active viewport is then adjusted so that the three-dimensional nature of the mesh is more easily viewed.

```Sub Ch8_Create3DMesh()
```
```	Dim meshObj As AcadPolygonMesh
```
```	Dim mSize, nSize, Count As Integer
```
```	Dim points(0 To 47) As Double
```

```	' create the matrix of points
```
```	points(0) = 0: points(1) = 0: points(2) = 0
```
```	points(3) = 2: points(4) = 0: points(5) = 1
```
```	points(6) = 4: points(7) = 0: points(8) = 0
```
```	points(9) = 6: points(10) = 0: points(11) = 1
```
```	points(12) = 0: points(13) = 2: points(14) = 0
```
```	points(15) = 2: points(16) = 2: points(17) = 1
```
```	points(18) = 4: points(19) = 2: points(20) = 0
```
```	points(21) = 6: points(22) = 2: points(23) = 1
```
```	points(24) = 0: points(25) = 4: points(26) = 0
```
```	points(27) = 2: points(28) = 4: points(29) = 1
```
```	points(30) = 4: points(31) = 4: points(32) = 0
```
```	points(33) = 6: points(34) = 4: points(35) = 0
```
```	points(36) = 0: points(37) = 6: points(38) = 0
```
```	points(39) = 2: points(40) = 6: points(41) = 1
```
```	points(42) = 4: points(43) = 6: points(44) = 0
```
```	points(45) = 6: points(46) = 6: points(47) = 0
```

```	mSize = 4: nSize = 4
```

```	' creates a 3Dmesh in model space
```
```	Set meshObj = ThisDrawing.ModelSpace. _
```
```						Add3DMesh(mSize, nSize, points)
```

```	' Change the viewing direction of the viewport
```
```	' to better see the cylinder
```
```	Dim NewDirection(0 To 2) As Double
```
```	NewDirection(0) = -1
```
```	NewDirection(1) = -1
```
```	NewDirection(2) = 1
```
```	ThisDrawing.ActiveViewport.direction = NewDirection
```
```	ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
```
```	ZoomAll
```
```End Sub
```