| | |
| | | /// <summary> |
| | | /// 模型转换 |
| | | /// </summary> |
| | | public static int Convert(XYZArgs args) |
| | | public static List<int> Convert(XYZArgs args) |
| | | { |
| | | int count = 0; |
| | | string uploadFolder = Tools.GetSetting("uploadFolder"); |
| | | string tilesFolder = Path.Combine(Tools.GetSetting("lfData"), "3d\\3dtiles"); |
| | | |
| | | List<SysMeta> list = XYZUtils.SelectMetas(args.ids, "and type in ('ifc', 'fbx', 'rvt')"); |
| | | if (null == list || list.Count == 0) return 0; |
| | | if (null == list || list.Count == 0) return null; |
| | | |
| | | List<int> ids = new List<int>(); |
| | | foreach (SysMeta meta in list) |
| | | { |
| | | string modelFile = Path.Combine(uploadFolder, meta.path); |
| | |
| | | if (File.Exists(jsonFile)) |
| | | { |
| | | string path = jsonFile.Replace(Tools.GetSetting("lfData") + "\\", ""); |
| | | InsertToDB(meta, args, path); |
| | | int pubid = InsertToDB(meta, args, path); |
| | | |
| | | count++; |
| | | if (pubid > 0) ids.Add(pubid); |
| | | } |
| | | } |
| | | |
| | | return count; |
| | | return ids; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// 插入数据库 |
| | | /// </summary> |
| | | private static void InsertToDB(SysMeta meta, XYZArgs args, string path) |
| | | private static int InsertToDB(SysMeta meta, XYZArgs args, string path) |
| | | { |
| | | if (PubDBHelper.IsPublish(meta.id)) return; |
| | | if (PubDBHelper.IsPublish(meta.id)) return 0; |
| | | |
| | | SysPublish sys = NewPublish(meta, args); |
| | | sys.path = path; |
| | |
| | | PubDBHelper.InsertLayer(sys, meta, 100); |
| | | PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId); |
| | | } |
| | | |
| | | return pubid; |
| | | } |
| | | |
| | | /// <summary> |