Ejemplo n.º 1
0
        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);
            }
        }