123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
-
- 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);
- 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);
- }
- }
-
-
-
- [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;
- }
-
-
-
-
- public bool IsCommandAvailable(UIApplication applicationData, CategorySet selectedCategories)
- {
- return false;
- }
- }
- }
|