Как импортировать файл DWG в Forge и как передать RFA-файл в качестве входного и выходного RFA-файла - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь конвертировать мой существующий Revit Addin для работы в Forge Design Automation. В моем коде у меня есть шаг, где я импортирую файл DWG. Если я передаю файл DWG в качестве входного параметра, как мне ссылаться на него в моем коде на go и импортировать файл? Кроме того, как мне указать мой RFA-файл в качестве ввода вместо RVT в командной строке Activity?

“commandLine": [ "$(engine.path)\\\\revitcoreconsole.exe /i $(args[rvtFile].path) /al $(appbundles[CountItApp].path)" ],”

Текущий код ниже

// Получить документ _rvtDo c = commandData.Application .ActiveUIDocument.Document;

        DWGImportOptions DIO = new DWGImportOptions();
        DIO.ColorMode = ImportColorMode.Preserved;
        //DIO.Unit = ImportUnit.Foot;
        DIO.CustomScale = 1.00;
        DIO.Placement = ImportPlacement.Origin;
        ElementId eleID = new ElementId(1234);
        string path = @"C:\Logan\BIM Dev\Reference Files\NewTestVAV_Exploded.dwg";
        View nv = _rvtDoc.ActiveView;

1 Ответ

0 голосов
/ 27 февраля 2020

Чтобы передать файл DWG в качестве входного файла, вам необходимо:

  1. Добавить еще один параметр в вашу деятельность, например:

        "inputDwg": {
        "verb": "get",
        "description": "input Dwg file",
        "localName": "input.dwg"
        },
    
  2. Затем передайте URL вашего dwg в ​​ваш рабочий элемент.

  3. Обрабатывайте файл Dwg в вашем плагине, код должен быть очень похож на ваш, но просто помните, что Вы не можете сделать c .ActiveView, так как он не работает, вам нужно получить его вручную, и путь к файлу Dwg должен быть Directory.GetCurrentDirectory () + @ "\ input.dwg"

    DWGImportOptions DIO = new DWGImportOptions();
    DIO.ColorMode = ImportColorMode.Preserved;
    //DIO.Unit = ImportUnit.Foot;
    DIO.CustomScale = 1.00;
    DIO.Placement = ImportPlacement.Origin;
    ElementId eleID = new ElementId(1234);
    string path = Directory.GetCurrentDirectory()+@"\input.dwg";
    View nv = //Find the view you want here
    doc.Import(path, DIO, nv, eleId );
    

Надеюсь, это поможет;)

...