Пока я вижу, что ты не очень понимаешь что делаешь.  
 
 Попробуй так:
- static void FinishedProcessing() 
- { 
-     AcAp.Document doc = AcAp.Application.DocumentManager.MdiActiveDocument; 
-     using (AcAp.DocumentLock locDoc = doc.LockDocument()) 
-     { 
-       AcDb.ObjectId spaceId = doc.Database.CurrentSpaceId; 
-       using (AcDb.BlockTableRecord btr = spaceId.Open(AcDb.OpenMode.ForWrite) as AcDb.BlockTableRecord) 
-       { 
-          using (AcDb.Polyline3d poly = new AcDb.Polyline3d()) 
-          { 
-              AcGe.Point3d pt = new AcGe.Point3d(r.NextDouble() * 100, r.NextDouble() * 100, r.NextDouble() * 100); 
-              poly.SetDatabaseDefaults(); 
-              poly.ColorIndex = c_color; 
-              btr.AppendEntity(poly); 
-              for (int i = 0; i < n_vertexies; i++) 
-              { 
-                  using (AcDb.PolylineVertex3d pv3d = new AcDb.PolylineVertex3d(pt)) 
-                  { 
-                      poly.AppendVertex(pv3d); 
-                  } 
-              } 
-          } 
-       } 
-    } 
- } 
В  том коде, который я дал тебе в качестве образца, вершины к 3D-полилинии добавлялись после указания пользователем и там каждый раз нужно было "открывать" 3D-полилинию по её ObjectId и добавлять новую вершину. В этом же коде ты создаешь полилинию сразу и соответственно тебе не нужно её каждый раз открывать.