Esempio n. 1
0
        public ActionResult PreviewModel(string versionPath)
        {
            var CADFileDirectoryBuildingA = $"{Server.MapPath("~")}\\CAD Files\\BuildingA";
            //var CADFileDirectoryBuildingB = $"{Server.MapPath("~")}\\CAD Files\\BuildingB";
            List <string> cadfilesBuildingA = Directory.GetFiles(CADFileDirectoryBuildingA).ToList();
            //var cadfilesBuildingB = Directory.GetFiles(CADFileDirectoryBuildingB).ToList();
            //Building buildingA = new Building("Building A", new Point3D(0, 0, 0));
            Building buildingA2 = new Building("Building A", new Point3D(0, 0, 0), 0);

            //Building buildingB = new Building("Building B", new Point3D(500, 0, 0));
            //building.AddNewFloor(cadfiles.Where(e=>e.Contains("Ground")).FirstOrDefault(), 3);
            //buildingA.AddNewFloor(cadfilesBuildingA.Where(e => e.Contains("Ground")).FirstOrDefault(), 3);
            // buildingA.AddNewFloor(cadfilesBuildingA.Where(e => e.Contains("Basement")).FirstOrDefault(), 0);

            {//new
                buildingA2.AddBuildingFoundation(cadfilesBuildingA.Where(b => b.Contains("Foundation")).FirstOrDefault(), 0, 0);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("Basement")).FirstOrDefault(), 4.95, 4.95);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("Ground")).FirstOrDefault(), 8.75, 3.8);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("1st")).FirstOrDefault(), 11.75, 3);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("2nd")).FirstOrDefault(), 14.75, 3);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("3rd")).FirstOrDefault(), 17.75, 3);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("4th")).FirstOrDefault(), 20.75, 3);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("5th")).FirstOrDefault(), 23.75, 3);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("6th")).FirstOrDefault(), 26.75, 3);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("Roof Floor")).FirstOrDefault(), 29.75, 3);
                buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("UpRoof")).FirstOrDefault(), 32.75, 3);
                //buildingA2.AddNewFloor(cadfilesBuildingA.Where(b => b.Contains("Ground")).FirstOrDefault(), 3, 3); //top level = lvl + height
            }
            //buildingA.AddBuildingFoundation(cadfilesBuildingA.Where(e => e.Contains("Foundation")).FirstOrDefault(),4.50, 0.2);

            //buildingB.AddNewFloor(cadfilesBuildingB.Where(e => e.sContains("Basement")).FirstOrDefault(), 0);
            //buildingB.AddBuildingFoundation(cadfilesBuildingB.Where(e => e.Contains("Foundation")).FirstOrDefault(), -4);

            newBuilding = new XbimCreateBuilding(buildingA2, versionPath);
            List <string> files = Directory.GetFiles(versionPath).ToList();
            // string wexFile = files.Where(a => Path.GetExtension(a) == ".wexBIM").FirstOrDefault();
            List <string> lstIfcFile = files.Where(a => Path.GetExtension(a) == ".ifc").ToList();
            //string wexFile = files.Where(a => Path.GetExtension(a) == ".wexBIM").FirstOrDefault();
            string wexFile = files.Where(a => Path.GetExtension(a) == ".wexBIM").FirstOrDefault();
            var    verName = Path.GetFileName(versionPath);
            var    proName = Path.GetFileName(Path.GetDirectoryName(versionPath));

            FileStruc.CurrentVersion = versionPath;

            TempData["VersionName"] = proName + "/" + verName;

            if (wexFile != null)
            {
                TempData["wexbimFilePath"] = wexFile;
                IFCConverter.CreateTree(lstIfcFile[0]);
            }
            else
            {
                string newPath = null;
                for (int i = 0; i < lstIfcFile.Count; i++)
                {
                    string ifcFile = files.Where(a => Path.GetExtension(a) == ".ifc").ToList()[i];
                    newPath = IFCConverter.ToWexBIM(ifcFile);
                }

                TempData["wexbimFilePath"] = newPath;
                TempData["IFCFilePath"]    = lstIfcFile[0];
            }

            //RedirectToAction("Viewer");

            return(RedirectToAction("Viewer"));
        }