我正在尝试将现有的Revit Addin转换为在Forge Design Automation上运行。在我的代码中,有一个步骤可以导入DWG文件。如果我将DWG文件作为输入参数传递,如何在代码中引用该文件以导入该文件?另外,如何在“活动命令行”中将RFA文件指定为输入而不是RVT?
“commandLine": [ "$(engine.path)\\\\revitcoreconsole.exe /i $(args[rvtFile].path) /al $(appbundles[CountItApp].path)" ],”
下面的当前代码
//获取文档 _rvtDoc = 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;
答案 0 :(得分:0)
要将DWG文件作为输入文件传递,您需要:
在活动中添加另一个参数,例如:
"inputDwg": {
"verb": "get",
"description": "input Dwg file",
"localName": "input.dwg"
},
然后,在工作项中传递dwg的网址。
处理插件中的Dwg文件,代码应与您所拥有的非常相似,但请记住,由于无法使用doc.ActiveView,因此无法对其进行doc.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 );
希望有帮助;)