标签: revit-api

登录 Revit Design Automation 插件

我想将一些诊断输出发送到默认的report.txt 文件。

在一些帖子中,显示异常以某种方式记录到此 report.txt 文件中(自动或不?)。

另外,我在一些示例中看到人们使用以下方式进行日志记录 System.Console.WriteLine()

我已经尝试过,但仍然无法在报告文件中看到它。

你能告诉我,如何实现这一目标吗?我知道可以选择创建另一个日志文件并将其与结果一起发送回来,但我认为使用现有的 report.txt 会更容易。

谢谢!

更新: System.Console.WriteLine() 有效。
我没有看到输出的原因是我的加载项加载失败。所以,它根本就没有到达这行代码。

revit-api autodesk-forge autodesk-designautomation

1
推荐指数
1
解决办法
796
查看次数

获取元素类型的名称在 Iron python for Revit 中不起作用

我在 pyRevit 环境中使用 Iron python,我的代码如下:

element_types = \
        DB.FilteredElementCollector(doc)\
          .OfCategory(DB.BuiltInCategory.OST_Walls)\
          .WhereElementIsElementType()\ # getting family types not elements
          .ToElements()

for ele in element_types:
    print(ele.Name)
Run Code Online (Sandbox Code Playgroud)

根据 Revit API 文档,这应该可以工作,并且可能在 C# 中工作。ele.Name既可以作为 setter也可以作为 getter 使用。但是在 Ironpython 上面的代码失败,返回一个AttributeError: Name. 但是当我尝试时ele.Name = "new_family_type_name"它工作正常。

所以我的问题是如何进行ele.Name工作以获取家庭类型名称。

python ironpython revit-api revitpythonshell pyrevit

1
推荐指数
1
解决办法
201
查看次数

不允许从在API上下文之外运行的外部应用程序启动事务

不允许从在API上下文之外运行的外部应用程序启动事务.无法启动交易.

revit revit-api revitpythonshell

0
推荐指数
1
解决办法
2532
查看次数

如何为 Revit 编写多线程插件?

对于Revit插件,我编写了以下代码:

public Result Execute(ExternalCommandData commandData,
                       ref string message, ElementSet elements)
    {
        try
        {
            Global.GetInstance(commandData);
            message = "Studio Launcher";
            var mw = new MainWindow();
            mw.ShowDialg();
        }
        catch (Exception)
        {
            TaskDialog.Show("Failure", "Please Open or Create a document");
            return Result.Failed;
        }
        return Result.Succeeded;
    }
Run Code Online (Sandbox Code Playgroud)

在这个插件中MainWindow有一个用户界面,用户可以与之交互,并且一些交易在那里发生。
它很有魅力,但形式不是无模式的,因为插件与其Revit本身位于同一线程中。为了提供无模式窗口,我将其更改mw.ShowDialg();mw.Show();. 尽管插件成功启动并且 MainWindow 变为无模式并且用户能够同时与插件和 Revit 交互,但当我在 MainWindow 中打开事务时,Revit 崩溃,因为 Execute() 方法在打开该事务之前终止。

如果有任何方法可以为 Revit 开发多线程插件,请帮助我。

c# multithreading revit-api

0
推荐指数
1
解决办法
1861
查看次数