|
@@ -1,87 +0,0 @@
|
|
|
-/*-------------------------------------------------------------------------
|
|
|
- * 功能描述:TestExport
|
|
|
- * 作者:xulisong
|
|
|
- * 创建时间: 2019/6/18 15:43:54
|
|
|
- * 版本号:v1.0
|
|
|
- * -------------------------------------------------------------------------*/
|
|
|
-
|
|
|
-using System;
|
|
|
-using System.Collections.Generic;
|
|
|
-using System.IO;
|
|
|
-using System.Linq;
|
|
|
-using System.Text;
|
|
|
-using System.Threading.Tasks;
|
|
|
-using Autodesk.Revit.Attributes;
|
|
|
-using Autodesk.Revit.DB;
|
|
|
-using Autodesk.Revit.DB.Mechanical;
|
|
|
-using Autodesk.Revit.DB.Plumbing;
|
|
|
-using Autodesk.Revit.UI;
|
|
|
-using RevitExport;
|
|
|
-using RevitExport.Export;
|
|
|
-using RevitToJBim.ComponentParse;
|
|
|
-using SAGA.RevitUtils;
|
|
|
-using SAGA.RevitUtils.Extends;
|
|
|
-
|
|
|
-namespace RevitToJBim
|
|
|
-{
|
|
|
- public class TestExport
|
|
|
- {
|
|
|
- public static Document Document { get; set; }
|
|
|
- public static void Export()
|
|
|
- {
|
|
|
- var elements = Document.GetElements(typeof(Pipe));
|
|
|
- var elements2 = Document.GetElements(typeof(SpatialElement)).OfType<Space>().ToList();
|
|
|
- var elements3 = Document.GetElements(typeof(Duct)).OfType<Duct>().ToList();
|
|
|
- elements.AddRange(elements2);
|
|
|
- elements.AddRange(elements3);
|
|
|
- var wrappers = ExportDataBuilder.CreateExportData(Document);// elements.Select(e => new ElementWrapper(e)).ToList();
|
|
|
- ExportInstance report = new ExportInstance(wrappers);
|
|
|
- JBimParseContext context = new JBimParseContext(ParseCore.GetUseParsers());
|
|
|
- var dd = false;
|
|
|
- context.Parser.Parse(report);
|
|
|
- var result = context.Serialize();
|
|
|
- string fileName = DateTime.Now.ToString("yyyyMMddHHmmss");
|
|
|
- string path = Path.Combine(@"D:\", $"{fileName}.json");
|
|
|
- File.WriteAllText(path, result);
|
|
|
- System.Diagnostics.Process.Start("notepad.exe", path);
|
|
|
- }
|
|
|
- }
|
|
|
- ///// <summary>
|
|
|
- ///// 测试提取数据
|
|
|
- ///// </summary>
|
|
|
- //[Transaction(TransactionMode.Manual)]
|
|
|
- //[Regeneration(RegenerationOption.Manual)]
|
|
|
- //public class PickDataCommand : IExternalCommand, IExternalCommandAvailability
|
|
|
- //{
|
|
|
-
|
|
|
- // public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
|
|
|
- // {
|
|
|
- // try
|
|
|
- // {
|
|
|
- // TestExport.Document = commandData.Application.ActiveUIDocument.Document;
|
|
|
- // TestExport.Export();
|
|
|
- // TaskDialog dialog = new TaskDialog("导出");
|
|
|
- // dialog.MainInstruction ="导出成功";
|
|
|
- // dialog.Show();
|
|
|
- // }
|
|
|
- // catch (Exception e)
|
|
|
- // {
|
|
|
- // TaskDialog dialog = new TaskDialog("导出");
|
|
|
- // dialog.MainInstruction =e.Message+"\n\t"+ e.StackTrace.ToString();
|
|
|
- // dialog.Show();
|
|
|
- // return Result.Cancelled;
|
|
|
- // }
|
|
|
- // return Result.Succeeded;
|
|
|
- // }
|
|
|
-
|
|
|
-
|
|
|
- // /// <summary>
|
|
|
- // /// Onlys show the dialog when a document is open, as Dockable dialogs are only available
|
|
|
- // /// when a document is open.
|
|
|
- // /// </summary>
|
|
|
- // public bool IsCommandAvailable(UIApplication applicationData, CategorySet selectedCategories)
|
|
|
- // {
|
|
|
- // return false;
|
|
|
- // }
|
|
|
- //}
|
|
|
-}
|