Exemplo n.º 1
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIApplication            uiapp         = commandData.Application;
            UIDocument               uidoc         = uiapp.ActiveUIDocument;
            Document                 doc           = uidoc.Document;
            FilteredElementCollector roomCollector = RoomIntial.
                                                     RoomCollector(doc);
            DataTable dt = RoomIntial.CreateRoomExcelTitle();

            //这里有问题MMP
            RoomIntial.RoomElementExcelPara(doc, roomCollector, dt);
            TaskDialog.Show("EXCEL放置位置", excelPath.ToString());
            LChuDemo.dataTableToCsv(dt, excelPath);
            System.Diagnostics.Process.Start(excelPath);

            //这里是倒进数据库
            dt           = RoomIntial.CreateRoomMySQLTitle();
            dt.TableName = "RoomTable";
            RoomIntial.RoomElementMySQLPara(doc, roomCollector, dt);
            string connStr = "server=localhost;database=mytest;uid=root;pwd=123456";
            var    result  = MySQLIntial.BulkInsert(connStr, dt, 4);

            if (result != 0.0)
            {
                TaskDialog.Show("导出到MYSQL中成功", "数据已经存入" + "数据库mytest" + dt.TableName + "中");
            }
            return(Result.Succeeded);
        }
Exemplo n.º 2
0
 public static void RoomElementExcelPara(Document doc, FilteredElementCollector roomCollector, DataTable dt)
 {
     foreach (Element ele in roomCollector)
     {
         Room  room  = ele as Room;
         Level level = doc.GetElement(room.LevelId) as Level;
         if (room != null)
         {
             string number       = null;
             string name         = null;
             double area         = 0.0;
             double tpoffset     = 0.0;
             double bottomoffset = 0.0;
             foreach (Parameter param in room.Parameters)
             {
                 InternalDefinition definition = param.Definition as InternalDefinition;
                 if (null == definition)
                 {
                     continue;
                 }
                 if (BuiltInParameter.ROOM_NUMBER == definition.BuiltInParameter)
                 {
                     number = param.AsString();
                 }
                 if (BuiltInParameter.ROOM_NAME == definition.BuiltInParameter)
                 {
                     name = param.AsString();
                 }
                 if (BuiltInParameter.ROOM_AREA == definition.BuiltInParameter)
                 {
                     area = param.AsDouble();
                 }
                 if (BuiltInParameter.ROOM_LOWER_OFFSET == definition.BuiltInParameter)
                 {
                     bottomoffset = param.AsDouble();
                 }
                 if (BuiltInParameter.ROOM_UPPER_OFFSET == definition.BuiltInParameter)
                 {
                     tpoffset = param.AsDouble();
                 }
             }
             //怎么 又是这里有问题MMP
             RoomIntial.
             CreateRoomExcelRow(dt, number, name, level.Name, FeetTomm(bottomoffset), FeetTomm(area)
                                , FeetTomm(tpoffset));
         }
     }
 }