void save3DSurface(string dxfFilename, string txtFileName) { try { ISurface <AbmachPoint> surfOut = model3D.GetSurface(); List <AbmachPoint> ptlist = surfOut.GetAllPoints(); List <DwgEntity> entityList = new List <DwgEntity>(); var pointList = new List <string>(); foreach (AbmachPoint v in ptlist) { pointList.Add(v.Position.X.ToString("f4") + " " + v.Position.Y.ToString("f4") + " " + v.Position.Z.ToString("f4")); DXFPoint pt = new DXFPoint(v.Position); if (v.JetHit) { if (v.Normal.Length != 0.0) { double scaleF = meshSize / v.Normal.Length; DXFLine line = new DXFLine(v.Position.X, v.Position.Y, v.Position.Z, scaleF * v.Normal.X + v.Position.X, scaleF * v.Normal.Y + v.Position.Y, scaleF * v.Normal.Z + v.Position.Z); entityList.Add(line); } pt.DxfColor = DxfColor.Green; entityList.Add(pt); } else { pt.DxfColor = DxfColor.Red; entityList.Add(pt); } } FileIO.Save(pointList, txtFileName); DxfFileBuilder.Save(entityList, dxfFilename); } catch (Exception ex) { MessageBox.Show(ex.Message); } }